
苏小红版C语言期末考试练习题库2.pdf
69页1.2.5e0.5是合法的实型常量指数表示形式(1分)()标准答案:错误2.在对一维数组的全部数组元素赋初值时,可以不指定数组长度1分)()标准答案:正确3.30lu是合法的无符号长整型常量表示形式1分)()标准答案:正确4.int i=l,sum=O;dosum=sum+i;i+;while(ix-2)|I (4x8)B.(x2)I I (x4)|(x8)C.(x-2)&(x<2)|(x8)&(x>4)标准答案:D8.阅读以下程序:main()(int x;scanf(u%dn,&x);if(x 5)printf(M%dn,x);elseprintf(M%dn,x+);)程序运行后,如果从键盘上输入5,则输出结果是()(2 分)A.3 B.4 C.5 D.6标准答案:B9.以下程序的输出结果是()#include std沁.hv?xml:namespace prefix=ons=,um:schemas-microsoft-com:office:officen/void main()int a=3,b=4,c=5,d=2;if(ab)c)SPAN lang=EN-US style=COLOR:black;FONT-FAMILY:宋体 printf(d,d+l);elseprintf(%d”,+d+l);printf(%dn,d);(2 分)A.2 B.3 C.43 D.44标准答案:A10.下面程序段的输出结果为()int i,s;s=0;fbr(i=l;i5)break;printf(s=%dn,s);(2 分)A.5050 B.6 C.5 D.O标准答案:B11.有以下程序段:int n=0,p;doscanf(%d,&p);n+;w h i l e(p!=1 2 3 4 5&n 3);(2 分)A.p的值不等于1 2 3 4 5并且n的值小于3B.p的值等于1 2 3 4 5并且n的值大于等于3C.p的值不等于1 2 3 4 5或者n的值小于3D.p的值等于1 2 3 4 5或者n的值大于等于3标准答案:D1 2 .以卜程序的输出结果是()m a i n()i n t i=O,s=O;f o r(;)(i f(i=3|i=5 )c o n t i n u e;i f(i=6)b r e a k;i+;s+=i;p r i n t f(%d n ,s);)(2 分)A.1 0 B.1 3C.2 1 D.程序进入死循环标准答案:D1 3.设有函数调用语句“f(x l,x l+x 2,(x l,x 2);”,正确的说法是()(2分)A.调用的实际参数是2个 B.调用的实际参数是3个C.调用的实际参数是4个 D.调用时会出现语法错误标准答案:B1 4.有以下程序i n t f(i n t n)(i f (n=l)r e t u r n 1;e l s e r e t u r n f(n-l)+l;)m a i n()i n t i,j=O;f o r(i=l;i 3;i+)j+=f(i);p r i n t f C%d n”,j);程序运行后的输出结果是O(2分)A.4 B.3 C.2 D.1标准答案:B1 5.如果在一个函数中的复合语句中定义了一个存储类型为a u t o的变量,则该变量()(2分)A.只在该复合语句中有效 B.在该函数中有效C.在程序范围内均有效 D.它是非法变量标准答案:A1 6.下列 程 序 运 行 后 的 输 出 结 果 是。
m a i n()(i n t n 3 ,t j,k;f o r(t=0;t 3;t+)n t =O;k=2;f o r(t=0;t k;t+)f d r(j=0;j 3;j+)n j =n t +l;p r i n t f C*%d n ,n 1 J);(2分)A.2 B.l C.O D.3标准答案:D1 7 .以下程序v o i d c h a n g e(i n t k )(k O =k 5 ;m a i n()|i n t x 1 0 =1,2,3,4,5,6,7,8,9,1 0 ,n=0;w h i l e(n =4)|c h a n g e(&x n );n+;)f b r(n=0;n 5;n-H-)p r i n t f C%d”,x n );p r i n t f,n”);程序运行后的输出结果是()o (2分)A.6 7 8 9 1 0B.l 3 5 7 9C.l 2 3 4 5D.6 2 3 4 5标准答案:A1 8.如下定义语句,则下列符号中均1 E确地代表x的地址的选项是()i n t x,*p;p=&x;(2 分)A.&x, p,&*xB.*&x, pC.*p,&p, xD.&x, &*p, p标准答案:D19.下列程序的输出结果是()int b=2;int func(int*a)b+=*a;return(b);main()int a=2,res=2;res+=func(&a);printf(n%d nu,res);)(2 分)A.4 B.6 C.8 D.10标准答案:B20.执行下列程序时输入:123空格456空格789回车,输出结果是()void main()(char s100;int c,i;scanff%c”,&c);scanfC%d“,&i);scanff%s”,s);printf(u%c,%d,%s nc,i,s);(2 分)A.123,456,789 B.1,456,789C.1,23,456,789 D.1,23,456标准答案:D21.函数调用:strcat(strcpy(strl,str2),str3)的功能是(2 分)A.将串strl复制到串str2中后再连接到串str3之后B.将串strl连接到串str2之后再复制到串str3之后C.将串str2复制到串strl中后再将串str3连接到串strl之后D.将串str2连接到串strl之后再将串strl复制到串str3中标准答案:C22.执行以下程序后,y的值是void main()int a=2,4,6,8,10;int y=l,x,*p;P=&al;fbr(x=0;x3;x-H-)y=*p*x;printff%dn”,y);)(2 分)A.6 B.8 C.10 D.4标准答案:B23.以卜程序中函数f的功能是将n个字符串,按由大到小的顺序进行排序。
include void f(char(*p)10,int n)char t20;inti,j;fbr(i=0;in-l;i-H-)fbr(j=i+l;jn;j+)if(strcmp(pi,pj)0)strcpy(t,pi);strcpy(pi,p|j);strcpy(pj,t);)main()char p10=nabc,aabdfgn,nabbd,dcdbeu;,cd,;int i;f(P,5);printf(%dn,strlen(pO);)程序运行后的输出结果是()(2分)A.6 B.4 C.5 D.3标准答案:C24.根据下面结构体类型和结构体数组的定义,能打印字母W的语句是()struct peron(char name9;int age;;struct person class10=(John1,17,“Paul”,19,“Mary”,18,“Adam”,16;(2 分)A.printf(,%cn,class3.name);B.printf(,%cn,class3.namel);C.printf(n%cnM,class2.name 1 );D.printf(,%cn,class2.name0);标准答案:D25.设文件stul.dat己存在,且有如下列程序段#include nstdio.hint main()|FILE*fpl,*fp2;mi=fbpen(”studl.dat”T);fp2=fbpen(nstud2.datH,nwn);while(feof(fjpl)fputc(fgetc(fp 1 ),fp2);该程序段的功能是(2分)A.由于feof函数在fp l没有到文件末尾时返回值为非零值,所以将studl.dat文件中的内容输入到stud2.dat文件中B.将文件studl.dat的最后一个字符(非文件结尾符)输出到文件stud2.dat中C.将文件studl.dat的第-个字符输出到文件stud2.dat中D.由于feof函数在fp l没有到文件末尾时返回值为0,所以没向stud2.dat文件中输入字符标准答案:D三、程序填空题(共3 题,共 10分)1.已知华氏温度和摄氏温度的转换公式为C=5/9x(F-32),其中,C表示摄氏温度,F表示华氏温度。
以下程序是每隔10华度输出-40华度到110华度之间的华氏温度到摄氏温度的对照表include stdio.hvoid main()(int fohr;float Celsius;for(fohr=-40;fahr=110;fahr=fohr+10)Celsius=;printfC%4dt%6.1 fn fahr,Celsius);)(2 分)标准答案:1.5.0/9.0*(fahr-32.0)&5.0/9*(fahr-32)&5/9.0*(fahr-32)&5.0/9.0*(fahr-32)&5.0/9*(fahr-32.0)&5/9.0*(fahr-32.0);2.若已定义:以下ftm函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1、2、3、4、5、5、4、3、2、1请填空fiin(int a)(int i;for(i=0;i10;i+)=i+l;fdr(i=0;imax)max=x;if()min=x;scanf(%f,&x);)printf(nmax=%fnmin=%fn,max,min);)(4 分)标准答案:1.x=0;2.xmin;l .printf函数中,使用c和s都可以输出字符串(1分)()标准答案:错误2.int x=10;printf(%x,x);这组语句的输出结果为a(1分)()标准答案:正确3.在C函数中,当以数组名作为参数时,对形参变量的操作不会影响到实参变量,即形参值不能传回给实参(1分)()标准答案:错误4.表达式3.5+1/2+56%10的计算结果是9.5(1分)()标准答案:正确5.case语句后一定要加break语 句(1分)()标准答案:错误6.函数调用时,实际参数和形式参数的个数可以不同(1分)()标准答案:错误7.数组名做函数的参数时,实参数组和形参数组大小一定要一致(1分)()标准答案:错误8.设需定义一个有15个元素的数组a,并对其前5个元素赋初值,可用如下语句实现:int叫=1,2,3,4,5;(1 分)()标准答案:错误9.从操作系统的角度看,每一个与主机相连的输入输出设备看作是一个文件。
1分)()标准答案:正确10.在C中,形式参数是局部变量(1分)()标准答案:正确二、单 选 题(共 25题,共 50分)1.以下叙述中正确的是()(2分)A.程序应尽可能短B.为了编程的方便,应当根据编程人员的意图使程序的流程随意转移C.虽然注释会占用较大篇幅,但程序中还是应有尽可能详细的注释D.在Turbo C环境下,运行的程序就是源程序标准答案:C2.在C语言中,回车换行符是()(2分)A.n B.V C.v D.b标准答案:A3.与数学式子3乘以x的n次方/(2x-l)对应的C语言表达式是()(2分)A.3*xAn/(2*x-l)B.3*x*n/(2*x-l)C.3*pow(x,n)*(l/(2*x-l)D.3*pow(n,x)/(2*x-1)标准答案:c4.有以下程序main()unsigned char a,b;a=4|3;b=4&3;printf(d%dn,a,b);)执行后输出结果是O (2分)A.7 0 B.0 7 C。












