- 2022-04-09 发布 |
- 37.5 KB |
- 97页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
2012年9月份计算机二级C语言15套预测题及答案
2012年9月份计算机二级C语言十五套预测题及答案n1一、填空题1、C语言中基本的数据类型有:__________、__________、__________。2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。3、整数-35在机内的补码表示为__________。4、执行下列语句inta=8;a+=a-=a*a;后,a的值是__________。5、有如下语句:charA[]={”Iamastudent”};该字符串的长度是__________,A[3]=__________。6、符号”a”和’a’的区别是__________。7、所谓“指针”就是__________。“&”运算符的作用是__________。“*”运算符的作用是__________。8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。二、选择题1、设整型变量a为5,使b不为2的表达式是()。A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是()。intx=10,y=10;printf(“%d%dn”,x--,--y);A.1010B.99C.910D.1094、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i5、选出下列标识符中不是合法的标识符的是()。A.hot_donB.cat1C._priD.2ab6、以下程序的输出结果是()。inta=5;floatx=3.14;a*=x*(‘E’-‘A’);printf(“%fn”,(float)a);A.62.000000B.62.800000C.63.000000D.627、设有说明double(*p1)[N];其中标识符p1是()。A.N个指向double型变量的指针。B.指向N个double型变量的函数指针。C.一个指向由N个double型元素组成的一维数组的指针。D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。8、在C程序中有如下语句:char*func(intx,inty);它是()。A.对函数func的定义。B.对函数func的调用。C.对函数func的原型说明。D.不合法的。9、以下程序的输出结果是()。charstr[15]=”hello!”;printf(“%dn”,strlen(str));A.15B.14C.7D.610、分析以下程序的输出结果是()。main(){inta=5,b=-1,c;c=adds(a,b);printf(“%d”,c);c=adds(a,b);printf(“%dn”,c);}intadds(intx,inty){staticintm=0,n=3;n*=++m;m=n%x+y++;return(m);}A.2,3B.2,2C.3,2nD.2,411、下列描述中不正确的是()。A.字符型数组中可能存放字符串。B.可以对字符型数组进行整体输入、输出。C.可以对整型数组进行整体输入、输出。D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。12、以下程序的输出结果是()。#definef(x)x*xmain(){inta=6,b=2,c;c=f(a)/f(b);printf(“%dn”,c);}A.9B.6C.36D.1813、设有如下定义:intx=10,y=3,z;则语句printf("%dn",z=(x%y,x/y));的输出结果是()。A.1B.0C.4D.314、定义如下变量和数组:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};则语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是()。A.159B.147C.357D.36915、以下对二维数组a进行正确初始化的是()A.inta[2][3]={{1,2},{3,4},{5,6}};B.inta[][3]={1,2,3,4,5,6};C.inta[2][]={1,2,3,4,5,6};D.inta[2][]={{1,2},{3,4}};16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。intx;scanf("%d",&x);if(x++>5)printf("%d",x);elseprintf("%dn",x--);A.7和5B.6和3C.7和4D.6和417、设有如下定义:char*aa[2]={"abcd","ABCD"};则以下说法中正确的是()。nA)aa数组成元素的值分别是"abcd"和ABCD"B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'a'和'A'的地址18、下列程序的输出结果是()。char*p1="abcd",*p2="ABCD",str[50]="xyz";strcpy(str+2,strcat(p1+2,p2+1));printf("%s",str);A.xyabcABB.abcABzC.ABabczD.xycdBCD19、下列程序的输出结果是()。inta[5]={2,4,6,8,10},*P,**k;p=a;k=&p;printf("%d",*(p++));printf("%dn",**k);A.44B.22C.24D.4620、不能把字符串:Hello!赋给数组b的语句是()。A.charb[10]={'H','e','l','l','o','!'};B.charb[10];b="Hello!";C.charb[10];strcpy(b,"Hello!");D.charb[10]="Hello!";三、读程序题1、floatf=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是__________。2、intx=6,y=7;printf(“%d,”,x++);printf(“%dn”,++y);程序的输出结果是__________。3、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是__________。4、for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}程序的输出结果a的值为__________。n5、inty=1,x,*p,a[]={2,4,6,8,10};p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf("%dn",y);程序的输出结果y的值是__________。四、程序填空题1、从键盘上输入10个数,求其平均值。main(){inti;floatf,sum;for(i=1,sum=0.0;i<11;i++){__________;__________;}printf(“average=%fn”,sum/10);}2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#includemain(){FILE*fp;charc;fp=__________;do{c=getchar();fputs(c,fp);}while(c!=EOF);__________}3、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.main(){floatx,amax,amin;scanf("%f",&x);amax=x;amin=x;while(){if(x>amax)amax=x;if()amin=x;scanf("%f",&x);}printf("namax=%fnamin=%fn",amax,amin);}五、编程题1.三个整数a、b、c,由键盘输入,输出其中最大的一个数。2.输出1900~2000年中所有的闰年。每输出3个年号换一行。(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。或者能被400整除。)3.请编一个函数intfun(intna),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0。A的值由主函数从键盘读入。4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。参考答案一、填空题(1)整型、实型、字符型。(2)int,2,-32768~+32767(3)1111111111011101(4)-112(5)14,’m’(6)”a”是字符串常量,而’a’是字符常量。(7)存放地址值的变量或常量,或者答地址。(8)取运算对象的地址。取指针变量所指的内容。(8)a=1,b=3,c=2二、选择题1、C2、C3、D4、B5、D6、A7、C8、C9、D10、A11、C12、C13、D14、C15、B16、C17、D18、D19、C20、B三、阅读程序题(1)3.141593,3.1416,3.142(2)6,8(3)4(4)22(5)19四、程序填空题1、scanf(“%f”,&f);sum+=f;2、fopen(“myfile”,w)fclose(fp);3、x>=0.0x<=amin五、编程题1、main(){inta,b,c;printf(“请输入三个整数:”);scanf(“%d,%d,%d”,&a,&b,&c);if(aif(belseprintf(“max=%dn”,b);elseif(aelseprintf(“max=%dn”,a);}2、#include”stdio.h”main(){intI,n;for(n=0,I=1900;I<=2000;I++){if(I%4==0&&I0!=0||I@0==0){printf(“%d”,I);n++;}if(n%3==0)printf(“n”);}}}3、#include”stdio.h”intfun(inta){intI;if(a==2)return1;I=2;while((a%I)!=0&&I<=sqrt((float)a))I++;nif(a%I==0){printf(“%disnotaprime!”,a);return0;}printf(“%disaprime!”,a);return1;}main(){intx;printf(“npleaseenteranumber:”);scanf(“%d”,&x);printf(“%dn”,fun(x));}4、#include"stdio.h"#defineN3structstudent{longstu_num;charsex;charname[15];intscore[4];floataverage;};main(){intI,j,index;floatsum,max;structstudentstuarr[N];for(I=0;I{printf("pleaseinput%dstudentinformation:n",I+1);scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);for(j=0;j<4;j++)scanf("%d",&stuarr[I].score[j]);}for(I=0;I{sum=0.0;for(j=0;j<4;j++)sum+=stuarr[I].score[j];stuarr[I].average=sum/4.0;}max=stuarr[0].average;index=0;for(I=1;Iif(stuarr[I].average>max){max=stuarr[I].average;index=I;}printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1fn",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);}n2一、填空题1、C语言中普通整型变量的类型说明符为_____,在内存中占_____字节,有符号普通整型的数据范围是_____。2、C语言中基本的数据类型有:_____、_____、_____。3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是_____。4、共用体和结构体的定义格式类似,不同点是_____。5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是_____。6、有语句:charA[]={”Iamastudent”};该字符串的长度是_____,A[3]=_____。7、符号”a”和’a’的区别_____。8、下列程序的输出结果是_____。intast(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}main(){inta=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%d/n",c,d);}二、选择题1、以下选项中属于C语言的数据类型是()。A.复合型B.双精度型C.逻辑型D.集合型2、以下说法中正确的是()。A.C语言程序总是从第一个的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是()。A.hot_doB.cat1C._priD.2ab4、下列描述中不正确的是()。A、字符型数组中可能存放字符串。B、可以对字符型数组进行整体输入、输出。C、可以对整型数组进行整体输入、输出。D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。5、若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为()。A.p+1nB.a+1C.a++D.++p6、设有如下定义:intx=10,y=3,z;则语句printf("%dn",z=(x%y,x/y));的输出结果是()。A.1B.0C.4D.37、定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是()A.159B.147C.357D.3698、读出以下语句的输出结果是()。intx=10,y=10;printf(“%d%dn”,x--,--y);A.1010B.99C.910D.1099、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。if(x++>5)printf("%d",x);elseprintf("%dn",x--);A.7和5B.6和3C.7和4D.6和410、设有如下定义:char*aa[2]={"abcd","ABCD"};则以下说法中正确的是()。A)aa数组成元素的值分别是"abcd"和ABCD"B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'a'和'A'的地址11、以下语句的输出结果是()。inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d,%d,%dn",k,a,b);A.1,0,4B.1,0,3C.0,0,3D.0,0,412、下列程序的输出结果是()。char*p1="abcd",*p2="ABCD",str[50]="xyz";nstrcpy(str+2,strcat(p1+2,p2+1));printf("%s",str);A.xyabcABB.abcABzC.ABabczD.xycdBCD13、执行下面的程序后,a的值是()。#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%dn",a);}A.10B.1C.9D.014、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i15、下列程序执行后输出的结果是()。intd=1;fun(intp){intd=5;d+=p++;printf("%d,",d);}main(){inta=3;fun(a);d+=a++;printf("%dn",d);}A.8,4B.9,6C.9,4D.8,516、表达式:10!=9的值是()。A.trueB.非零值C.0D.117、若有说明:inti,j=7,*p=&i;,则与i=j;等价的语句是()。A.i=*p;nB.*p=*&j;C.i=&j;D.i=**p;18、不能把字符串:Hello!赋给数组b的语句是()。A.charb[10]={'H','e','l','l','o','!'};B.charb[10];b="Hello!";C.charb[10];strcpy(b,"Hello!");D.charb[10]="Hello!";19、在C程序中有如下语句:char*func(intx,inty);它是()。A.对函数func的定义。B.对函数func的调用。C.对函数func的原型说明。D.不合法的。20、以下程序的输出结果是()。charstr[15]=”hello!”;printf(“%dn”,strlen(str));A.15B.14C.7D.6三、阅读程序题1、intx=6,y=7;printf(“%d,”,x++);printf(“%dn”,++y);程序的输出结果是__________。2、floatf=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是__________。3、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是__________。4、main(){inta[5]={2,4,6,8,10},*P,**k;p=a;k=&p;printf("%d,",*(p++));printf("%dn",**k);}程序的输出结果是__________。5、main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}程序的输出结果a的值为__________。n四、程序填空题1、求主次对角线之和。main(){staticinta[][3]={9,7,5,1,2,4,6,8};intI,j,s1=0,s2=0;for(I=0;I<3;I++)for(j=0;j<3;j++){if(__________)s1=s1+a[I][j];if(__________)s2=s2+a[I][j];}printf(“%dn%dn”,s1,s2);}2、从键盘上输入10个数,求其平均值。main(){inti;floatf,sum;for(i=1,sum=0.0;i<11;i++){__________;__________;}printf(“average=%fn”,sum/10);}3、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#includemain(){FILE*fp;charc;fp=__________;do{c=getchar();fputs(c,fp);}while(c!=EOF);__________;;}五、编程题1、三个整数a、b、c,由键盘输入,输出其中最大的数。2、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“notexist”。n3、有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。4、有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。参考答案一、填空题1、int,2个字节,-32768~+32767。2、整型、实型、字符型。3、-4。4、结构体的成员占有各自不同的空间,而共用体的各成员放到同一存储空间。5、a=1,b=3,c=27、”a”是字符串常量,而’a’是字符常量。8、7,1。二、选择题1、B2、C3、D4、C5、C6、D7、C8、D9、C10、D11、D12、D13、B14、B15、A16、D17、B18、B19、C20、D三、阅读程序题(1)6,8(2)3.141593,3.1416,3.142(3)4(4)2,4(5)8四、程序填空题1、I==jI+j==22、scanf(“%f”,&f);sum+=f;3、fopen(“myfile”,w)fclose(fp);五、编程题1、main(){inta,b,c;printf(“请输入三个整数:”);scanf(“%d,%d,%d”,&a,&b,&c);if(aif(belseprintf(“max=%dn”,b);elseif(aelseprintf(“max=%dn”,a);}2、#include”stdio.h”main(){intI,a;for(I=1;I<=10;I++){scanf(“%d”,&a);{if(a%7==0)printf(“%d”,a);break;}}if(I==11)printf(“notexist”);}3、floataverage(floatarray[],intn){intI;floataver,sum=array[0];for(I=1;Insum=sum+array[I];aver=sum/n;return(aver);}main(){floatave,score[10];intI;for(I=0;I<10;I++)scanf("%f",&score[I]);ave=average(score,10);printf("%fn",ave);}4、#include"stdio.h"#defineN3structstudent{longstu_num;charsex;charname[15];intscore[4];floataverage;};main(){intI,j,index;floatsum,max;structstudentstuarr[N];for(I=0;I{printf("pleaseinput%dstudentinformation:n",I+1);scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);for(j=0;j<4;j++)scanf("%d",&stuarr[I].score[j]);}for(I=0;I{sum=0.0;for(j=0;j<4;j++)sum+=stuarr[I].score[j];stuarr[I].average=sum/4.0;}max=stuarr[0].average;index=0;for(I=1;Iif(stuarr[I].average>max){max=stuarr[I].average;index=I;}printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1fn",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);}n3一、填空题1、C语言中普通整型变量的类型说明符为_____,在内存中占_____字节,有符号普通整型的数据范围是_____。2、C语言中基本的数据类型有:_____、_____、_____。3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是_____。4、共用体和结构体的定义格式类似,不同点是_____。5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是_____。6、有语句:charA[]={”Iamastudent”};该字符串的长度是_____,A[3]=_____。7、符号”a”和’a’的区别_____。8、下列程序的输出结果是_____。intast(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}main(){inta=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%d/n",c,d);}二、选择题1、以下选项中属于C语言的数据类型是()。A.复合型B.双精度型C.逻辑型D.集合型2、以下说法中正确的是()。A.C语言程序总是从第一个的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是()。A.hot_doB.cat1C._priD.2ab4、下列描述中不正确的是()。A、字符型数组中可能存放字符串。B、可以对字符型数组进行整体输入、输出。C、可以对整型数组进行整体输入、输出。D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。5、若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为()。A.p+1nB.a+1C.a++D.++p6、设有如下定义:intx=10,y=3,z;则语句printf("%dn",z=(x%y,x/y));的输出结果是()。A.1B.0C.4D.37、定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是()A.159B.147C.357D.3698、读出以下语句的输出结果是()。intx=10,y=10;printf(“%d%dn”,x--,--y);A.1010B.99C.910D.1099、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。if(x++>5)printf("%d",x);elseprintf("%dn",x--);A.7和5B.6和3C.7和4D.6和410、设有如下定义:char*aa[2]={"abcd","ABCD"};则以下说法中正确的是()。A)aa数组成元素的值分别是"abcd"和ABCD"B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'a'和'A'的地址11、以下语句的输出结果是()。inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d,%d,%dn",k,a,b);A.1,0,4B.1,0,3C.0,0,3D.0,0,412、下列程序的输出结果是()。char*p1="abcd",*p2="ABCD",str[50]="xyz";nstrcpy(str+2,strcat(p1+2,p2+1));printf("%s",str);A.xyabcABB.abcABzC.ABabczD.xycdBCD13、执行下面的程序后,a的值是()。#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%dn",a);}A.10B.1C.9D.014、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i15、下列程序执行后输出的结果是()。intd=1;fun(intp){intd=5;d+=p++;printf("%d,",d);}main(){inta=3;fun(a);d+=a++;printf("%dn",d);}A.8,4B.9,6C.9,4D.8,516、表达式:10!=9的值是()。A.trueB.非零值C.0D.117、若有说明:inti,j=7,*p=&i;,则与i=j;等价的语句是()。A.i=*p;nB.*p=*&j;C.i=&j;D.i=**p;18、不能把字符串:Hello!赋给数组b的语句是()。A.charb[10]={'H','e','l','l','o','!'};B.charb[10];b="Hello!";C.charb[10];strcpy(b,"Hello!");D.charb[10]="Hello!";19、在C程序中有如下语句:char*func(intx,inty);它是()。A.对函数func的定义。B.对函数func的调用。C.对函数func的原型说明。D.不合法的。20、以下程序的输出结果是()。charstr[15]=”hello!”;printf(“%dn”,strlen(str));A.15B.14C.7D.6三、阅读程序题1、intx=6,y=7;printf(“%d,”,x++);printf(“%dn”,++y);程序的输出结果是__________。2、floatf=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是__________。3、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是__________。4、main(){inta[5]={2,4,6,8,10},*P,**k;p=a;k=&p;printf("%d,",*(p++));printf("%dn",**k);}程序的输出结果是__________。5、main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}程序的输出结果a的值为__________。n四、程序填空题1、求主次对角线之和。main(){staticinta[][3]={9,7,5,1,2,4,6,8};intI,j,s1=0,s2=0;for(I=0;I<3;I++)for(j=0;j<3;j++){if(__________)s1=s1+a[I][j];if(__________)s2=s2+a[I][j];}printf(“%dn%dn”,s1,s2);}2、从键盘上输入10个数,求其平均值。main(){inti;floatf,sum;for(i=1,sum=0.0;i<11;i++){__________;__________;}printf(“average=%fn”,sum/10);}3、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#includemain(){FILE*fp;charc;fp=__________;do{c=getchar();fputs(c,fp);}while(c!=EOF);__________;;}五、编程题1、三个整数a、b、c,由键盘输入,输出其中最大的数。2、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“notexist”。n3、有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。4、有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。参考答案一、填空题1、int,2个字节,-32768~+32767。2、整型、实型、字符型。3、-4。4、结构体的成员占有各自不同的空间,而共用体的各成员放到同一存储空间。5、a=1,b=3,c=27、”a”是字符串常量,而’a’是字符常量。8、7,1。二、选择题1、B2、C3、D4、C5、C6、D7、C8、D9、C10、D11、D12、D13、B14、B15、A16、D17、B18、B19、C20、D三、阅读程序题(1)6,8(2)3.141593,3.1416,3.142(3)4(4)2,4(5)8四、程序填空题1、I==jI+j==22、scanf(“%f”,&f);sum+=f;3、fopen(“myfile”,w)fclose(fp);五、编程题1、main(){inta,b,c;printf(“请输入三个整数:”);scanf(“%d,%d,%d”,&a,&b,&c);if(aif(belseprintf(“max=%dn”,b);elseif(aelseprintf(“max=%dn”,a);}2、#include”stdio.h”main(){intI,a;for(I=1;I<=10;I++){scanf(“%d”,&a);{if(a%7==0)printf(“%d”,a);break;}}if(I==11)printf(“notexist”);}3、floataverage(floatarray[],intn){intI;floataver,sum=array[0];for(I=1;Insum=sum+array[I];aver=sum/n;return(aver);}main(){floatave,score[10];intI;for(I=0;I<10;I++)scanf("%f",&score[I]);ave=average(score,10);printf("%fn",ave);}4、#include"stdio.h"#defineN3structstudent{longstu_num;charsex;charname[15];intscore[4];floataverage;};main(){intI,j,index;floatsum,max;structstudentstuarr[N];for(I=0;I{printf("pleaseinput%dstudentinformation:n",I+1);scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);for(j=0;j<4;j++)scanf("%d",&stuarr[I].score[j]);}for(I=0;I{sum=0.0;for(j=0;j<4;j++)sum+=stuarr[I].score[j];stuarr[I].average=sum/4.0;}max=stuarr[0].average;index=0;for(I=1;Iif(stuarr[I].average>max){max=stuarr[I].average;index=I;}printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1fn",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);}n4一、填空题1、C语言中普通整型变量的类型说明符为_____,在内存中占_____字节,有符号普通整型的数据范围是_____。2、C语言中基本的数据类型有:_____、_____、_____。3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是_____。4、共用体和结构体的定义格式类似,不同点是_____。5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是_____。6、有语句:charA[]={”Iamastudent”};该字符串的长度是_____,A[3]=_____。7、符号”a”和’a’的区别_____。8、下列程序的输出结果是_____。intast(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}main(){inta=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%d/n",c,d);}二、选择题1、以下选项中属于C语言的数据类型是()。A.复合型B.双精度型C.逻辑型D.集合型2、以下说法中正确的是()。A.C语言程序总是从第一个的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是()。A.hot_doB.cat1C._priD.2ab4、下列描述中不正确的是()。A、字符型数组中可能存放字符串。B、可以对字符型数组进行整体输入、输出。C、可以对整型数组进行整体输入、输出。D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。5、若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为()。nA.p+1B.a+1C.a++D.++p6、设有如下定义:intx=10,y=3,z;则语句printf("%dn",z=(x%y,x/y));的输出结果是()。A.1B.0C.4D.37、定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是()A.159B.147C.357D.3698、读出以下语句的输出结果是()。intx=10,y=10;printf(“%d%dn”,x--,--y);A.1010B.99C.910D.1099、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。if(x++>5)printf("%d",x);elseprintf("%dn",x--);A.7和5B.6和3C.7和4D.6和410、设有如下定义:char*aa[2]={"abcd","ABCD"};则以下说法中正确的是()。A)aa数组成元素的值分别是"abcd"和ABCD"B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'a'和'A'的地址11、以下语句的输出结果是()。inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d,%d,%dn",k,a,b);A.1,0,4B.1,0,3C.0,0,3D.0,0,412、下列程序的输出结果是()。nchar*p1="abcd",*p2="ABCD",str[50]="xyz";strcpy(str+2,strcat(p1+2,p2+1));printf("%s",str);A.xyabcABB.abcABzC.ABabczD.xycdBCD13、执行下面的程序后,a的值是()。#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%dn",a);}A.10B.1C.9D.014、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i15、下列程序执行后输出的结果是()。intd=1;fun(intp){intd=5;d+=p++;printf("%d,",d);}main(){inta=3;fun(a);d+=a++;printf("%dn",d);}A.8,4B.9,6C.9,4D.8,516、表达式:10!=9的值是()。A.trueB.非零值C.0D.117、若有说明:inti,j=7,*p=&i;,则与i=j;等价的语句是()。nA.i=*p;B.*p=*&j;C.i=&j;D.i=**p;18、不能把字符串:Hello!赋给数组b的语句是()。A.charb[10]={'H','e','l','l','o','!'};B.charb[10];b="Hello!";C.charb[10];strcpy(b,"Hello!");D.charb[10]="Hello!";19、在C程序中有如下语句:char*func(intx,inty);它是()。A.对函数func的定义。B.对函数func的调用。C.对函数func的原型说明。D.不合法的。20、以下程序的输出结果是()。charstr[15]=”hello!”;printf(“%dn”,strlen(str));A.15B.14C.7D.6三、阅读程序题1、intx=6,y=7;printf(“%d,”,x++);printf(“%dn”,++y);程序的输出结果是__________。2、floatf=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是__________。3、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是__________。4、main(){inta[5]={2,4,6,8,10},*P,**k;p=a;k=&p;printf("%d,",*(p++));printf("%dn",**k);}程序的输出结果是__________。5、main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}n程序的输出结果a的值为__________。四、程序填空题1、求主次对角线之和。main(){staticinta[][3]={9,7,5,1,2,4,6,8};intI,j,s1=0,s2=0;for(I=0;I<3;I++)for(j=0;j<3;j++){if(__________)s1=s1+a[I][j];if(__________)s2=s2+a[I][j];}printf(“%dn%dn”,s1,s2);}2、从键盘上输入10个数,求其平均值。main(){inti;floatf,sum;for(i=1,sum=0.0;i<11;i++){__________;__________;}printf(“average=%fn”,sum/10);}3、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#includemain(){FILE*fp;charc;fp=__________;do{c=getchar();fputs(c,fp);}while(c!=EOF);__________;;}五、编程题1、三个整数a、b、c,由键盘输入,输出其中最大的数。n2、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“notexist”。3、有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。4、有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。参考答案一、填空题1、int,2个字节,-32768~+32767。2、整型、实型、字符型。3、-4。4、结构体的成员占有各自不同的空间,而共用体的各成员放到同一存储空间。5、a=1,b=3,c=27、”a”是字符串常量,而’a’是字符常量。8、7,1。二、选择题1、B2、C3、D4、C5、C6、D7、C8、D9、C10、D11、D12、D13、B14、B15、A16、D17、B18、B19、C20、D三、阅读程序题(1)6,8(2)3.141593,3.1416,3.142(3)4(4)2,4(5)8四、程序填空题1、I==jI+j==22、scanf(“%f”,&f);sum+=f;3、fopen(“myfile”,w)fclose(fp);五、编程题1、main(){inta,b,c;printf(“请输入三个整数:”);scanf(“%d,%d,%d”,&a,&b,&c);if(aif(belseprintf(“max=%dn”,b);elseif(aelseprintf(“max=%dn”,a);}2、#include”stdio.h”main(){intI,a;for(I=1;I<=10;I++){scanf(“%d”,&a);{if(a%7==0)printf(“%d”,a);break;}}if(I==11)printf(“notexist”);}3、floataverage(floatarray[],intn){intI;floataver,sum=array[0];nfor(I=1;Isum=sum+array[I];aver=sum/n;return(aver);}main(){floatave,score[10];intI;for(I=0;I<10;I++)scanf("%f",&score[I]);ave=average(score,10);printf("%fn",ave);}4、#include"stdio.h"#defineN3structstudent{longstu_num;charsex;charname[15];intscore[4];floataverage;};main(){intI,j,index;floatsum,max;structstudentstuarr[N];for(I=0;I{printf("pleaseinput%dstudentinformation:n",I+1);scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);for(j=0;j<4;j++)scanf("%d",&stuarr[I].score[j]);}for(I=0;I{sum=0.0;for(j=0;j<4;j++)sum+=stuarr[I].score[j];stuarr[I].average=sum/4.0;}max=stuarr[0].average;index=0;for(I=1;Iif(stuarr[I].average>max){max=stuarr[I].average;index=I;}printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1fn",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);}n5一、填空题1、C语言中普通整型变量的类型说明符为_____,在内存中占_____字节,有符号普通整型的数据范围是_____。2、C语言中基本的数据类型有:_____、_____、_____。3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是_____。4、共用体和结构体的定义格式类似,不同点是_____。5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是_____。6、有语句:charA[]={”Iamastudent”};该字符串的长度是_____,A[3]=_____。7、符号”a”和’a’的区别_____。8、下列程序的输出结果是_____。intast(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}main(){inta=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%d/n",c,d);}二、选择题1、以下选项中属于C语言的数据类型是()。A.复合型B.双精度型C.逻辑型D.集合型2、以下说法中正确的是()。A.C语言程序总是从第一个的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是()。A.hot_doB.cat1C._priD.2ab4、下列描述中不正确的是()。A、字符型数组中可能存放字符串。B、可以对字符型数组进行整体输入、输出。C、可以对整型数组进行整体输入、输出。D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。5、若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为()。nA.p+1B.a+1C.a++D.++p6、设有如下定义:intx=10,y=3,z;则语句printf("%dn",z=(x%y,x/y));的输出结果是()。A.1B.0C.4D.37、定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是()A.159B.147C.357D.3698、读出以下语句的输出结果是()。intx=10,y=10;printf(“%d%dn”,x--,--y);A.1010B.99C.910D.1099、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。if(x++>5)printf("%d",x);elseprintf("%dn",x--);A.7和5B.6和3C.7和4D.6和410、设有如下定义:char*aa[2]={"abcd","ABCD"};则以下说法中正确的是()。A)aa数组成元素的值分别是"abcd"和ABCD"B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'a'和'A'的地址11、以下语句的输出结果是()。inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d,%d,%dn",k,a,b);A.1,0,4B.1,0,3C.0,0,3D.0,0,412、下列程序的输出结果是()。nchar*p1="abcd",*p2="ABCD",str[50]="xyz";strcpy(str+2,strcat(p1+2,p2+1));printf("%s",str);A.xyabcABB.abcABzC.ABabczD.xycdBCD13、执行下面的程序后,a的值是()。#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%dn",a);}A.10B.1C.9D.014、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i15、下列程序执行后输出的结果是()。intd=1;fun(intp){intd=5;d+=p++;printf("%d,",d);}main(){inta=3;fun(a);d+=a++;printf("%dn",d);}A.8,4B.9,6C.9,4D.8,516、表达式:10!=9的值是()。A.trueB.非零值C.0D.117、若有说明:inti,j=7,*p=&i;,则与i=j;等价的语句是()。nA.i=*p;B.*p=*&j;C.i=&j;D.i=**p;18、不能把字符串:Hello!赋给数组b的语句是()。A.charb[10]={'H','e','l','l','o','!'};B.charb[10];b="Hello!";C.charb[10];strcpy(b,"Hello!");D.charb[10]="Hello!";19、在C程序中有如下语句:char*func(intx,inty);它是()。A.对函数func的定义。B.对函数func的调用。C.对函数func的原型说明。D.不合法的。20、以下程序的输出结果是()。charstr[15]=”hello!”;printf(“%dn”,strlen(str));A.15B.14C.7D.6三、阅读程序题1、intx=6,y=7;printf(“%d,”,x++);printf(“%dn”,++y);程序的输出结果是__________。2、floatf=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是__________。3、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是__________。4、main(){inta[5]={2,4,6,8,10},*P,**k;p=a;k=&p;printf("%d,",*(p++));printf("%dn",**k);}程序的输出结果是__________。5、main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}n程序的输出结果a的值为__________。四、程序填空题1、求主次对角线之和。main(){staticinta[][3]={9,7,5,1,2,4,6,8};intI,j,s1=0,s2=0;for(I=0;I<3;I++)for(j=0;j<3;j++){if(__________)s1=s1+a[I][j];if(__________)s2=s2+a[I][j];}printf(“%dn%dn”,s1,s2);}2、从键盘上输入10个数,求其平均值。main(){inti;floatf,sum;for(i=1,sum=0.0;i<11;i++){__________;__________;}printf(“average=%fn”,sum/10);}3、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#includemain(){FILE*fp;charc;fp=__________;do{c=getchar();fputs(c,fp);}while(c!=EOF);__________;;}五、编程题1、三个整数a、b、c,由键盘输入,输出其中最大的数。n2、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“notexist”。3、有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。4、有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。参考答案一、填空题1、int,2个字节,-32768~+32767。2、整型、实型、字符型。3、-4。4、结构体的成员占有各自不同的空间,而共用体的各成员放到同一存储空间。5、a=1,b=3,c=27、”a”是字符串常量,而’a’是字符常量。8、7,1。二、选择题1、B2、C3、D4、C5、C6、D7、C8、D9、C10、D11、D12、D13、B14、B15、A16、D17、B18、B19、C20、D三、阅读程序题(1)6,8(2)3.141593,3.1416,3.142(3)4(4)2,4(5)8四、程序填空题1、I==jI+j==22、scanf(“%f”,&f);sum+=f;3、fopen(“myfile”,w)fclose(fp);五、编程题1、main(){inta,b,c;printf(“请输入三个整数:”);scanf(“%d,%d,%d”,&a,&b,&c);if(aif(belseprintf(“max=%dn”,b);elseif(aelseprintf(“max=%dn”,a);}2、#include”stdio.h”main(){intI,a;for(I=1;I<=10;I++){scanf(“%d”,&a);{if(a%7==0)printf(“%d”,a);break;}}if(I==11)printf(“notexist”);}3、floataverage(floatarray[],intn){intI;floataver,sum=array[0];nfor(I=1;Isum=sum+array[I];aver=sum/n;return(aver);}main(){floatave,score[10];intI;for(I=0;I<10;I++)scanf("%f",&score[I]);ave=average(score,10);printf("%fn",ave);}4、#include"stdio.h"#defineN3structstudent{longstu_num;charsex;charname[15];intscore[4];floataverage;};main(){intI,j,index;floatsum,max;structstudentstuarr[N];for(I=0;I{printf("pleaseinput%dstudentinformation:n",I+1);scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);for(j=0;j<4;j++)scanf("%d",&stuarr[I].score[j]);}for(I=0;I{sum=0.0;for(j=0;j<4;j++)sum+=stuarr[I].score[j];stuarr[I].average=sum/4.0;}max=stuarr[0].average;index=0;for(I=1;Iif(stuarr[I].average>max){max=stuarr[I].average;index=I;}printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1fn",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);}n6一、填空题1、C语言中普通整型变量的类型说明符为_____,在内存中占_____字节,有符号普通整型的数据范围是_____。2、C语言中基本的数据类型有:_____、_____、_____。3、设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是_____。4、共用体和结构体的定义格式类似,不同点是_____。5、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是_____。6、有语句:charA[]={”Iamastudent”};该字符串的长度是_____,A[3]=_____。7、符号”a”和’a’的区别_____。8、下列程序的输出结果是_____。intast(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}main(){inta=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%d/n",c,d);}二、选择题1、以下选项中属于C语言的数据类型是()。A.复合型B.双精度型C.逻辑型D.集合型2、以下说法中正确的是()。A.C语言程序总是从第一个的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分3、选出下列标识符中不是合法的标识符的是()。A.hot_doB.cat1C._priD.2ab4、下列描述中不正确的是()。A、字符型数组中可能存放字符串。B、可以对字符型数组进行整体输入、输出。C、可以对整型数组进行整体输入、输出。D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。5、若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式为()。nA.p+1B.a+1C.a++D.++p6、设有如下定义:intx=10,y=3,z;则语句printf("%dn",z=(x%y,x/y));的输出结果是()。A.1B.0C.4D.37、定义如下变量和数组:inti,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++)printf("%d",x[i][2-i]);的输出结果是()A.159B.147C.357D.3698、读出以下语句的输出结果是()。intx=10,y=10;printf(“%d%dn”,x--,--y);A.1010B.99C.910D.1099、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。if(x++>5)printf("%d",x);elseprintf("%dn",x--);A.7和5B.6和3C.7和4D.6和410、设有如下定义:char*aa[2]={"abcd","ABCD"};则以下说法中正确的是()。A)aa数组成元素的值分别是"abcd"和ABCD"B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'a'和'A'的地址11、以下语句的输出结果是()。inta=-1,b=4,k;k=(++a<0)&&!(b--<=0);printf("%d,%d,%dn",k,a,b);A.1,0,4B.1,0,3C.0,0,3D.0,0,412、下列程序的输出结果是()。nchar*p1="abcd",*p2="ABCD",str[50]="xyz";strcpy(str+2,strcat(p1+2,p2+1));printf("%s",str);A.xyabcABB.abcABzC.ABabczD.xycdBCD13、执行下面的程序后,a的值是()。#defineSQR(X)X*Xmain(){inta=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%dn",a);}A.10B.1C.9D.014、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i15、下列程序执行后输出的结果是()。intd=1;fun(intp){intd=5;d+=p++;printf("%d,",d);}main(){inta=3;fun(a);d+=a++;printf("%dn",d);}A.8,4B.9,6C.9,4D.8,516、表达式:10!=9的值是()。A.trueB.非零值C.0D.117、若有说明:inti,j=7,*p=&i;,则与i=j;等价的语句是()。nA.i=*p;B.*p=*&j;C.i=&j;D.i=**p;18、不能把字符串:Hello!赋给数组b的语句是()。A.charb[10]={'H','e','l','l','o','!'};B.charb[10];b="Hello!";C.charb[10];strcpy(b,"Hello!");D.charb[10]="Hello!";19、在C程序中有如下语句:char*func(intx,inty);它是()。A.对函数func的定义。B.对函数func的调用。C.对函数func的原型说明。D.不合法的。20、以下程序的输出结果是()。charstr[15]=”hello!”;printf(“%dn”,strlen(str));A.15B.14C.7D.6三、阅读程序题1、intx=6,y=7;printf(“%d,”,x++);printf(“%dn”,++y);程序的输出结果是__________。2、floatf=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是__________。3、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是__________。4、main(){inta[5]={2,4,6,8,10},*P,**k;p=a;k=&p;printf("%d,",*(p++));printf("%dn",**k);}程序的输出结果是__________。5、main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}n程序的输出结果a的值为__________。四、程序填空题1、求主次对角线之和。main(){staticinta[][3]={9,7,5,1,2,4,6,8};intI,j,s1=0,s2=0;for(I=0;I<3;I++)for(j=0;j<3;j++){if(__________)s1=s1+a[I][j];if(__________)s2=s2+a[I][j];}printf(“%dn%dn”,s1,s2);}2、从键盘上输入10个数,求其平均值。main(){inti;floatf,sum;for(i=1,sum=0.0;i<11;i++){__________;__________;}printf(“average=%fn”,sum/10);}3、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。#includemain(){FILE*fp;charc;fp=__________;do{c=getchar();fputs(c,fp);}while(c!=EOF);__________;;}五、编程题1、三个整数a、b、c,由键盘输入,输出其中最大的数。n2、从键盘输入的10个整数中,找出第一个能被7整除的数。若找到,打印此数后退出循环;若未找到,打印“notexist”。3、有一个一维数组,内放10个学生成绩,写一个函数,求出平均分。4、有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。参考答案一、填空题1、int,2个字节,-32768~+32767。2、整型、实型、字符型。3、-4。4、结构体的成员占有各自不同的空间,而共用体的各成员放到同一存储空间。5、a=1,b=3,c=27、”a”是字符串常量,而’a’是字符常量。8、7,1。二、选择题1、B2、C3、D4、C5、C6、D7、C8、D9、C10、D11、D12、D13、B14、B15、A16、D17、B18、B19、C20、D三、阅读程序题(1)6,8(2)3.141593,3.1416,3.142(3)4(4)2,4(5)8四、程序填空题1、I==jI+j==22、scanf(“%f”,&f);sum+=f;3、fopen(“myfile”,w)fclose(fp);五、编程题1、main(){inta,b,c;printf(“请输入三个整数:”);scanf(“%d,%d,%d”,&a,&b,&c);if(aif(belseprintf(“max=%dn”,b);elseif(aelseprintf(“max=%dn”,a);}2、#include”stdio.h”main(){intI,a;for(I=1;I<=10;I++){scanf(“%d”,&a);{if(a%7==0)printf(“%d”,a);break;}}if(I==11)printf(“notexist”);}3、floataverage(floatarray[],intn){intI;floataver,sum=array[0];nfor(I=1;Isum=sum+array[I];aver=sum/n;return(aver);}main(){floatave,score[10];intI;for(I=0;I<10;I++)scanf("%f",&score[I]);ave=average(score,10);printf("%fn",ave);}4、#include"stdio.h"#defineN3structstudent{longstu_num;charsex;charname[15];intscore[4];floataverage;};main(){intI,j,index;floatsum,max;structstudentstuarr[N];for(I=0;I{printf("pleaseinput%dstudentinformation:n",I+1);scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);for(j=0;j<4;j++)scanf("%d",&stuarr[I].score[j]);}for(I=0;I{sum=0.0;for(j=0;j<4;j++)sum+=stuarr[I].score[j];stuarr[I].average=sum/4.0;}max=stuarr[0].average;index=0;for(I=1;Iif(stuarr[I].average>max){max=stuarr[I].average;index=I;}printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1fn",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);}n7一、填空题1.在C语言程序设计中,正确的标识符是由____________________组成的。2.设x=4,y=(++x)+(++x);那么y的值为_____,表达式执行后,变量x的值为_______。3.一个变量的指针是指_____________________________________________。4.能够构成一个数组,其元素满足的特点是__________________________________;那么,构成结构体的成员可以是_________________________________________。5.下面运算符<%++=按照优先级从高到低排列顺序为______________。6.C程序设计中语句后的符号/*……*/所起作用是_________________________。7.写出下面表达式的值3*5/7+7%3____________________x=2;y=4;(x++)+y_____________________3+4>=7-10_____________________3>4?3%2:1___________________x=2,y=2;++x||++y_______________x=3;x+=x-=2_____________________二、选择题⑴.在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为()A.FILEB.RUNC.EDITD.OPTION⑵.下列语句不具有赋值功能的是()A.a*=bB.x=1C.a+bD.a++⑶.C语言程序中,当出现条件分支语句if~else时,else与()组成配对关系A.同一复合语句内部的ifB.在其之前任意的ifC.在其之前未配对的最近的ifD.首行位置相同的if⑷.下列数组定义方式不正确的语句是()A.charx[5];B.chary[]={‘h’,‘e’,‘l’,‘l’,‘o’};C.intx[10]={12,13,14,15};D.inty[];⑸.若有如下定义和语句,且0<=i<5,下面()是对数值为3数组元素的引用inta[]={1,2,3,4,5},*p,i;p=a;nA.*(a+2)B.a[p-3]C.p+2D.a+3⑹.下列()表达式的值为真a=5;b=8;c=10;d=0A.a*2>8+2B.a&&dC.(a*2-c)||dD.a-b