113-14-248课时C语言模拟练习总共42题共100分答卷编号:12311112222211333答题开始时间:2014-06-0910:14:49答题结束时间:2014-06-0910:46:47考生姓名:翟方正考试时间:00:31:58分钟总得分:25分评卷人:系统自动评卷评卷时间:2014-06-0910:46:47一、单选题(共15题,共30分)1.设p1和p2是指向同一个字符串的指针变量,C为字符变量,则以下不能正确执行的赋值语句是()(2分)A.C=*p1+*p2;B.p2=CC.p1=p2D.C=*p1*(*p2);.标准答案:B考生答案:B2.在32位计算机中,一个字长所占的字节数为()(2分)A.1B.2C.4D.8.标准答案:C考生答案:A3.C语言中,运算对象必须是整型数的运算符是()(2分)A.%B./C.%和/D.*.标准答案:A考生答案:A4.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是()(2分)A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性.标准答案:B考生答案:D5.printf(%d\n,34&27);的输出结果为:(2分)A.3B.12C.9D.2.标准答案:D考生答案:D6.若以下选项中的变量已正确定义,则正确的赋值语句是()(2分)A.x1=26.8%3;B.1+2=x2;C.x3=0x12;D.x4=1+2=3;.标准答案:C考生答案:C7.有以下程序:main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf(%d,%d,a,b);2}程序运行后的输出结果是()(2分)A.6,1B.2,1C.6,0D.2,0.标准答案:B考生答案:D8.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值“假”,则以下不能满足要求的表达式是()。(2分)A.A%2==1B.!(a%2==0)C.!(A%2)D.A%2.标准答案:C考生答案:B9.已知对于一个二进制文件,调用标准库函数fread的语句形式如下fread(buffer,size,count,fp);那么其中buffer所代表的是()(2分)A.一个整型变量,表示要读入的数据项总数B.一个文件指针,指向要读入的文件C.一个指针,指向要存放读入数据的地址D.一个存储区,存放要读入的数据项.标准答案:C考生答案:D10.以下为合法语句标号的是()(2分)A.flag:B.tagC.intD.-here:.标准答案:B考生答案:A11.有以下程序程序运行后的输出结果是()main(){intm=12,n=34;printf(%d%d,m++,++n);printf(%d%d\n,n++,++m);}(2分)A.12353514B.12353513C.12343514D.12343513.标准答案:A考生答案:B12.若已知inta[3][4],*p;p=a;那么对数组a的第2行第2列的正确引用是()(2分)A.a[2][2]B.p[5]C.a[9]D.p[1][1].标准答案:D考生答案:A13.设文件stu1.dat已存在,且有如下列程序段#includestdio.hintmain(){FILE*fp1,*fp2;fp1=fopen(stud1.dat,r);fp2=fopen(stud2.dat,w);while(feof(fp1))putc(getc(fp1),fp2);}该程序段的功能是(2分)A.将文件file1.c的内容输出到屏幕3B.将文件file1.c的内容输出到文件C.将文件file1.c的第一个字符输出到屏幕D.什么也不干.标准答案:D考生答案:D14.有以下程序main(){char*s=\n123\\;printf(%d,%d\n,strlen(s),sizeof(s));}执行后输出结果是()(2分)A.赋初值的字符串有错B.6,7C.5,4D.5,6.标准答案:C考生答案:A15.C.语言对文件的操作提供了若于个标准库函数,其中对格式化读函数fscanf的函数调用正确格式是()(2分)A.fscanf(文件指针,格式控制字符串,输入项表);B.fscanf(格式控制字符串,输入项表,文件指针);C.fscanf(格式控制字符串,文件指针,输入项表);D.fscanf(文件指针,输入项表,格式控制字符串);.标准答案:A考生答案:二、判断题(共10题,共10分)1.在C中,形式参数是局部变量(1分)().标准答案:正确考生答案:正确2.30lu是合法的无符号长整型常量表示形式。(1分)().标准答案:正确考生答案:正确3.数组定义时,只允许使用常量表达式定义数组的大小,其值必须是正整数,而不能用变量来定义数组长度(1分)().标准答案:正确考生答案:错误4.C程序中的main函数必须放在整个程序的最前头()(1分)().标准答案:错误考生答案:错误5.用do-while语句构成循环时,只要while后的表达式为0时就结束循环(1分)().标准答案:正确考生答案:错误6.C语言不能嵌套定义函数,也不可以嵌套调用函数,也就是说,在调用一个函数的过程中,不可以调用另一个函数(1分)().标准答案:错误考生答案:错误7.用数组名作函数形参和实参时,应在主调函数和被调函数中分别定义数组(1分)().标准答案:正确考生答案:正确48.if(ab);max=a;elsemax=b;假设a,b,max为已定义的整型变量,且a和b变量已有初值,则以上代码运行完毕后,max中存储的为a和b的最大值(1分)().标准答案:错误考生答案:正确9.max=ab?a:bc?b:c;假设a,b,c,max均已定义,则这条语句有语法错误(1分)().标准答案:错误考生答案:错误10.条件运算符的结合方向为“自左而右”。(1分)().标准答案:错误考生答案:错误三、填空题(共10题,共20分)1.C语言运算符中,优先级最低的是________________________。(2分).标准答案:1.,&逗号运算符;考生答案:1.逗号运算符;2.一个C源程序中至少应包含一个________________________。(2分).标准答案:1.主函数&main函数;考生答案:1.主函数;3.设x为int型变量。与逻辑表达式!x等价的c语言关系表达式是________________(2分).标准答案:1.x==0;考生答案:1.相反;4.若有以下程序:main(){inti,j;scanf(“i=%d,j=%d”,&i,&j);printf(“i=%d,j=%d”,i,j);}要求给i赋10,给j赋20,则应该从键盘输入____________________________________(2分).标准答案:1.i=10,j=20;考生答案:1.10,20;5.以下程序的执行结果是____________________________________________________________。#includestdio.hmain(){intx=5,y=2;printf(1:%d,,!(y==x/2));printf(2:%d,,y!=x%3);printf(3:%d,,x0&&y0);printf(4:%d\n,x!=y||x=y);(2分).标准答案:1.1:0,2:0,3:0,4:1;考生答案:1.;6.下列程序执行后的输出结果是____。5#defineMA(x)x*(x-1)main(){inta=1,b=2;printf(%d\n,MA(1+a+b));}(2分).标准答案:1.8;考生答案:1.8;7.要使下面的程序从键盘输入一个大写字母给c1,用小写字母输出,请填空:#includestdio.hmain(){charc1,c2;____________________________________________;//输入一个字符给变量c1printf(%c,%d\n,c1,c1);c2=____________________________________________;printf(%c,%d\n,c2,c2);}(2分).标准答案:1.scanf(%c,&c1);2.c1+32;考生答案:1.c1=getchar();2.getchar();8.若从键盘输入58,则以下程序输出的结果是________________________。main(){inta;scanf(%d,&a);if(a50)printf(%d,a);if(a40)printf(%d,a);if(a30)printf(%d,a);}(2分).标准答案:1.585858;考生答案:1.585858;9.设有字符型变量x的值是'1'(对应二进制数是00110001),要通过“x^y”运算,使得x的高3位不变,低5位取反,y的值用二进制数来表示应为________________________________.(2分).标准答案:1.00011111;考生答案:1.000111111;10.有以下程序main(){intt=1,i=5;for(;i=0;i--)t*=i;printf(%d\n,t);}执行后输出结果是____。(2分).标准答案:1.0;考生答案:1.0;四、读程序题(共5题,共20分)1.阅读下述程序,写出运行结果________________________________________________________________________________________________________。#includestdio.hmain()6{inta,y;a=10;y=0;do{a+=2;y+=a;printf(a=%d,y=%d\n,a,y);if(y20)break;}while(a=14);printf(a=%d\n,a);}(4分).标准答案:1.a=12,y=12a=16,y=28a=16;考生答案:1.;2.以下程序的输出结果是____________#includestdio.hmain(){inti,j,x=0;for(i=0;i2;i++){x++;for(j=0;j3;j++){if(j%2)continue;x++;}x++;}printf(x=%d\n,x);(4分).标准答案:1.x=8;考生答案:1.;3.阅读下述程序/*progranecho.c*/#includestdio.hintmain(intargc,char*argv[]){inti,j;printf(No.=%d\n,argc);for(i=1;iargc;i++)printf(%c,*argv[i]);printf(\n);7return0;}设对于此名为echo.c的源文件,经编译、连接后生成可执行文件echo.exe。今在DOS提示符下键如下命令行echocc++Java请写出运行结果________________________________________。(4分).标准答案:1.No.=4ccJ;考生答案:1.;4.请写出执行下述程序的输出结果________________________________________________________________________________________________________。#includestdio.hmain(){inti=100,j=34,k=-63,m=4;intu=-15,v=71,w=27;i+=j;j-=k;k*=-m;m/=3*j-1;u%=v-2*w;printf(i=%d,j=%d,k=%d,m=%d,u=%d,i,j,k,m,u);}(4分).标准答案:1.i=134,j=97,k=252,m=0,u=-15;考生答案:1.;5.有以下程