《C语言程序设计习题与上机指南》答案 联系客服

发布时间 : 星期六 文章《C语言程序设计习题与上机指南》答案更新完毕开始阅读d5c1e01ac5da50e2524d7f99

C)运行程序段后输出0D)运行程序段后输出1

15、若变量已正确定义,要求以下程序段完成6!的运算,不能完成的程序段是(D)。

A)B) i=1; i=1; x=1; x=1; while(i﹤=6) do {x=x*i; {x=x*i; i++;} i++;}

while(i﹤=6);

C)D)

for(x=1,i=1;i﹤=6;i++) for(i=1;i﹤=6;i++)

x=x*i; {x=1;x=x*i;}

16、设n为整型变量,则for(n=10;n>=0;n--)循环次数为(C)

A)9 B)10 C)11 D)12 17、对表达式for(表达式1;;表达式3)可以理解为(B)

A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3)

C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3) 18、下面的程序运行结果是(B)

#include voidmain() {

intx=10; do x--;

while(--x);

printf(\}

A)-1 B)0 C)1D)8

二.填空题

1.下面程序的输出结果是16.00,请填空。

#include voidmain() {inta=9,b=2;

floatx=6.6,y=1.1,z; z=a/2+b*x/y+1/2; printf(“%5.2f\\n”,z); }

2.下面程序输出的结果是Z。

#include voidmain() {charc=?A?;

printf(“%c”,c+25); }

3.有以下程序。

#include

voidmain() {chara,b,c,d;

scanf(“%c,%c,%d,%d”,&a,&b,&c,&d); printf(“%c,%c,%c,%c\\n”,a,b,c,d); }

若从键盘上输入5,6,65,66<回车>。则输出结果是5,6,A,B。

4.已知字母A的ASCII值是65,运行下面程序时输入B35<回车>,输出结果是1F。

#include main() {chara,b;

a=getchar();scanf(“%d”,&b); a=a-?A?+?0?;b=b*2; printf(“%c%c\\n”,a,b); }

5.下面程序的输出结果是22。 #include voidmain() {

intx=13,y=22;

printf(“%d”,y/=(x%=6)); }

6.下列程序的功能是把从键盘上输入的整数取绝对值后输出。

#include voidmain() {intx;

scanf(“%d”,&x); if(x<0) x=-x; printf(“%d\\n”,x); }

7.下面程序的输出结果是9。

#include voidmain()

{inta=3,b=6,c=9; a=a>b?a:b; a=a>c?a:c; printf(“%d”,a); }

8.从键盘用数字输入月份,然后用英文单词输出显示月份。

#include voidmain() {intmonth; charch; while(1)

{printf(“\\npleaseinputmonth(1-12):”); scanf(“%d”,&month);

switch(month) {case1:printf(“January\\n”);break; case2:printf(“February\\n”);break; case3:printf(“March\\n”);break; case4:printf(“April\\n”);break; case5:printf(“May\\n”);break; case6:printf(“June\\n”);break; case7:printf(“July\\n”);break; case8:printf(“August\\n”);break; case9:printf(“September\\n”);break; case10:printf(“October\\n”);break; case11:printf(“November\\n”);break; case12:printf(“December\\n”);break; default:printf(“inputdataerror\\n”); }

getchar();

printf(“\\ncontinue?(Y/N):\ ch=getchar();

if(ch!='y'&&ch!='Y')break; } }

9.下面程序的输出结果是!!!。

#include voidmain() {intx=1,y=0; switch(x) {case1:

switch(y)

{case0:printf(“!!!\\n”);break; case1:printf(“@@@\\n”);break; }

break;

case2:printf(“###\\n”);} }

10.下面程序的输出结果是27。

#include voidmain()

{intsum=0,i; for(i=1;i<=4;i++) {switch(i) {case0:

case1:sum=sum+2; case2:

case3:sum=sum+3; default:sum=sum+4;}} printf(“%d”,sum); }

11.下面程序的输出结果是3,3,3。

#include voidmain()

{inti=2,j=2,k=3; if((j++||k++)&&i++)

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

12.若从键盘输入15,则下面程序输出的结果是151515。

#include voidmain() {intx;

scanf(“%d”,&x);

if(x>10)printf(“%d”,x); if(x>8)printf(“%d”,x); if(x>6)printf(“%d”,x); }

13、下面程序的输出结果是0。

#include voidmain() {

inti,t=1;

for(i=5;i>=0;i--) t=t*i;

printf(\}

14、下面程序的输出结果是D。

#include voidmain() {charch;

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

{if(ch>='a'&&ch<='z')ch=ch-32; printf(\}

输入内容:d

15、下面的程序为大写字母转换为小写字母。

#include voidmain() {charch;

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

{if(ch>='A'&&ch<='Z')ch=ch+32; printf(\}

16、输入某班级10名同学5门课程的成绩,分别统计每个学生5门课程的平均成绩。

#include voidmain() {inti,j;

floatgrade,sum,average;