全国计算机C语言程序设计讲解(课堂PPT).ppt

上传人:rrsccc 文档编号:9605272 上传时间:2021-03-10 格式:PPT 页数:33 大小:361KB
返回 下载 相关 举报
全国计算机C语言程序设计讲解(课堂PPT).ppt_第1页
第1页 / 共33页
全国计算机C语言程序设计讲解(课堂PPT).ppt_第2页
第2页 / 共33页
全国计算机C语言程序设计讲解(课堂PPT).ppt_第3页
第3页 / 共33页
全国计算机C语言程序设计讲解(课堂PPT).ppt_第4页
第4页 / 共33页
全国计算机C语言程序设计讲解(课堂PPT).ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《全国计算机C语言程序设计讲解(课堂PPT).ppt》由会员分享,可在线阅读,更多相关《全国计算机C语言程序设计讲解(课堂PPT).ppt(33页珍藏版)》请在三一文库上搜索。

1、1,C 语言程序设计,上海虎贲教育,C语言教学班,2,第四章 选择结构程序设计,3,第一节 if 语句,if语句的三种形式 形式一: 格式:if (表达式) 语句;,形式二: 格式:if (表达式) 语句1; else 语句2;,4,第一节 if 语句,形式三: 格式:if ( 表达式1 ) 语句1; else if (表达式2 ) 语句2; else if (表达式3 ) 语句3; . else 语句n;,5,第一节 if 语句,说明: if后面的表达式类型任意 else不是一条独立的语句,它只是if语句的一部分 if(x) if(x!=0) if(!x) if(x=0) 语句可以是复合语句

2、用 内嵌结构中,else总是与前面最近的且未曾配对的if语句配对组成一对if-else语句,如:if(a=b,例 考虑下面程序的输出结果: #include main() int x,y; scanf(“%d,%d”, ,Compile Error! 编译出错,6,#include main() int x,y; printf(“请输入一个整数:); scanf(%d, ,例: 求一个数的绝对值,请输入一个整数: -12 整数: -12 的绝对值为:12,/*变量定义*/ /*语句提示*/ /*键盘输入一个数值*/,7,/*ch4_2.c*/ #include main() int a,b;

3、/*变量定义*/ printf(Enter integer a:); /*语句提示*/ scanf(%d, ,例 输入两个数并判断两数是否相等,运行:Enter integer a:12 Enter integer b:12 a=b,运行:Enter integer a:12 Enter integer b:9 a!=b,8,#include main() int g; /*变量定义*/ printf(Enter g:); /*语句提示*/ scanf(“%d”, ,例 根据输入的学生成绩给出相应的等级,9,例 考虑下面程序输出结果: main() int x=100,a=10,b=20; i

4、nt v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; printf(“%d”,x); ,结果:100,10,第二节 条件运算符和条件表达式,条件运算符,“?:”是C语言中唯一的一个三目运算符 用 ?: 将表达式连接起来的式子成为条件表达式 一般形式:表达式1?表达式2:表达式3 结合性: 从右向左 优先级: 3 条件运算符赋值运算符逗号运算符 求值规则:先求的值,若其值为“真”,求出的值作为整个条件表达式的值;若其值为“假”,求出的值作为整个条件表达式的值。 表达式1、表达式2、表达式3类型可不同,表达式值取较高类型,ab?

5、a:cd?c:d ab?a:(cd?c:d),5.2,例: xy?1:1.5 /*xy ,值为1.0; xy ,值为1.5*/,11,第三节 switch 语句,switch( 表达式) case E1 : 语句组 1; case E2 : 语句组 2; . case En : 语句组 n; default: 语句组 ; ,一般形式:,执行过程: 一、计算表达式 二、找case 三、从找到的case开始,往下全部执行 四、若没找到case,则从default开始往下全部执行, 若没default 则结束switch语句。,12,例 switch(score) case 5: printf(“V

6、ery good!”); case 4: printf(“Good!”); default : printf(“data error!”); case 3: case 2: printf(“Pass!”); case 1: printf(“Fail!”); ,break; break; break; break; break;,字符型或整型,没有分号,整型/字符型 常量,互不相同,必须有冒号,必须有空格,运行结果:score为5时,输出: Very good! Good! data error! Pass! Fail!,运行结果:score为3时,输出:,Pass! Fail!,运行结果:sc

7、ore为0时,输出:,data error! Pass! Fail!,运行结果:score为5时,输出:,Very good!,运行结果:score为3时,输出:,Pass!,运行结果:score为0时,输出:,data error!,13,例 void main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+;b+; break; case 3: a+;b+; printf(“a=%d,b=%d”,a,b); ,运行结果:a=2,b=1,14

8、,上机作业(使用选择结构),1、给出一个数判断是奇数还是偶数 2、输入三个数求出最大值或者是最小值,15,第五章 循环结构程序设计,16,一般形式:,while(表达式) 循环体语句;,执行流程:,第一节 while 语句,17,特点:先判断表达式,后执行循环体 说明: 循环体有可能一次也不执行。 循环体只能是一条语句,如果包含一条以上的语句,应该用。 循环体中一般有使循环趋向结束的语句, 不可无限循环,如 k=0; while(k10) printf(“*”); k+; 程序将重复执行输出语句printf,输出10个*号。,第一节 while 语句,18,#include main() in

9、t a; a=1; if(a=10) a+ ; printf(“a=%dn”,a); ,区分if语句和while语句.,#include main() int a; a=1; while(a=10) a+ ; printf(“a=%dn”,a); ,19,一般形式:,do 循环体语句; while(表达式);,执行流程:,第二节 do-while 语句,分号不能少!,20,特点:先执行循环体,后判断表达式 说明: 至少执行一次循环体,#include main() int a; scanf(“%d”, ,#include main() int a; scanf(“%d”, ,结论:当while

10、后面的表达式的值为“真”时,两种循环得到的结果相同。否则,两者结果不相同。,while 和do-while的比较,21,一般形式:,for(表达式1 ; 表达式2 ; 表达式3) 循环体语句;,执行流程:,第三节 for 语句,22,说明: for语句中表达式1, 表达式2 ,表达式3 类型任意, 都可省略,但他们之间分号;不可省 无限循环:for( ; ; ) for语句可以转换成while结构,表达式1; while(表达式2) 循环体语句; 表达式3; ,for(循环变量赋初值;循环条件;循环变量增值) 循环体语句; ,for语句一般应用形式:,23,例:#include main( )

11、 int i; for(i=0;i10;i+) printf(“%d”,i); ,例:#include main( ) int i=0; for(;i10;) printf(“%d”,i+); ,只要在进入循环之前将控制变量定义并赋初值,并在循环体中将控制变量的值进行改变即可。,循环条件不可少! 分号不可少,24,#include main() int i,j,k; for(i=0,j=100;i=j;i+,j-) k=i+j; printf(%d+%d=%dn,i,j,k); ,例,表达式1和表达式3可以是简单表达式, 也可以是逗号表达式,25,例 分别用while 、do-while 和

12、for 循环求,#include main() int i,sum=0; i=1; while(i=100) sum+=i; i+; printf(%d,sum); ,#include main() int i,sum=0; i=1; do sum+=i; i+; while(i=100); printf(%d,sum); ,#include main() int i,sum=0; for(i=1;i=100;i+) sum+=i; printf(%d,sum); ,26,三种循环可互相嵌套,层数不限 外层循环可包含两个以上内循环,但不能相互交叉,(1) while() while() . ,

13、(2) do do while( ); . while( );,(3) while() do while( ); . ,(4) for( ; ;) do while(); while() . ,第四节 循环嵌套语句,27,有以下程序段: int i,j,m=0; for(i=1;i=15;i+=4) for(j=3;j=19;j+=4) m+; printf(“%d”,m); 程序段的输出结果是( ) A 12 B 15 C 20 D 25,C,28,第五节 辅助控制语句,break语句 功能:在循环语句和switch语句中,终止并跳出循 环体,即提前结束循环,接着执行循环下面 的语句。 说明

14、: break只能终止并跳出最近一层的结构 break只能用于循环语句和switch语句,29,例 break举例:,main() int s=0,i; for(i=1;i=5;i+) if(i%2=0) break; s=s+i; printf(“%d,%d”,s,i); ,结果: 1,2,30,continue语句 功能:结束本次循环,跳过循环体中尚未 执行的语句,进行下一次是否执行 循环体的判断 仅用于循环语句中,第五节 辅助控制语句,31,例 continue举例:,main() int s=0,i; for(i=1;i=5;i+) if(i%2=0) continue; s=s+i; printf(“%d,%d”,s,i); ,结果: 9,6,32,第六节 标号语句和goto语句,main() int i=1; a: if(i=10) printf(“*”); i+; goto a ; 在此例子中,“a:”为语句标号,语句标号由标识符和冒号构成,且可以和变量同名。 goto称为无条件转向语句。限制使用goto语句。,33,本章上机练习题,1 计算并输出n(包括n)以内能被5或9整除的所有自然数之和。 2 功能是:计算并输出下列级数和:,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1