资源描述:
《上海市C语言二级考试模拟题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一1,表达式sizeof(“C2009”)的值是_________2,在C语言中,标识符只能由字母、数字和下划线字符组成,并且第一个字符不能是________字符。3,定义intb=7;floata=5.2,c=6.9;则表达式b*(int)(a+c)/2的值为_____________4,设x、y均为整型变量,完成以下语句,以实现不借助任何其它变量将x、y的值进行交换:x=x+y;y=x-______;x=x-______;5,设有如下定义,并且结构体数组student中的元素都已有值,若要将这些元素
2、写到fp指向的文件中,请将函数调用语句fwrite(student,sizeof(structst),50,_____);补充完整。structst{charname[8];intnum;floats[3];}student[50];6,写出下列程序的输出结果________#includelongfac(intn){if(n==1)return1;returnn*fac(n-1);}main(){printf("5!=%ld",fac(5));}7,假定建立了以下链表结构,如图所
3、示。指针p与q指向2个不同的结点,t为与data同类型的数据变量,则交换2结点数据的语句为:t=p->data;___________;和___________;1)以下程序按每行5个数的格式输出1至n范围内能被7或17整除的整数,并求出其和。如输入:50则输出:71417212834354249Sum=247源程序:#includevoidmain(){inti,n,ct=0,sum=0;scanf("%d",&n);for(i=1;i<=n;i++)if(____(1)_____)
4、{printf("%dt",i);_____(2)_______;ct++;if(___(3)______)printf("");}printf("Sum=%d",sum);}__2)以下程序输入10个整数到a数组,找到并输出其中最大的整数及其下标。如输入:80290150520330-160-9902009则输出:a[3]=520源程序:#include#defineN10intget_max_index(inta[],intn){inti,k=0;for(i=1;i<
5、n;i++)if(____(1)____)k=i;return______(2)_____;}voidmain(){inti,k,a[N];for(i=0;i6、行为0表示学生数据结束。设文件student.txt的内容为101Zhao9558103Qian7581105Sun9991107Li80670运行时键盘输入:0.1则屏幕输出:101Zhao955862103Qian758180105Sun999192107Li806768源程序:#includevoidcalc(FILE*fp,floatx){intnum,score1,score2;floatscore3;charname[20];while(!feof(fp)){/*文件还有未
7、读数据时*/num=0;fscanf(fp,"%d%s%d%d",&num,name,&score1,&score2);if(num>0){/*学生数据有效时*/score3=score1*x+score2*(1-x);/*计算总成绩*/printf("%3d%-7s%3d%3d%3d",num,name,score1,score2,______(1)______);/*总成绩四舍五入为整数*/}}}voidmain(){FILE*fp;floatx;fp=fopen("student.txt","
8、r");if(____(2)____)/*如果文件打开失败*/{printf("FileOpenError!");return;}scanf("%f",&x);calc(____(3)____);/*调用calc函数*/fclose(____(4)____);/*关闭文件*/}四、程序调试题(本大题2小题,第1题4分,第2题6分,共10分)1.程序调试题1(B_3_1.C)调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并