浙江大学刘加海C语言课件2.doc

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 程序的控制结构 1.if语句和用if语句构成的选择结构。 2.if语句的嵌套。 3.switch语句。 4.while循环。 5.do~while循环。 6.for循环。 7.循环的嵌套。 本章难点 1.if语句中的条件表达式的理解。 2.if与else的配对问题。 3.switch语句的程序流向。 4.while、do~whilefor循环的特点。 5.for循环中的执行过程及for循环的变化形式。 6.循环嵌套中的执行过程。 在程序的编写过程中常常会碰到程序的流向问题,C语言中控制程序流向的语句结构叫控制结构,而控制结构中的条件表达式含有关系运算和逻辑运算,C语言提供了可以进行逻辑判断的选择语句,根据逻辑判断的结果决定程序的不同流程,任何复杂的程序都是由顺序结构、分支结构及循环结构构成。 程序的这三种结构是程序设计中最基本的问题,也是程序设计的基础。程序设计中要决定程序的流向、是否重复地执行某项任务等都要涉及到程序的流程控制。本章将重点介绍程序控制结构语句及其使用方法。 2.1 程序的分支结构2.1.1 if语句和用if语句构成的选择结构 ’{‘开始,符号’}’结束,在逻辑上复合语句作为一条语句来使用。 语句的功能:如果表达式的值为真(非0),则执行语句块,否则不执行该语句块。程序流程图如2.1所示。 图2.1 程序流程图 例如学生的成绩grade大于等于60,在屏幕上显示“恭喜你,通过了!”,则可用以下语句描述。 if(grade=60) printf(恭喜你,通过了!\n); 如果学生的成绩grade大于等于60,除了在屏幕上显示“恭喜你,通过了!”,还要使已取得总学分score加2,则修改以上语句为如下: if(grade=60) { /* 把多个语句用{ }括起来组成一个复合语句 */ printf(恭喜你,通过了!\n); score+=2; } 如果以上语句写成: if(grade=60) printf(恭喜你,通过了!\n); /* 只能有一条语句属于if语句结构 */ score+=2; /* 这条语句不在if语句结构中 */ 其程序流程图变为如图2.2所示,这样使“score加2”操作在学生成绩小于60时也执行了,这与要求不符,程序结果是错的。 图2.2 程序流程图 所以if语句结构中,若需要用多条语句实现操作时,必须把多条语句用{ }括起来组成一条复合语句。同样,在以后介绍的选择结构和循环结构语句中也都有类似的情况。 if语句中的表达式(包括循环语句中的表达式)通常是逻辑表达式或关系表达式,但也可以是其他表达式,如赋值表达式等,甚至可以只是一个简单变量。 如:if(i) printf(i≠0); 判断i的值是否不为0,来决定语句printf(i≠0);是否执行。  if((ch=getchar())!=\n) printf(%c,ch); 从键盘输入一个字母赋给ch,如果ch的值不为换行符,执行语句printf(%c,ch);输出该值。 思考: 定义一字符变量ch并从键盘读入,如为小写字母转化为大写字母后输出,否则什么也不做,程序结束。 提示:判断是否为小写字母可写为:(ch=’a’ch=’z’),小写字母转化为大写字母、输出构成一个复合语句,此复合语句为:{ch-=32;printf(“%c”,ch);} 2.if~else 选择结构 语句格式: if(表达式) 语句块1 else 语句块2 语句的功能:如果表达式的值为真(非0),则执行语句块1,否则执行语句块2。程序流程图如图2.3所示。 图2.3 程序流程图 如果根据学生的成绩grade是否大于等于60,决定在屏幕上显示“恭喜你,通过了!”或“很抱歉,没通过!”,则可用语句描述如下: if (grade=60) printf(恭喜你,通过了!\n); else printf (很抱歉,没通过!\n); 根据编程者的喜好或程序结构方面的考虑,可以修改表达式,调整语句为: if(grade60) printf(很抱歉,没通过!\n); else printf(恭喜你,通过了!\n); 如果也要增加学分的话,可以描述成: if(grade=60) { printf(恭喜你,通过了!\n); score+=2; } else printf(很抱歉,没通过!\n); 或: if(grade60) printf (很抱歉,没通过!\n); else { printf (恭喜你,通过了!\n); score+=2;  } 思考: 定义二个整型变量x、y,并从键盘读入一个整型数给x,如此

文档评论(0)

WEnIkCQbwJ + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档