《 C程序设计》考试试题
( 120分钟)
一、单项选择题(每小题 2分,共60分) •
1. 下列运算符中优先级最高的是 ________ 。
A)< B)+ C)&& D)!=
2.C语言中的标识符只能由字母、数字和下划线组成且第一个字符 ________ 。
A)必须为字母 B)必须为下划线
C)必须为字母或下划线 D)可以是字母,数字或下划线中任一种
3.判断char型变量ch是否为大写字母的正确表达式是 ________ 。
A) ˊ A ˊ <=ch<= ˊ Z ˊ B)( ˊ A ˊ <=ch) AND ( ˊ Z ˊ >=ch)
C)(ch>= ˊ A ˊ )&(ch<= ˊ Z ˊ ) D)(ch>= ˊ A ˊ )&&(ch<= ˊ Z ˊ )
4. 以下的for循环 ________ 。
for (x=0,y=0;(y!=123)&&(x<4);x++);
A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次
5. putchar函数可以向终端输出一个 ________ 。
A)字符或字符变量值 B)字符串
C)整型变量表达式的值 D)实型变量值
6. 设 a,b,c都是int型变量,且fopen函数失败a=3,b=4,c=5,则下面的表达式中,值为
0的表达式是 ________ 。
A)ˊaˊ&&ˊbˊ B) a<b
C) a||b+c&&b-c D)!((a<b)&&!c||1)
7.判断字符串a和b是否相等,应当使用 ________ 。
A)if(a==b) B)if(a=b)
C)if(strcpy(a,b)) D)if(strcmp(a,b))
8.请阅读以下程序:
main()
{ int a=5,b=0,c=0;
if(a=b+c) printf( " % * * *\n ");
else printf(" % $ $ $\n ");
}
以上程序 ________ 。
A)有语法错误不能通过编译 B)可以通过编译但不能通过连接
C)输出* * * D) 输出$ $ $
9. t为int类型,进入下面的循环之前,t的值为0,
while( t=l )
{ ……}
{ ……}
则以下叙述中正确的是 ________ 。
A) 循环控制表达式的值为0 B) 循环控制表达式不合法
C) 循环控制表达式的值为1 D) 以上说法都不对
A) 循环控制表达式的值为0 B) 循环控制表达式不合法
C) 循环控制表达式的值为1 D) 以上说法都不对
10. C语言的定义语句"float *a[5];"的含义是 ________ 。
A)a是一个数组,其数组的每一个元素是指向实型数据的指针
B)a是一个指针,指向一个数组,数组的元素为实型
C)A)、B)均不对,但它是C语言正确的语句
D)C语言不允许这样定义语句
11.以下对二维数组a的正确说明是 ________ 。
A)int a[3][]; B)float a(3,4);
C)double a[1][4]; D)float a(3)(4);
12. 执行 char str[10]= " China\0 " ;strlen(str)的结果是 ________ 。
A)5 B)6 C)7 D)9
13.在C语言中,如果下面变量都是int型,则输出的结果是 ________ 。
sum=pad=5; pAd=sum++,pAd++,++pAd;
printf("%d\n",pad);
A)7 B)6 C)5 D) 4
14. 设有程序段如下 :
int k=10;
while (k=0) k=k-1;
则下面描述中正确的是 ________ 。
A)while循环执行10次 B)循环是无限循环
C)循环体语句一次也不执行 D)循环体语句执行一次
15. 请选出以下程序的输出结果 ________ 。
#include<stdio.h>
sub(int x,int y,int *z)
{ *z=y-x;}
main()
{ int a,b,c;
sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);
printf(" %d,%d,%d\n ",a,b,c);
}
A)5,2,3 B)-5,-12,-7
C)-5,-12,-17 D)5,-1,-7
16. 以下程序的输出结果是 ________ 。
#include<stdio.h>
main()
{ int a,b,d=241;
a=d/100%9; b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
A)6,1 B)2,1 C)6,0 D)2,0
17.以下程序的输出结果是 ________ 。
main()
{ int a=5,b=8;
p(a,b); p(a+b,a); p(a/b,b);
}
p(int x,int y)
{ y=x+y; printf( " %d,%d\n " ,x,y); }
A)5,13 B)5,13 C)5,13 D)5,13
13,18 18,5 18,5 18,23
0,8 1,13 1,14 1,13
18.当数组名作为参数传递给函数时,作为实际参数的数组 名被处理为
________ 。
A)该数组长度 B)该数组元素个数
C)该数组中各元素的值 D)该数组的首地址
19. 设有如下定义
struct ss
{ char name[10];
int age; char sex;
}std[3],*p=std;
下面各输入语句中错误的是 ________ 。
A) scanf("%d",&(*p).age); B) scanf("%s",&std.name);
C) scanf("%c",&std[0].sex) D) scanf("%c",&(p->sex));
struct ss
{ char name[10];
int age; char sex;
}std[3],*p=std;
下面各输入语句中错误的是 ________ 。
A) scanf("%d",&(*p).age); B) scanf("%s",&std.name);
C) scanf("%c",&std[0].sex) D) scanf("%c",&(p->sex));
20.C语言中变量的缺省存储类别是 ________ 。
A)自动(auto) B)静态(static)
C)寄存器(register) D)外部(extern)
21.以下错误的描述是
是 ________ 。
函数调用可以 A)出现在执行语句中
B)出现在一个表达式中
C)做为一个函数的实参
D)作为一个函数的形参
22.设有如下一段程序:
int *var,a;
a=100; var=&a;
a=*var+10;
执行上面的程序段后, a的值为 ________ 。
A)120 B)110 C)100 D)90
23.以下程序的输出结果是
#include<stdio.h>
#include<string.h>
main( )
{ char *s1= " AbCbEf " ,*s2= " aB " ;
s1++;s2++;
printf( " %d\n " ,strcmp(s1,s2));
}
A)正数 B)负数 C)零 D)不确定的值
24. fread函数的一般形式是 ________ 。
A)fread( buffer,count,size,fp);
B)fread(fp,size,count,buffer);
C)fread(fp,count,size,buffer);
D)fread(buffer,size,count,fp);
25.执行以下程序后,y的值 是 ________ 。
main()
{ int a[]={2,4,6,8,10};
int y=1,x,*p; p=&a[1];
for(x=0;x<3;x++) y+=*(p+x);
printf( " %d\n ",y);
}
A)17 B)18 C)19 D)20
26.下列函数调用语句含有实参的个数为 ________ 。
func((exp1,exp2),(exp3,exp4,exp50);
A)1 B)2 C)3 D)4
27.以下程序输出的结果是 ________ 。
#include<stdio.h>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论