一、填空1.实型变量的类型说明符有:__________、____________。2.表达式7+82&&25%5的结果是_______________________。3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。Intn=0,ch;Ch=getchar();While(__________________)))){if(________________)n++;4.putchar(c)函数的功能是是是_____________________________________。5int*p的含义是是是是___________________________________________。6.C语言中数组的下标下限为___________________________。7.定义fp为文件型指针变量的定义方法为_______________________。8.数组inta[3][4];共定义了____________个数组元素。二、单项选择题1、下列属于整型常量的是________。A、12B、12.0C、-12.0D、10E102、不属于字符型常量的是_________。A.‘A’B、'a'C、“A”D、'b'3、下列表达式为关系表达式的为_________。(其中a为一整型变量)A.3+4*5B、a==10C、a0?a:-aD、a=14、下面不正确的赋值语句是_____________。A.a=a+1B、a==bC、a+=bD、a=15、下列对数组定义不正确的语句是______________。A.intm[5];B、charb[]={‘h’,’e’};C、inta[10]={1,6,8,4};D、charp[];6、若有以下定义,则______和______是对数组元素的正确引用。inta[5],*p=aA.*&a[6]B、*p+8C、*(a+2)D、*p7、执行下列语句后,a的值是______。inta=8;a+=a-=a*a;A.-240B、64C、112D、-1128.指出下面正确的输入语句()。A.scanf(“a=b=%d”,&a,&b);B.scanf(“%d,%d”,&a,&b);C.scanf(“%c”,c);D.scanf(“%f\n”,&f);9.下面的变量说明中正确的是____________。A.int:a,b,c;B.inta;b;c;C.inta,b,cD.inta,b,c;10.C语言用()表示逻辑“真”值。A.TrueB.t或yC.非零整型值D.整型值011.若x=5,y=4则y*=x+5;y的值为().A.40B.20C.15D.3013.C语言中以追加方式打开一个文件应选择_______________参数。A.“r”B.“w”C.“rb”D.“a”14.Break语句的正确的用法是()。A.无论在任何情况下,都中断程序的执行,退出到系统下一层。B.在多重循环中,只能退出最靠近的那一层循环语句。C.跳出多重循环。D.只能修改控制变量。15.两个指针变量的值相等时,表明两个指针变量是________________。A.占据同一内存单元。B.指向同一内存单元地址或者都为空。C.是两个空指针。D.都没有指向。16.字符串指针变量中存入的是________________。A.字符串的首地址。B.字符串C.第一个字符D.字符串变量。17.以_______________个是不正确的描述。A.不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。B.在定义函数时,必须指定形参的类型。C.形参和实参之间可以是值传递。D.数组名可以作为参数进行传递。18表达式“1?(0?3:2):(10?1:0)”的值为_____________________。A.3B.2C.1D.019.为表示关系x≥y≥z,应使用C语言表达式A.(x=y)&&(y=z)B.(x=y)AND(y=z)C.(x=y=z)D.(x=z)&(y=z)20.以下说法中正确的是_______________。A.C语言程序总是从第一个定义的函数开始执行。B.在C语言程序中,要调用的函数必须有main()函数中定义。C.C语言程序总是从main()函数开始执行。D.C语言程序中的main()函数必须放在程序的开始部分。21.设有数组定义:chararray[]=”China”;则数组所占的存贮空间为__________。A.4个字节B.5个字节C.6个字节D.7个字节22.根据C语言的语法规则,下列________个是不合法标识符。A.WhileB.NameC.Rern5D._exam三、读出下列程序,写出程序的运行结果。1.main(){inta=8,b=1;a=a+b;b=a*b;printf(a=%d,b=%d,a,b);}该程序的运行结果是___________________________________。2.main(){inti,num[5];for(i=0;i5;i++)num[i]=i*10-2;printf(%d,num[3]);}该程序的运行结果是___________________________________。3.main(){floatc,f;c=30.0;f=(6*c)/5+32;printf(f=%f,f);}该程序的运行结果是___________________________________。4.main(){inta=6095,b;b=a%1000;printf(%d,b);}该程序的运行结果是___________________________________。5.#include“stdio.h”main(){inta[]={8,2,9,4,1},*p;p=a;*(p+2)+=2;printf(“%d,%d”,*p,*(p+2));}该程序的运行结果是___________________________________。四、将下列程序中不正确的语句改正。1.main(){intk;k=35555;printf(“%d“,k);}2.main(){inta,b;scanf(“inputa,b:”,a,b);printf(“a=%d,b=%d”,a,b);}3.3.main(){intsum,k;sum=0;k=1;while(k=100)sum=sum+k;k++;printf(“sum=%d\n”,sum);}4.4.main(){intk,a(8);for(k=0;k10;k++)scanf(“%d”,&a(k));......}5.main()scanf(“%d”,a);if(a=1)printf(“One\n”);}五.编程题题1.用程序计算下列表达式:s=1!+2!+3!+4!2、从键盘上输入三个数,求出其中最大的一个数。3.输入两个整数,调用函数stu()求两个数差的平方,返回主函数显示结果。。4.从键盘上输入10个评委的分数,去掉一个最高分,去掉一个最低分,求出其余8个人的平均分,输出平均分,最高分,最低分。5.write.txt中,遇到回车键输入结束。。(用“\n”表示回车键)一、填空1.floatdouble2.03.ch!=‘\0’(ch=‘a’&&ch=‘z’)||(ch=‘A’&&ch=‘Z’)4.将字符c所包含的值输出到标准的输出设备上。5.定义一个整型的指针变量p6.07.FILE*fp8.12二、单项选择题1、A2、C3、B4、B5、D6、CD7、D8、B9、D10、C11、A.13、D14、B15、A.16、A17、A.18、B19、A20、C21、C22、A三、读出下列程序,写出程序的运行结果。1.a=9,b=92.283.f=684.955.8,11四、将下列程序中不正确的语句改正。1.longintk;printf(“%ld“,k);}2.scanf(“%d,%d”,a,b);3.while(k=100){sum=sum+k;k++;}4.intk,a[8];scanf(“%d”,&a[k]);5.if(a==1)五.编程题1.main(){longinta,b,sum=0,p;for(a=1;a=4;a++){p=1;for(b=1;b=a;b++)p*=b;sum+=p;}printf(“%ld”,sum);}2、main(){inta,b,c,max;scanf(“%d,%d,%d”,&a,&b,&c);if(ab)max=a;elsemax=b;if(maxc)max=c;printf(“max=%d”,max);}3.intstu(inta,intb){intc;c=a*a+b*b;returnc;}main(){intx,y,z;scanf(“%d,%d”,&x,&y);z=stu(x,y);printf(“%d”,z);}4.main(){floata[10],b,max,min,sum=0,aver;for(b=0;b10;b++)scanf(“%f”,&a[b]);max=min=a[0];for(b=1;b10;b++){if(a[b]max)max=a[b];if(a[b]min)min=a[b];sum+=a[b];}sum=sum-max-min;aver=sum/8;printf(“%f,%f,%f”,aver,max,min);}5.main(){FILE*fp;Charch;fp=fopen(“write.txt”,“w”);ch=getchar();while(ch!=‘\n’){fputc(ch,fp);ch=getchar();}fclose(fp);}