计算机C语言程序设计ppt,全国计算机C语言程序设计讲解.ppt

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

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

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

3、f(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,#include main() int g; /*变量定义*/ printf(Enter g:); /*语句提示*/ scanf(“%d”, ,例 根据输入的学生成绩给出相应的等级,例 考虑下面程序输出结果: main() int x=100,a=10,b=20; int v1=5,v2=0; if(a。

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

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

6、(“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!,运行结果:score为0时,输出:,data error! Pass。

7、! Fail!,运行结果:score为5时,输出:,Very good!,运行结果:score为3时,输出:,Pass!,运行结果:score为0时,输出:,data error!,例 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,上机作业(使用选择结构),1、给出一个数判断是奇数还是偶数 2、。

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

9、分if语句和while语句.,#include main() int a; a=1; while(a=10) a+ ; printf(“a=%dn”,a); ,一般形式:,do 循环体语句; while(表达式);,执行流程:,第二节 do-while 语句,分号不能少!,特点:先执行循环体,后判断表达式 说明: 至少执行一次循环体,#include main() int a; scanf(“%d”, ,#include main() int a; scanf(“%d”, ,结论:当while后面的表达式的值为“真”时,两种循环得到的结果相同。否则,两者结果不相同。,while 和do-whi。

10、le的比较,一般形式:,for(表达式1 ; 表达式2 ; 表达式3) 循环体语句;,执行流程:,第三节 for 语句,说明: for语句中表达式1, 表达式2 ,表达式3 类型任意, 都可省略,但他们之间分号;不可省 无限循环:for( ; ; ) for语句可以转换成while结构,表达式1; while(表达式2) 循环体语句; 表达式3; ,for(循环变量赋初值;循环条件;循环变量增值) 循环体语句; ,for语句一般应用形式:,例:#include main( ) int i; for(i=0;i10;i+) printf(“%d”,i); ,例:#include main( ) 。

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

12、 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); ,三种循环可互相嵌套,层数不限 外层循环可包含两个以上内循环,但不能相互交叉,(1) while() while() . ,(2) do do while( ); . while( );,(3) while() do while( ); . ,(4) for( 。

13、; ;) do while(); while() . ,第四节 循环嵌套语句,有以下程序段: 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,第五节 辅助控制语句,break语句 功能:在循环语句和switch语句中,终止并跳出循 环体,即提前结束循环,接着执行循环下面 的语句。 说明: break只能终止并跳出最近一层的结构 break只能用于循环语句和switch语句,例 break举例:,main() int s=0,i; f。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值