文档视界 最新最全的文档下载
当前位置:文档视界 › (完整版)C语言程序设计阅读程序题库及答案

(完整版)C语言程序设计阅读程序题库及答案

(完整版)C语言程序设计阅读程序题库及答案
(完整版)C语言程序设计阅读程序题库及答案

阅读程序题

导读:学会阅读程序对于初学者来说很重要,一方面可以巩固所学的语法知识,另一方面通过阅读别人写好的程序来打开自己的思路,就所谓见多识广。读者通过阅读理解程序,从给出的四个备选参考答案中,选择程序的正确输出。如果选择有误,就要认真分析原因,是概念方面的错误还是对程序逻辑理解不对,从而加深对语法规则的理解,提高程序设计能力。程序设计语言是开发程序的一个工具,学习语言的目的是为了编写程序来解决实际问题,所以特别提倡通过实际上机来检验备选答案,增强动手能力。习题基本上是按照教材的章节来安排的,读者可以根据学习的进度选择部分习

题。

【2.1】以下程序的输出结果是。main( )

{ float a;

a=1/100000000;

printf("%g",a);

}

A) 0.00000e+00 B) 0.0 C) 1.00000e-07 D) 0

【2.2】下面程序的输出结果是____。

#include

main( )

{ int x=10;

{ int x=20;

printf ("%d,", x);

}

printf("%d\n", x);

}

A) 10,20 B) 20,10 C) 10,10 D) 20,20

【2.3】以下程序的输出结果是____。

main()

{ unsigned int n;

int i=-521;

n=i;

printf("n=%u\n",n);

}

A) n=-521 B) n=521 C) n=65015 D) n=102170103

【2.4】以下程序的输出结果是。main( )

{ int x=10, y=10;printf("%d %d\n", x――, ――y);

}

A) 10 10 B) 9 9 C) 9 10 D) 10 9

【2.5】以下程序的输出结果是____。main()

{ int n=1;

printf("%d %d %d\n",n,n++,n--);

}

A) 1 1 1 B) 1 0 1 C) 1 1 0 D) 1 2 1

【2.6】以下程序的输出结果是____。main()

{ int x=0x02ff,y=0x0ff00;

printf("%d\n",(x&y)>>4|0x005f);

}

A) 127 B) 255 C) 128 D) 1

【2.7】以下程序的输出结果是____。main()

{ int a=1;

char c='a';

float f=2.0;

printf("%d\n",(!(a==0),f!=0&&c=='A'));}

A) 0 B) 1

【2.8】下面程序的输出结果是____。main()

{ int a=1,i=a+1;

do

{ a++ ;

}while( !~i++ > 3);

printf("%d\n",a);

}

A) 1 B) 2 C) 3 D) 4

【2.9】下面程序的输出结果是____。main()

{ int a=111;

a=a^00;

printf("%d,%o\n",a,a);

}

A) 111,157 B) 0,0 C) 20,24 D) 7,7

【2.10】下面程序的输出结果是____。

main()

{ char s[12]= "a book";

printf("%.4s",s);

}

A) a book! B) a book!<四个空格》

C) a bo D) 格式描述错误,输出不确定

【2.11】下面程序的输出结果是____。

main()

{ int a,b;

scanf("%2d%3d",&a,&b);

printf("a=%d b=%d\n",a,b);

}

A) a=12 b=34 B) a=123 b=45 C) a=12 b=345 D) 语句右错误

【2.12】以下程序段的输出结果是。int a=10,b=50,c=30;if(a>b)

a=b;

b=c;

c=a;

printf("a=%d b=%d c=%d\n",a,b,c);

A) a=10 b=50 c=10 B) a=10 b=30 c=10

C) a=50 b=30 c=10 D) a=50 b=30 c=50

【2.13】以下程序的输出结果是。main() { int a=0,b=1,c=0,d=20;

if(a) d=d-10;

else if(!b)

if(!c) d=15;

else d=25;

printf("d=%d\n",d);

}

A) d=10 B) d=15 C) d=20 D) d=25

【2.14】下面程序的输出结果为。

main()

{ int a=1,b=0;

switch(a)

{ case 1: switch (b)

{ case 0: printf("**0**");break;

case 1: printf("**1**");break;

}

case 2: printf("**2**");break;

}

}

A) **0** B) **0****2** C) **0****1****2** D) 有语法错误

【2.15】以下程序的输出结果是。main()

{ char *s="12134211";

int v1=0,v2=0,v3=0,v4=0,k;

for(k=0;s[k];k++)

switch(s[k])

{ case '1': v1++;

case '3': v3++;

case '2': v2++;

default: v4++;

}

printf("v1=%d, v2=%d, v3=%d, v4=%d\n",v1,v2,v3,v4);

}

A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1 C) v1=5,v2=8,v3=6,v4=1 D) v1=4,v2=7,v3=5,v4=8

【2.16】下面程序的输出是。

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

【2.17】下面程序的输出是____。

main()

{ int num=0;

while(num<=2)

{ num++;

printf("%d\n",num);

}

}

A) 1 B) 1 C) 1 D) 1

2 2 2

3 3

4

【2.18】下面程序的输出结果是____。main()

{ int a=1,b=0;

do

{ switch(a)

{ case 1: b=1;break;

case 2: b=2;break;

default : b=0;

}

b=a+b;

}while(!b);

printf("a=%d,b=%d",a,b);

}

A) 1,2 B) 2,1 C) 1,1 D) 2,2

【2.19】从键盘上输入"446755"时,下面程序的输出是____。#include

main()

{ int c;

while((c=getchar())!='\n')

switch(c -'2')

{ case 0:

case 1: putchar(c+4);

case 2: putchar(c+4);break;

case 3: putchar(c+3);

default: putchar(c+2);break;

}

printf("\n");

}

A) 888988 B) 668966 C) 88898787 D) 66898787

【2.20】下面程序的输出结果是____。

main()

{ int k=0;

char c='A';

do

{ switch(c++)

{ case 'A': k++;break;

case 'B': k--;

case 'C': k+=2;break;

case 'D': k=k%2;contiue;

case 'E': k=k+10;break;

default: k=k/3;

}

k++;

}while(c<'C') ;

printf("k=%d\n",k);

}

A) k=1 B) k=2 C) k=3 D) k=4

【2.21】下面程序的输出结果是____。main()

{ int x,i;

for(i=1;i<=100;i++)

{ x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf("%d ",x);

}

}

A) 39 81 B) 42 84 C) 26 68 D) 28 70

【2.22】下面程序的输出结果是____。#include

main( )

{ int i,k,a[10],p[3];

k=5;

for(i=0;i<10;i++)

a[i]=i;

for(i=0;i<3;i++)

p[i]=a[i*(i+1)];

for(i=0;i<3;i++)

k+=p[i]*2;

printf("%d\n",k);

}

A) 20 B) 21 C) 22 D) 23

【2.23】假定从键盘上输入"3.6,2.4<回车>",下面程序的输出是____。

#include

main()

{ float x,y,z;

scanf("%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);

}

A) 1.500000 B) 1.600000 C) 2.000000 D) 2.400000

【2.24】下面程序的输出结果是____。

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);

}

A) x=4 B) x=8 C) x=6 D) x=12

【2.25】下面程序的输出结果是____。main()

{ int i,j,k=10;

for(i=0;i<2;i++)

{ k++;

{ int k=0;

for(j=0;j<=3;j++)

{ if(j%2) continue;

k++;

}

}

k++;

}

printf("k=%d\n",k);

}

A) k=4 B) k=8 C) k=14 D) k=18

【2.26】下面程序的输出结果是____。#include

main( )

{ int n[3][3], i, j;

for(i=0;i<3;i++ )

for(j=0;j<3;j++ )

n[i][j]=i+j;

for(i=0;i<2;i++ )

for(j=0;j<2;j++ )

n[i+1][j+1]+=n[i][j];

printf("%d\n", n[i][j]);

}

A) 14 B) 0 C) 6 D) 不确定

【2.27】下面程序的输出结果是____。

#include

main( )

{ int a[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4};int i,j,n;

n=9;

i=n/5;

j=n-i*5-1;

printf("a[%d][%d]=%d\n", i,j,a[i][j]);

}

A) 6 B) -3 C) 2 D) 不确定

【2.28】下面程序的输出结果是____。

int m[3][3]={ {1}, {2}, {3} };

int n[3][3]={ 1, 2, 3 };

main( )

{ printf("%d\n", m[1][0]+n[0][0] );/* ①*/ printf("%d\n", m[0][1]+n[1][0] );/* ②*/ }

①A) 0 B) 1 C) 2 D) 3

②A) 0 B) 1 C) 2 D) 3

【2.29】下面程序的输出结果是____。

#include

main( )

{ char s1[50]={"some string *"},s2[]={"test"};printf("%s\n", strcat(s1,s2));

}

A) some string * B) test

C) some stritest D) some string *test

【2.30】下面程序的输出结果是____。

#include

f(char *s)

{ char *p=s;

while(*p!='\0')

p++;

return(p-s);

}

main()

{ printf("%d\n",f("ABCDEF"));

}

A) 3 B) 6 C) 8 D) 0

【2.31】下面程序的输出结果是____。

#include

#include

main( )

{ char str[100] ="How do you do";

strcpy( str + strlen(str)/2, "es she");

printf("%s\n", str);

}

A) How do you do B) es she C) How are you D) How does she

【2.32】下面程序的输出结果是____。

#include

func(int a,int b)

{ int c;

c=a+b;

return(c);

}

main()

{ int x=6,y=7,z=8,r;

r=func((x--,y++,x+y),z--);

printf("%d\n",r);

A) 11 B) 20 C) 21 D) 31

【2.33】下面程序的输出结果是____。#include

void fun(int *s)

{ static int j=0;

do

{ s[j]+=s[j+1];

}while(++j<2);

}

main()

{ int k,a[10]={1,2,3,4,5};

for(k=1;k<3;k++)

fun(a);

for(k=0;k<5;k++)

printf("%d",a[k]);

}

A) 35756 B) 23445 C) 35745 D) 12345 【2.34】下面程序的输出结果是____。

#include

int k=1;

main( )

{ int i=4;

fun(i);

printf ("\n%d,%d",i,k);/* ①*/

}

fun(int m)

{ m+=k;k+=m;

{ char k='B';

printf("\n%d",k-'A');/* ②*/

}

printf("\n%d,%d",m,k);/* ③*/

}

①A) 4,1 B) 5,6 C) 4,6 D) A,B,C参考答案都不对

②A) 1 B) -59 C) -64 D) A,B,C参考答案都不对

③A) 5,66 B) 1,66 C) 5,6 D) A,B,C参考答案都不对

【2.35】下面程序的输出结果是____。

#include

fun(int n, int *s)

{ int f1, f2;

相关文档
相关文档 最新文档