试题纸 A卷
课程名称:C语言程序设计 适合专业年级: 自动化2010级
考生学号: 考 生 姓 名:
注意:答题在答题册上有效,答题在其他地方无效。
………………………………………………………………………………………………………
一 单项选择题(每小题2分,共30分)
1、在C语言中,要求参加运算的数必须是整数的运算符是( )。
A) / B) ! C) % D) = =
2、已知int i,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是( )。
A) 6 B) 12 C) 30
3、已知字符 ‘b’ 的ASCII码为 98 ,语句printf ("%d,%c", ’b’,’b’+1 ) ;的输出为( )。
A)98,b B)语句不合法 C)98,99 D) 98,c
4、以下用户定义标识符中合法的是( )。
A)5COM????? B)for??????? C)_sum??????? D)max!
5、以下正确的叙述是( )。
A) 在C语言中,main函数必须位于文件的开头
B) C语言每行中只能写一条语句
C) C语言本身没有输入、输出语句
D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误
6、为了判断两个字符串s1和s2是否相等,应当使用( )。
A) if (s1= =s2) B) if (s1=s2) C)if (strcpy(s1,s2)) D)if (strcmp(s1,s2)= =0)
7、能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是( )
A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10
8、设变量定义为: int a[3]={1,4,7}; int *p=&a[2]; 则*p的值是( )。
A) &a[2]? ?? B) 4?????? C) 7?????? D) 1
9、以下程序的输出结果是( )。
main() { int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0];
} A) 0650 B) 1470 C) 5430 D
10、若要定义一个具有5个元素的整型数组,以下错误的定义语句是( )。
A)int? a[5]={0}; B)int? b[]={0,0,0,0,0}; C)int? c[2+3]; D)int? i=5,d[i];11、设int a=1,b=2,c=4; 表达式(c=a!=b)&&(a= =b)&&(c=b) 运算后,a、b和c的值分别是( )。 A)1,2,0 ? B)1,2,1 C)1,2,2 ? D)1,2,3
12、以下程序的输出结果是(???? )。
#define? f(x)?? x*x
main()
{ int a=6,b=2,c;
?c=f(a)/f(b); ?printf(“%d\n”,c);
}
A) 9???????? B) 6????????? C)? 36?????????? D)? 18
13、若有以下数组定义语句:
char x[]="12345";
char y[]={'1','2','3','4','5'};
则正确的描述是(???? )。
A)x数组和y数组长度相同。B)x数组长度大于y数组长度。
C)x数组长度小于y数组长度。D)两个数组中存放相同的内容。
14、若已定义:int a[7],*p=a;并在以后的语句中未改变p的值,则不能表示a[1] 地址的表达式是( )。
A) p+1 B) a+1 C) a++
15、有以下程序