243、设有以下函数: f ( int a) { int b=0; static int c = 3; b++; c++; return(a+b+c); } 如果在下面的程序中调用该函数,则输出结果是 main() { int a = 2, i; for(i=0;i、A、2
244、设正x、y均为整型变量,且x=10 y=3,则以下语句的输出结果是 printf("%d,%d\n",x--,--y); A) 10,3 B) 9、3 C) 9、2 D)10、2、D、2
245、设有如下一段程序: int *var,ab; ab=100 var=&ab; ab=*var+10; 执行上面的程序后,ab的值为 A) 120 B) 110 C) 100 D) 90、B、2
246、设有如下的函数 ggg(x) float x; { printf("\n%d",x*x);} 则函数的类型 A) 与参数x的类型相同 B) 是void C) 是int D) 无法确定、C、2
247、设有 static char str[ ]="Beijing"; 则执行 printf("%d\n", strlen(strcpy(str,"China"))); 后的输出结果为 A) 5 B) 7 C) 12 D) 14、A、2
248、设 int x=1, y=1; 表达式(!x||y--)的值是 A) 0 B) 1 C) 2 D) -1、B、2
249、若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是 A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]、D、2
250、若有以下说明: int w[3][4]={{0,1},{2,4},{5,8}}; int(*p)[4]=w; 则数值为4的表达式是 A) *w[1]+1 B) p++,*(p+1) C) w[2][2] D) p[1][1]、D、2
251、若有以下说明和语句,请选出哪个是对c数组元素的正确引用 int c[4][5], (*cp)[5]; cp=c; A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2)、D、2
252、若有以下定义和语句: char *s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2))); 则输出结果是 A) 4 B)5 C)9 D)10、A、2
253、若有以下定义和语句: int u=010,v=0x10,w=10; printf("%d,%d,%d\n,u,v,w); 则输出结果是: A) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,10、A、2
254、若有以下定义: char s[20]="programming",*ps=s; 则不能代表字符o的表达式是 A) ps+2 B)s[2] C) ps[2] D)ps+=2,*ps、A、2
255、若有以下的说明和语句: main() {int t[3][2], *pt[3],k; for(k=0; k、C、2
256、若有以下定义: float x;int a,b; 则正确的switch 语句是 A)switch(x) B)switch(x) { case1、0:printf("*\n"); { case1,2:printf("*\n"); case2、0:printf("**\n"); case3:printf("**\n"); } } C)switch(a+b) D)switch (a+b); { case 1:printf("\n"); { case 1:printf(、"*\n"); case 1+2:printf("**\n"); case 2:printf("**\n"); } }、C、2
257、若有以下程序段,w和k都是整型变量: ┆ w=k; LB: if(w==0) go to LE; w--; printf("*"); goto LB; LE: ┆ 则不能与上面程序段等价的循环语句是 A)for(w=k;w!=0;w--) printf("*"); B)for(w=k;w;--w)printf("*"); C)w=k; D)w=k; while(w--!=0)printf("*");w++; do{ w--;printf("*");}while(w!=0);、C、2
258、若有以下程序片段: char str[]="ab\n\012\\\""; printf(%dd",strlen(str)); 上面程序片段的输出结果是 A)3 B)4 C)6 D)12、C、2
259、若有说明,double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是 A)*p=&a; scanf("%lf",p); B)p=(double *)malloc(8);scanf("%f",p); C) p=&a;scanf("%lf",a); D)p=&a; scanf("%le",p);、D、2
260、若有说明和语句: int a=5; a++; 此处表达式a++的值是 A) 7 B) 6 C) 5 D) 4、C、2
261、若有下面的程序片段: int a[12]={0}, *p[3], **pp, i; for(i=0; i、C、2
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

