
二级c语言套题+答案(六).doc
17页━━━━━━━━━━━━━━━一、填空 共10题 (共计10分)━━━━━━━━━━━━━━━第1题 (1.0分)C语言中一个函数由函数首部和【1】两部分组成.答案:=======(答案1)=======函数体第2题 (1.0分)已知:int i=8,j=10,m,n;m=++i;n=j++;问语句执行后m=【1】,n=【2】答案:=======(答案1)=======9=======(答案2)=======10第3题 (1.0分)若在程序中用到"strlen()"函数时,应在程序开头写上包含命令# include "【1】".答案:=======(答案1)=======string.h第4题 (1.0分)从函数的形式上看,函数分为无参函数和【1】两种类型.答案:=======(答案1)=======有参函数第5题 (1.0分)int x=2,y=3,z=4; 则表达式x+y&&x=y的值为【1】.答案:=======(答案1)=======1第6题 (1.0分)若有以下定义和语句: int a[4]={0,1,2,3},*p; p=&a[2]; 则*--p的值是【1】.答案:=======(答案1)=======1第7题 (1.0分)已知a=13,b=6, a&b的十进制数值为【1】.答案:=======(答案1)=======4第8题 (1.0分)若有以下数组a,数组元素:a[0]~a[9],其值为 9 4 12 8 2 10 7 5 1 3该数组中下标最小的元素名字是【1】.答案:=======(答案1)=======a[0]第9题 (1.0分)为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的【1】语句配对.答案:=======(答案1)=======if第10题 (1.0分)以下程序段要求从键盘输入字符,当输入字母为'Y' 时,执行循环体,则括号内应填写【1】.ch=getchar(); while(ch ____ 'Y')/*在括号中填写*/ch=getchar();答案:=======(答案1)=========━━━━━━━━━━━━━━━二、判断 共10题 (共计10分)━━━━━━━━━━━━━━━第1题 (1.0分)如果被调用函数的定义出现在主调函数之前,可以不必加以声明.答案:Y第2题 (1.0分)逻辑表达式-5&&!8的值为1.答案:N第3题 (1.0分)在C程序中 , 函数既可以嵌套定义 , 也可以嵌套调用答案:N第4题 (1.0分)C语言的函数可以嵌套定义.答案:N第5题 (1.0分)若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:Y第6题 (1.0分)若有宏定义:#define S(a,b) t=a;a=b;b=t由于变量t没定义,所以此宏定义是错误的。
答案:N第7题 (1.0分)用fopen("file","r+");打开的文件"file"可以进行修改答案:Y第8题 (1.0分)C语言所有函数都是外部函数.答案:N第9题 (1.0分)一个include 命令可以指定多个被包含的文件答案:N第10题 (1.0分)进行宏定义时,宏名必须使用大写字母表示答案:N━━━━━━━━━━━━━━━━━三、单项选择 共30题 (共计30分)━━━━━━━━━━━━━━━━━第1题 (1.0分)从循环体内某一层跳出,继续执行循环外的语句是A:break语句B:return语句C:continue语句D:空语句答案:A第2题 (1.0分)下列( )表达式的值为真,其中a=5;b=8;c=10;d=0A:a*2>8+2B:a&&dC:(a*2-c)||dD:a-b
A:节省存储空间B:简化程序设计C:进行动态管理D:同时访问所有成员答案:D第12题 (1.0分)若二维数组a有m列,则在a[i][j]前的元素个数为()A:j*m+iB:i*m+jC:i*m+j-1D:i*m+j+1答案:B第13题 (1.0分)在C语言中,int、char和short三种类型数据在内存中所占用的字节数()A:由用用户自己定义B:均为2个字节C:是任意的D:由所用机器的机器字长决定答案:D第14题 (1.0分)以下正确的说法是()A:定义函数时,形参的类型说明可以放在函数体内B:return后边的值不能为表达式C:如果函数值的类型与返回值类型不一致,以函数值类型为准D:如果形参与实参类型不一致,以实参类型为准答案:C第15题 (1.0分)以下叙述中正确的是()A:C语言的源程序不必通过编译就可以直接运行B:C语言中的每条可执行语句最终都将被转换成二进制的机器指令C:C源程序经编译形成的二进制代码可以直接运行D:C语言中的函数不可以单独进行编译答案:B第16题 (1.0分)逻辑运算符两侧运算对象的数据类型()A:只能是0或1B:只能是0或非0正数C:只能是整型或字符型数据D:可以是任何类型的数据答案:D第17题 (1.0分)若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。
A:2.500000B:2.750000C:3.500000D:0.000000答案:A第18题 (1.0分)若已定义x为int类型变量,下列语句中说明指针变量p的正确语句是()A:int p=&x;B:int *p=x;C:int *p=&x;D:*p=*x;答案:C第19题 (1.0分)以下程序的运行结果是()main(){ int i=1,sum=0; while(i<10) sum=sum+1;i++; printf("i=%d,sum=%d",i,sum);}A:i=10,sum=9B:i=9,sum=9C:i=2,sum=1D:运行出现错误答案:D第20题 (1.0分)C语言的if语句嵌套时,if与else的配对关系是()A:每个else总是与它上面的最近的if配对B:每个else总是与最外层的if配对C:每个else与if的配对是任意的D:每个else总是与它上面的if配对答案:A第21题 (1.0分)有定义:char*p1,*p2;则下列表达式中正确合理的是A:p1/=5B:p1*=p2C:p1=&p2D:p1+=5答案:C第22题 (1.0分)已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是A:A,BB:A,68C:65,66D:65,68答案:C第23题 (1.0分)main(){int x=1,a=0,b=0;switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b);}该程序的输出结果是( )A:2,1B:1,1C:1,0D:2,2答案:A第24题 (1.0分)若有如下定义和语句,且0<=i<5,下面( )是对数值为3数组元素的引用 int a[]={1,2,3,4,5},*p,i; p=a;A:*(a+2)B:a[p-3]C:p+2D:a+3答案:A第25题 (1.0分)若int a=3,则执行完表达式a-=a+=a*a后,a的值是A:-15B:-9C:-3D:0答案:D第26题 (1.0分)对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是A:aa数组元素的值分别是"abcd"和"ABCD"B:aa是指针变量,它指向含有两个数组元素的字符型一维数组C:aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D:aa数组的两个元素中各自存放了字符'a'和'A'的地址答案:D第27题 (1.0分)若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是()。
A:a,point,*&aB:&*a,&a,*pointC:*&point,*point,&aD:&a,&*point,point答案:D第28题 (1.0分)若有以下定义:char s='\092'; 则该语句()A:使s的值包含1个字符B:定义不合法,s的值。
