{
FILE *fp; long num=0;
if ((fp=fopen(\ {
printf(\ exit(0); }
while (!) {
fgetc(fp); num++; }
printf(\ fclose(fp); }
15.执行下述程序后,输出结果为___29______。 #include
printf(\ }
1、
B
2、
B
3、
A
4、
C
5、7、 B 8、 A 9、 D 10、C 11、D 13、A 14、D 15、A 16、A 17、B 18、A
19、B 20、C
二、单项选择题。(每题1分,共20分)
欢迎下载
C
6、12、D
D
——
6
——
1.以下不是c语言规定保留字的是( B )。
(A)float (B)integer (C)signed (D) unsigned 2.设int型变量x有初始值3,则表达式x++*5/10的值是( B ) (A)0 (B)1 (C)2 (D)3 3.下述程序执行后的输出结果是( A ) #include
int x='f';
printf(\ }
(A)g (B)h (C)i (D)j 4.设有程序
#include
int i,j;
for (i=0,j=1;i<=j+1;i+=2,j--) printf(\ }
在运行上述程序时,for语句中循环体的执行次数是( C (A)3 (B)2 (C)1 (D)0 5.在下述选项时,没有构成死循环的程序是( C ) (A)int i=100 while (1) {
i=i0+1; if (i>100) break; }
欢迎下载
) 7
(B)for (;;); (C)int k=1000; do {
++k;
}while (k>=10000); (D) int s=36;
while (s);--s;
6.假定a和b为int型变量,则执行下述语句组后,b的值为( D a=1; b=10; do {
b-=a;A a++;
} while (b--<0);
(A)9 (B)-2 (C)-1 (D)8 7.设有变量说明语句 int a=1,b=0;
则执行以下程序段的输出结果为( B )。 switch (a) {
case 1:
switch (b) {
case 0:printf(\ case 1:printf(\ }
case 2:printf(\ }
欢迎下载
)。——
8
——
printf(\
(A)**0** (B)**0****2** (C)**0****1****2** (D)有语法错误 8.以下合法的数组说明是( A )。
(A)char a[7]=\ (B)int a[5]={0,1,2,3,4,5}; (C)char a=\ (D)INT a[]={0,12,3,4,5}; 9.下述程序代码中有语法错误的行是( D )。 int i,ia[10],ib[10]; /*第1行*/ for (i=0;i<=9;i++) /*第2行*/
ia[i]=0; /*第3行*/ ib=ia; /第4行*/ (A)第1行 (B)第2行 (C)第3行 (D)第4行 10.若已定义
int a[9],*p=a;
并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是( (A)p+1 (B)a+1 (C)a++ (D)++p 11.若有下述说明和语句
int **pp,*p,a=10,b=20; pp=&p; p=&a; p=&b;
printf(\ 则输出结果是( D )。
(A)10,10 (B)10,20 (C)20,10 (D)20,20 12.执行下述程序后的输出结果是( D )。 #include
int b=0;
static int c=3; a=c++,b++;
欢迎下载
C )。 9
return (a); }
main() {
int a=2,i,k; for i=0;i<2;i++) k=func(a++); printf(\ }
(A)3 (B)0 (C)5 (D)4 13.执行下述程序的输出结果是( A )。 #include
int aa[3][3]={{2},{4},{6}}; int i,*p=&aa[0][0]; for (i=0;i<2;i++) {
if (i==0)
aa[i][i+1]=*p+1; else ++p;
printf(\ }
printf(\ }
(A)23 (B)26 (C)33 (D)36
14.读下面的程序,正确的输出结果是( D #include
欢迎下载
)。——
10