程序的运行结果是
A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1
(21
)下列程序的输出结果是
#include "stdio.h"
main()
{ int i,a=0,b=0;
for(i=1;i<10;i++)
{ if(i%2==0)
{a++;
continue;}
b++;}
printf("a=%d,b=%d",a,b); }
A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5
(22
)已知
#int t=0;
while (t=1)
{...}
则以下叙述正确的是
A)循环控制表达式的值为 0
B)循环控制表达式的值为 1
C)循环控制表达式不合法
D)
以上说法都不对
(23
)下面程序的输出结果是
main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf("%d\n",*(p+2));}
A)3
B)4
C)1
D)2
(24
)以下错误的定义语句是
A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};
(25
)有以下程序
void ss(char *s,char t)
{ while(*s)
{ if(*s==t)*s=t-′a′+′A′;
s++; } }
main()
{ char str1[100]="abcddfefdbd",c=′d′;
ss(str1,c); printf("%s\n",str1);}
程序运行后的输出结果是
A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd
(26
)有如下程序
main()
{ char ch[2][5]={"6937","8254"},*p[2];
int i,j,s=0;
for(i=0;i<2;i++)p[i]=ch[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>′\0′;j+=2)
s=10*s+p[i][j]-′0′;
printf("%d\n",s);}
该程序的输出结果是
A)69825 B)63825 C)6385 D)693825
(27)有定义语句:char s[10];,若要从终端给 s 输入 5 个字符,
错误的输入语句是
A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]);
(28
)以下叙述中错误的是
A)在程序中凡是以"#"
开始的语句行都是预处理命令行
B)预处理命令行的最后不能
以分号表示结束
C)#define MAX
是合法的宏定义命令行
D)C 程序对预处理命令