东北大学C语言期末考试题及答案(1)
1、构成C语言的基本单位是___B____。
过程 
函数 
语句 
命令 
2、设x为整型变量,不能正确表达数学关系:5<x〈10的c语言表达式是__B___.
5
x>5&&x<10 
x==6||x==7||x==8||x==9 
!(x<=5)&&(x<10) 
3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为__D___。
&&、||、! 
||、&&、! 
&&、!、|| scanf返回值被忽略是怎么回事
!、&&、|| 
4、下面语句中,正确的是__D___.
printf(”%c\n","student"); 
printf(”%c\n”,”c”); 
printf("%s\n”,&a); 
printf(”%s\n”,"hello"); 
5、对于for(表达式1;;表达式3)可以理解为__B___。
for(表达式1;0;表达式3) 
for(表达式1;1;表达式3) 
for(表达式1;表达式1;表达式3) 
for(表达式1;表达式3;表达式3) 
6、执行下面程序段的结果是__B___。 main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d”,a,b); }
a=1,b=1 
a=2,b=1 
a=1,b=0 
a=2,b=2 
7、执行下面程序段的结果是__D___。 int x=0; do { printf(“%2d”,x—-); }while(x);
打印出321 
打印出23 
不打印任何结果 
陷入死循环 
8、设x=10,y=5;z=15,执行下面一段程序后z的结果是__C___。 If(x>y) if(y〉z)x=y; else z=y;



9、如果一个函数被说明为static,那么__B___。
该函数只能被main函数调用 
该函数能被当前文件的函数调用,但不能被其他文件的函数调用 
该函数不能被当前文件的函数调用,可以被其他文件的函数调用 
任何文件的函数都可以调用该函数 
10、下面关于局部变量的描述中,错误的是__D___.
函数的局部变量的有效范围只能在本函数 
函数的形式参数也是局部变量 
局部变量的名称不能和函数同名称 
不同的函数中不能定义相同名称的局部变量 
11、下列初始化字符数组的语句中,错误的是__A___。
char str[5]="hello”; 
char str[]={'h’,'e’,’l','l’,'o’,'\0'}; 
char str[5]={"hi”}; 
char str[100]="”; 
12、引用数组元素时,数组下标可以是__D___。
整型常量 
整型变量 
整型表达式 
以上均可 
13、 已知:char str[10],*p=str; 下面的语句中正确的是__B___。
str=”ABC"; 
p=”ABC"; 
*str="ABC"; 
*p="ABC”; 
14、下面语句中,错误的是___D__。
int i;int *p;p=&i; 
int i,*p;p=&a; 
int i,*p=&a; 
int i,*p;*p=i; 
15、下面对于结构体类型的描述正确的是__A___。
结构体类型的大小为各成员变量所占内存的总和 
结构体类型变量与简单数据类型变量的引用规则一致. 
结构体类型的大小为其成员中所占内存空间最大的变量的大小 
结构体类型的大小为其最后一个成员中所占内存空间的大小 
16、C语言规定:在一个源程序中,main函数的位置____C____.
必须在最开始 
必须在系统调用的库函数的后面 
可以任意 
必须在最后 
17、表达式18/4*sqrt(4.0)/8值的数据类型是 ___C____。
int 
float 
double 
不确定 
18、在c语言中,char型数据在内存中的存储形式是 ___D___。
补码 
反码 
原码 
ASCII码 
19、阅读以下程序,当输入的数据形式为:25,13,10〈CR〉时,正确的输出结果为___D___. main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); printf(”x+y+z=%d\n”,x+y+z); }
x+y+z=48 
x+y+z=35 
x+z=35 
不能确定 
20、有如下程序 void main() { float x=2.0,y; if(x〈0.0) y=0.0; else if(x〈10。0) y=1.0/x; else y=1。0; printf(“%f\n”,y); } 该程序的输出结果是( C )。
0.000000 
0.250000 
0。500000 
1.000000 
21、判断char型变量s是否为小写字母的正确表达式是__C____。
'a'〈=s〈='z' 
(s〉=’a’)&(s〈='z') 
(s〉='a')&&(s〈=’z') 
(’a'<=s)and(’z'>=s) 
22、执行以下语句后,y 的值为___A___。 int x,y,z; x=y=z=0; ++x || ++y && ++z;



不确定值 
23、有如下程序段: int number=0; while(number++<=3) printf(“%d\n”,number++); 则正确的执行结果是___C___。
2 3 4 
0 1 2 
1 3 
2 4 
24、有如下程序 void main() { int n=9; while(n>6) { n--; printf(“%d”,n); } } 该程序段的输出结果是__B___。
987 
876 
8765 
9876 
25、要使以下程序段输出10个整数,请在空格中填入一个整数. for(i=0;i〈=___B___;printf(”%d\n",i+=2));
15 
18 
20 
10 
26、设函数fun的定义形式为: fun(char ch,float x){…} 则以下对函数fun的调用语句中正确的是___B___.
fun(“abc”,3) 
t=fun(‘D',5) 
fun(‘ab',3) 
fun(‘78’,1) 
27、函数求sum(int n)的功能是计算自然数1到n的和,即1+2+…+n. Main() { printf(”The sum=%d\n",sum (10)); } int sum(int n){ int s=0,i; for(i=0;i<=n;i++) _____B_____ } 请从备选答案中选择一答案,补全程序。
s=s+n;return s; 
s=s+i;return s; 
return s; 
return s+=I;