C语言习题参考答案1-5

  • 格式:doc
  • 大小:29.00 KB
  • 文档页数:6

精选教育文档

可编辑可修改,欢迎下载 《C语言》作业

第二章

2.4 用传统流程图表示求解以下问题的算法。

(1)有两个瓶子A和B,分别盛放醋和酱油,要求将它们互换(即A瓶原来盛醋,现改盛酱油,B瓶则相反)。

解:显然,如果只有两个瓶子,肯定不能完成此任务,必须有一个空瓶C作为过渡。步骤如图2.4:

(2)依次将3个数输入,要求输出其中最大的数。

开始

A C

B A

C B

结束 精选教育文档

可编辑可修改,欢迎下载

2.5 用N-S图表示2.4题中算法(2)。 开始

输入a,b,c

a>b

a max B max

输出c 输出max

结束 c>max Y N

Y N 精选教育文档

可编辑可修改,欢迎下载

第三章

3.5 字符常量和字符串常量有什么区别?

解:字符常量是一个字符,在程序中字符是用单引号括起来的。字符串变量是有0个或若干个字符组合而成,在程序中字符串是用双引号括起来,在存储时系统自动在字符串最后面加一个结束符号’\0’。

3.9 求下面算术表达式的值。

(1) x+a%3*(int)(x+y)%2/4

设x=2.5,a=7,y=4.7

(2) (float)(a+b)/2+(int)x%(int)y

设a=2,b=3,x=3.5,y=2.5

解:

(1)2.5

(2)3.5

3.10 写出程序运行的结果 输入a,b,c

Y a>b N

A max b max

Y c>max N

输出c 输出max 精选教育文档

可编辑可修改,欢迎下载 #include

void main()

{

int i,j,m,n;

i=8; j=10;

m=++i; n=j++;

printf(”%d,%d,%d,%d\n”,i,j,m,n);

}

解:运行结果为:

9,10,9,11

3.12 写出下面赋值表达式运算后a的值,设原来 a=12, n=5。a和n都定义为整型变量。

(1) a+=a (2)a-=2 (3)a * =2+3

(4)a%=(n%=2 ) (5)a/=a+a (6)a+=a-=a*=a

解:

(1)24 (2)10 (3)60

(4)0 (5)0 (6)0

第4章

4.6 用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=‘A’,

c2=‘a’,问在键盘上如何输入?(空格用_表示)

#include 精选教育文档

可编辑可修改,欢迎下载 void main()

{

int a,b;

float x,y;

char c1,c2;

scanf(“a=%d_b=%d”,&a,&b);

scanf(“%f_%e”,&x,&y);

scanf(“_%c_%c”,&c1,&c2);

printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2);

}

解:可按如下方式在键盘上输入:

a=3_b=7

8.5_71.82

A_a

第五章

1.补充题,描述下列条件

1)a 小于 b 或小于c2, 但 a 和 b 都大于 c

2)a 和 b 中有一个大于c

3)a 是非正整数

4)a 是奇数

5)a 不能被b整除

解:(1)ac&&b>c 精选教育文档

可编辑可修改,欢迎下载 (2)(a>c&&b<=c)||(a<=c&&b>c)

(3)!(a%2==0||a%2==1)

(4)a%2==1

(5)a/b!=0

第5.3题

写出各逻辑表达式的值,设a=3,b=4,c=5。

(1)a+b>c&&b==c

(2)a||b+c&&b-c

(3)!(a>b)&&!c||1

(4)!(x=a)&&( y=b)&&0

(5)!(a+b)+c-1&&b+c/2

解:

(1)0

(2)1

(3)1

(4)0

(5)1