A. 0和0 B. 0和1 C. 1和0 D. 1和1 45.下列常数中,符合C语法规则的是:
A. ?\\? B. .5e2 C. 018 D. e3 46.以下为合法的整型常量的是:
2
A. 027a B. 0.0 C. 0x4e3 D. 3×10 47.以下为合法的整型常量的是:
A. ?3? B. 281 C. 5af D. ?\\101? 48.以下为合法的实型常量的是:
2
A. 1.5×10 B. 1e-5 C. 1e1.5 D. E+5 49.以下为合法的实型常量的是:
A. π B. .5 C. 025.3 D. 0 50.以下为合法的字符型常量的是:
A. "A" B. 64 C. '啊 ' D. '\\n' 51. 以下为非法的字符型常量的是:
A. ?ok? B. ?*? C. ?A? D.?\\111? 52.以下为合法的变量定义的是:
- 5 -
A. #define N 10 B. int a=12,b,c; float x,y,a=1.5;
int a[3*N];
C. int m,f(x); D. char c,*pc=&c,n; 53.以下为非法的变量定义的是:
A. char 21cn; B. int k=0,*p=&k;
C. int a=b=c=21; D. static char[4]=”Good”; 54.以下是合法的表达式的是:
n
A. y=m B. (x+y)++ C. x+y=8 D. putchar('A ') 55. 以下是非法的表达式的是:
A. a+=b*c B. i=0,k=k++ C. k==0 D. !a||m≤n &&7 56.下是非法赋值语句的是:
A.a+b=0 B. pc=&x
C. ps->name=”Tan Jing” D. static char[4]=?G?,?o?,?o?,?d? 二、程序理解题(指出程序执行的结果) 1. #include
main( )
{ int i,j,x=0;
for (i=0;i<2;i++) { x++;
for (j=0;j<3;j++) { if (j%2 ) continue; x++;
}
x++; } printf(“x=%d\\n”,x);
} 2. #include
main( ) { int k=0,j,x=0; while (k<2) { ++x;
for (j=0;j<3;j++) { if (j%2 ) break; x++; }
k++; ++x; }
- 6 -
printf(“x=%d\\n”,x); }
3. #include
main()
{int a=2,b=7,c=5; switch (a>0) {case 1:switch (b<0)
{ case 1: printf(“$”);break; case 2: printf(“!”); break; }
case 0: switch (c= =5)
{ case 0: printf(“*”);break; case 1:printf(“#”);break; default: printf(“%”); }
default: printf(“&”); } printf(“\\n”); }
4. main()
{ int i,sum=0; for (i=1;i<=50;i++) { sum+=i;
if (sum>10) break; printf(“sum=%-5d\\n”,sum);
}
- 7 -
}
5. 若输入字符串program时,下列程序输出为:
#include main()
{ char str[80];
void prochar(char *str,char ch); scanf(“%s”,str); prochar(str,?r?); puts(str); }
void prochar(char *str,char ch) { char *p;
for (p=str;*p!='\\0';p++)
if (*p==ch){*str=*p;(*str)++;str++;} *str='\\0'; }
6. #include
#include
main()
{ int i,j,temp, d[4][4]={{1,2,3,4},{5,6,7,8},{4,3,2,1},{1,2,3,4}}; for (i=0;i<4;i++) for (j=0;j
if (d[i][j]>d[j][i]) d[j][i]=d[i][j];
for (i=0;i<4;i++) { printf(\ for (j=0;j<4;j++)
if (j>=i) printf(\ else printf(\ } }
7. #include
main() { int k; printf(\ for (k=1;k<10;k++) switch(k%2)
{case 0: printf(\ case 1: k+=2;printf(\ defalt: printf(\
- 8 -