C语言程序设计第3章基本控制结构.ppt
《C语言程序设计第3章基本控制结构.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计第3章基本控制结构.ppt(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、0)0)t=a;t=a;n注意:赋值语句与赋值表达式的区别n二、顺序程序举例3.2 顺序结构程序设计C语言程序设计n例3-1:输入一大写字母,改为小写后输出。#include main()char c1,c2;scanf(%c,&c1);printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);getch();3.2 顺序结构程序设计测试数据及运行结果测试数据及运行结果输入:输入:A 输出:输出:A,65 a,97C语言程序设计3.2 顺序结构程序设计例:输入三角形的三边长,求三角形面积。n分析:设三角形的三边分别为a,b,c 则:面积area2=s
2、(s-a)(s-b)(s-c)其中s=(a+b+c)/2C语言程序设计3.2 顺序结构程序设计n源程序:#include main()float a,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,c,s);printf(“area=%7.2fn”,area);发散:三角形面积的计算 返回返回C语言程序设计3.3 选择结构程序设计3.3.1 关系运算符与关系表达式n一、关系运算符:、!
3、n关系表达式:i=(c=d)、x+ya-bn求值结果:int型,0或1。1为真,0为假n 如:设a=3,b=2,c=1 则:d=a b 的值为1 f=abc的值为0;C语言程序设计3.3.1 关系运算符与关系表达式n6种关系运算符的优先级别不同:、!=、n程序设计中最好不要对两个浮点数直接进行相等性比较;方法之一如:fabs(a-b)=0&xb)&(n=cd)后,m、n分别是多少?答案是:m=0,n=1u利用逻辑表达式还能表示更为复杂的条件 (year%4=0&year%100!=0)|(year%400=0)#3.3.2 逻辑运算符与逻辑表达式C语言程序设计一、if语句的2种基本形式n语法1
4、:if(表达式)语句;n语义:判断表达式的值,为真时执行语句,否则不执行;如:#include main()char ch;ch=getchar();if(ch=a&ch=z)ch-=a-A;putchar(ch);3.3.3 选择结构的实现C语言程序设计n语法语法2 2:if(if(表达式)表达式)语句语句1 1;else else 语句语句2 2;n语义:语义:判断表达式的值,为真时执行判断表达式的值,为真时执行语句语句1 1,否则执行语句,否则执行语句2 2;3.3.3 选择结构的实现C语言程序设计如:如:#include#include main()main()int a,b;int
5、a,b;scanf(“%d%d”,&a,&b);scanf(“%d%d”,&a,&b);if(ab)if(ab)printf(“max=%dn”,a);printf(“max=%dn”,a);else else printf(“max=%dn”,b);printf(“max=%dn”,b);3.3.3 选择结构的实现C语言程序设计二、if语句嵌套的2种形式n1.if语句嵌套在else子句中 if(表达式1)语句1;else if(表达式2)语句2;else if(表达式3)语句3;else 语句n+1;3.3.3 选择结构的实现C语言程序设计n2.if语句嵌套在if子句中 if(表达式1)if
6、(表达式2)if(表达式3)语句1;else 语句2;else 语句3;else 语句n+1;3.3.3 选择结构的实现C语言程序设计例3-6:从键盘上输入字符,判别其分类:控制符、数字、大写字母、小写字母、其他字符。3.3.3 选择结构的实现C语言程序设计#include“stdio.h”main()char c;c=getchar();if(c=0&c=A&c=a&cc&b+ca&a+cb)s=0.5*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c);printf(“area=%6.2fn”,area);else printf(“It is not a trila
7、teral.”);C语言程序设计3.3.3 选择结构的实现n(4)if 语句嵌套时,else 与if的匹配问题;例3-7:有一函数:y=-1 x0请编程,输入x的值,输出相应的y值。C语言程序设计3.3.3 选择结构的实现main()float x,y;scanf(“%f”,&x);if(x=0)if(x0)y=1;else y=0;else y=-1;y=0;if(x=0)if(x0)y=1;else y=-1;?y=0;if(x=0)if(x0)y=1;else;else y=-1;y=0;if(x=0)if(x0)y=1;else y=-1;C语言程序设计n(5)可利用条件表达来简化程序
8、设计。如对于:if(exp!=0)可用 if(exp)来代替;3.3.3 选择结构的实现if(!exp)语句;等价于:if(exp=0)语句;C语言程序设计三、switch语句3.3.3 选择结构的实现语法1:switch(表达式)case C1:S1;case C2:S2;case Cn:Sn;default:Sn+1;4其中:表达式必须放在括号中;C1至Cn 是情况常量;default可缺省。C语言程序设计计算表达式e的值S1S2SnSn+1C1C2Cndefault语义:3.3.3 选择结构的实现C语言程序设计例:switch(grade)case A:printf(“85100n”);
9、case B:printf(“7084n”);case C:printf(“6069n”);case D:printf(“60n”);default:printf(“errorn”);3.3.3 选择结构的实现 返回返回C语言程序设计4语法2:switch(表达式)case C1:S1;break;case C2:S2;break;case Cn:Sn;break;default:Sn+1;break;3.3.3 选择结构的实现C语言程序设计S1计算表达式e的值S2SnSn+1C1C2Cndefault3.3.3 选择结构的实现语义:C语言程序设计例:switch(grade)case A:p
10、rintf(“85100n”);break;case B:printf(“7084n”);break;case C:printf(“6069n”);break;case D:printf(“60n”);break;default:printf(“errorn”);break;3.3.3 选择结构的实现C语言程序设计说明:(1)default可省略;(2)C1Cn必须互不相同;(3)语法2中,C1Cn无次序影响;(4)允许多个case共用一个执行语句;如:3.3.3 选择结构的实现C语言程序设计switch(ch)case 0:case 1:case 2:case 3:case 4:case 5
11、:case 6:case 7:case 8:case 9:digit+;break;case :case t:case n:white+;break;default:character+;3.3.3 选择结构的实现C语言程序设计(5)break只能跳出一层,内外层情况常量可相同;如:#include main()int x=1,y=0;switch(x)case 1:switch(y)case 0:printf(*1*n);break;case 1:printf(*2*n);break;case 2:printf(*3*n);getch();运行结果为:*1*3*3.3.3 选择结构的实现C语
12、言程序设计四、三目条件运算符四、三目条件运算符n1.条件运算符?:?:n2.格式 e1?e2:e3n3.语义:判判e1的值,为的值,为1时计算时计算e2,否则计,否则计 算算e3;如:max=(ab)?a:b 等价于 if(ab)max=a;else max=b;3.3.3 选择结构的实现C语言程序设计n4.说明:n条件运算符的优先级仅高于“,”与“=”;n只有当if语句的真假均只执行一个赋值语句且是给同一变量赋值时,才能用条件表达式取代;如:if(ab)max=a;else max=b;n条件表达式可使程序简洁;#3.3.3 选择结构的实现 返回返回C语言程序设计*问题1:假如全班41人,欲
13、从键盘上输入每人的数学成绩,然后计算出平均成绩;*问题2:编程计算n!。*重复执行一组语句是程序设计要求的基本功能之一。在C语言中可以用以下语句来实现循环:*(1)if 和 goto*(2)while*(3)do-while*(4)for3.4 循环结构程序设计C语言程序设计n语法:while(exp)循环体语句;n语义:当exp为真时,执行循环体;为假时,执行循环语句的后续语句;n如:用while语句构成循环,求:sum=1+2+100 3.4.1 while语句C语言程序设计3.4.1 while语句i1,sum=0当i小于等于100sum=sum+ii=i+1输出sumC语言程序设计3.
14、4.1 while语句n源程序:main()int i=1,sum=0;while(i=100)sum+=i;i+;printf(“%d”,sum);C语言程序设计3.4.1 while语句l说明:循环体可以用复合语句;循环控制变量在while前应赋初值,以确保循环的正常开始;C语言程序设计3.4.1 while语句 循环体内应改变循环控制变量的值,以确保循环正常结束;如:i=1;while(i=100)sum=sum+1;(死循环)C语言程序设计3.4.1 while语句 while 的特点:n先判断后执行先判断后执行n循环体最少执行次数为0;如:i=3;while(i3)printf(“i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 基本 控制 结构
限制150内