一.选择题
1. 下述标识符中,( )是合法的用户标识符。
A. A#C B.getch C. void D.ab*
2. 以知函数fun的定义为:
void fun()
{ }
则函数中void含义是( )
A. 执行函数后,函数不再返回值
B. 执行函数后,可返回任意值
C. 执行函数后,函数没有返回值
D. 以上答案都是错误的
3. 若有以下说明和语句,则输出结果是( )
char s[12]=〝hello!〞;
printf(〝%d〞,strlen(s));
A. 7 B. 6 C.5 D.0
4. 不合法的常量是( )
A.‘\122’ B.〝 〞
C.‘ab’ D.〝\483〞
5. 下列表述中,()可以正确表示x<y<=z的关系。
A. (x<y)&(y<=z) B. x<y<=z
C. (x>y).AND.(y<=z) D.(x>y)&&(y<=z)
6. 下列的说明语句中正确的是( )
A. char a;b;c;
B. char a,b,c
C. char a,b,c,
D. char a,b,c;
7. 已知:int a[3][4],则对数组元素引用正确的是( )
A.a[2][4] B.a[1,3] C.a[1+1][0] D.a[0][4]
8. 在C语言中,switch语句后一对圆括号中表达式的类型( )
A.可以是任何类型 B.只能为整型
C.可以是整型或字符型 C.只能是整型或实型
9. 已知:char w;int x;float y;double z;则表达式w*x+z-y
的结果为( )
A.float B.char C.int D.double
9. 设a,b是整型变量,执行如下的语句:
for(a=0,b=0;a+b<10;a++,b++);
printf(〝%d, %d\n〞,a,b);
输出的a和b的值为 ( )
A.0,0 B.5,5 C.10,10 D.9,9
二.填空题
1. 若a,b和c均是int型变量,则执行表达式a=(b=c)+(c=2)后,
a值为___, b值为___。
2. 在循环语句中,用___语句可以跳出循环;用continue
语句则是进入下次循环。
3. C中,数组元素是以___的顺序连续存放的
4. 表达式10/6*3的值为___;表达式10/(6*3)的值为___。
5. ‘x’在内存中占___个字节,“x”在内存中占___个字节。
6. 结构化程序设计的基本结构有三种,分别是顺序结构﹑___
结构和___结构。
7. 完成下列变量的定义说明:
(1) x是具有8个整型元素的一维数组
(2) z为双精度型变量,变量的初值为7.5
三.程序分析题
1. 下程序实现输出x,y,z三个数中的最大者。请在横线上填入正确内容
main()
{ int x=4,y=6,z=7;
int___;
if(___) u=x;
else u=y;
if(___) v=u;
else v=z;
printf(〝最大值为%d〞,v) }
2. 以下程序的运行结果是:___
main()
{ int a=2, b=3, c;
if(a>b) c=1;
else if(a==b) c=0;
else c=-1;
printf(〝%d\n〞,c);
}
3. 下面程序的运行结果是:___
#include〝stdio.h〞
main()
{ int i=1;
while(i<=15)
if(++i%3!=2)continue
else printf(〝%d〞,i);
printf(〝\n〞);
}
4. 输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果
它是一个小写字母,则把它变成大写字母;其它字符不变。请在横线上
填入正确内容。
main()
{ char ch;
scanf (〝%c〞,&ch);
if(_______)ch=ch+32;
else if(ch>=‘a’║ch<=‘z’)________;
printf(〝%c〞,ch);
}
四.程序题
1. 编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2的结果,否则输出两数之和。
2. 写一个程序,对10个整数进行从大到小的排序。
3. 写一个程序,实现n!.
4. 从键盘输入若干整数,用-1作为输入结束的标志。统计输入的整数个数。请编程。