C语言程序设计第四版第四章答案-谭浩强
第四章
4.1 什么是算术运算?什么是关系运算?什么是逻辑运算? 解:略。
4.2 C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?
解:设有一个逻辑表达式,若其结果为“真”,则以1表示;若其结果为“假”,则以0表示。但是判断一个逻辑量的值时,以0代表“真”,以非0代表“假”。例如3&&5的值为“真”,系统给出3&&5的值为1。
4.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
4.4 有3个整数a、b、c,由键盘输入,输出其中最大的数。 解: 方法一
#include
printf(\请输入3个整数:\ scanf(\ if(a
if(b 方法二:使用条件表达式,可以使程序更加简明、清晰。 程序如下: #include { int a,b,c,temp,max; printf(\请输入3个整数:\ scanf(\ temp=(a>b)?a:b; /* 将a和b中的大者存人temp中 */ max=(temp>c)?temp:c; /* 将a和b中的大者与c比较,取最大者*/ printf(\个整数的最大数是%d\\n”,max); } 4.6有一函数: 写一程序,输入x值,输出y值。 解: #include printf(\输入x:\ scanf(\ if(x<1) /* x<1 */ { y=x; printf(\ } else if (x<10) /* 1≤x-10 */ { y=2*x-1; printf(\ } else /* x≥10 */ { y=3*x-11; printf(\ } } 4.8给一个百分制成绩,要求输出等级’A’、’B’、’C’、’D’、’E’。90分以上为’A’,80~90分为’B’,70~79分为’C’,60分以下为’D’。 解: 程序如下: #include printf(\请输入学生成绩:\ scanf(\ while(score>100||(score<0) { printf(\输入有误,请重新输入:\ scanf(\