一:选择题
3-2.int x 2,y 3;,表达式x (y 3)的值是 ( )。
A) 0 B) 1 C) 2 D) 3
4-1.下列语句中,不符合C语言语法的赋值语句是 ( )。
A) a 7+b+c a+7; B) a 7+b++ a+7; C) a 7+b,b++,a+7; D) a 7 b,c a+7;
注:a 7+b,b++,a+7;实为逗号语句,非赋值语句
5-3.float x; 要从键盘输入36.282给x,应选 ( )语句。
A)scanf("%5.3f",&x); B)scanf("%2.3f",&x);
C)scanf("%6.3f",&x); D)scanf("%6f",&x);
注:scanf后面没有 (.nf的表达方式)
9-2.int a; 下列语句中,非死循环的是 ( )。
A) while(-1) { a++; } B) for(;(a getchar())! '\n';);
C) for(;;a+ 2); D) for(a 10;;a--);
注:省略了表达式二,在不做其它处理的时候将成为死循环,一个空表达式的值一般为非
零。P99.
10-1.设已定义char s[] "\"Name\\Address\023\n";,则字符串所占的字节数是 ()。
A) 19 B) 16 C) 18 D) 14
注:'\023’,即ASCII码值为八进制23的字符;
'\n’即回车符。
strlen(s)为15 (不算'\0');算上'\0',所占的字节数是16
11-1.以下程序段的运行结果是 ( )。
main()
{ int i 4,j;
j i;
pic(i+2*j-2,'*');
putchar('\n');
for(j- 2; j> 0; j--)
{pic(3-j, ' ');
pic(i+2*j,'*');
putchar('\n');
}
}
pic(int len,char c)
{ int k;
for(k 1;k< len;k++) putchar(c);
}
A) * B) ********** C) **** D) **********
*** ********** ****** ********
***** ********** ******** ******
******* ********** ****
注:
j 4 2 1 0 -1
输出 1个空格 2个空格 3个空格
10个* 8个* 6个* 4个*
回车换行 回车换行 回车换行 回车换行
11-2. 以下程序运行结果是 ( )。
main()
{ char a[ ][5] {"ABCD","1234","abcd","5678","EFGH"};
int i;
for(i 0;i<3;i++) printf("%s",a[i]);
}
A)Ala B)ABCD1234abcd C)ABC D)ABCD1234abcd5678EFGH
12-2.以下程序第一个printf ()的运行结果是ffd6,第二个printf () 的运行结果是
( )。
main()
{ char ch[] "I am student!", *p;
p ch;
printf("%x\n",p);
printf("%x\n",p+9);
}
A) ffdf B) ffe8 C) ffd6 D) ffcf
15-3.设有下列语句,且0≤i<5,则不能访问a数组元素的是 ( )。
int a[5] {0,1,2,3,4,5}