文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络技术网络应用程序员考试补课笔记-第十七天
精品推荐
特别推荐
·WLAN业务的若干定价和计费问题分析
·光纤CAN总线自愈环网的研究
·以太网技术及应用趋势
·IPv6 - 打造下一代IP网络
·数字签名技术简介
·代理服务器 路由器配置案例
·保障主机安全无忧 抗拒绝服务设备介绍
·突破单位网管封杀QQ、MSN端口的方法
·ADSL Modem 端口映射 全集
·如何隐藏你的IP
·通过宽带ADSL路由多机共享上网
·网络故障排除实例应用一则
·ADSL使用常见经典问题解惑
·移动网络优化的现状与发展
·网管员十大招解决服务器管理错误
·了解工作原理挑选好千兆防火墙
·解决网络访问故障的技术方法策略
·制定合理可扩展IP地址的分配方案
·可胜任任何网吧技术主管的绝招
·高性能防火线缆在综合布线应用
热点TOP10
·3GPP LTE标准化进展——物理层
·查找对方IP地址的一些方法
·ADSL Modem 端口映射 全集
·绕道访问国外网站 免费代理服务器放送
·各种ADSL路由器端口映射设置
·10大国外代理服务器网站
·数字签名技术简介
·全球IP段
·如何隐藏你的IP
·短波频率自适应通信的发展及信号监测
·改MAC地址的方法
·妙法六则:双机互联上网实战全攻略
·代理服务器 路由器配置案例
·建立基于eTOM和ITIL的运维流程管理体系探讨
·中兴 ZXDSL831 使用手册
·突破单位网管封杀QQ、MSN端口的方法
·远程盗取ADSL帐号
·UMTS系统无线网络结构和协议的长期演进
·免费服务器代理地址
·VoIP语音质量测量新方法 E-model

程序员考试补课笔记-第十七天

日期:2007年5月8日 作者: 查看:[大字体 中字体 小字体]


  离上一次的补课时间看起来有整整的五天,但是在我眼里只是短短的几眨眼。因为我这几天里脑海里根本没有什么事情发生过似的,每天过着重复而简单的生活。怎样简单法?那那当然就是坐在电脑前啦,可以说一坐就坐上了整天。嗯!好,不说这个了,这不是我想要说的重点。
     我想问问大家有没有去认真的学习过文件那章?这里说实话,在之前我自学C语言的时候我并没有太重视过它,随便的把他翻了过去(嗯!这么简单,我懂了,过吧)。真到前几天放假这段时间里我说了个苦头,我发现我自己根本不懂文件里的文本流和二进制流的概念啊。天啊!从文字表面上来说很简单嘛,不就是文件内容是ASCII码的就是文本流嘛,而二进制流当然就是内容是二进制嘛。哈哈这不简单。当前我也是这么想的,文本流的概念是理解对了,可是进制流把我搞糊涂了。我还总是认为我打开的那个文件就是以二进制形式出来"101100101"这样的,可是我看到的并不是这样,而是一些我根本不知道的符号。这一切一切都在这几天里把我折磨到连忙叫苦,不过这一切都过去了。我真正认识到这些概念,其实二进制流并不是真的就是存放的内容是101001这样的,它和内存形式中的一样,所以每个怪字符都是由这些连续的二进制每8位构成的。唉!~!害我苦了这么多天!
  今天回到学校第一个要讲的内容当然就是放假期间布置的作业啦,嘻嘻,不要告诉别人我的程序是昨晚做的喔,而且还是有BUG在的呢!现给出我原来没有改时候的原程序吧:
#include <stdio.h>
#define SIZE 5

typedef struct student
{
  int num;
  char name[10];
  int score;
  float averge;
  struct student *next;
}student;

void main()
{
  FILE *fp;
  student *h,*p;
  int i;
  if( (fp=fopen("stud.txt","wb")==NULL )
  {
    printf("Can't open the file";
    exit(1);
  }

  h=p=(student *)malloc(sizeof(student));
  for(i=0;i<SIZE;i++)
  {
    printf("please input num name score";
    scanf("%d%s%d",&p->num,p->name,&p->score); /*这里输入经常有莫名奇怪的问题*/
    p->averge=p->score/3;
    p->next=(student *)malloc(sizeof(student));
    p=p->next;
  }
  p->next=NULL;

  for(p=h,i=0;i<SIZE;i++,p=p->next)
  {
    printf("%s",p->name);
    fwrite(p,sizeof(student),1,fp); /*这里初以为用指针不行*/
  }
  fclose(fp);
}

  这里指出来两个问题,第一个问题之前我也有遇到过,不过当时没有理会,今天吃吃苦。不过现在网络方便,而且CSDN高手如云,有问题当然就是到CSDN啦(不是在卖广告吧?哈哈)。CSDN上得知原来scanf()这个函数有个缓冲的问题,所以导致输入次数无端端的减少,这里有个方法就是给scanf("%d%s%d",&p->num,p->name,&p->score); 这句之上加上一个处理缓冲的函数fflush(stdin);至于用法大家查查书就行了。第二个问题得知原因之后更不是问题了,其实本身这就是对的。为什么我为产生这个误解,原因都是我试着读入数据来看的时候产生的,下面加下一些补充后程序如下:
#include <stdio.h>

#define SIZE 5

typedef struct student
{
  int num;
  char name[10];
  int score;
  float averge;
  struct student *next;
}student;

void main()
{
  FILE *fp;
  student *h,*p;
  student test[SIZE]; /* 加上这个定义是为了下面测试用 */
  int i;
  if( (fp=fopen("stud.txt","wb")==NULL )
  {
    printf("Can't open the file";
    exit(1);
  }

  h=p=(student *)malloc(sizeof(student));
  for(i=0;i<SIZE;i++)
  {
    printf("please input num name score";
    fflush(stdin); /* 这里加上这句解决输入缓冲问题*/
    scanf("%d%s%d",&p->num,p->name,&p->score);
    p->averge=p->score/3;
    p->next=(student *)malloc(sizeof(student));
    p=p->next;
  }
  p->next=NULL;


[1] [2] 下一页 




上一篇:程序员考试补课笔记-第十八天

下一篇:程序员考试补课笔记-第十六天

程序员考试补课笔记-第十七天 相关文章:
·直面笔记本电脑购买中的猫腻
·笔记本电脑无线上网解决方案大比拼
·我的oracle笔记四(DBA管理)
·如何正确给你的笔记本电脑电池充电?
·SUN认证Java2程序员考试(SCJP) 试题解析
·我的oracle笔记一(sql语句方面)
·程序员如何掌握计算机英语
·[综合]科举考试试题及答案收集更新版
·asp.net2.0学习历程 菜鸟到中级程序员的飞跃
·笔记本电脑解密方法大全
程序员考试补课笔记-第十七天 相关软件:
·zemax教学视频和学习笔记
·执业药师考试宝典(西药) V7.0
·笔记本维修教程
·二级建造师考试习题集
·西医执业实践考试
·计算机等级考试二级C语言真题
·全国专业技术人员计算机应用能力考试模拟 V2.1
·Programmer程序员2003年6月合订本
·执业医师考试模拟题(电子版)
·二级建造师考试百宝箱V2.0

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.vipcn.net
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.vipcn.net All Rights Reserved. 鄂ICP备05000083号Powered by:viphot