4.1条件判断
条件判断 的结果是一个逻辑值:“是”或“否”, 在计算机语言中用“真”和“假”表示。在程序中用选择结构 来检查所指定的条件是否满足,并根据判断的结果决定执行哪种操作。关系运算符 是用于比较大小的符号。关系运算符优先级由高到低 < <= > >= , == != , 关系表达式 是用关系运算符将两个表达式连接起来的式子,关系表达式的值是一个逻辑值“真”或“假”,为了表示逻辑量,C语言规定 以数值1为真,0为假。 关键字bool定义逻辑型变量,允许关系表达式作为一般数值处理 。逻辑运算符 :&& 逻辑与,||逻辑或,逻辑非! ,其中&&和||是算目运算符,要求两侧都有操作数,逻辑非!是一元运算符。 逻辑与&&两者之一为假就是假,逻辑或两者之一为真就是真,非就是假。逻辑表达式 是用逻辑运算符将关系表达式或逻辑量连接起来的式子。逻辑表达式的值是真或假 ,1为真,0为假。逻辑运算符的运算对象可以是数字,也可以是字符,实型,指针等。运算符优先级 : !非 算数运算符 关系运算符 &&与 ||或 赋值运算符。
4.2用if语句实现选择结构
int x= - 30 ;
if ( x> 0 )
printf ( "%d\n" , x) ;
else
printf ( "%d\n" , - x) ;
float a, b;
printf ( "请分别输入a同学和b同学的成绩,并用逗号隔开:" ) ;
scanf ( "%f,%f" , & a, & b) ;
if ( a>= b)
printf ( "最高成绩为%6.2f\n" , a) ;
else
printf ( "最高成绩为%6.2f\n" , b) ;
float c, d, e, max, min, mid;
printf ( "please enter c,d,e:" ) ;
scanf ( "%f,%f,%f" , & c, & d, & e) ;
if ( c> d) {
max= c; mid= d; min= e;
} else {
max= d; mid= c; min= e;
} ;
if ( max< e) max= e;
if ( mid< e) { min= mid, mid= e; }
printf ( "%6.1f,%6.1f,%6.1f\n" , max, mid, min) ;
if ( 3 ) printf ( "is ok.\n" ) ;
float f, g, h, s, area;
printf ( "分别输入三角形的三个边长,并用逗号隔开:" ) ;
scanf ( "%f,%f,%f" , & f, & g, & h) ;
if ( f+ g> h&& f+ h> g&& h+ g> f) {
s= ( f+ g+ h) / 2.0 ;
area= sqrt ( s* ( s- f) * ( s- g) * ( s- h) ) ;
printf ( "三角形的面积为%6.2f\n" , area) ;
} else {
printf ( "输入的数值不能构成三角形。" ) ;
}
float i, j, money;
printf ( "请分别输入件数和单价:" ) ;
scanf ( "%f,%f" , & i, & j) ;
if ( i>= 500 ) money= i* j* ( 1 - 0.15 ) ;
else if ( j>= 300 ) money= i* j* ( 1 - 0.10 ) ;
else if ( j>= 100 ) money= i* j* ( 1 - 0.075 ) ;
else if ( j>= 50 ) money= i* j* ( 1 - 0.05 ) ;
else money= i* j;
printf ( "应付贷款:%6.2f\n" , money) ;
int year ;
printf ( "输入一个年份:" ) ;
scanf ( "%d" , & year) ;
if ( year% 4 == 0 && year% 100 != 0 || year% 400 == 0 )
printf ( "%d该年份是闰年\n" , year) ;
else
printf ( "%d该年份不是闰年\n" , year) ;
float freiehe, price, weight, s, discount;
printf ( "please enter price , weight and s:" ) ;
scanf ( "%f,%f,%f" , & price, & weight, & s) ;
if ( s>= 3000 ) discount= 0.15 ;
else if ( s>= 2000 ) discount= 0.10 ;
else if ( s>= 1000 ) discount= 0.08 ;
else if ( s>= 500 ) discount= 0.05 ;
else if ( s>= 250 ) discount= 0.02 ;
else discount= 0 ;
freiehe= price* weight* s* ( 1 - discount) ;
printf ( "总运费为:%6.2f元\n" , freiehe) ;
4.3用Switch语句实现多分支选择结构
int grade= 'A' ;
switch ( grade) {
case 'A' :
case 'B' : printf ( "80~100分\n" ) ; break ;
case 'C' : printf ( "70~79分\n" ) ; break ;
case 'D' : printf ( "60~69分\n" ) ; break ;
case 'E' : printf ( "0~59分\n" ) ; break ;
default : printf ( "error\n" ) ; break ;
}
提高部分(未完)
本章小结(未完)
习题(未完)