262、若有下面的说明和定义,则sizeof(struct aa) 的值是 struct aa { int r1;double r2; float r3; union uu{char u1[5]; long u2[2]; } ua; } mya; A)30 B)29 C)24 D)22、D、2
263、若有定义: float w; int a, b; 则合法的switch语句是 A) switch(w) B) switch(a); { case 1、0: printf("*\n"); { case 1 printf("*\n"); case 2、0: printf("**\n"); case 2 printf("**\n"); } } C) switch(b) D) switch(a b); { case 1: printf("*\n"); { case 1: printf("*\n"); default: printf("\n"); case 2: printf("**\n"); case 1 2: printf("**\n"); default: printf("\n"); } }、D、2
264、若已定义: int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用上 A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]、D、2
265、若变量a、i已正确定义,且i已正确赋值,合法的语句是 A) a==i B) i; C) a=a =5; D) a=int(i);、B、2
266、若k是int型变量,且有下面的程序片段: k=-3 if(k<=0) printf("####") else printf("&&&&"); 输出结果是: A)#### B)&&&& C) ####&&&& D)有语法错误,无输出结果、D、2
267、若x是int型变量,且有下面的程序片段: for(x=3;x、D、2
268、若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是____ A) pb=&x B) pb=x; C) *pb=&x; D) *pb=*x、A、2
269、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--) for(j=0;j、A、2
270、请选出以下语句的输出结果 printf("%d\n",strlen("\t\"\065\xff\n")); A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出、A、2
271、请选出正确的程序段 A) int *p; B) int *s, k; scanf("%d",p); *s=100; … … C) int *s, k; D) int *s, k; char *p, c; char *p, e; s=&k; s=&k; p=&c; p=&c; *p='a'; s=p; … *s=1; …、C、2
272、若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是 A) swich(a b); B) switch(a*a b*b) { case 1:y=a b;break; {case 3: case 0:y=a-b; break; case 1:y=a b;break; } case 3:y=b-a,break; } C) switch a D) switch(a-b) { case c1 :y=a-b; break {default:y=a*b;break case c2: x=a*d; break case 3:case 4:x=a b;break default:x=a b; case 10:case 11:y=a-b;break; } }、D、2
273、请选出以下程序的输出结果 #include fun(s, n1, n2) int *s, n1, n2; { int i, j, t; i=n1; j=n2; while(i、C、2
274、请读程序片段: #include main() { int a, b; for(a=1;b=1;a<=100;a ) { if(b>=20) break; if(b%3==1) {b =3; continue; } b-=5; } printf("%d\n",a); } 程序的输出结果是: A) 7 B) 8 C) 9 D) 10 、B、2
275、请选出以下程序的输出结果 #include main() { int a[ ]={ 1,2,3,4 },i; int x=0; for(i=0; i、C、2
276、请选出以下程序的输出结果 #include sub(x,y,z) int x, y, *z; { *z=y-x; } main() { int a, b, c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf("%d,%d,%d\n", a,b,c); } A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7、B、2
277、请选出以下程序段的输出结果 #include main() { char sl[10], s2[10], s3[10], s4[10]; scanf("%s%s",s1,s2); gets(s3); gets(s4); puts(s1); puts(s2); puts(s3); puts(s4); } 输入数据如下:(此处代表回车符) aaaa bbbb cccc dddd A) aaaa B) aaaa bbbb bbbb cccc cccc dddd dddd C) aaaa D) aaaa bbbb bbbb cccc cccc dddd dddd eeee、A、2
278、请读程序: #include main() { float x,y; scan("%f",&x); if(x<5、0)&&(x!=2、0)) y=1、0/(x 2、0); else if (x(表示回车),则上面程序的输出结果是 A) 0、000000 B) 0、250000 C) 0、500000 D) 1、00000、C、2
279、请读程序: #include void fun(float *pl, float *p2, float *s) { s=( float * )calloc( 1, sizeof(float)); *s=*p1 *(p2 ); } main() { float a[2]={1、1, 2、2}, b[2]={10、0, 20、0}, *s=a; fun(a, b, s) printf("%f\n",*s); } 上面程序的输出结果是 A) 11、100000 B) 12、100000 C) 21、100000 D) 1、100000、D、2
280、请读程序: #include #include void fun( char *w, int m) { char s, *p1, *p2; p1=w; p2=w m-1; while (p1、C、2
281、请读程序: #include #include main() {char *s1="AbCdEf", *s2="aB"; s1 ; s2 ; printf("%d\n",strcmp(s1,s2)); } 输出结果是: A)正数 B)负数 C)零 D)不确定的值、A、2
282、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 main( ) { int x; scanf("%d",&x); if(x >5) printf("%d",x); else printf("%d\n",x - -); } A) 7和5 B) 6和3 C) 7和4 D) 6和4、A、2
283、能正确表示a和b同时为正或同时为负的逻辑表达式是 A) (a>=0‖b>=0)&&(a<0‖b=0&&b>=0)&&(a<0&&b0)&&(a b<=0) D) a*b>0、D、2
284、请读程序: #include #include main() { float x,y,z; scan("%f%f",&x,&y); z=x/y; while(1) { if(fabs(z)>1、0) { x=y; y=z; z=x/y; } else break } printf("%f\n",y); } 若运行时从键盘上输入3、6 2、4(表示回车),则输出的结果是 A) 1、500000 B) 1、600000 C) 2、000000 D) 2、400000 、B、2
285、请读程序: #include #include void fun( char *s) { char a[10]; strcpy( a, "STRING"); s=a; } main() { char *p; fun(p); x=f(a, 3); printf("%s\n",p); } 上面程序的输出结果是(└┘表示空格) A) STRING└┘└┘└┘└┘ B) STRING C) STRING└┘└┘└┘ D) 不确定的 、D、2
286、请读程序: #include char fun(char *c) {if( *c<='Z' && *c>='A') *c-='A'-'a'; return *c; } main() { char s[81], *p=s; gets(s); while(*p) {*p=fun(p); putchar(*p); p ;} putchar('\n'); } 若从键盘上输入OPEN THE DOOR(表示回车),则上面程序的输出结果是 A) oPEN tHE dOOR B) open the door C) OPEN THE DOOR D) Open The Door、B、2
287、请读程序: #include int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i、A、2
288、请读程序: #include main() { int mun=0; while(num<=2) { num ; printf("%d\n",num);} } 输出结果是 A) 1 B) 1 C) 1 D) 1 2 2 2 3 3 4 、C、2
289、请读程序: #include main() { int x=1, y=0, a=0, b=0; switch(x) { case 1: switch(y) { case 0: a ;break; case 1: b ;break; } case 2: a ; b ; break; } printf("a=%d, b=%d\n",a,b); } 上面程序的输出结果是 A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2 、A、2
290、请读程序: #include void fun( int *s) {static int j=0; do s[j] =s[j 1]; while( j、C、2
291、假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 的表达式是 A) 1/a*b*c B) 1/(a*b*c) C) 1/a/b/(float)c D) 1、0/a/b/c、D、2
292、假定x和y为 double型,则表达式x=2,y=x 3/2的值是 A) 3、500000 B) 3 C) 2、000000 D) 3、000000、D、2
293、假定w、x、y、z、m均为int型变量,有如下程序段: w=1; x=2; y=3; z=4; m=(w、D、2
294、合法的数组定义是 A)int a[]="string"; B)int a[5]={0,1,2,3,4,5}; C)char s="string"; D)char a[]={0,1,2,3,4,5};、D、2
295、假定a和b为int型变量,则执行以下语句后b的值为 a=1; b=10; do { b-=a; a ; } while (b--、D、2
296、当执行以下程序段时 A 循环体将执行一次 B 循环体将执行两次 C 循环体将执行无限次 D 系统将提示有语法错误 x=-1; do { x=x*x;} while(!x);、A、2
297、当执行下面程序且输入:ABC时,输出的结果是____ #include #include main() { char ss[10]="12345"; gets(ss);printf("%s\n",ss); } A) ABC B) ABC9 C) 123456ABC D) ABC456789、A、2
298、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是____ A) c=b=a; B) (a=c) ‖(b=c) ; C) (a=c) &&(b=c); C) a=c=b;、C、2
299、不能把字符串:Hello!赋给数组b的语句是 A) char b[10]={'H','e','l','l','o','!'}; B) char b[10];b="Hello!"; C) char b[10];strcpy(b,"Hello!"); D) char b[10]="Hello!";、B、2
300、t为int类型,进人下面的循环之前,t的值为0 while( t=l ) { …… } 则以下叙述中正确的是 A) 循环控制表达式的值为0 B) 循环控制表达式的值为1 C) 循环控制表达式不合法 D) 以上说法都不对、B、2
301、变量a所占内存字节数是 A) 4 B) 5 C) 6 D) 8 union U { char st[4]; int i; long l; }; struct A { int c; union U u; }a;、C、3
302、标准函数 fgets(s, n, f) 的功能是 A) 从文件f中读取长度为n的字符串存入指针s所指的内存 B) 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存 C) 从文件f中读取n个字符串存入指针s所指的内存 D) 从文件f中读取长度为n-1的字符串存入指针s所指的内存、B、3