程序阅读及填空(答案)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一.程序阅读题

1.若运行时输入100↙,写出以下程序的运行结果。main ( )

{ int a ;

scanf(“%d”,&a);

printf(“%s”,(a%2!=0)?”No”:”Yes”);

}

答案: Yes

2.写出以下程序的运行结果。

main ( )

{ int a=2,b=7,c=5;

switch (a>0) {

case 1: switch (b<0) {

case 1: printf(“”); break ;

case 2: printf(“!”); break ;

}

case 0: switch (c==5) {

case 1: pritnf(“*”) ; break ;

case 2: printf(“#”) ; break ;

default : printf(“#”) ; break ;

}

default : p rintf(“&”);

}

printf(“\n”);

}

答案: *&

3.写出下面程序运行的结果。

main ( )

{ int i,b,k=0 ;

for (i=1; i<=5 ; i++) {

b=i%2;

while (b--==0) k++ ;

}

printf(“%d,%d”,k,b);

}

答案:2 0

4.写出下面程序运行的结果。

main ( )

{ int k=1,n=263 ;

do { k*= n%10 ; n/=10 ; } while (n) ;

printf(“%d\n”,k);

}

答案:36

5.写出下面程序运行的结果。

{ int a=10,y=0 ;

do {

a+=2 ; y+=a ;

if (y>50) break ;

} while (a=14) ;

printf(“a=%d y=%d\n”,a,y) ;

}

答案:a=16 y=60

数组部分:

1.写出下面程序的运行结果。

main ( )

答案:

{ int a[6][6],i,j ;

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

for (j=1 ; j<6 ; j++)

a[i][j]=(i/j)*(j/i) ;

for (i=1;i<6 ; i++) {

for (j=1 ; j<6 ; j++)

printf(“%2d”,a[i][j]) ;

printf(“\n”);

}

}

2.写出下面程序的运行结果。

main ( )

{ int i=0;

char a[ ]=”abm”, b[ ]=”aqid”, c[10];

while (a[i]!=’\0’ && b[i]!=’\0’) {

if (a[i]>=b[i]) c[i]=a[i]-32 ;

else c[i]=b[i]-32 ;

i++;

}

c[i]=’\0’;

puts(c);

}

答案:AQM

3.当运行下面程序时,从键盘上输入AabD↙,则写出下面程序的运行结果。 main ( )

{ char s[80];

int i=0;

gets(s);

while (s[i]!=’\0’) {

if (s[i]<=’z’ && s[i]>=’a’)

s[i]=’z’+’a’-s[i] ;

i++;

puts(s);

}

答案:AzyD

二.程序判断题

1.下面程序将输入的大写字母改写成小写字母输出,其他字符不变;请判断下面程序的正误,如果错误请改正过来。

main ( )

{ char c;

c = getchar ( ) ;

c = (c>=’A’ | | c<=’Z’) ? c-32 : c+32 ;

printf(“%c”,c);

}

答案: c = (c>=’A’ | | c<=’Z’) ? c-32 : c+32 ; 改为:c = (c>='A'&& c<='Z') ? c+32 : c ;

2.下面程序输入两个运算数x,y和一个运算符号op,然后输出该运算结果的值,例如输入3+5↙得到结果8;请判断下面程序的正误,如果错误请改正过来。

main ( )

{

float x,y,r;

char op ;

scanf(“%f%c%f”,&x,&op,&y);

switch (op) {

case ‘+’ : r=x+y ;

case ‘-’ : r=x-y ;

case ‘*’ : r=x*y ;

case ‘/’ : r=x/y ;

}

printf(“%f”,r);

}

答案: 每个Case 分之后面加Break;

三.程序填空题

1、以下程序输出x,y,z三个数中的最小值,请填(2)空使程序完整。

main ( )

{ int x=4,y=5,z=8 ;

int u,v;

u = x

v = u

printf (“%d”,v);

}

答案: 【1】x:y 【2】u:z

2、下述程序用“碾转相除法”计算两个整数m和n的最大公约数。该方法的基本思想是计算m和n相除的余数,如果余数为0则结束,此时的被除数就是最大公约数。否则,将除数作

相关文档
最新文档