2B
3D
4C
5B
6B
7D
8D
9B 10C
11C 12B 13A 14C 15B 一. 单项选择题
16B 17D 18A 19D 20B
1.若有以下定义: int a[]={3, 4, 5, 6, 7, 8, 9, 10, 11}, *p=a; 则值为5的表达式是( )。 A)p+=5, *(p+1)
B)p+=1, * ++p
C)p+=4, *p++
D)p+=1, ++ *p
2.下面函数调用语句含有实参的个数为() fun( ( a, b, c, d ), ( m, n ), (f, g ) ); A)1
B)3
C)4
D)2
3.函数形式正确的是()。 A) double myfun( int x, int y)
B) int myfun( int x, y)
{ m=x+y; return m; } C)
int myfun( int x, int y) { int x, y; double m;
m=x+y; return m; }
{ int m; }
D) int myfun( int x, int y)
{ int m; m=x+y; return m; }
4.不正确的字符串赋值或赋初值方式是()。 A)char *str; str=”string”;
B)char str[7]={‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’}
C) char str[10]; str=”string”;
D)char str[]=”string”; str2[]=””; strcpy(str2, str1); 5.以下程序的输出结果是()。 #include
{ char str[]=\ int k;
for (k=2; (c=str[k])!='\\0'; k++) {
switch (c) {
case 'I': ++k; break; case 'L': continue; }
putchar('*'); } A)SSW*
B)SW*
C)SW*A
D)SW
default: putchar(c); continue; }
6.以下程序的输出结果是()。 #include
if ( k==0) return w; return ( fun(k -1 )*k); }
main() { int w=10;
printf(\} A)360
B)3600
C)1080
D)1200
7. 以下程序的输出结果是()。 #include
{ int b=0; static int c=3; b++; c++; return ( a+b+c); } main() { int a=2, i; for (i=0; i<3; i++) printf(\}
A)7 7 7
B)7 10 13
8.以下程序的输出结果是()。 #include
{ int a[]={1,2,3,4,5,6}, *p; p=a; *(p+3)+=2;
printf(\} A)0, 5
B)1, 5
9.以下程序的输出结果是()。 #include
printf(\} A)49.5
B)9.5
10.下面程序段的输出结果是()。 #include
{ char str[20]=\ int i=0;
while (( c=str[i])!='\\0') { i++;
C)7 9 11
C)0, 6
D)1, 6
C)12.5
D)33.5
2
D)7 8 9
# if (LETTER)
if (c>='a'&& c<='z') c=c-32; #else
if (c>='A'&& c<='Z') c=c+32; #endif printf(\ } }
A)Language
B)language
C)LANGUAGE
D)lANGUAGE
11.若有说明:char *s[]={“FORTRAN”, “BASIC”,”PASCAL”,”JAVA”,”C”}; 则表达式 *s[1]>*s[3]比较的是()。 A)字符F和字符P C)字符B和字符J
B)字符串BASIC和字符串JAVA D)字符串FORTRAN和字符串PASCAL
12.如下程序的输出结果是()。 #include
C语言程序设计作业2答案



