您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > C语言期中考试试题及答案
中国民航大学2009-2010学年第二学期《C语言程序设计》期中考试试卷课程编号:03402513试卷类型:A卷考试形式:笔试考试日期:题号一二三四五六总分得分注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。一、单项选择题(1空1分,共20分)1、C语言程序的基本结构是(【1】)。【1】A)函数B)语句C)字符D)程序行2、一个C程序的执行是(【2】)。【2】A)从本程序的主函数开始,到本程序的主函数结束B)从本程序的第一个函数开始,到本程序的最后一个函数结束C)从本程序的主函数开始,到本程序的最后一个函数结束D)从本程序的第一个函数开始,到本程序的主函数结束3、下列四个叙述中,错误的是(【3】)。【3】A)一个C源程序必须有且只能有一个主函数B)一个C源程序可以含一个或多个子函数C)在C源程序中注释说明必须位于语句之后D)C源程序的基本结构是函数4、下面不属于C语言保留字的是(【4】)。【4】A)shortB)ELSEC)externD)for5、下列四个叙述中,正确的是(【5】)。【5】A)库函数也是C语言本身的组成部分B)C语言中的输入输出操作是由相应语句完成的C)库函数是C编译系统提供的功能函数D)标题文件(头文件)可以在程序的函数内部调用6、下列四组数据类型中,C语言允许的一组是(【6】)。【6】A)整型、实型、逻辑型B)整型、实型、字符型C)整型、双精度型、布尔型D)整型、实型、复型7、在C语言中不同数据类型的的长度是(【7】)。【7】A)固定的B)由用户自己定义的C)任意的D)与机器字长有关班级:姓名:准考证号:任课教师考场教室――――――――――――――――――――――――――装订线――――――――――――――――――――――――――――――-8、下列四组(八进制或十六进制)常数中,正确的一组是(【8】)。【8】A)0160xbf18B)0abc0170xaC)010-0x110x16D)0A127FF-1239、下列四组转义字符中,合法的一组是(【9】)。【9】A)‘\t’‘\\’‘\n’B)‘\’‘\017’‘\x’C)‘\018’‘\f’‘\xab’D)‘\\0’‘\101’‘xif’10、在C语言中,一个整型数据占两个字节,则int型数据的取值范围是(【10】)。【10】A)32767~-32768B)0~65535C)127~-128D)0~25511、经charw;intx;floaty;doublez;说明后,表达式w*x+z-y的类型是(【11】)。【11】A)floatB)charC)intD)double12、以下能正确定义变量a,b和c并为它们赋值的语句是(【12】)。【12】A)inta=5;b=5;c=5;B)inta,b,c=5;C)a=5,b=5,c=5;D)inta=5,b=5,c=5;13、在C语言中,用于表示逻辑“真”的值是(【13】)。【13】A)TB)1C)-1D)非零值14、经inta=7;floatx=2.5,y=4.7;说明后,表达式x+a%3*(int)(x+y)%2/4的值是(【14】)。【14】A)2.500000B)2.750000C)3.500000D)0.00000015、若在一个表达式中含有int、longint、unsignedint和char类型的常量和变量,则该表达式的类型是(【15】)。【15】A)int型B)char型C)unsignedint型D)longint型16、在C语言中,如果一个int型数据占2个字节,则unsignedint型数据取值范围是(【16】)。【16】A)0~255B)0~32767C)0~65535D)0~214748364717、在C语言中,下列四个长整型数中合法的是(【17】)。【17】A)0LB)4962C)0.054838743D)2.1869e1018、若有说明语句:charc=‘\101’;则变量c(【18】)。【18】A)包含一个字符B)包含两个字符C)包含三个字符D)说明不合法19、设变量a为整型,f为实型,i为双精度型,则表达式10+‘a’+i*f的数据类型是(【19】)。【19】A)int型B)float型C)double型D)不确定20、下列四个字符常量中,正确的是(【20】)。【20】A)“c”B)“\”C)‘W’D)‘\w’二、单项选择题(每空2分,共40分)21、执行printf(%x,%o,%d\n,-1,-1,-1);后的输出结果是(【21】)。【21】A)-1,-1,-1B)ffff,-01,-1C)ffff,32767,-1D)ffff,177777,-122、已有定义inta=-2;以下叙述中正确的是(【22】)。【22】A)整型变量的输出格式符只有%d一种B)%x是格式符的一种,它可以用于任何一种类型的数据C)%x是格式符的一种,其变量的值按十六进制输出,但格式符%32x是错误的D)%32x格式符中,数字32规定了输出字符的宽度23、若有定义:intx=3,y=2;floata=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值是(【23】)。【23】A)0B)2C)1.5D)124、设inta=5,b=6,c=7,d=8,m=2,n=2;则执行(m=ab)&&(n=cd)后,n的值为(【24】)。【24】A)2B)1C)3D)425、设ch是char型变量,其值为‘A’,则表达式ch=(ch=‘A’&&ch=‘z’)?(ch+32):ch的值是(【25】)。【25】A)ZB)aC)zD)A26、表达式5!=3的值是(【26】)。【26】A)TB)非零值C)0D)127、若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则下面不能满足要求的表达式是(【27】)。【27】A)A%2==1B)!(A%2==0)C)!(A%2)D)A%228、为表示关系y在闭区间【x,z】内,应使用的C语言表达式是(【28】)。【28】A)(x=y)&&(y=z)B)(x=y)AND(y=z)C)x=y=zD)(x=y)&(y=z)29、设有以下语句:intx=10;x+=3+x%(-3);则x的值是(【29】)。【29】A)14B)15C)11D)1230、sizeof(double)是(【30】)。【30】A)一种函数调用B)一个双精度表达式C)一个整型表达式D)一个不合法的表达式31、设x为int型变量,则执行语句x=10;x+=x-=x-x;后,x的值为(【31】)。【31】A)10B)20C)40D)3032、设x、y、z、s均为int型变量,且初值均为1,则执行语句s=++x||++y&&++z;后,s的值为(【32】)。【32】A)不定值B)2C)1D)033、设x和y均为int型变量,则执行以下语句:x+=y;y=x-y;x-=y;的功能是(【33】)。【33】A)把x和y从大到小排列B)把x和y从小到大排列C)无确定结果D)交换x和y的值34、putchar()函数可以向终端输出一个(【34】)。【34】A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值35、若有代数式(3ae)/(bc),则下列C语言表达式中,错误的是(【35】)。【35】A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*336、若给定条件表达式(S)?(a++):(a--),则与表达式S等价的是(【36】)。【36】A)和(S==0)等价B)和(S==1)等价C)和(S!=0)等价D)和(S!=1)等价37、以下四条语句中,有语法错误的是(【37】)。【37】A)if(ab)m=a;B)if(ab)m=b;C)if((a=b)=0)m=a;D)if((a=b;)=0)m=a;38、下列各程序段中,不能实现1+2+3+...+10求和的是(【38】)。【38】A)inti=0,s=0;while(i=10){s+=i,i++;}B)inti,s;for(s=0,i=1;i11;i++)s+=i;C)inti=0,s=0;do{s+=i;,++i;}while(i=10);D)inti,s;for(s=0,i=1;i=10;)s+=i;39、下列一维数组说明中,不正确的是(【39】)。【39】A)floata[5+6];B)intn=10,a[n];C)#defineLONG10D)floata[10],b[9];inta[LONG+5];40、下列一维数组初始化语句中,正确的是(【40】)。【40】A)inta[5]={,2,,3,5};B)inta[5]={};C)inta[5]={5*2};D)inta[]=(0,2,0,3,7);三、填空题(每空2分,共30分)41、定义inta=12,b=12;后,语句printf(%d,%d\n,--a,++b);的输出结果是(【41】)。42、已知intx=43,y=0;charch=‘A’;则表达式(x=y&&ch‘B’&&!y)的值是(【42】)。43、若有以下定义和语句:inta=010,b=0x10,c=10;printf(%d,%d,%d\n,a,b,c);则输出结果是(【43】)。44、设intx=0,y=-1;则执行下列程序段的输出结果为(【44】)。if(x!=0)if(x0)y=1;elsey=0;printf(%d\n,y);45、已知字母‘A’的十进制ASCII代码值为65,下面程序段的输出是(【45】)。charch1,ch2;ch1=‘A’+‘5’-‘3’;ch2=‘A’+‘6’-‘3’;printf(%d,%c\n,ch1,ch2);46、下面程序段的输出是(【46】)。unsignedinta=32768;printf(a=%d\n,a);47、若定义intd,c=6;则执行下面的语句后,d的值为(【47】)。switch(c){case0:d=0;break;case1:case2:d=1;break;case3:case4:d=2;break;default:d=3;}48、运行下面程序段的输出结果是(【48】)。inta=4,b=5,t;if(ab);t=a,a=b,b=t;printf(%d,%d\n,a,b);49、若执行下面程序时,从键盘输入3,4,则输出是(【49】)。main(){inta,b,s;scanf(%d,%d,&a,&b);s=a;if(ab)s=b;s=s*s;printf(%d\n,s);}50、运行下面程序段的输出结果是(【50】)。intx=23;do{printf(%2d,x--);}while(!x);51、运行下列程序段的输出结果是(【51】)。c='\0';while(c)printf(%d,++c);52、下列程序段执行后,s的值为(【52】)。intk,s=0;for(k=1;k=10;++k);s=s+k;53、运行下面程序段的输出结果是(【53】)。inti;for(i=0;i10;i++);printf(%d,i);54、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是(【54】)。for(i=5;i;i--)for(j=0;j4;j++){......}55、以下for循环执行时,循环次数为(【55】)。for(x=0,y=0;(y!=123)&&(x4);x++);四、阅读程序题(每题2分,共10分)56、运行下列程序段的输出结果是(【56】)。m='a';do{printf(%c,m);}while(!m);57、运行下面程序段的输出结果是(【57】)。intn,a,s=0,p=1,i;n=2;a=2;for(i=1;i=n;++i){p=p*a;s+=
本文标题:C语言期中考试试题及答案
链接地址:https://www.777doc.com/doc-4807474 .html