资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
编程实现:输入学生的一门功课的考试成绩,并打印“及格”或“不及格”。规定若低于60分,为不及格,反之为及格。,关系运算符、关系表达式,(大于)、=(大于等于) (小于)、=(小于等于) =(等于)、!=(不等于),双目运算符,P91,=,=(同级)高于 =,!=(同级),单目运算符 高于 算术运算符 高于 关系运算符 高于 赋值运算符 高于 逗号运算符,左结合(自左至右),逻辑值(真或假),C语言约定:命题(表达式)为真时,其值为1,命题(表达式)为假时,其值为0。非零值表示为真,零值表示为假。,关系运算符、关系表达式,3!=2、a+bc-d、x3/2、-i-5*j=k+1,非零值表示为真, 零值表示为假,P92,如:若a=3,b=2,c=1,则计算下列值 1、ab,表达式的值为: 2、b+cb, d的值为: 4、f=abc,f的值为: 5、a-b=c,表达式的值为: 6、a!=b,表达式的值为:,求解表达式的值。,1 0 1 0 1 1,注意:计算自左向右,C语言实现选择结构的语句,由于某种条件,问题出现分支,解决这类问题我们采用的“选择结构”,,1、if 语句 简单分支结构 2、if-else 语句 二分支结构 3、if-else if else 语句 多分支结构 4、switch 语句 多分支结构,结构化程序设计-选择结构,简单的选择结构,P96,选择结构简单if-else语句,if(表达式) 语句组1 else 语句组2 ,真,假,先计算表达式的值,其值分为两类:非零值(真)和零值(假),if-else语句实现二分支的选择结构。 表达式也称为条件表达式,可以是常量、变量、表达式等任意表达式。常用的是单一变量,关系表达式,逻辑表达式。 若语句组只有一条语句时,可省略。 if-else是一个整体,是一条语句。,选择结构简单if-else语句,编程实现:输入学生的一门功课的考试成绩,并打印“及格”或“不及格”。规定若低于60分,为不及格,反之为及格。,#include main() float score; scanf(%f, ,#include main() int a; scanf(%d,*/ ,表达式:a%2=0,判断一整数是否为偶数,若是输出1,否则输出O。,表达式:m%n=0,从键盘输入两个正整数m,n,判断m能否被n整除,若能整除输出m和n,否则打印“NO”。,#include main() int m,n; printf(Input m,nn); /* 提示信息*/ scanf(%d%d, ,选择结构简单 if 语句,if(表达式) 语句组 ,P96,if(表达式) 语句组 ,真,假,1.先计算表达式的值 2.判断其值真?假? 3.选择执行的语句。,后继语句,P98 例5.1:从键盘上输入两个实数,要求按从大到小的顺序输出。,#include main() float a,b,c; scanf(%f%f, ,#include main() int a=1,b=2,c; if(ab) a=a-b; if(ab) b=b-a; c=a*b; printf(c=%d,c); ,c=1,执行下列程序,写出其输出结果,#include void main() int a=1,b=3,c=0; if(ab) c=-b; a=c-b; if(ab) c=a+b; c=c+a+b; printf(na=%db=%dc=%d,a,b,c);,a=-3b=3c=0,执行下列程序,写出其输出结果,a=1b=3c=8,if(ab) c=-b; a=c-b; ,用括号括起来的语句也称为复合语句。,例: 读下列程序。写出其输出结果:,#include main() int n=0,m=1,x=2; if(!n) x-=1; if(3) x-=2; if(n=m) x+=3; if(x1) printf(%d,n); else printf(%d, x); ,1,编程实现:从键盘输入两个整数,求两数的最大数。,常用算法: 1.引入一个变量存放最大数,max; 2.给存放最大数变量赋初值。 1)将最小数赋给max; 2)将参与比较数的其中一个数赋给max; 3.逐一和max比较,若大于max,就将其赋给max。 4.输出max的值,即为最大值。,编程实现:从键盘输入两个整数,求两数的最大数。,#include void main() int a,b,max; scanf(%d%d, ,编程实现:当 时,求解 的值。否则,输出“Data error”,问题?,选择结构简单if-else语句,表达式若写成 3=a=6, 该表达式的计算规则左结合,若a为2时,先计算3=2为假其值为0,再计算0=6为真,则整个表达式为真,与题矛盾。,!(逻辑非) 单目运算符 scanf(%lf, ,编程实现:当 时,求解 的值否则,输出“Data error”,若 if 块或else块中包含两条以上的语句,必须用花括号括起来。, ,#include void main() int x,y; scanf(%d, ,例:设有一函数如下,编写一程序,输入x,输出y的值。,P111 5.5,if(表达式1) 语句组1 else if(表达式2) 语句组2 . else if(表达式m) 语句组m else 语句组n ,选择结构 if-else if-else,要点:无论有多少分支,最终只执行一个分支就退出if -else语句。,P99,Y,N,Y,N,Y,N,选择结构 if-else if-else,例:当输入8,3,6,3和3,8,6,4时,执行下面一段程序后,x的值为:,void main() int a,b,c,d,x; scanf(%d%d%d%d, ,x=6,x=3,if(ab) if(cd) x=1; else if(ac) if(bd) x=2; else x=3; else x=5; else x=6;,条件运算符为三目运算。即:需三个操作数。,表达式1 ? 表达式2 :表达式3,? :,优先赋值和逗号运算符且低于其它运算符,右结合(自右至左),P102,条件运算符、条件表达式,条件运算符、条件表达式,条件表达式的值: 先求解表达式1的值: 若值为非零(真),则求解表达式2的值,则此表达式2的值就作为整个表达式的值; 若值为0(假),则求解表达式3的值,则此表达式3的值就作为整个表达式的值;,表达式1 ? 表达式2 :表达式3,#include void main() float x,y,max; scanf(%f%f, ,读下列程序,写出该程序实现的功能,功能:求任意两实数的最大数。,P111 5.4 有3个整数a,b,c,由键盘输入,输出其中最大的数。,#include void main() int a, b, c, max; scanf(“%d%d%d”, ,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号