2009_40C语言程序设计学时_期中试卷_

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1桂林电子科技大学信息科技学院试卷2008-2009学年第2学期课号课程名称:C语言程序设计(闭卷)适用班级(或年级、专业)通信、电子考试时间120分钟班级学号姓名座位号题号一二三四五六七八九十成绩满分403030100得分评卷人(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷说明:(1)第一卷全部为选择题,每题可供选择的答案中,只有一个正确答案。(2)答本卷的题目时,要在标准答题纸上编写对应的栏目中,用铅笔在正确答案图黑,在试题上直接勾划者不得分。(3)本卷共70分,其中第1~26题每题2分,第27~32题每题3分。第一部分:基础知识(20题,共40分)1以下叙述中正确的是A)C语言的源程序不必通过编译就可以直接运行B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令C)C源程序经编译形成的二进制代码可以直接运行D)C语言中的函数不可以单独进行编译2以下选项中合法的用户标识符是A)longB)_2TestC)3DmaxD)A.dat3已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是A)字符AB)字符aC)字符eD)非法的常量4以下非法的赋值语句是A)n=(i=2,++i);B)j++;C)++(i+1);D)x=j0;5设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是A)6.500000B)6C)5.500000D)6.0000006已知i、j、k为int型变量,若从键盘输入:1,2,3回车,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是A)scanf(%2d%2d%2d,&i,&j,&k);B)scanf(%d%d%d,&i,&j,&k);C)scanf(%d,%d,%d,&i,&j,&k);D)scanf(i=%d,j=%d,k=%d,&i,&j,&k);7设有定义:floata=2,b=4,h=3;,以下C语言表达式与代数式计算结果不相符的是A)(a+b)*h/2B)(1/2)*(a+b)*hC)(a+b)*h*1/2D)h/2*(a+b)hba)(2128与数学式子123xnx对应的C语言表达式是A)3*x^n(2*x-1)B)3*x**n(2*x-1)C)3*pow(x,n)*(1/(2*x-1))D)3*pow(n,x)/(2*x-1)9设有定义:longx=-123456L;,则以下能够正确输出变量x值的语句是A)printf(x=%d\n,x);B)printf(x=%1d\n,x);C)printf(x=%8dL\n,x);D)printf(x=%LD\n,x);10若有以下程序:main(){intk=2,i=2,m;m=(k+=i*=k);printf(%d,%d\n,m,i);}执行后的输出结果是A)8,6B)8,3C)6,4D)7,411已有定义:intx=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是A)6B)0C)2D)112以下选项中,与k=n++完全等价的表达式是A)k=n,n=n+1B)n=n+1,k=nC)k=++nD)k+=n+113下列关于单目运算符++、--的叙述中正确的是A)它们的运算对象可以是任何变量和常量B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量D)它们的运算对象可以是char型变量、int型变量和float型变量14若有以下程序段(n所赋的是八进制数)intm=32767,n=032767;printf(%d,%o\n,m,n);执行后输出结果是A)32767,32767B)32767,032767C)32767,77777D)32767,07777715C语言中用于结构化程序设计的三种基本结构是A)顺序结构、选择结构、循环结构B)if、switch、breakC)for、while、do-whileD)if、for、continue16有一函数,0x0x0x101y,以下程序段中不能根据x值正确计算出y值的是A)if(x0)y=1;B)y=0;elseif(x==0)y=0;if(x0)y=1;elsey=-1;elseif(x0)y=-1;C)y=0;D)if(x=0)if(x=0)if(x0)y=1;if(x0)y=1;elsey=0;elsey=-1;elsey=-1;317有以下程序段intm=0,n=0;charc='a';scanf(%d%c%d,&m,&c,&n);printf(%d,%c,%d\n,m,c,n);若从键盘上输入:10A10回车,则输出结果是:A)10,A,10B)10,a,10C)10,a,0D)10,A,018有以下程序main(){inta=1,b=2,m=0,n=0,k;k=(n=ba)||(m=ab);printf(%d,%d\n,k,m);}程序运行后的输出结果是A)0,0B)0,1C)1,0D)1,119有定义语句:intx,y;,若要通过scanf(%d,%d,&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是A)1112回车B)11,12回车C)11,12回车D)11,回车12回车20设有如下程序段:intx=2002,y=2003;printf(%d\n,(x,y));则以下叙述中正确的是A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出B)运行时产生出错信息C)输出值为2002D)输出值为2003二第二部分:简单程序(12题,21-26题每题2分,27-32题每题3分,共30分)21有以下程序main(){inti;for(i=0;i3;i++)switch(i){case1:printf(%d,i);case2:printf(%d,i);default:printf(%d,i);}}执行后输出结果是A)011122B)012C)012020D)120422有以下程序main(){inti=1,j=1,k=2;if((j++||k++)&&i++)printf(%d,%d,%d\n,i,j,k);}执行后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,323有以下程序main(){chara,b,c,*d;a='\';b='\xbc';c='\0xab';d=\017;printf(%c%c%c%c\n,a,b,c,*d);}编译时出现错误,以下叙述中正确的是A)程序中只有a='\';语句不正确B)b='\xbc';语句不正确C)d=\017;语句不正确D)a='\';和c='\0xab';语句都不正确24以下程序段中与语句k=ab?(bc?1:0):0;功能等价的是A)if((ab)&&(bc))k=1;B)if((ab)||(bc))k=1;elsek=0;elsek=0;C)if(a=b)k=0;D)if(ab)k=1;elseif(b=c)k=1;elseif(bc)k=1;elsek=0;25有以下程序main(){inta=5,b=4,c=3,d=2;if(abc)printf(%d\n,d);elseif((c-1=d)==1)printf(%d\n,d+1);elseprintf(%d\n,d+2);}执行后输出结果是A)2B)3C)4D)编译时有错,无结果26有以下程序main(){inti=10,j=1;printf(%d,%d\n,i--,++j);}执行后输出结果是A)9,2B)10,2C)9,1D)10,1527有以下程序main(){inti=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;}while(i7);printf(%d\n,s);}执行后输出结果是A)16B)12C)28D)2128有以下程序main(){intx=0,y=5,z=3;while(z--0&&++x5)y=y-1;printf(%d,%d,%d\n,x,y,z);}程序执行后的输出结果是A)3,2,0B)3,2,-1C)4,3,-1D)5,-2,-529有以下程序main(){inti,s=0;for(i=1;i10;i+=2)s+=i+1;printf(%d\n,s);}程序执行后的输出结果是A)自然数1~9的累加和B)自然数1~10的累加和C)自然数1~9中的奇数之和D)自然数1~10中的偶数之和30有以下程序main(){inti,n=0;for(i=2;i5;i++){do{if(i%3)continue;n++;}while(!i);n++;}printf(n=%d\n,n);}程序执行后的输出结果是A)n=5B)n=2C)n=3D)n=4631要求以下程序的功能是计算:10131211smain(){intn;floats;s=1.0;for(n=10;n1;n--)s=s+1/n;printf(%6.4f\n,s);}程序运行后输出结果错误,导致错误结果的程序行是A)s=1.0;B)for(n=10;n1;n--)C)s=s+1/n;D)printf(%6.4f/n,s);32有以下程序段intn=0,p;do{scanf(%d,&p);n++;}while(p!=12345&&n3);此处do—while循环的结束条件是A)p的值不等于12345并且n的值小于3B)p的值等于12345并且n的值大于等于3C)p的值不等于12345或者n的值小于3D)p的值等于12345或者n的值大于等于3第二卷说明:(1)第二卷含5大题,均属填空题,总共有10个空栏,在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句,以构成一个正确的C语言程序。(2)每空栏填对得3分,全对得30分。程序分析题(每空3分,共30分)1若有程序main(){inti,j;scanf(i=%d,j=%d,&i,&j);printf(i=%d,j=%d\n,i,j);}要求给i赋10,给j赋20,则应该从键盘输入【1】。2以下程序的功能是:输入一个字母,如果是大写字母原样输出,如果是小写字母则转换小写字母输出#includestdio.h7voidmain(){chara,b;printf(请输入一个小写字母:);(【2】)if(!(('A'=a&&a='Z')||('a'=a&&a='z')))printf(请输入字母范围在'A'-'Z'或'a'-'z'之间\n);elseif(【3】)b=a-32;else【4】printf(%c,b);}3以下程序的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。请填空。main(){inti,a;scanf(%d,&a);for(i=2;【5】;i++)if(【6】)return0;【7】;}4以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下:ABCDEFGHIJKLMNO请填空完成该程序。main(){inti,j,n;charch='A';scanf(%d,&n);if(【8】){for(i=1;i=n;i++){for(j=1;j=n-i+1;j++){printf(%2c,ch);【9】;}【10】;}}elseprintf(nistoolarge!\n);printf(\n);}8参考答案第一卷1-5BBACD6-10CBCBC11-15DADAA16-20CACAD21-25ACDAB26-30BABDD31-32CD第二卷1i=10,j=202scanf(%c,&a);3'a'=a&&a='z'4b=a5i=a/2或ia6a%i=

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功