C语言书本练习答案doc.docx

上传人:b****2 文档编号:2034286 上传时间:2022-10-26 格式:DOCX 页数:14 大小:37.93KB
下载 相关 举报
C语言书本练习答案doc.docx_第1页
第1页 / 共14页
C语言书本练习答案doc.docx_第2页
第2页 / 共14页
C语言书本练习答案doc.docx_第3页
第3页 / 共14页
C语言书本练习答案doc.docx_第4页
第4页 / 共14页
C语言书本练习答案doc.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

C语言书本练习答案doc.docx

《C语言书本练习答案doc.docx》由会员分享,可在线阅读,更多相关《C语言书本练习答案doc.docx(14页珍藏版)》请在冰豆网上搜索。

C语言书本练习答案doc.docx

C语言书本练习答案doc

一、选择正确答案填空。

1.以下叙述不正确的是D。

A)一个C源程序必须包含一个main函数

B)一个C源程序可由一个或多个函数组成

C)C程序的基本组成单位是函数

D)在C程序中,注释说明只能位于一条语句的后面

2.一个C语言程序是由旦。

A)一个主程序和若干个子程序组成

B)函数组成

C)若干过程组成

D)若干子程序组成

3.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为C。

x=(i=4,j=16,k=32)

A)4B)16C)32D)52

4.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=,A,+3后,c2中的值为旦。

A)字符BB)68C)不确定的值D)字符C

5.设有说明:

charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为D。

A)floatB)charC)intD)double

6.设有:

inta=l,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为Bo

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

7.判断char型变量ch是否为大写字母的正确表达式是C。

A),A,v=chv=2,B)(ch>=6A?

)&(ch<=aZ?

C)(ch>=A)&&(chv=Z)D)(Av=ch)AND(Z>=ch)

8.已知ch是字符型变量,下面正确的赋值语句是C。

A)ch='a+b';B)ch='\0';C)ch='7'+9;D)ch=5+9;

9.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式旦;如果字符串长度小于5,则输出按方式C。

A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出

C)右对齐输出该字符串,左补空格D)输出错误信息

二、计算下列表达式的值。

(设a=3,b=6,c=9)

1.a/b0

2.(a+b)%c0

3.a+b,a・c,a=b/c,a+b+c15

4.c=a++3

5.(int)a+(float)a/b3

6.(a=a+b)-(--c)1

三、分析程序,写出结果。

以下程序段的输出结果是_x=l尸2*sun・*=3

10Squaredis:

100.

main()

{intx=l,y=2;

printf("x=%dy=%d*sum*=%d\n",x,y,x+y);

printf("10Squaredis:

%d\n",10*10);

}

四、编程。

1.编程完成从键盘上输入三角形的底和高,输出三角形面积的C语言程序。

#includenstdio.h"

main()

{floats,a,b;

printf(”请输入直角三角形的底和高\n”);

scanf(”%f%f',&a,&b);

s=a*b/2.0;

printfC^f^s);

}

2,从键盘输入本学期所有课程的成绩,输出课程成绩、总成绩和平均成绩。

如下显示:

课程:

C程序设计大学英语高数计应基础体育

成绩:

98.067.070.088.065.0

总成绩:

329.0

平均成绩:

65.8

#includeHstdio.hn

main()

{

floatavg,s,a,b,c,d,e;

scanf(n%f%f%f%f%f',&a,&b,&c,&d,&e);

s=a+b+c+d+e;

avg=s/5.0;

printf(”C程序设计大学英语高数计应基础体育\n”);

printf(n%-.2f\t%-.2f%4f%-.2f%-.2f\n”,a,b,c,d,e);

print町总成绩:

%.2f\n”,s);

printf(”平均成绩:

%.2f\n”,avg);

模块3

一、选择题

1.以下不正确的if语句是C。

A)if(x>y&&x!

=z);

B)if(x!

=y)x+=y;

C)if(x!

=y)(x++;y++;)

D)if(x==y)sacnf(”%d,%d”,&x,&y);

2.变量定义为intx=l,y=2,z=3;以下语句执行后x、y、z的值是旦。

if(x>y)

z=x;x=y;y=z;

A)x=l,y=2,z=3

B)x=2,y=3,z=3

C)x=2,y=3,z=]

D)x=2,y=3,z=2

3.以下程序的运行结果是旦。

intm=5;

if(m++>5)printf(“%d\n”,m);

elseprintf("%d\n",m--);

A)4B)5C)6D)7

4.有一分段函数如下表:

X的范围

y和x的关系

x<0

y=x-l

x=0

y=x

x>0

x+1

下面程序段中能正确表示上面关系的是Do

A)y=x+1;B)y=x-l;C)if(x<=0)

D)y=x;

if(x>=0)if(x!

=0)if(x<0)

if(xv=0)

if(x==0)if(x>0)y=x-1;

if(x<0)

y=x;y=x+1;elsey=x;

y=x—1;

elsey=x-1;elsey=x;elsey=x+1;elsey=x+1;

5.为了避免在嵌套的if-else语句中产生歧义,C语言规定:

else子句总是与B配对。

A)缩排位置相同的ifB)其之前最近的if

C)其之后最近的ifD)同一行上的if

二、填空题

1.输入三个整数,按从大到小的顺序进行输出。

intmain()

{intnl,n2,n3,temp;

scanf(“%d%d%d”,&nl,&n2,&n3);

if(n2

{temp=n2;n2=n3;n3=temp;}

if(nl

{temp=nl;nl=n3;n3=temp;}

if(nlvn2)〃希望nl存放的数比n2大

{temp=nl;nl=n2;n2=temp;}

printf("%d,%d,%d",numl,num2,num3);

}

2.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。

intmain()

{charch;

scanf("%c“,&ch);

if(ch>=Z&&chv=Z)ch=ch+32;

elseif(ch>='a'&&chv='z')ch=ch-32;

printf("%c",ch);

1.编写一个程序,要求用户从终端上键入两个整数数值。

检测这两个数,判定第一个数能否被第二个数整除,并在终端上显示相应的信息(要求绘制流程图)。

#include”stdio.h”

mainQ

{inta,b;

printff'pleaseinputtwonumbers:

\nH);

scanf("%d%d”,&a,&b);

if(a%b==O)

printf(n%d%可以被%d整除”,a,b);

else

printf(H%d不能被%(1整除”,a,b);

}

2.从键盘输入a、b、c三个整数,输出其中最大的数。

#includeHstdio.hn

mainQ

{

inta,b,c,t;

scanf(”%d%d%d”,&a,&b,&c);

if(a>b)

t=a;

else

t=b;

if(t>c);

else

t=c;

printf(”%d”,t);

i

3.商场进行打折促销活动,消费金额(P)越高,折扣(d)越大,标准如下:

消费金额

折扣

P<100

0%

100

5%

200

10%

500

15%

P>1000

20%

编写程序,从键盘输入消费金额,输出折扣率和实付金额(f),分别用if语句和switch语句来实现(要求绘制流程图)。

1.#includeHstdio.hn

main()

floatp,fd;

scanf("%f',&p);

if(p<100)

d=0.;

elseif(p<200)

d=0.05;

elseif(p<500)

d=0.1;

elseif(p<1000)

d=0.15;

else

d=0.2;

f=p*(l-d);

printf(”d=%d%%a%.2f\n”,(int)(d*100),f);

}

2.#include”stdio.h”

main()

floatp,f>d;

intc;

scanf("%f',&p);

c=p/100;

switch(c)

{case0:

d=0.;break;

casel:

d=0.05;break;

case2:

case3:

case4:

d=0.1;break;

case5:

case6

case7

case8

d=0.15;break;

case9

default:

d=0.2;

f=p*(l-d);

printf(nd=%d%%>%.2f\nH,(int)(d*100),f);

模块4

1.单选题

(1)C语言中while与do-while语句的主要区别是(A)

A)do-while的循环体至少无条件执行一次

B)do-while允许从外部转到循环体内

C)do-while的循环体不能是复合语句

D)while的循环控制条件比do-while的循环控制条件严格

(2)假定a和b为int型变量,则执行以下语句后b的值为(B)

a二1;b二10;

do

{b-=a;a++;}

while(b一<0);

A)9B)-2C)-1D)8

(3)以下程序段(A)

x二T;

do

(X=x*x;}

while(!

x);

A)是死循环B)循环执行两次C)循环执行一次D)有语法错误

(4)下面程序的运行结果是(

ftinclude

intmain()(inty=10;

do{y—;}

while(一y);

return0:

(5)对for(表达式1;;表达式3)可理解为(B)

(6)若i、j均为整型变量,则以下循环for(i=0,j=T;j=l;i++,j++)

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

⑺以下的for循环(B)

for(x=0,y=0;(y!

=123)&&(x<4);x++);

(8)设j为int型变量,则下面for循环语句的执行结果是(

for(j=10;j〉3;j—)

—j;—J;

printfj);

2.根据要求完成程序填空

(1)下面的程序片段从键盘输入的字符中统计数字字符的个数,用换行符结束循环。

intn=0,c;

c=getchar();

while(C!

二'\n'&&c!

='\o')

{if(c=〉'O'&&c〈='

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1