2005年C语言程序设计考试卷
试题一、判断题(共10分)
1.定义函数时,可以有一个或多个形参也可以没有形参。
2.Continue语句和break语句都只能用在循环体中。
3.在同一函数中,变量名和函数名可以相同。
4.表达式3.14%2是合法的C语言表达式。
5.若指针变量指向一维数组的第一个元素,将指针变量加整数3,即指针后移3个元素。6.C程序可由多个函数组成,但必须有并且只有一个主函数main.
7.for循环只能用于循环次数已确定的场合。
8.格式符”%o”是按16进制输出数据。
9.如果s1、s2是两个字符串,C程序中可以用s1==s2比较这两个字符串的大小。10.结构体类型中各成员项的数据类型可以不同。
参考答案:1.T 2.F 3.F 4.F 5.T 6.T7.F8.F9.F10.T
试题二、单选题(共18分)
1.设有整型变量a,b,c,其中a,b值分别为10与20,计算表达式c=(a%2==0)?a:b后,c 值为
A. 0
B.5
C.10
D.20 答案:C
2.下面程序的输出是
#include “stdio.h”
void fun(int *a,int b)
{*a=13;
b*=5;
return;
}
void main()
{int x=12,y=12;
fun(&x,y);
printf(“x=%d,y=%d\n”,x,y);
}
A.x=12,y=12
B.x=13,y=12
C.x=13,y=60
D.x=12,y=60 答案:B
3.下面对数组定义正确的是
A.int b[];
B.int b[n],n=5;
C.int b[10/2];
D.int b[4.8]; 答案:C
4.若有定义:struct person{char name[9];int age;};
struct person class[3]={“john”,17,”Mary”,19,”Paul”,21};
能输出学生Pual名字的语句是
A.printf(“%s”,class[2].name[0]);
B.printf(“%s”,class[2].name);
C.printf(“%s”,class[3].name);
D.printf(“%s”,class[3].name[0]); 答案:B