版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序的控制结构《计算机软件基础》01.顺序结构02.选择结构03.循环结构主要内容本章重点难点本章重点:单个字符输入输出函数的功能与使用;格式化输入输出函数的功能与使用;逻辑表达式求值;条件表达式的正确使用;if、if-else和switch语句的一般形式及其执行过程;while、do-while和for三种循环语句的一般形式及其执行过程;编写包含顺序、选择和循环结构的综合程序并分析其运行结果。本章难点:按指定格式说明符(%d、%f、%c)正确地输入和输出数据;break和continue语句的正确使用;编写包含顺序、选择和循环结构的综合程序。01顺序结构AB顺序结构示意图1.单个字符输入/输出getchar():从键盘输入一个字符。putchar(C):输出一个字符。2.格式化输入与输出scanf(“格式控制”,地址列表)printf(“格式控制”,输出列表)例如:ch=getchar();putchar(ch);printf(“%s”,”china”);scanf(“%d”,&n);3.程序设计举例例2-4输入一个十进制整数,输出它的八进制、十六进制数。程序如下:#include<stdio.h>intmain(){inta;scanf("%d",&a);/*键入十进制数到a中*/printf("%o\n",a); /*输出a的八进制数*/printf("%x\n",a); /*输出a的十六进制数*/return0;}程序运行情况如下:12↙(输入十进制数)14(输出八进制数)c(输出十六进制数)02选择结构1.关系运算符和关系表达式1)关系运算又称比较运算,指对两个数的大小进行比较的运算C语言提供的关系运算符有6种:>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、==(等于)、!=(不等于)2)关系表达式,即用关系运算符把两个表达式连接起来的式子如果比较运算的结果符合给定的条件符合,则结果为真,用1表示;如果不符合,则结果为“假”,用0表示。3)优先级:算术运算符>关系运算符>赋值运算4)结合性:算术运算符(自左向右);
关系运算符(自左向右);
赋值运算(自右向左)。2.逻辑运算符和逻辑表达式1)C语言提供了三种逻辑运算符:!(逻辑非)、&&(逻辑与)、||(逻辑或)逻辑与:一般形式:a&&b;只有当a和b都为真时,结果才为真。逻辑或:一般形式:a||b;a和b中任一为真,结果为真。逻辑非:一般形式!a;a为真,!a为假;a为假,!a为真。2)优先级3)例题
要判别某一年是否为闰年。闰年的条件是符合下面两个条件的其中一个:①能被4整除,但不能被100整除;②能被400整除;
逻辑表达式为:
(year%4==0&&year%100!=0)||(year%400)==0)3.if语句1)if语句有三种基本形式:单分支if语句双分支if语句多分支if语句2)例题用C语言if语句编程实现,通过键盘输入学生成绩。若学习成绩>100,则输出“成绩有误”。否则,学习成绩>=90分,则输出等级“A”,成绩在60-89分之间,则输出等级“B”,60分以下,则输出等级“C”。4.switch语句1)多分支结构,用来解决嵌套的if语句层数多,可读性差问题。2)一般形式:switch(表达式){ case常量表达式1:语句组1;break; case常量表达式2:语句组2;break; …… case常量表达式n:语句组n;break; default:语句组n+1;}3)举例:用switch语句实现上页中学生成绩的例题。5.选择结构程序设计举例某一年为闰年的条件满足下面二者之一:①能被4整除,但不能被100整除。②能被400整除。试分别用if语句和switch编写C程序,根据输入年份,判断其是否为闰年。#include<stdio.h>intmain(){intyear;scanf("%d",&year);if(year%4!=0)printf("%disanotaleapyear\n",year);elseif(year%100!=0)printf("%disaleapyear\n",year); elseif(year%400!=0)printf("%disanotaleapyear\n",year);elseprintf("%disaleapyear\n",year);return0;}(year%4==0&&year%100!=0)||year%400==0简判断化03循环结构所谓循环,就是对一段程序重复执行多次。程序中需要被重复执行的部分为循环体。当型循环结构流程图直到型循环结构流程图1.循环三要素1.循环控制变量初始化;
定义了循环的起点2.循环条件;
界定了循环的终点3.循环控制变量的改变。
决定了循环的方向和改变的步长每个循环必须包含这三个要素。2.实现循环的三种方法:1)while语句:属于当型循环。其一般形式为:while(表达式)
循环体语句S;先判断表达式再执行循环体;2)do-while语句:属于直到型循环。其一般形式为:do{
循环体语句S;}while(表达式);先执行循环体再判断表达式;3)for语句:属于当型循环。其一般形式为:for(初始化表达式;循环控制表达式;增值表达式)
循环体语句S;当已知循环范围时,采用for循环书写更加简洁清晰。注意:初始表达式可以省略,但是分号不可省略;循环控制表达式也可以省略,分号不可省略,但是循环体中必须增加使循环能够结束的语句;增值表达式也可以省略,如果省略,分号不能省略,应该在循环体中加入使循环趋于结束的语句。4)举例:分别使用循环的三种实现方式编写求s=1+2+…+100的程序。5)三种循环的比较:三种循环都可以用来处理同一个问题。while和do-while循环,只在while后面指定循环条件,在循环体中应包含使循环趋于结束的语句(如i++等)。而for在增值表达式中包含了使循环趋于结束的语句。while和do-while循环中,循环变量的初始化应在while和do-while之前完成,而在for循环中,初始化表达式实现该功能。3.break和continue1)死循环与break语句在书写循环时,尽力避免死循环,因为死循环永无终止的。在C/C++中:经典的死循环写法:while(1){}
其中1表示true,因为永远为真,所以会一直循环下去。退出当前循环:break
注意break只退出一层循环。死循环加break可以构建未知循环次数的基本结构。2)循环与continue
在循环体中遇到continue语句时,程序将跳过continue语句后面尚未执行的语句,重新进行循环判断以决定是否继续进行下次循环,即只结束本次循环的执行,并不终止整个循环的执行。3)break与continue对比continue与break类似,都是跳出循环。但continue只是退出本次循环,不执行循环体中的后继语句,直接转到下一次循环,并非完全跳出循环。while(...){............break;............}while(...){............continue;............}跳出整个循环继续下一次循环4.循环举例(课下练习)1)输入一个整数,判断其是否为素数。素数是只能被1和自己本身整除的数。判断一个数是否为素数的方法很多。这里只介绍一种思路简单的方法,即用m分别除以2~m-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络编程与Linux内核-洞察分析
- 隐私保护下的用户行为分析-洞察分析
- 烟火表演叙事结构创新-洞察分析
- 不锈钢管道采购合同范本版B版
- 珠宝首饰店保安工作总结
- 基础设施建设施工合同范本
- 藤制品产业链条深度解析-洞察分析
- 肉牛购销的合同范本
- 地产顾问合同范本
- 建筑架子工劳务分包合同
- 人教版六年级语文上册期末考试卷(完整版)
- 2023-2024学年第一学期期末质量检测九年级物理试题(带答案)
- 建筑幕墙物理性能分级
- 河南省2024年道法中考热点备考重难专题:发展航天事业建设航天强国(课件)
- 临床诊疗规范与操作指南制度
- DLT 5285-2018 输变电工程架空导线(800mm以下)及地线液压压接工艺规程
- 新员工入职培训测试题附有答案
- 劳动合同续签意见单
- 大学生国家安全教育意义
- 2024年保育员(初级)培训计划和教学大纲-(目录版)
- 河北省石家庄市2023-2024学年高二上学期期末考试 语文 Word版含答案
评论
0/150
提交评论