一、判断共10题(共计10分)第1题(1.0分)题号:1488函数即可以嵌套定义,又可以嵌套调用.答案:N第2题(1.0分)题号:1256unsigned和void在C中都是保留字.答案:Y第3题(1.0分)题号:1280表达式++i表示对变量i自加1.答案:Y第4题(1.0分)题号:1282C语言源程序的基本结构单位是main函数.答案:N第5题(1.0分)题号:1276字符常量的长度肯定为1.答案:Y第6题(1.0分)题号:1469chara[]={'a','b','c'};charb[]={abc};数组a和数组b占用的内存空间大小不一样.答案:Y第7题(1.0分)题号:1249若有inti=10,j=2;则执行完i*=j+8;后i的值为28.答案:N第8题(1.0分)题号:33inti,*p=&i;是正确的C说明。答案:Y第9题(1.0分)题号:1250While循环语句的循环体至少执行一次.答案:N第10题(1.0分)题号:1510有数组定义inta[2][2]={{1},{2,3}};则a[0][1]的值为0.答案:Y二、单项选择共30题(共计30分)第1题(1.0分)题号:456执行下面程序后,输出结果是()。main(){a=45,b=27,c=0;c=max(a,b);printf(%d\n,c);}intmax(x,y)intx,y;{intz;if(xy)z=x;elsez=y;return(z);}A:45B:27C:18D:72答案:A第2题(1.0分)题号:437下列数组说明中,正确的是()。A:intarray[][4];B:intarray[][];C:intarray[][][5];D:intarray[3][];答案:A第3题(1.0分)题号:2396下面有关for循环的正确描述是()A:for循环只能用于循环次数已经确定的情况B:for循环是先执行循环体语句,后判断表达式C:在for循环中,不能用break语句跳出循环体D:for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D第4题(1.0分)题号:2817以下程序的输出结果是().main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;printf(i=%d,j=%d,k=%d\n,i,j,k);}A:i=2,j=1,k=3B:i=1,j=1,k=2C:i=4,j=2,k=4D:i=1,j=1,k=3答案:D第5题(1.0分)题号:2866若有下列定义,则对a数组元素地址的正确引用是().inta[5],*p=a;A:*(p+5)B:*p+2C:*(a+2)D:*&a[5]答案:C第6题(1.0分)题号:711下列选项中正确的语句组是()。A:chars[8];s={Beijing};B:char*s;s={Beijing};C:chars[8];s=Beijing;D:char*s;s=Beijing;答案:D第7题(1.0分)题号:3191若变量a,i已正确定义,且i已正确赋值,合法的语句是()A:a=int(i);B:a==1C:++i;D:a=a++=5;答案:C第8题(1.0分)题号:490以下字符中不是转义字符的是()。A:\a'B:\b'C:\c'D:'\\'答案:C第9题(1.0分)题号:184下列定义不正确的是()。A:#definePI3.141592B:#defineS345C:intmax(x,y);intx,y;{}D:staticcharc;答案:C第10题(1.0分)题号:3028charh,*s=&h;可将字符H通过指针存入变量h中的语句是().A:*s=H;B:*s='H';C:s=H;D:s='H'答案:B第11题(1.0分)题号:690设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是()。A:10101001B:10101000C:11111101D:01010101答案:D第12题(1.0分)题号:2381设以下变量均为int类型,表达式的值不为7的是()A:x=y=6,x+y,x+1B:x=y=6,x+y,y+1C:x=6,x+1,y=6,x+yD:y=6,y+1,x=y,x+1答案:C第13题(1.0分)题号:3124若有说明inta[3][4];则对a数组元素的正确引用是().A:a[2][4]B:a[1,3]C:a[1+1][0]D:a(2)(1)答案:C第14题(1.0分)题号:679在C语言中,形参的缺省存储类是()。A:autoB:registerC:staticD:extern答案:A第15题(1.0分)题号:1343C语言源程序的基本单位是().A:过程B:函数C:子程序D:标识符答案:B第16题(1.0分)题号:3023C语言程序中必须有的函数是().A:#includestdio.hB:mainC:printfD:scanf答案:B第17题(1.0分)题号:3228有定义:inta=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为()A:1.4B:1C:2.0D:2答案:B第18题(1.0分)题号:640以下对二维数组a的正确说明是()。A:inta[3][]B:floata(3,4)C:doublea[1][4]D:floata(3)(4)答案:C第19题(1.0分)题号:2884以下标识符中,不能作为合法的C用户定义标识符的是().A:answerB:toC:signedD:_if答案:C第20题(1.0分)题号:652在C语言中,引用数组元素时,其数组下标的数据类型允许是()。A:整型常量B:整型表达式C:整型常量或整型表达式D:任何类型的表达式答案:C第21题(1.0分)题号:381以下标识符中,不能作为合法的C用户定义标识符的是()。A:answerB:toC:signedD:_if答案:C第22题(1.0分)题号:2898已知year为整型变量,不能使表达式(year%4==0&&year%100!=0)||year%400==0的值为真的数据是().A:1990B:1992C:1996D:2000答案:A第23题(1.0分)题号:177以下描述中,正确的是()。A:预处理是指完成宏替换和文件包含中指定的文件的调用B:预处理指令只能位于C源文件的开始C:C源程序中凡是行首以#标识的控制行都是预处理指令D:预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备答案:C第24题(1.0分)题号:156执行下列语句后的输出为()。intj=-1;if(j=1)printf(****\n);elseprintf(%%%%\n);A:****B:%%%%C:%%%%cD:有错,执行不正确答案:A第25题(1.0分)题号:2850以下函数调用语句中实参的个数是().exce((v1,v2),(v3,v4,v5),v6);A:3B:4C:5D:6答案:A第26题(1.0分)题号:506以下程序段的输出结果为()。for(i=4;i1;i--)for(j=1;ji;j++)putchar('#');A:无B:######C:#D:###答案:B第27题(1.0分)题号:2830下列程序的输出结果是().main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;break;}printf(a=%d,b=%d\n,a,b);}A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B第28题(1.0分)题号:573C语言中运算对象必须是整型的运算符是()。A:%=B:/C:=D:〈=答案:A第29题(1.0分)题号:647以下能对二维数组a进行正确初始化的语句是()。A:inta[2][]={{1,0,1},{5,2,3}};B:inta[][3]={{1,2,3},{4,5,6}};C:inta[2][4]={{1,2,3},{4,5},{6}};D:inta[][3]={{1,0,1}{},{1,1}};答案:B第30题(1.0分)题号:3135以下数组定义中不正确的是().A:inta[2][3];B:intb[][3]={0,1,2,3};C:intc[100][100]={0};D:intd[3][]={{1,2},{1,2,3},{1,2,3,4}};答案:D三、程序填空共2题(共计24分)第1题(12.0分)题号:417/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:利用全局变量计算长方体的体积及三个面的面积。-------------------------------------------------------*/ints1,s2,s3;intvs(inta,intb,intc){intv;/***********SPACE***********/v=【?】;s1=a*b;/***********SPACE***********/s2=【?】;s3=a*c;returnv;}main(){intv,l,w,h;clrscr();printf(\ninputlength,widthandheight:);/***********SPACE***********/scanf(%d%d%d,【?】,&w,&h);/***********SPACE***********/v=【?】;printf(v=%ds1=%ds2=%ds3=%d\n,v,s1,s2,s3);getch();}答案:=======(答案1)=======a*b*c=========或=========a*b*c=======(答案2)=======b*c=========或=========b*c=======(答案3)=======&l=======(答案4)=======vs(l,w,h)=========或=========vs(l,w,h)第2题(12.0分)题号:441/*-------------------------------------------------------【程序填空】---------------------------------------------------------题目:给定程序中函数fun的功能是:从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。-------------------------------------------------------*/#includeconio.h#includestdio.hvoidfun(longs,long*t){longsl=10;s/=10;/***********SPACE***********/*t=s【?】10;while(s0)/***********SPACE***********/{s=【?】;/***********SPACE***********/*t=s%10*sl【?】;/***********SPACE***********/sl=sl【?】10;}}main(){longs,t;clrscr();printf(\nPleaseenters:);scanf(%ld,&s);fun(s,&t);printf(Theresultis:%ld\n,t);}答案:=======(答案1)=======%=======(答案2)=======s/100=======(答案3)=======+*t=======(答