(5)现已定义整型变量int i=1; 执行循环语句“while(i++<5);”后,i的值为( ) A、1 B、5 C、6
D、以上三个答案均不正确 (6)下列程序的输出结果是( ) struct LH
{ int n;struct LH *m;}p[4]; main() { int i;
for(i=0;i<2;i++)
{p[i].n=i;p[i].m=&p[i+1];} p[i].m=p; printf(“%d,%d\\n”,(p[1].m)->n,p[2].m->n); } A、0,1 B、0,2 C、0,0
D、程序出错
(7)下列程序的运行结果是( ) #include \ int f(int a) { switch (a)
{ case 0:return 0;
case 1:case 2:return 1; }
return(f(a-2)+f(a-3)); }
main() { int b; b=f(9); printf(“%d\\n”,b); } A、10 B、7 C、8 D、9
(8)以下程序的输出结果是( ) int f(int b[],int m,int n) {int i,s=1;
for(i=m;i {int x,a[]={1,2,3,4,5,6,7,8,9,10}; x=f(a,3,5); - 21 - printf(\); } A、23 B、26 C、42 D、35 (9)以下程序运行后,输出结果是( ) main() { char ch[3][4]={\ for(i=0;i<3;i++) p[i]=ch[i]; for(i=0;i<3;i++) printf(\); } A、123456780 B、123 456 780 C、12345678 D、147 (10)桌上有白球和黑球共5个,a、b、c、d、e分别表示这5个球的颜色,取值为0、1分别代表白球、黑球。则以下能表示a是黑球,其余至少有两个白球的表达式是( ) A、!a&&(b+c+d+e)==2 B、a&&(b+c+d+e)>2 C、a&&(b+c+d+e)<=2 D、!a&&(b+c+d+e)==3 (11)下列程序的输出结果是( ) #include \ int f(int n) { static int k, s; n--; for(k=n; k>0; k--) s += k; return s; } void main( ) { int k; k=f(2); printf(\(%d, %d)\(k)); } A、(3, 3) B、(1, 1) C、(3, 6) D、(6, 12) (12)若有定义:int a,b;char x,y;并有以下输入数据: 12 13 AaBb(回车) 则能给a赋整数12,给b赋整数13,给x赋字符a,给y赋字符b的正确程序段是( ) A、scanf(“%d”,&a); scanf(“%d”,&b); x=getchar();y=getchar(); B、scanf(“%d%d %c %c”, &a, &b,&x,&y); C、scanf(“%d %d %c %c”, &a,&b,&x,&x,&y,&y); - 22 - D、scanf(“%d %d %c%c%c%c”,&a,&b,&x,&x,&y,&y); (13)以下对结构体成员的运算结果是( ) #include }cnum[2]={1,3,2,7}; printf(\); } A、0 B、1 C、3 D、6 (14)函数f定义如下,执行语句“m=f(5);”后,m的值应为( ) int f(int k) { if(k==0||k==1) return 1; else return f(k-1)+f(k-2); } A、3 B、8 C、5 D、13 (15)若有以下定义:char s[10]={’a’,’b’,’c’,’0’, ’2’,’\\x32’printf(“%d”,strlen(s));的结果是( ) A、3 B、6 C、8 D、9 (16)若i为整型变量,则以下循环执行的次数是( ) for(i=0;i<=5;i++) printf(\); A、5次 B、2次 C、3次 D、6次 (17)执行以下程序段后的输出结果是( ) int x = 3; int m, n; n = (++x) + (++x); m = (x--) + (x--); printf(\ %d\\n\); A、10 6 B、9 9 C、10 10 D、10 8 - 23 - ,’\\0’,’\\123’};执行语句 (18)设有定义:int a[2][2]={1,2,3,4},(*p)[2];,则在语句p=a;p++;后,**p的值为( ) A、2 B、3 C、4 D、以上都不对 (19)以下关于循环的程序的输出结果是( ) #include \ void main() { int k=4,n=0; for(;n n++; if(n%3!=0) continue; k--; } printf(\); } A、1 1 B、2 2 C、3 3 D、4 4 (20)下列关于字符串操作的输出结果是( ) #include \ #include \ void main() { char p1[20]=\ char str[50]=\ strcpy(str+2,strcat(p1+2,p2+1)); printf(\); } A、xyabcAB B、abcABz C、Ababcz D、xycdBCD (21)下列选项中属于正确的switch语句的是( ) A、swicth(’a’) { case ‘a’:printf(“A\\n”); case ‘b’:printf(“B\\n”); } B、switch(1.0) { case 1.0 :printf(“A\\n”); case 2.0 :printf(“B\\n”);} C、switch((int)(x+2.5)) { case 1 :printf(“A\\n”); case 1+2 :printf(“B\\n”);} D、switch(“a”); - 24 - { case “a” :printf(“A\\n”); case “b” :printf(“B\\n”);} (22)以下程序的运行结果为( ) #include \ void main(){ int y=2,a=1; while(y--!=-1){ do{ a*=y;a++; }while(y--);} printf(\);} A、1,-2 B、2,1 C、1,0 D、2,-1 (23)C语言的输入与输出操作是由( )完成的 A、输入语句 B、输出语句 C、输入与输出函数 D、输入与输出语句 (24)若有以下程序段 ? ? int a[ ]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++) {t=a[i];j=i-1; while(j>=0&&t>a[j]) {a[j+1]=a[j];j--;} a[j+1]=t;} ? ? 则该程序段的功能是( ) A、对数组a进行插入排序(升序) B、对数组a进行插入排序(降序) C、对数组a进行选择排序(升序) D、对数组a进行选择排序(降序) (25)执行下列程序中的输出语句后,x的值是( ) main() {int x ; printf(“%d\\n”,(x=4*5,x*2,x+20));} A、20 B、40 C、60 D、80 (26)下列程序段的输出结果是( ) int c[ ]={1, 7, 12}; int *k=c+1; printf(\); A、2 - 25 -