




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
会计学1程序流程控制任务一考察顺序结构的执行特点请观察下面的流程图1.在该图中运用了哪些流程图框?起止框、输入输出框、一般处理框2.根据流程图,写出相应的C程序。开始输入半径:rS=3.14*r*r输出面积:s结束main(){floatr,s;scanf(“%f”,&r);s=3.14*r*r;printf(“s=%f\n”,s);}第1页/共66页在写程序中,注意流程线的方向。在程序中,正确定义变量。顺序结构的执行特点:程序按照语句从上到下的排列顺序依次执行,每条语句必须执行且只能执行一次。知识盘点:第2页/共66页任务二熟悉顺序程序2.根据流程图,完成C程序。#include”stdio.h”main(){charch1,ch2;printf(“请输入一个大写字母:”);
ch1=getchar();ch2=ch1+32;printf(“相应的小写字母为:”);putchar(ch2);}3.如果输入的字符不是大字字母,这样的转换还有意义吗?怎样才能避免输入非大写字母?请看题目:输入一个大写字母,转换成小写字母输出。1.填写流程图开始输入大写字母ch1ch2=ch1+32输出小写字母ch2结束答:这样的转换没有意义,如果要避免输入非大写字母,可以在转换前加一个是否是大写字线的判断。第3页/共66页任务三设计顺序程序请看题目:输入2个整数a、b,然后交换a、b的值输出。1.填写流程图2.根据流程图,写出C程序。开始输入a,b输出交换前a,b的值输出交换后a,b的值结束main(){inta,b,t;scanf(“%d%d”,&a,&b);printf(“交换前a=%d,b=%d\n”,a,b);t=a;a=b;b=t;printf(“交换后a=%d,b=%d\n”,a,b);}3.如果不借助中间变量t能使变量a、b的值交换吗?如果能,该如何编程?t=a;a=b;b=t;第4页/共66页模块二分支程序设计能力目标:根据实际问题,正确书写关系、逻辑表达式正确认识分支结构的执行特点运用if语句的3种形式及switch语句进行分支程序的设计第5页/共66页任务一认识关系运算符和关系表达式1.观察C语言提供的6种关系运算符:>、>=、<、<=、==、!=2.上机调试程序,记录运行结果#include”stdio.h”main(){inttrue,false;true=(1==1);false=(1==0);Printf(“真=%d,假=%d\n”,true,false);}请记录运行结果:真=1,假=03.完成下表:表达式表达式的值表达式的结果-3+1-22+7*323真a=001==00假真假第6页/共66页知识盘点:关系运算的概念关系运算的优先级关系表达式的概念第7页/共66页任务二认识逻辑运算符和逻辑表达式1.3种逻辑运算符:&&、||、!3.写出下列表达式的等价式x>y&&m>n等价于(x>y)&&(m>n)a!=b||x==y等价于
!x||x>y等价于
x>7&&x+y!=20等价于
3+2&&5>4||!0等价于
2.完成下表表达式表达式的值(3<2)&&(7>5)(3<2)||(7>5)!(3>2)010(a!=b)||(x==y)(!x)||(x>y)(x>7)&&(x+y!=20)(3+2)&&(5>4)||!0第8页/共66页知识盘点:逻辑运算符的概念逻辑运算符的优先级逻辑表达式的概念第9页/共66页任务三书写关系、逻辑表达式1.写出判断一个字符是否是空白符(‘\t’、’\n’、’
’)的逻辑表达式:(ch==‘‘)||(ch==‘\n’)||(ch==‘\t’)2.写出判断某一年是否为闰年的逻辑表达式。(1)分析:闰年的条件是符合下列2个条件之一:能被4整除,但不能被100整除;能被400整除(2)请分别写出2个条件的逻辑表达式:year%4==0&&year%100!=0year%400==0(3)如果将2个逻辑表达式合并为一个式子,该如何写?(year%4==0&&year%100!=0)||(year%400==0)第10页/共66页任务四考察条件控制语句if语句1.考察分支结构的执行特点请观察下面的流程图:开始输入一个正整数xx%6==0输出“yes!”输出“no!”结束该流程图中,根据其真假使流程分支的判断条件是什么?该流程图所表示的程序功能是什么?答:x%6==0答:判断一个正整数是否是6的倍数。第11页/共66页2.认识if语句(第一种形式)(1)请观察下面的流程图:x>0x=x+1该图用if语句表示为:if(x>0)x=x+1;(2)试写出if语句的一般形式:(3)归纳if语句的流程图:表达式语句if(表达式)语句第12页/共66页知识盘点:第13页/共66页(4)题目:输入一个整数,如果该数为正,输出该数。完成程序:main(){intx;scanf(“%d”,&x);if
printf(“%d”,x);}根据程序,画出流程图。思考:如果要求x的绝对值,用if语句(第一种形式)实现,该如何完成?(x>0)main(){intx,y;scanf(“%d”,&x);if(x>=0)y=x;if(x<0)y=-x;printf(“绝对值为:%d\n”,y);}第14页/共66页3.认识if…else语句(第二种形式)(1)请观察下面的流程图:x>0y=xy=-x
真假该流程图表示的意思是什么?(2)if…else语句的形式:
if(表达式)语句1else
语句2(3)请填写流程图:
真假语句1答:求x的绝对值。表达式语句2第15页/共66页知识盘点:if…else语句构造了两路分支的选择结构,也是一种最基本的选择结构。如果“表达式”计算为真,执行语句1;否则执行语句2。其中“语句”部分可以是简单语句或者复合语句。“表达式”可以是关系表达式、逻辑表达式,也可以是算术表达式。第16页/共66页(3)题目:从键盘上输入两个整数x和y,若x2+y2大于10,则输出x2+y2个位上的数字,否则输出两数之和。
请画出流程图:由流程图的思路,填写程序。#include”stdio.h”main(){intx,y,s,l;printf(“请输入2个整数:”);
scanf(“%d%d”,&x,&y);s=x*x+y*y;if
{l=s%10;printf(“%d”,l);}elseprintf(“%d”,x+y);}(s>10)第17页/共66页4.认识if…else…if语句(1)题目:输入一个数x,如果x<1,则y=x;如果x>=10,则y=3x-10,否则,y=2x-1,输出y的值。
该题将面临几种选择?答:3种选择。第18页/共66页(2)请观察下面的流程图,回答问题。x<1x>=10y=xy=2*x-1y=3*x-10①对照上图形式在图内填空表达式1语句1语句2表达式3语句4真假真假真假真假
真假②根据上图,写出对应的语句形式。if(表达式1)
语句1elseif()语句2elseif(表达式3)
else
语句4表达式2语句3表达式2语句3第19页/共66页(3)根据所得语句形式,填写程序,并记录上机调试结果。#include”stdio.h”main(){floatx,y;printf(“请输入x的值:”);
scanf(“%f”,&x);if((x<1)
elseif(x>=10)y=3*x-10;else
printf(“y的值为:%.2f\n”,y);}请记录上机调试结果:y=x;y=2*x-1;第20页/共66页知识盘点:
if…else…if语句是通过一连串的判断,来实现互斥分支,它排列了一系列的操作,每一种操作是在相应的条件下才能执行。该语句执行时,依次对各个条件进行判断,符合某一条件,则转去执行该条件下的操作,其余部分被跳过;若无条件为真,就执行最后一个else所指定的操作。第21页/共66页5.else与if的配对规则请观察以下程序段和流程图,完成问题。程序段:
if(x>7)if(x<13)printf(“left!\n”);elseprintf(“right!\n”);x>7x<13输出left!输出right!流程图:x>7x<13输出left!输出right!真真假假真假真假第22页/共66页(1)判断以上2个流程图中,哪一个与程序段相吻合?为什么?答:根据else与if的配对规则,第二个图与程序段相吻合。(2)写出该程序段的运行结果。X的取值运行结果61218无结果left!right!第23页/共66页6.if语句的嵌套(1)按else与if的配对规则划分下列关系。
if(条件1)if(条件2)
语句1else
语句2elseif(条件3)
语句3else
语句4第24页/共66页(2)题目:有一个函数:-1(x<0)编程,输入一个x值,
y=0(x=0)
1(x>0)
输出y值。写法1:
main(){intx,y;scanf(“%d”,&x);if(x<0)y=-1;elseif(x>0)y=1;elsey=0;printf(“x=%d,y=%d\n”,x,y);}原因:请判断下列哪些写法是正确的?为什么?正确。第25页/共66页写法2:
if(x>=0)if(x>0)y=1;elsey=0;elsey=-1;原因:写法3:
y=-1;if(x!=0)if(x>0)y=1;elsey=0;原因:正确。不正确。第26页/共66页任务五考察switch语句#include”stdio.h”main(){chargrade;printf(“请输入成绩等级(A、B、C、D)\n”);grade=getchar();switch(grade){case’A’:printf(“优秀\n”);break;case’B’:printf(“良好\n”);break;case’C’:printf(“及格\n”);break;case’D’:printf(“不及格\n”);break;default:printf(“输入数据错误!\n”);}}switch语句部分流程图:1.请阅读下面的程序及流程图,完成问题。优秀良好及格不及格输入数据错误grade‘A’‘B’‘C’‘D’default第27页/共66页(1)记录上机调试运行结果:(2)说明该程序的功能是什么?(3)思考:如果将程序段中的所有break语句去掉,输入字符‘C’,运行结果是什么?答:运行结果为:及格不及格输入数据错误!第28页/共66页知识盘点:第29页/共66页2.请归纳switch语句的一般形式:第30页/共66页预期运行结果:
B<CR>上机调试结果:及格第31页/共66页任务六分支的应用第32页/共66页2.由上述分析,填写下列流程图。n<10n<100r=1.0r=0.9r=0.7真假真假真假n<50r=0.8第33页/共66页3.根据流程图,填写程序。4.请记录上机调试结果:n<50r=0.8第34页/共66页模块三循环程序结构能力目标:正确认识循环程序的执行特点运用3种循环语句(while语句、dowhile语句、for语句)进行循环程序设计运用2个循环辅助语句(break语句、continue语句),更好地控制程序流程第35页/共66页任务一认识while语句1.初识while语句(1)思考:在程序设计中,通常会遇到输出一个星号‘*’,可以用一个printf()语句,那么输出5个星号‘*’、10个星号‘*’,甚至更多的星号‘*’,该如何处理呢?(2)观察下面两个程序,完成问题。程序一main(){printf(“*\n”);printf(“*\n”);printf(“*\n”);printf(“*\n”);printf(“*\n”);}程序二main(){inti=1;while(i++<=5)printf(“*\n”);}①上面两个程序分别实现什么功能?②两个程序中,哪一个简便?在程序中能否用循环语句来实现对重复操作的控制?答:它们都实现输出5个星号‘*’。答:程序二简便,在程序中能用循环语句来实现对重复操作的控制。第36页/共66页2.学习while语句的形式(1)请观察下面while语句的形式,完成问题。①两条语句的关键字是什么?②关键字后的括号内是什么表达式?③关键字后的语句部分可以是哪些语句?(2)试写出while语句的一般形式。while关系表达式、逻辑表达式简单语句、复合语句while(表达式)语句第37页/共66页3.学习while语句的执行过程(1)请观察while语句的流程,完成问题。表达式语句真假表达式②①第38页/共66页(2)请记录该程序的上机调试结果,画出以下程序的流程图,并指出循环条件、循环体及循环控制变量的三个工作。请记录上机调试结果:①流程图:②循环条件是
循环体是
循环控制变量是
,3个工作分别是
、
、
。I<3printf(“%c\n”,ch);II=1I<3I++第39页/共66页(3)请观察下面2个程序段,完成问题。语句一I=1;while(I++<=10)printf(“hello!\n”);语句二I=1;while(--I<=10)printf(“world!\n”);①判断下面哪一个程序段是正确的?②循环控制变量更新的趋势是什么?③程序在什么时候才能判断循环是否终止?语句一让循环条件为假判断循环条件时第40页/共66页4.讨论用while语句编程求1+2+…+10之和。(同时画出该程序的流程图)程序:流程图:第41页/共66页知识盘点:第42页/共66页任务二认识do…while语句1.学习do…while语句的形式(2)试写出do…while语句的一般形式。dowhilesum=sum+i;i=i+1;i<=10do{
}While(表达式);第43页/共66页2.学习do…while语句的执行过程请观察do…while语句的流程,完成问题。语句表达式真假语句表达式①第44页/共66页3.do…while语句与while语句的区别(2)由上述运行结果看出,do…while语句与while语句的区别是什么?ABC*ABABC无结果答:当第1次执行循环体时,因为表达式为“真”,两种循环得到的结果相同;否则,二者结果就不同。(前提:二者循环体中的语句相同)第45页/共66页任务三认识for语句1.学习for语句的形式答:输入10个数,并求这10个数的和。for(表达式1;表达式2;表达式3)语句第46页/共66页2.学习for语句的执行过程请观察for语句的流程,完成问题。表达式1表达式2语句表达式3真假③②④第47页/共66页3.讨论for语句的灵活性(1)写出以下程序段的运行结果。(2)讨论:在for语句的表达式1、表达式2、表达式3中可能会出现哪几种情况?运行结果:运行结果:运行结果:运行结果:运行结果:第48页/共66页4.运用for语句编程编程求1×2×…×10之积。(同时画出该程序的流程图)程序:流程图:第49页/共66页任务四
认识循环嵌套1.学习循环嵌套的形式(1)请观察下面两个图,完成问题。(b)图第50页/共66页(2)阅读信息,完成问题。信息:C语言提供的3种循环结构:whiledowhilefor都可以相互嵌套,自由组合。问题:在已有几种循环嵌套形式后,补充3种合法的形式。嵌套形式:①while()②do{while(){do{}{}while();}}while();③④⑤for(;;)⑥{while(){}}第51页/共66页2.观察二重循环(1)请阅读程序,完成问题。①程序定义了哪些变量?②程序中采用几重循环嵌套?③程序中外层循环为哪几行?外层循环的循环体中有几条语句?④程序中内层循环为哪几行?内层循环的循环体中有几条语句?答:两个变量,m和n答:二重循环答:外层循环从7行到12行,外层循环的循环体中有2条语句。答:内层循环从9行到10行,内层循环的循环体中有1条语句。第52页/共66页(2)请观察循环嵌套部分的流程,完成问题。
m=1m<=5n=1n<=5输出m*nn++输出'\n'm++真假真假for156第53页/共66页②完成下表。(该表给出了内外层循环控制变量的变化情况)246810369121548121620510152025第54页/共66页(3)请阅读程序,完成问题,并记录上机调试结果。请记录上机调试结果:请思考:为什么会出现这种结果?与上例程序有什么区别?第55页/共66页任务五认识循环辅助语句:break语句和continue语句1.学习break语句(1)请阅读程序,完成问题。①该程序for语句部分的循环体内有几条语句?②除了当r>10时,可退出for循环外,是否有其他的方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多媒体设计师的职业定位试题及答案
- 临沂道法面试题及答案
- 2025矿业公司股权转让及合作协议范文股权转让合同的范本
- 司机实操考试题目及答案
- 2025年计算机二级MSOffice重点题
- 社会工作者考试复习试题及答案指南
- 普洱茶考试题及答案
- 组队备考的软件评测师试题及答案
- 中级社会工作者考试加油站试题及答案
- 养老类面试题目及答案
- 装修公司合同保密协议书
- 2025-2030中国公路建设行业发展分析及发展前景与趋势预测研究报告
- 2025购销茶叶合同范本
- 户外场地安全课件
- 陕09J01 建筑用料及做法图集
- FIDIC施工合同条件(红皮书)
- 学前儿童语言教育课件精品ppt
- CATIA实用入门教程ppt课件(124页PPT)
- x8线切割编控系统使用说明书v16
- 打磨作业指导书
- 医院体检报告模板(共2页)
评论
0/150
提交评论