C程序设计》考试试题
120分钟)
一、单项选择题(每小题 2分,共60分) • 
1 下列运算符中优先级最高的是 ________
A)< B)+ C)&& D)!=
2C语言中的标识符只能由字母、数字和下划线组成且第一个字符 ________
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.判断字符串ab是否相等,应当使用 ________
Aif(a==b) Bif(a=b)
Cif(strcpy(a,b)) Dif(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 tint类型,进入下面的循环之前,t的值为0
while( t=l )
{ ……}
则以下叙述中正确的是 ________
A) 循环控制表达式的值为0 B) 循环控制表达式不合法
C) 循环控制表达式的值为1 D) 以上说法都不对
10 C语言的定义语句"float *a[5];"的含义是 ________
Aa是一个数组,其数组的每一个元素是指向实型数据的指针
Ba是一个指针,指向一个数组,数组的元素为实型
CA)、B)均不对,但它是C语言正确的语句
DC语言不允许这样定义语句
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;
则下面描述中正确的是 ________
Awhile循环执行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);
}
A6,1 B2,1 C6,0 D2,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));
20C语言中变量的缺省存储类别是 ________
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);
}
A17 B18 C19 D20
26.下列函数调用语句含有实参的个数为 ________
func((exp1,exp2),(exp3,exp4,exp50);
A)1 B)2 C)3 D)4
27.以下程序输出的结果是 ________
#include<stdio.h>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。