用来接受回车的是ch, 它是一个变量不是数组, 而用来保存文件名的是一个字符数组
C语言几乎所有输入的函数都是先检查输入缓冲区是否为空, 如果空, 就让键盘输入, 输入的字符如果是回车符, 就结束输入, 然后输入的数据保存到输入缓冲区(就包括那个回车符), 最后再从缓冲区中读数据, 其中如果遇到非法字符, 结束读取, 返回EOF 如果遇到空白符(回车, 空格)就表示这个数据的结束
例如:scanf("%d", &i);scanf("%d", &i);
先是输入, 如果输入了123\n
那么, scanf在读取123的时候, 是正常的, 然后读取到\n, 它是空白符, 于是就结束输入, 而这个空白符是没会被删除的, 它还在输入缓冲区里
然后后面还有一个要输入的, 因为输入缓冲区不为区, 所以直接读取数据, 但是第一个读到的数据就是空白符, 而后面也没有数据了, 所以返回EOF 这样就会导致输入错误
所以一般来说scanf前面都会加一个空格如: scanf(" %d", &i);这样那个空格就会和上一次输入留下的回车符抵消
1,输出:c1=a,c2=b
c1=97,c2=98
原因:因为输出为整型格式时,就输出对应的ASC代码值;字符格式就输出相应的字符。
2,输出:c1=?,c2=?
c1=-59c2=-58
原因:英文字母对应的asc值越界,所以输出?(不能输出对应的特殊符号,应为格式是%c),至于后面输出的负数,是因为字符常量在内存中存储的时候实际上是以二进制形式存储的,197和198存储进去,内存中因为越界不能完整存储相应的二进制码,而存储的二进制码输出来的整数就是那二进制码对应的负数了。
3,输出:c1=a,c2=b
c1=97,c2=98
原因和1的问基本相同了。。
我有一本谭浩强的那个书,电子书自己去下了网上很多的。
谭浩强004
链接:> 提取码:ncnf 复制这段内容后打开百度网盘手机APP, *** 作更方便哦!
若资源有问题欢迎追问~
楼主您好!
计算机二级主要考C语言程序设计
笔试+上机,谭浩强的c程序设计是大学计算机专业必备课程之一,对考试很有用处,当然,光看书不够,要多做练习。
等级设置
全国计算机等级考试设四个等级。它不以评价教学为目的,考核内容不是按照学校要求设定,而是根据社会不同部门应用计算机的不同程度和需要、国内计算机技术的发展情况以及中国计算机教育、教学和普及的现状而确定的;它以应用能力为主,划分等级,分别考核,为人员择业、人才流动提供其计算机应用知识与能力水平的证明。考试具有中国特色,特别是,四级考试与美国教育考试服务处(ETS)技术合作,追踪世界先进水平,按国际规范设计考试。
NCRE级别/科目设置如下:
级别
科目/类别
考试形式
一级
MS
Office
上机
一级
B
上机
一级
WPS
Office
上机
二级
C语言程序设计
笔试+上机
二级
Visual
Basic语言程序设计
笔试+上机
二级
Visual
FoxPro数据库程序设计
笔试+上机
二级
Access数据库程序设计
笔试+上机
二级
C++语言程序设计
笔试+上机
二级
Java语言程序设计
笔试+上机
二级
Delphi语言程序设计
笔试+上机
三级
PC技术
笔试+上机
三级
信息管理技术
笔试+上机
三级
数据库技术
笔试+上机
三级
网络技术
笔试+上机
四级
网络工程师
笔试
四级
数据库工程师
笔试
四级
软件测试工程师
笔试
计算机职业英语
一级(部分省市开考)
#include<stdioh>
#define SIZE 10
struct student_type
{
char name[10];
int num;
int age;
char addr[15];
}stud[SIZE]; //定义全局结构体数组,包含10个学生信息
void save()
{
FILE fp;
int i;
if((fp=fopen("studat","wb"))==NULL)
{
printf("无法打开文件\n");
return ;
}
for(i=0;i<SIZE;i++)
// { 你多加括号了这里,for语句不能包含fclose(fp)函数。
if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1) //fwrite,fread 执行成功,则返回值为形参count的值
printf("文件写入错误\n");
fclose(fp);
// } 这个也去掉。
}
int main()
{
int i;
printf("请输入学生的数据:\n");
for(i=0;i<SIZE;i++)
scanf("%s%d%d%s",stud[i]name,&stud[i]num,&stud[i]age,stud[i]addr);
save();
return 0;
}
你for循环多加大括号了,循环体包含多了,已帮你改正!
以上就是关于关于C语言的问题~ C语言程序设计(第四版)里说,在用键盘输入信息时,这些字符先暂存在键盘的缓冲全部的内容,包括:关于C语言的问题~ C语言程序设计(第四版)里说,在用键盘输入信息时,这些字符先暂存在键盘的缓冲、关于C语言的问题求助! 另求C程序设计第四版(谭浩强编)的答案、谁有谭浩强《C语言程序设计》第四版的教学视频麻烦了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)