2011-12-1学期《C语言程序设计》期末试卷(A)1/92011-12-1学期《C语言程序设计》期末试卷(A)班级____________姓名____________学号________________大题号一二三四总分得分判卷/核分人“一、选择题”使用答题卡选择。“二、看程序写运行结果”答题处:题号答案二、1二、2二、3“三、综合题”答题处:题号答案三、1三、2三、3行号修改后2011-12-1学期《C语言程序设计》期末试卷(A)2/9“四、编程题”答题处:2011-12-1学期《C语言程序设计》期末试卷(A)3/9一、选择题(每题2分,共60分,请使用答题卡选择)1、C语言源程序文件默认的扩展名是____。A..CB..OBJC..EXED..COM2、VC++6.0下,int型的含义是____。A.16位不带符号整型B.16位带符号整型C.32位不带符号整型D.32位带符号整型3、错误的标识符是____。A.AbcB._123C.a1D.2b4、printf库函数调用中,格式串“%10d”中10的含义是____。A.输出的数值之前输出10B.输出的数值之后输出10C.输出的数值至少占10位D.输出的数值最多占10位5、已知doublex=2;则语句printf(“%f”,x);的运行结果是____。A.输出2B.输出2.0C.输出2.000000D.输出2.00000000006、若要求使用scanf库函数往int型变量a中输入数据之前屏幕提示“a=”,则可以采用的方法是____。A.使用语句scanf(”a=%d”,&a);B.使用语句scanf(”%d”,a=&a);C.使用语句scanf(a=”%d”,&a);D.使用两个语句printf(”a=”);scanf(”%d”,&a);7、已知inta=2;则表达式的值不为3的是____。A.1+aB.a+1C.a++D.++a8、能正确表示数学上“a≥10或a≤0”的C语言表达式是____。A.a=10,a=0B.a=10|a=0C.a=10ora=0D.a=10||a=09、判别“c是英文字母”的C语言表达式是____。2011-12-1学期《C语言程序设计》期末试卷(A)4/9A.’a’=c&&c=’z’||’A’=c&&c=’Z’B.’a’=c&&c=’z’&&’A’=c&&c=’Z’C.’a’=c||c=’z’||’A’=c||c=’Z’D.’a’=c||c=’z’&&’A’=c||c=’Z’10、已知charc1[10],c2[]=”china”;若要把数组c2内的字符串全部赋值给数组c1,则方法是____。A.c1=c2B.strcpy(c1,c2)C.c1=”china”D.c1={“china”}11、已知定义了inta[3][4];则下列引用数组元素正确的方法是____。A.a[3][4]B.a[3][3]C.a[2*1][1*2]D.a[2][4]12、已知定义了inta[3][4],则计算“元素a[1][2]的地址”的表达式中,错误的是____。A.&a[1][2]B.&a[0][0]+1*4+2C.*a[1][2]D.a[1]+213、已知inta=8,b=5;则表达式a/b的值是____。A.int型数值1B.int型数值2C.浮点型数1.6D.浮点型数114、已知floatx;且已给x确定的值,则表达式(int)(x*100+0.5)/100.0的含义是____。A.x值四舍五入至小数点后3位的值B.x值五舍六入至小数点后3位的值C.x值四舍五入至小数点后2位的值D.x值五舍六入至小数点后2位的值15、表达式01?2:3的值是____。A.0B.1C.2D.316、语句break;的功能是____。A.从if语句中跳出B.从结构化循环语句或switch语句中跳出1层C.从一个函数中跳出,结束一个函数的运行2011-12-1学期《C语言程序设计》期末试卷(A)5/9D.从一个程序中跳出,结束一个程序的运行17、C语言的语法规则规定,结构化循环语句的循环体必须是____。A.一个语句B.一个复合语句C.一个表达式D.多个语句18、C语言程序中引用一维数组的数组名时,它代表____。A.该数组的全体元素的值B.该数组的元素的个数C.该数组的起始元素的地址D.该数组的起始元素的值19、已定义inta[2][3]={1,2,3,4,5,6};则a[1][1]的值是____。A.1B.3C.5D.620、表达式(int)3.6+8.9的值是____。A.整型值11B.整型值12C.浮点型值12.5D.浮点型值11.921、调用库函数____时,需要2个数值型实参。A.getsB.sqrtC.strcmpD.pow22、调用库函数____时,需要1个地址型实参。A.getsB.sqrtC.strcmpD.pow23、运算符的排列符合优先级由高到低的顺序的是____。A.,+(类型)&&B..!+=C..%++/D.[]||-,24、下列运算符的结合性,特殊的一个是____。A.B.&&C.=D.,25、已知函数intf(int,int)的功能是返回两个形参所得到值的平均值,则函数嵌套调用f(2,f(3,f(4,5)))的值是____。A.2B.3C.4D.526、已知intk,i;则循环语句for(k=i=0;i=10;i++)k++;运行结束后i、k2011-12-1学期《C语言程序设计》期末试卷(A)6/9的值分别是____。A.1010B.1110C.1011D.111127、已知inta[]={11,22,33,44,55,66,77,88,99},*p=a;则*p+3的含义是____。A.a[0]的值加3,即14B.a[3]的值,即44C.a[3]的值,即33D.a[2]的值,即3328、假设有doublea[10][5];则关于二维数组a中地址的计算,错误的是____。A.a表示二维数组a的起始行的行地址B.&a[0][0]表示二维数组a的起始元素的地址C.&a[0][0]+20表示元素a[4][0]的地址D.a+3表示元素a[3][0]的地址29、关于变量定义的概念,以下叙述错误的是____。A.在函数外部定义的变量,称为外部变量;如果外部变量定义在程序开始处,则为全局变量。B.定义各函数时,不同函数内部定义的变量不可以同名,否则编译通不过。C.函数的内部、外部可以同时定义同名的变量,它们表示不同的变量。D.如果一个函数内有内部变量与外部变量同名,则在这个函数内部对这个名称的变量引用时,使用的是内部变量。30、函数f的功能是____。intf(inta[],intn){inti,sum;for(i=sum=0;in;i++)sum+=a[i];returnsum;}A.返回a数组的长度B.返回a数组的前n个元素的和C.返回a数组的前n个元素的平均值D.返回a数组的前n个元素的最大值2011-12-1学期《C语言程序设计》期末试卷(A)7/9二、看程序写运行结果(每题5分,共15分,请将答案回答在卷首答题处)1、下一程序运行时若输入123回车、ABC回车,则输出结果是__________。#includestdio.h#includeconio.h#includestring.hvoidmain(void){chara[100],b[50],k;gets(a);gets(b);k=strlen(a);a[k]=’’;/*赋值1个空格*/strcpy(&a[k+1],b);puts(a);getch();/*停顿*/}2、函数递归调用问题。调用下一函数f时若给与实参1234,则该函数的返回值是__________。intf(inta){intb;if(a0)b=-1;elseif(a10)b=a;elseb=f(a/10)+a%10;/*a/10:a去掉个位剩余的部分;a%10:a的个位*/returnb;}3、下一程序段运行时的输出结果是__________。struct{inta;doubleb;}x={1,2},y={3,4},z[10]={5,6},*p=z;printf(”%.0f”,x.a+y.b+p-a);2011-12-1学期《C语言程序设计》期末试卷(A)8/9三、综合题(每题5分,共15分,请将答案回答在卷首答题处)1、下图是一个算法N-S图,主要功能是将数组a内n个元素排成升序,请将排序中缺少的一步操作(阴影框内)补充完整。2、下一程序是一个将百分制分数转换为A、B、C、D、E等级制的程序,转换细则如下表。请将程序补充完整。百分制分值等级制等级=90A80-89B70-79C60-69D=59E#includestdio.h#includeconio.hvoidmain(void){inta;charc;scanf(”%d”,&a);2011-12-1学期《C语言程序设计》期末试卷(A)9/9a/=10;if(a9)a=9;switch(a){case9:c=’A’;break;case8:c=’B’;break;case7:c=’C’;break;case6:c=’D’;break;___________________}printf(”%c”,c);getch();/*停顿*/}3、下一程序的功能是将键入的字符串保存到文件d:盘abc文件夹111.txt文件中,直到字符#为止。请将程序行号S1~S8中的2句错误修改正确(请按卷首答题处要求填空)。#includestdio.h#includeconio.hvoidmain(){S1:FILE*fp;S2:charc;S3:fp=fopen(d:\\abc\\111.txt,w);S4:c=getch();putchar(c);S5:while(c!='#'){S6:fputc(c,fp);S7:c=getch();putchar(c);}S8:fclose();getch();}四、编程题(10分,请将答案回答在卷首答题处)编一个程序,输出所有的“水仙花数”。(所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。)