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