C语言程序设计 笔试试题(样题)
题号
一
二
三
四
五
总分
得分
一、单项选择题(每小题1分,共20分)
(在每小题的4个备选答案中选出一个正确的答案,填在题干后的括号内)
1.C语言中,如果对函数类型未加说明,则函数的隐含类型为( )
A.duoble B. void C.int D.char
2.union data
{ int i;
char c;
float f;
};
定义了( )
A.共用体类型data B.共用体变量data
C.结构体类型data D.J结构体变量data
3.设a=3,b=4,表达式a>b?b:a的值是( )
A.3 B. 4 C.4:3 D.0
4.下面对枚举类型的叙述,不正确的是( )
A.定义枚举类型用enum开头 B.枚举常量的值是一个常数
C.一个整数可以直接赋给一个枚举变量 D.枚举值可以用来作判断比较
5.求0到50的总和,不正确的程序段是( )
A. int i,sum;
sum=0;
for(i=0;i<51;i++) sum+=i;
B. int i,sum;
for(i=0,sum=0;i<51;sum+=i++);
C. int i,sum;
i=0;sum=0;
for(i<51) {sum+=i;i++;}
D. int i,sum=0;
for(i=0; ;i++) {if(i>50) break; sum+=i;}
6. 表达式 (int)3.6*3的值为( )
A.9 B. 10 C . 10.8 D.18
7.程序的结果为( )
main()
{
int a=3,b=4,t=1;
if (a>b)
{t=a;a=b;b=t;}
printf(“%d”,a)
}
A. 3 B.4 C.1 D.0
8.程序main()
{ int a=1;
switch(a)
{ case 1: printf(“1”);
case 2: printf(“2”);
default: printf(“other”);
}
} 的结果为( )
A.12other B.1 C.2 D.Other
9.函数strcmp(“A”, “B”) 的值为( )
A.0 B.-1 C.1 D.3
10.下程序的结果为( )
int f(a)
int a;
{ auto int b=0;
static int c=3;
b=b+1;
c=c+1;
return(a+b+c);
}
main()
{ int a=2,i;
for (i=0;i<3;i++)
printf(“%d”,f(a));
}
A.789 B.777 C.8910 D.9
11.合法的C语言标识符是( )
A.ab&c B.2ab C._a1 D./n
12.若有定义int a=2,b=9,k;k=a+b++/a++;则k的值是( )
A.6.5 B.7 C.6 D.8
13.标有/* */语句的输出结果为( )
int x=20;
printf(“%d,%o,%x”,x,x,x);/* */
A.20,20,20 B.20,24,14 C.20,14,24 D.20,024,14
14. 将p定义为指向含n个元素的一维数组的指针变量,正确的语句为 ( )
A. int (*p)[n]; B. int *p[n]; C.int p[n]; D. int **p[n];
15. 下面程序执行结果是( )
main()
{ char c1,c2;
int i=2;
c1=’a’;c2