中 国 海 洋 大 学 命 题 专 用 纸(首页)
2006-2007学年第 一 学期 试题名称: C语言程序设计期末考试A 课程号:008501101075 共 7 页 第 1 页
专业年级__________________ 学号______________ 姓名____________ 考试日期_2007_年__月___日 分数 ___________
一.单选题(每题1.5分,共30分)
1.以下叙述正确的语句是 ______ 。
main函数要放置在其它函数的前面
C语言本身没有输入输出语句
在C程序中注释说明只能位于一条语句的后面
函数可以嵌套调用也可以嵌套定义
2.下面四组选项中,均是正确的八进制或者十六进制的项是 ______ 。
A) 0230x9c018 B) 01000480xaf
C) 0x2f03450xaaa D) 0x6g 0x78090
3.下面四组选项中,均不是C语言关键字的选项是 ______ 。
A) include switchcase B) whileshortauto
C) DOUBLE typedefine D) floatcharbreak
4.当定义一个结构体变量时系统分配给它的内存是 _____。
A) 各成员所需内存量的总和 B) 结构中第一个成员所需内存量
C) 成员中占内存量最大者所需的容量 D) 结构中最后一个成员所需内存量
5.以下说法正确的是 ______ 。
A) 若有语句int a; int *p=&a; 则形式scanf("%d ",&p);是正确的
B) 只有格式控制没有输入项也能进行正确输入,如scanf("x=%f,y=%f");
C) 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如
scanf("%5.2f",&f);
D) 对于数组定义char a[30]; 正确的字符串输入为 scanf("%s",a);
6.已有如下定义和输入语句,若要求a,b,c1,c2的值分别为5、6、A和B,当从第一列开始输入数据时,正确的数据输入方式是 ______ (表示回车)。
int a,b;
char c1,c2;
scanf("%d%c%d%c",&a,&c1,&b,&c2);
A) 5 A 6 B B) 5 A6B C) 5A6B D) 5A6 B
7.有定义:int x=1,y=2; 则以下不正确的语句是 ______ 。
A) if(x>y) ;
B) if(x=y) && (x!=0) x+=y;
C) if(x!=y) scanf("%d",&x) ; else scanf("%d",&y);
D) if(x
中 国 海 洋 大 学 命 题 专 用 纸(附页)
2006-2007学年第 一 学期 试题名称: C语言程序设计期末考试A 课程号:008501101075 共 7 页 第 2 页
8.以下程序______ 。
void main()
{ int a=0,b=0,c=0;
if(a=b+c) printf("***\n");
else printf("$$$\n");
}
A) 有语法错误不能通过编译 B) 可以通过编译但不能通过连接
C) 输出 *** D) 输出 $$$
9.运行以下程序时,从键盘输入2653#,则下面程序的运行结果是 ______。
#include
void main()
{ int c;
while((c=getchar())!='#')
switch(c-'2')
{ case 0:
case 1: putchar(c+2);
case 2: putchar(c+2); break;
case 3: putchar(c+2);
default : putchar(c+2); break;
}
printf("\n");
}
A) 4875 B) 4487755 C) 44 D) 44877
10.若有说明:int a[ ][4]={0,0}; 则下面不正确的叙述是 ______。
A) 数组a的每个元素都可以得到初值0
B) 二维数组a的第一维