版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言教案教学课题C程序结构课题类型理论课时安排2上课时间教学目标掌握C语言源程序的组成2.掌握C语言源程序结构特征教学重点掌握C语言源程序的组成掌握C语言源程序结构特征教学难点掌握C语言源程序结构特征作业布置教学方法教授法教学后记复习引入C语言程序的结构有自身的特点,在编写C语言程序时必须遵守C语言的语法要求,这是编写正确的C程序的最基本要求。本模块为大家提供C语言源程序结构的特性描述、在编写C语言程序时允许使用的字符集,并介绍如何在C语言程序开发环境TurboC2.0中快速运行C语言程序。教师活动教学过程师生互动活动设计提问:进入课题:任务一考察并描述C源程序的组成1.下面的程序完全遵守C语言语法规则和书写规范,请仔细观察并分析其组成和结构,按要求填空。该程序实现从键盘输入2个整数a、b,然后输出两数之和的功能。#include"stdio.h"/*预编译命令*/main()/*函数头*/{/*{函数体开始标志*/inta,b,s;/*定义3个整型变量a,b,s*/printf("输入两个整数a,b\n");/*输出提示信息*/scanf("%d%d",&a,&b);/*输入2个整数a,b*/s=a+b;/*计算a、b的和存入s中*/printf("a+b=%d",s);/*输出变量s的值*/}/*}函数体结束标志*/(1)函数是,由和组成。(2)函数体中的程序行称为,它的结束字符是。2.请分析下面程序的组成,然后解决表中的问题。该程序实现输入2个数a、b,然后输出两数中较大者的功能。#include"stdio.h"main(){ inta,b,m;scanf("%d%d",&a,&b);学生回答分析提问:m=max(a,b);printf("max=%d\n",m);}intmax(intx,inty){ intt;if(x>y)t=x;elset=y;returnt;}(1)用框线标出程序中的函数及它们的函数头和函数体。(2)写下程序中函数的函数头,进行比较,并写出你的比较结果。(3)max函数的函数体语句行没有对整齐,你认为这样好吗?(4)在C语言程序中必须要有一个名为main的函数,此说法对吗?知识点,提示学生注意(1)在C程序中/*…*/是注释符,它用于标志程序注释的开始和结束,注释可以增强程序的可读性,它不影响程序语句的执行。在程序中添加简洁、清晰的注释是一种良好的编程习惯。(2)在调试程序时,可以把暂时不需要执行的语句放在/*…*/之中,C编译器不会对/*…*/的任何内容进行编译,需要时只需删除语句前后的/*和*/即可,这比不用时删除这些语句,需要的时候再重新录入有更高的效率。3.根据你对C语言源程序的认识,与同学们讨论完成填空。(1)C语言源程序是由组成的,它们的数目可以有个。(2)在C程序中学生回答注意记忆讨论完成提问:(是/不是)必须有一个函数名为main的函数。上面例程中main函数后的小括号()没有任何内容,它(可以/不可以)省略。(3)C程序中的语句用结束,你认为在一个程序行上可以写个语句,一个C语句(能/不能)写在多个程序行上。请观察并分析下面的程序在书写上存在什么问题?完成下面表中提出的要求。该程序实现输入圆的半径,计算并输出圆的面积和周长的功能。#include"stdio.h"#definePI3.14floatarea_of_circle(floatr);floats;s=PI*r*r;returns;floatgirth_of_circle(floatr)floatc;c=2*PI*r;returnc;}main{floatcsccradius;scanf("%f",&radius)cs=area_of_circle(radius);cc=girth_of_circle(radius);printf("圆的面积是:%f,圆的周长是:%f\n",cs,cc);}请在程序中标出你认为有问题的地方,并指出在书写程序时要特别注意的事项:知识归纳:C语言程序由一个或多个函数组成,函数是一段具有特定格式的,实现了一定功能的程序段。函数是C语言程序的基本单位。其中有且仅有一个main函数。C函数由函数头和函数体2部分组成。函数名后必须跟有一对小括号,小括号是函数的标志;函数体由一对大括号括起来的语句序列组成。分号“;”是C语句的结束符。C编译器以分号来识别一个语句是否结束,因此,一行可写多个语句,一个语句也可以写在多个程序行上。做一做识记C语言教案教学课题C程序结构课题类型理论课时安排2上课时间教学目标学会正确使用合法的字符和标识符了解在TurboC2.0中快速地运行C语言程序并查看程序结果教学重点学会正确使用合法的字符和标识符了解在TurboC2.0中快速地运行C语言程序并查看程序结果教学难点学会正确使用合法的字符和标识符作业布置教学方法教授法教学后记复习引入上节课程我们学习了C语言的结构,那C语言是如何构成的呢?构成C语言的组成又有什么要求,现在我们一起来学习教师活动教学过程师生互动活动设计练习任务二分析C语言程序的组成元素1.请观察并分析程序中用到了哪些字符(你现在不必读懂这个程序)。然后完成表中的要求。#include"stdio.h"main(){inttimes15;floatsum_of_num=0,fvar;times15=1;while(times15<=5){scanf("%f",&fvar);if(fvar>0)sum_of_num+=fvar;times15++;}printf("输入的数中大于0的数之和是:%f",sum_of_num);}学生练习,完成下表:C语言可用字符统计表字符类别名程序中的示例字符字符集合2.观察并分析程序中的标识符。填表提问:归纳在程序中用命令来表示计算机要执行的操作,通过调用函数来完成所需的功能,使用变量来临时存储待处理的数据,命令、函数和变量等是组成程序的基本对象,每一个程序对象都需要一个名字来标识,程序对象的名称就是标识符。请列出上面程序中的标识符,试按标识符所表示的对象不同进行分类,完成下表。知识提醒:标识符必须采用半角西文字符(即纯西文字符),不能用全角的西文字符。在中文环境下要特别注意,避免在中文输入状态下录入程序。在C语言中标识符分为用户自定义标识符和系统标识符。用户自定义标识符是指在程序中由用户为变量、函数、数组等程序对象命名的标识符;系统标识符是C语言编译系统内部预定义的用于表示命令、数据类型的标识符,又称为保留字。保留字不能用作用户标识符。3.请研究用户标识符的命名规则。上机实验是探索标识符命名规则的最佳途径,或请教有经验的C语言程序设计员以及你的C语言课程教师,完成下表中提出的问题。(1)对下列问题进行讨论①标识符中可允许使用的字符有哪些?②标识符中的第一个字符有什么要求吗?③标识符中区分字母大小写吗?如Fab与fab,它们是相同还是不同的标识符?④命名标识符时要用多少字符才恰当?⑤一个标识符可以随意用一些字符构成吗?这样的标识符便于使用吗?⑥保留字可用于用户标识符吗?○能○不能(2)归纳标识符的命名规则知识归纳:C语言的基本字符集英文字母:a~z和A~Z识记学生回答阿拉伯数字:0~9其他符号:()、[]、+、-、*、/、%、<、<=、>、>=、==、!=、!、&&、||、++、--、+=、-=、*=、/=、%=等,它们一般由1~2个符号组成用作C语言的运算符;还包括空格、换行符、回车符、单双引号、大括号、逗号、分号、反斜线等符号。标识符是用于标识命令、变量、函数、数组、数据类型等程序对象的名称的字符序列。用户标识符的命名规则标识符可由字母、数字、下划线3种字符组成。标识符的第一个字符必须是字母或下划线。保留字不能用作用户标识符,C语言的关键字请见附录3。标识符区分字母的大小写,time、Time、TIME是3个完全不同的标识符。标识符由一个或多个字符组成,但一般只有前8个字符有效(TurboC的标识符前32个字符有效)。标识符宜选取能反映所标识的对象的有意义的英文单词(或缩写),做到见名知意,提高程序的可读性。标识符的选择应遵循“常用取简,专用取繁”的原则,一般在6个字符以内就能适应各种应用的需求。提醒注意:C语言的基本字符都是半角西文字符(即纯西文字符)。用户标识符的命名规则中前三条用于判定一个用户标识符的合法性,后面四条规则校验标识符的可读性和易用性。任务三执行一个C语言程序TurboC是在PC机上广泛使用的基于DOS操作系统的C语言处理程序,它向用户提供了一个集成的开发环境,即它把程序的编辑、编译、连接、运行等操作全都集中在一个界面下完成。现假定计算机的操作系统是Windows2000,TurboC安装在计算机的D盘,安装目录为根目录下的tc文件夹。1.启动TurboC2.0集成开发环境①单击“开始”—“程序”—“附件”—“命令提示符”,进入DOS系统环境。②在DOS系统提示符后依次输入“d:”→“cdtc”→“tc”,进入TurboC的集成开发环境。2.编辑C语言源程序记忆理解注意①按功能键F10激活菜单,执行“File”—“New”新建一个程序文件,如图1.2所示。②在编辑窗口中输入C语言源程序。此处输入任务一中第一个程序代码。3.保存C程序文件①在编辑状态下按功能键<F2>。②在弹出的对话框中输入程序文件名(扩展名“.C”可以不输入,编辑器会自动添加),然后按回车键即可。4.编译运行程序①仔细检查程序代码是否有语法和逻辑错误。②按快捷键<Ctrl>+<F9>,TurboC依次自动完成当前程序的编译、连接并运行程序。5.查看程序运行结果①按快捷键<Alt>+<F5>切换至用户屏幕观察程序运行结果。②观察完毕,按任意键返回编辑窗口。6.请根据实验完成下面的题目(1)C程序从哪里开始执行,在哪里结束程序?①在TurboC中新建一个程序文件,输入并运行任务一中第二个程序,观察并记录程序语句执行的先后顺序。②交换任务一中第二个程序中main和max2个函数的位置,执行修改后的程序,仍关注程序语句执行的先后顺序。③根据这两次程序执行的情况,你的结论是:
。(2)C语言源程序运行的过程C语言源程序的运行要经过、、和,每步生成的文件扩展名分别是、、。(4)TurboC编译器操作①请描述编译器窗口菜单的操作要点。②快捷键能够提高操作的效率,请找出实现下面操作的快捷键。做一做程序文件存盘:编译运行程序:查看用户屏幕:打开程序文件:退出编译器:小结:本章节主要学习了C语言程序的结构和组成。学习了标识符的命名规则。了解了C语言执行的过程。C语言教案教学课题C程序基本数据对象基本数据类型课题类型理论课时安排2上课时间教学目标掌握C语言基本数据类型掌握C语言基本数据类型的特性会正确的使用数据类型教学重点掌握C语言基本数据类型掌握C语言基本数据类型的特性教学难点掌握C语言基本数据类型的特性作业布置方法教学教授法教学后记复习引入程序加工处理的对象是数据。人们用数据来记录和描述事物及它们的相关特性,事物不同或描述的方面不同,所采用的数据的形式和相关的处理方法也不同,这就产生了数据类型。本模块将讨论C语言程序中的基本数据对象的类型,如何在程序中使用常数和变量2种形式的数据对象。教师活动教学过程师生互动活动设计进入课题任务一对数据进行分类1.请收集下面所列对象的相关数据,并完成下表提出的要求。在一页纸上列出描述下列对象的数据:中央电视台提供的节目套数你的身高(m)和体重(kg)你所在班的人数一次英语教师为你的作业评定的等级你的身份证号码、电话号码中国的英语拼写形式光的传播速度……(请你补充)描述对象属性数据电视台节目套数 人身高 人体重 班级人数 作业等级 电话号码 收集数据补充学习练习教师归纳国家(中国)英语拼写形式光传播速度 2.对收集到的数据进行分类,分析数据的组成形式、可以进行的操作等特性,按要求填写下表。(1)数据的基本特性数据组成是否用小数点能否算术运算描述的对象属性单位是否可分知识归纳:C语言中数据的基本类型名称标识符长度(字节)取值范围描述整型数据基本整型int2-32768~32767填表注意记忆用于描述事物对象个数、数目等不可分的属性的数据被称为整型数据,简称整数长整型long4-2147483648
~2147483647无符号整型unsigned20~65535只能表示非负整数实型单精度实型float43.4e-38~3.4e+38记录事物对象的长度、重量等属性的带小数点的数据被称为实型数据,简称实数双精度实型double81.7e-308~1.7e+308字符型char1事物对象的名称、代号以及其他属性的文字性描述被称为字符型数据本章节主要学习了C语言的基本数据类型,了解了他们的特性。学会了怎样正确的使用数据。小结C语言教案教学课题C程序基本数据对象常量书写规则课题类型理论课时安排2上课时间教学目标了解常量的概念在语言程序中正确规范书写各种类型的常量教学重点了解常量的概念在语言程序中正确规范书写各种类型的常量教学难点在语言程序中正确规范书写各种类型的常量作业布置教学方法教学后记复习引入常量是指从字面上即可直接识别该数据的类型和数据值的数据对象。它在程序的整个运行过程中其值不会发生变化。每种类型的数据都有常量形式,它们在程序中都有相应的书写要求。教师活动教学过程师生互动活动设计进入课题提问任务二正确书写C程序中的常量1.请观察下面程序中出现的整型常量,并描述它们的组成和书写格式。#include"stdio.h"main(){intpn,ox,adr;pn=-563;ox=037;adr=0x3f4d;printf("%d",pn+ox-adr);}(1)在程序中标出常量对象。(2)这些常量中有小数点吗?○有○没有(3)请描述整型常量的书写要求形式组成元素书写规则十进制八进制十六进制(4)请写几个正确的整型常量:做一做提示提问(5)请写几个错误的整型常量:在整型常量后面加字母l或L表示这是一个长整型常量,如56l或56L。这种书写格式常用于函数的调用中,C语言要求调用函数时实参类型必须与形参类型相同,如果函数的形参是long型,则要求实参也为long型,此时若用整型常量345作实参就不行,而要用345l作实参。2.请运行下面的程序,观察程序中出现的实型常量,并描述它们的组成和正确书写格式。#include"stdio.h"main(){floatfv1,fv2;doubledv1,dv2;fv1=5.672;fv2=321E-24;dv1=-.125;dv2=2.97e5;printf("%f%f\n",fv1,fv2);printf("%f%f",dv1,dv2);}提问:(1)在程序中标出常量对象。(2)这些常量中有小数点吗?○有○没有(3)小数点的一侧可以不写数字吗?○可以○不可以(4)有的常量中出现了字符,它相当于数学上的记数法。(5)请描述实型常量的书写要求(6)请用TurboC编译器编译下面的程序,分析其他出错的原因,然后描述书写实型常量的注意事项。#include"stdio.h"main(){floatr1,r2,r3.r4;r1=9.5.6;注意记忆练习,做一做讨论完成提问:r2=6.2E3.5;r3=200e;r4=e10;printf("%f",r1+r2+r3+r4);}①指出实型常量书写错误的地方:②请描述正确书写实型常量的注意事项:3.请观察下面程序中出现的字符型常量,并描述它们的组成和正确书写格式。#include"stdio.h"main(){charcs;cs=getchar();if(cs=='1')puts("Best");esleif(cs=='2')puts("Better");elseif(cs=='3')puts("Good");elseputs("Error!");}(1)在程序中标出常量对象。(2)这些字符型常量在书写时使用了什么作为定界符?(3)请为字符常量和字符串常量下定义。字符是字符串是(4)请描述字符型常量的书写要求(5)请按书写要求写几个正确的字符型常量。字符:字符串:做一做提醒注意记忆知识提示:有的字符不能像字母、数字等字符那样能在程序中直接输入,它们中有的是“控制字符”,代表一种操作且不能在屏幕上显示,如换行符、退格符等;还有一些字符在C语言中有别的含义也不能直接输入,如单引号、双引号等。在C语言中这类字符采用一种称为“转义字符”的特殊形式来表示。转义字符是以反斜线“\”字符开头的字符序列。如换行符不是按回车键来输入而是输入’\n’,C语言编译程序会把反斜线后的字符解释为另一个字符,这里’\n’中的字符n就不是字母n而作为换行符。转义字符表示的是一个字符。常用的转义字符转义字符代表的字符ASCII码\n换行符(使光标移到下一行开头)10\r回车符(使光标回到本行开头)13\b退格符(使光标左移一列)8\t水平制表符9\v垂直制表符11\'单引号39\"双引号34\\反斜线92\dddddd:1~3位八进制数形式的ASCII码所代表的字符\xhhhh:1~2位十六进制数形式的ASCII码所代表的字符C语言编译器通过常量形式来识别它们的类型而不管其数学意义。如2e3的数据类型是实型而不是整型。注意要求阅读在C语言中,字符串未尾会自动加上一个空字符作为结束符,其书写格式为'\0',在存储字符串时要同时存储字符串结束符。组成字符串的字符的个数,称为字符串的长度。计算字符串长度时不计定界符和结束符。4.阅读下面的程序,观察在程序中如何使用标识符来表示常量,完成表中提出的要求。当在程序中需要多次用到一个常量时,C语言中可以用一个标识符来代表这个常量,这个代表常量的标识符称为符号常量。#include"stdio.h"#defineMW"hello!"#defineTIME3#definePI3.14main(){intr=6;floatl,s;l=2*PI*r;s=PI*r*r;printf(“l=%f,s=%f\n”,l,s);}(1)指出程序中使用的符号常量及所代表的值。(2)请写出定义符号常量的一般格式。(3)在程序中用标识符PR表示2500,请你给出相关的定义。(4)如果要使用圆周率3.14159来进行计算,你认为有程序中要做几处修改?○1处○2处(5)如果程序中有100个地方要使用圆周率,你是愿意直接使用圆周率的值,还是为它定义相应的符号常量,谈谈你的想法。(6)使用符号常量时的注意事项:阅读程序做一做理解记忆(7)请说出在程序中使用符号常量的好处。知识归纳:常量的书写规则①凡不带小数点或指数的数就是整型常量,它有十进制、八进制、十六进制3种形式:十进制形式:遵循数学上的书写要求,如128、-49、+356等。八进制形式:由0开头后跟(0∽7)中的数字组成的数字串,如010、0657、-036等。十六进制形式:由0x或0X开头后跟(0∽9,a∽f或A∽F)中的数字组成的数字串,如0xac、0x78d6、0X101、0X6C6C等。②实型常量有十进制小数和指数2种形式,十进制小数形式中必须有且只有一个小数点,且小数点的左右至少一边有数字;书写指数形式注意字母e(或E)之前必须有数字,其后面的指数必须为整数。③字符常量是用单引号('')括起的一个字符,转义字符例外,转义字符仍是一个字符;字符串常量是用双引号("")括起字符序列(字符串中的字符可以是转义字符)。定义符号常量①一般格式:#define标识符常量②注意事项:定义符号常量的命令是预编译命令,放在源程序的最前面;标识符中的字母一般采用大写形式;命令行后没有分号,命令中各部分用空格分隔。③符号常量带来的好处是提高了程序的可读性,便于程序的修改。C语言教案教学课题C程序基本数据对象变量课题类型理论课时安排2上课时间教学目标识记变量的概念在C语言程序中正确使用变量教学重点识记变量的概念在C语言程序中正确使用变量教学难点在C语言程序中正确使用变量作业布置教学方法教授法教学后记复习引入变量是程序中数据对象的一种重要形式。为了在程序中有效组织和处理数据,你需要理解变量这种数据形式,掌握在程序中使用变量的要求和操作方法。教师活动教学过程师生互动活动设计教师提问任务三在程序中使用变量1.请运行下面的程序,记录程序结果,并完成提出的问题。#include"stdio.h"main(){floatpay=0.0;printf("1:pay=%f\n",pay);pay=6*1.5; printf("2:pay=%f\n",pay);}(1)程序中涉及哪几个数据对象?其中哪些数据对象发生了变化?思考后回答教师归纳(2)请为变量下定义。变量是。(3)你认为变量包含哪几个方面的要素?(4)程序中的变量好似存储数据的容器,你赞同这个比方吗?○赞同○不赞同(5)根据你对计算机基础知识的了解,你认为变量和计算机的内存储器有联系吗?请谈一谈你的看法。知识归纳:变量是在程序运行过程中其值可以发生变化的数据对象。变量包括变量名、数据类型和变量值3个要素。变量名必须是合法的自定义标识符。变量对应于计算机的一段内存单元,编译器根据变量的数据类型为变量分配相应的内存单元,数据类型决定了所分配给变量内存单元的多少。变量名是对应内存单元的符号化地址。2.阅读并运行下面2个程序,程序2在运行时输入p,根据程序的运行结果,描述在程序中变量的使用要求,完成提出的问题。程序1:#include"stdio.h"main(){intpn,tn;floatw1=3.2,w2,w3=0.369;charch;pn=100;tn=pn-1;w2=w1+w3;ch='K';理解记忆请学生对比回答printf("%d%d\n",pn,tn);printf("%f+%f=%f\n",w1,w3,w2);printf("%c",ch);}程序2:#include"stdio.h"main(){intpn,tn;floatw1=3.2,w2,w3;charch;pn=100;tn=pn-1;w2=w1+w3;scanf("%d",&ch);printf("%d%d\n",pn,tn);printf("%f+%f=%f\n",w1,w3,w2);printf("%c",ch);}(1)在程序中使用变量必须要。(2)定义变量要指出和,其一般格式为:(3)变量定义后的值:○确定○不确定(4)为变量预置初始值有2种方法,在上面左侧的程序中找出,并进行归纳。①②知识提示:符号“=”的作用是给变量赋值,它被称为赋值号。赋值号把它右边的值赋值给它左边的变量。关于赋值号的更多信息请参见模块三。思考后回答注意未赋值的变量其值不确定,不确定的值不能参加运算。因此,变量在参加运算前一定要赋初值或者为它输入值。知识归纳:在C语言程序中使用变量必须遵守“先定义,后使用”的原则。定义变量的一般格式为:类型标识符变量名列表;类型标识符即数据类型的名称,如int,float,char等。变量名列表是用逗号(,)分隔的变量名组成。为变量预置初始值有初始化和赋初值2种形式。变量初始化是在定义变量时预置它的初始数据;赋初值是指定义变量后,在使用之前的赋值操作。初始化:intx=1,y=2,z=3;赋初值:intx,y,z;x=1;y=2;z=3;理解记忆C语言教案教学课题C语言数据运算课题类型理论课时安排2上课时间教学目标1.掌握各种常用运算符的运算规则2.掌握各种运算符的优先级和结合性3.能正确将数学表达式与C语言表达式相互转换教学重点掌握各种常用运算符的运算规则掌握各种运算符的优先级和结合性教学难点掌握各种运算符的优先级和结合性能正确将数学表达式与C语言表达式相互转换作业布置教学方法教授法教学后记复习引入数据的运算处理是程序运行中的重要操作。在C语言中用运算符来表达在数据对象上进行的运算操作,参加运算的数据对象(常量、变量或函数)被称为操作数。运算符和操作数连接起来组成表达式,为了能在程序中表达对数据的运算处理,必须要理解运算符的特定的运算规则。教师活动教学过程师生互动活动设计进入课题任务一计算算术表达式的值算术运算是数据处理中的基本运算。算术运算符的运算规则大多数与数学上的运算规则相同,但也有个别运算符具有与数学上不同的处理要求。1.请分析下面程序运行结果,并通过上机验证,归纳在C语言中算术运算符的运算规则和特定的要求。#include"stdio.h"main()要求学习练习提醒学生注意{intm=19,n=5;floatf1=5.6,f2=9.5;printf("%d%d\n",m+n,m-n);printf("%d%d\n",m/n,n/m);printf("%f%f\n",19/5.0,19.0/5);printf("%d%d\n",m*n,-m);printf("%f%f\n",f1+f2,f1-f2);printf("%f%f%f\n",f1*f2,f1/f2,-f1);printf("%c%c\n",'B'-1,'B'+32);}学生练习(1)请在程序最后添加下列语句行,再执行程序,然后分析出现的情况。printf("%d%f\n",19%5.0,f1%f2);(2)分析程序运行结果,完成下表。写出各运算符的规则知识提示:字符型数据在计算机中存储形式是它的ASCII编码。ASCII码是整型数据,因此,字符可以加上或减去一个整数。虽然字符和整数之间可以进行其他的算术运算而不违背C语言语法规则,但却没有实际意义,在程序设计中应避免出现这样的运算。2.请根据你在数学课程所学到的算术运算符的运算规则,计算下面程序中的表达式的值,并上机验证,然后完成提出的要求。#include"stdio.h"main(){intm=16,n=5;printf("%d\n",m+6-n);printf("%d\n",m+5*2-n);printf("%d\n",(m+5)*(2-n));printf("%d\n",m/n*n);做一做理解记忆提问教师提示printf("%d\n",m%n*10);}学生练习:(1)请描述什么是算术表达式?(2)当在算术表达式中出现多个运算符时,你是如何确定它们运算的先后顺序?(3)表达式中的小括号有何作用?知识提示:优先级是指在一个表达式中运算符执行的先后顺序。结合性是指操作数与运行符结合的方向,它分为左结合、右结合2种。左结合是指从左向右结合执行运算,右结合是指从右向左结合执行运算。结合性决定了优先级相同的运算符的执行先后顺序。在C语言中,不同类型的数据可以进行混合运算,但在运算时运算符的操作数要转换成同一种数据类型。C语言提供了2种数据转换方式。①由编译器自动完成的类型转换,其转换操作如下所示。double←double←float↑long↑unsigned↑int←char,short箭头方向所指的是级别较高的数据类型←表示在运算时总要进行的转换。↑表示操作数类型不同时的转换方向。类型转换是一步到位的,不经过中间类型。做一做理解记忆②C语言通过类型转换运算符来完成将表达式的值转换成所需的数据类型,较高类型向低类型强制转换时会丢失信息。一般格式为:(类型标识符)表达式如(int)fv的值为int型,(float)x/y是把x的值转换成实数后再除以y。3.请把下面的数学表达式改写成C语言表达式,并完成下面的问题。(1)数学表达式 C语言表达式3x2+x-1(2)为了写出符合C语言语法规则又能保持原数学表达式的运算要求的表达式,你采取了什么措施?(3)请描述算术运算符的优先级和结合性。(4)请归纳将数学表达式改写成C语言表达式的要点:①②做一做C语言教案教学课题C语言中的赋值表达式课题类型理论课时安排2上课时间教学目标能正确的写出C语言的表达式掌握赋值表达式的计算方法3.能正确的为变量赋值教学重点掌握赋值表达式的计算方法能正确的为变量赋值教学难点掌握赋值表达式的计算方法能正确的为变量赋值作业布置教学方法教授法教学后记复习引入变量是在程序中临时存储数据的程序对象,程序中待处理的数据、程序运行的中间结果以及数据处理的结果都要由变量来保存。因此赋值成为C语言中的重要运算教师活动教学过程师生互动活动设计进入课题1.请运行下面程序,根据运行结果,考察程序中的赋值操作,完成表中提出的问题。#include"stdio.h"main(){intpl,mny,ttl=10;floatm1,m2;doubleewt,mnt;charsyb,sgn;pl=521;mny=78.926;ttl+=5;提问教师提示m1=34.5;m2=669;ewt=100;mnt=3.5E+32;syb='A';sng=97;printf("pl=%d,mny=%d,ttl=%d\n",pl,mny,ttl);printf("m1=%f,m2=%f\n",m1,m2);printf("ewt=%f,mnt=%f\n",ewt,mnt);printf("syb=%c,sgn=%c",syb,sgn);}学生练习:(1)实现赋值操作的运算符是,它的正确读法是:○等号○赋值号。它的作用是。(2)可以把与变量数据类型不同的数据赋值给变量吗?可以○不可以。当给变量赋予不同于它的类型的数据时,有哪些情况?C语言是怎样处理的?(3)请描述赋值运算ttl+=5的工作过程。(4)赋值运算操作的顺序是:○从左到右○从右到左。赋值运算符的结合性是。(5)可以把一个字符串赋值给一个字符变量吗?请上机实验后做出决定。○能○不能知识提示:赋值操作改变变量的值,变量值的变化遵守“新来旧去”的原则。未重新赋值的变量保持它原来的值。把与变量类型不同的数据赋值给变量,赋值运算符自动把该数据转换成变量的数据类型,然后把转换后的数据值赋给变量。当把一个实数赋值给一个整型变量时,将只把实数的整数部分赋值给变量。做一做理解记忆要求学生阅读提问字符型数据在计算机中存储形式是它的ASCII编码。ASCII码是整型数据,因此,可以把一个字符赋值给一个整型变量,也可以把一个整数赋值给一字符变量(该整数要是一个有效的ASCII,即在ASCII码的有效范围内0~127)。在没有特殊需要的情况,请不要把与变量类型不同的数据赋值给变量,以免出现数据处理误差或造成内存空间的浪费。形如+=的运算符是一个其他运算符(算术运算符)和基本运算符(=)的组合,称为复合赋值运算符。它兼有其他运算符的运算功能和给变量赋值的功能。其他常用的复合赋值运算符还有:-=、*=、、/=、%=。2.请运行下面的程序,根据程序运行结果,描述C语言对赋值表达式的值的规定。#include"stdio.h"#definePR125main(){intpl,ttl=10;floatl1;charsyb;printf("%d%d\n",pl=521,ttl+=5);printf("%f\n",l1=34.5);printf("%c",syb='A');}学生练习:(1)若在程序中加一行PR=250;运行程序时出现了什么情况?(2)请描述什么是赋值表达式,在C语言中赋值表达式的值的规定。①②(3)在赋值表达式中赋值号左边必须是,右边可以是。符号常量使用了标识符,可以给符号常量赋值吗?○可以○不可以(4)请分析下面赋值表达式的运算过程和表达式的值以及各变量的值。做一做①floatx,y,z;②inta,b=3,c=2;x=y=z=5.79;a+=b*=c+=2;任务三计算自增自减表达式的值自增自减运算是C语言中一种比较特别的运算。请分析并运行下面的程序,记录程序的运行结果,完成下面的问题。#include"stdio.h"main(){intx,y;x=1;y=x++;printf("%d%d\n",x,y);x=1;y--;printf("%d%d\n",x,y);x=1;y=++x;printf("%d%d\n",x,y);x=1;y=--x;printf("%d%d\n",x,y);}学生练习:(1)分析程序运行结果,填写下表(以变量x为例)运算符表达式形式表达式值变量值++前缀后缀——前缀后缀(2)请根据填表描述自增自减表达式的取值规则。①前缀表达式:②后缀表达式:(3)请通过上机实验考察++、--运算符的操作数的类型和数据对象的类型①可以参加自增自减运算的操作数的数据类型是。②常量和表达式能进行自增自减运算吗?○能○不能知识提示:做一做确定自增自减运算表达式的简单方法是:观察表达式中变量和运算符的位置关系,凡变量在前,则表达式的值为变量自增(或自减)之前的值;凡变量在后,则表达式的值为变量自增(或自减)之后的值。自增自减运算操作中包含有赋值操作,因此,不能对常量和表达式进行自增自减运算。自增自减运算符的优先级和结合性请参见本模块后“日积月累”中的表。理解记忆C语言教案教学课题C语言中的关系,逻辑表达式课题类型理论课时安排2上课时间教学目标1.掌握关系表达式的计算方法2.掌握逻辑表达式的计算方法3.能正确的计算关系逻辑表达式教学重点掌握关系表达式的计算方法掌握逻辑表达式的计算方法教学难点能正确的计算关系逻辑表达式作业布置教学方法教授法教学后记复习引入计算机程序能根据不同的条件作出不同的处理,两个数的大小关系常用来表达问题中的简单条件。在C语言中,比较两个数据大小关系的运算称为关系运算。现在我们就来一起学习教师活动教学过程师生互动活动设计进入课题上机运行下面的程序,完成下表中提出的要求。#include"stdio.h"main(){inta,b,c;floatx1,x2;charc1,c2;a=3;b=6;c=9;x1=3.6;x2=-9.97;c1='1';c2='a';printf("%d,%d\n",a>b,b<9);提问教师提示printf("%d,%d\n",x1>=3,x2<=0);printf("%d,%d\n",c1==1,c2!='A');printf("%d,%d\n",a<b<c,a<b==1);printf("%d,%d",c>b>a,1!=1<c1);}学生练习:(1)分析程序结果并填写下表(2)关系表达式是表示的表达式,关系表达式的运算结果有种取值情况。(3)在C语言中怎样表示关系运算的结果。(4)根据对程序运行结果的分析(或自行设计关系表达式上机实验)描述关系运算符的优先级和结合性。(5)字符参加关系运算,如何比较它们的大小关系?(6)把语句printf("%d","abc"<"ABC");添加到程序中并编译运行程序,根据程序出现的状况作出结论。(7)你能测试空字符('',单引号中没有任何字符)的ASCII的大小吗?请描述你的方法,并写出测试用的关系表达式,然后写出空字符的转义字符形式。知识提示:任何C语言表达式的结果都可以判定真假。C语言规定:“非0值”为“真”,“0值”为假。字符串不能直接用关系运算符进行大小关系的比较运算。知识归纳:关系运算是指两个数据对象进行大小关系比较的运算。用关系运算符连接而成的式子称为关系表达式。关系表达式表示的关系成立,结果为“真”,否则结果为“假”。在C语言中,关系表达式的结果为“真”其值为1,结果为“假”其值为0。人们把“真”、“假”两种值称为逻辑值。做一做理解记忆理解记忆要求学生填表数值数据(整型和实型)按数值大小进行比较,字符以它的ASCII码大小进行比较。关系运算符的优先级分为两组:高优先级组:>、>=、<、<=低优先级组:==、!=。关系运算符的结合性为左结合。请运行并分析下表中的程序,然后完成表中提出的要求。#include"stdio.h"main(){intm=7;n=12;charch1='r',ch2='R';printf("%d\n",m>=0&&m<=10);printf("%d\n",n>=0&&n<=10);printf("%d\n",m<=0||m>=10);printf("%d\n",n<=0||n>=10);printf("%d\n",ch1>='a'&&ch1<='z');printf("%d\n",ch2>='a'&&ch2<='z');printf("%d\n",!(ch1>='a'&&ch1<='z'));printf("%d\n",!(ch2>='a'&&ch2<='z'));}(1)根据程序运行结果填写下表逻辑运算符名称运算规则&&||!2)逻辑运算符的操作数除了关系表达式外,还可以是其他类型的表达式吗?请自行设计实验,并作出结论。(3)逻辑表达式的运算结果是怎样表示的。(4)请你分析下面逻辑表达式的值并上机验证,然后归纳逻辑运算符的优先级和结合性。①4||7&&0②!5&&79你的结论:(5)写出表达下面条件的表达式。做一做①ch是数字字符:教师提示教师归纳②ch是英文字母:③整数x不是偶数:(6)分析下面表达式执行后,变量x的值,归纳C语言对这类表达式的处理方法。intx=4,y=2,z=7;①y>z&&x++y<z&&z>7&&x++y<z&&z>=7&&x++结论:②y<z||x++y>z||z>=7||x++y>z||z>7||x++结论:知识提示:在C语言中,逻辑运算符不仅能连接关系表达式,还能连接其他类型的表达式。形如A&&B&&C用&&连接成的串联表达式,如果表达式A为假,则不再计算表达式B和C,依次类推。形如A||B||C用||连接成的串联表达式,如果表达式A为真,则不再计算表达式B和C,依次类推。知识归纳:逻辑运算符的运算规则:AB!AA&&BA||B00100011011000111011说明!A的结果是对A取反A,B同时为真A与B结果为真A,B同时为假A或B结果为假逻辑运算符的优先级由高到低的顺序是:!,&&,||理解记忆理解记忆在C语言中,逻辑表达式结果为真,其值为1;结果为假,其值为0C语言教案教学课题为程序输出数据课题类型理论课时安排2上课时间教学目标掌握printf函数的一般格式理解printf函数的工作过程掌握printf函数使用时的注意事项4.掌握字符输出函数putchar的用法教学重点1.掌握printf函数的一般格式2.理解printf函数的工作过程教学难点1.掌握printf函数使用时的注意事项作业布置教学后记复习引入程序界面是用户与程序交互的窗口,是用户输入数据和程序输出数据的地方。现代程序设计非常重视程序界面的美观和操作的易用性,因此数据的输入输出就成了程序设计中的一个重点。C语言没有专门的输入输出命令,它使用标准的输入输出库函数来实现数据的输入和输出操作。数据处理的结果必须要输出才能被用户使用,一个程序必须有数据的输出操作,简洁、直观的输出将大大提高程序使用者的工作效率。教师活动教学过程师生互动活动设计提问一、printf函数的一般格式和工作过程1.请上机运行下面的程序,记录下程序的运行结果,然后结合程序完成提出的问题。#include"stdio.h"#definestring"HelloIt`sC\n"main(){intm=6,n=65;floatfv1=3.64,fv2=76;doubledv=0.12345678;charch='A';printf("%d%d\n",m,n);printf("m=%d,n=%d\n",m,n);printf("fv1=%f,fv2=%f\n",fv1,fv2);printf("dv=%f\n",dv);printf("ch=%c,ch=\'%c\'\n",ch,ch);printf("ch=%c,ch=%d\n",ch,ch);printf("n=%c,n=%d\n",n,n);printf("HelloIt`sC\n");printf(string);}(1)请写出正确使用printf()函数的一般格式:(2)printf()函数的参数的第一部分是由组成的格式控制串,第二部分是由组成的输出列表。①请描述printf()函数中格式转换说明符的作用,填写下表。格式转换字符作用适用的变量数据类型②在格式控制串出现的普通字符处理方法是学生回答知识归纳。③表达式列表中的输出项可以是。(3)请描述printf()函数的执行过程。(4)输出字符和字符串时,会输出它们的定界符吗?○会○不会(5)在输出实数时,默认情况下printf()做了什么处理?(6)你认为在printf()函数的格式控制串中使用普通字符对程序的输出界面设计有益吗?谈谈你的看法。(7)字符可以用格式转换说明符%d输出吗?○可以○不可以。输出的结果是。(8)整数可以用格式转换说明符%c输出吗?○可以○不可以。输出的结果是,有什么限制吗?输出函数printf()的一般格式:printf(格式控制串,数据项列表);格式控制串由格式转换说明符和普通字符组成,它规定了数据输出时的格式;数据项列表由要输出的数据对象组成,它们可以是常量、变量和表达式。格式转换说明功能格式转换字符作用数据项类型%d把数据项转换成有符号十进制形式的整数int、long、char%f把数据项转换成十进制形式的小数float、double学生记忆提问提示注意%c把数据项转换成一个字符char%s把数据项转换成一个字符中字符数组printf()的工作过程:扫描格式控制串,遇到格式转换说明符时,把对应的数据项按指定的格式输出;若遇到普通字符则原样输出,依次类推,直到扫描完整个格式控制串。二、printf函数使用中应注意的问题2.请阅读并上机执行下面的程序,记录并分析程序的运行情况,然后完成问题。#include"stdio.h"main(){intm=35;floatx=5.69;charch='W'printf("%d\n",m,x);printf("%d%f\n",m);printf("%f%d\n",m,x);printf("%c%f",x,m);}(1)程序中的printf()函数语句有语法错误吗?○有○没有(2)该程序实现了相应变量值的正确输出吗?请你分析其中的原因。(3)为了能正确输出各种数据类型表达式的值,你认为格式转换说明符与输出列表中的输出项表达式应满足怎样的对应关系。在printf()函数的格式控制串中出现的普通字符,将原样输出到显示器屏幕上,可以利用这些普通字符来设计数据的输出格式。格式转换说明符%s用于输出字符串。实数在输出的时候,printf()函数自动保留6位小数,不足6位小数补0,超过6位,进行四舍五入。格式转换说明符与表达式列表中的数据项要一一对应,即个数相同,类型一致。如果没有格式转换说明符,也不应有输出列表项。学生回答学生记忆提问基本输入设备是键盘,基本输出设备是显示器。要使用标准的输入输出库函数,需要在程序开始处加上#include"stdio.h"预处理命令,以通知C编译器。扩展名为h的头文件包含库函数的原型说明。三、字符输出函数putchar3.请执行下面的程序,比较程序的输出结果,完成提出的问题。#include"stdio.h"main(){charch='G';putchar(ch);printf("%c",ch);}(1)请根据示例程序写出使用putchar()函数的一般格式:(2)请根据对程序运行结果的分析写出与putchar(ch);具有相同功能的printf()函数语句。(3)根据你对getchar()函数的认识,在使用putchar()时可能犯的错误有哪些情况,并说明错误的原因。本章节主要学习了printf函数的一般格式和工作过程,以及printf函数在使用中应注意的问题。另外学习了putchar这个专门的字符输出函数学生回答C语言教案教学课题为程序输入数据课题类型理论课时安排2上课时间教学目标掌握scanf函数的一般格式理解scanf函数的工作过程掌握scanf函数使用时的注意事项4.掌握字符输入函数getchar的用法教学重点1.掌握scanf函数的一般格式2.理解scanf函数的工作过程3.掌握字符输入函数getchar的用法教学难点1.掌握scanf函数使用时的注意事项作业布置教学后记复习引入程序界面是用户与程序交互的窗口,是用户输入数据和程序输出数据的地方。现代程序设计非常重视程序界面的美观和操作的易用性,因此数据的输入输出就成了程序设计中的一个重点。C语言没有专门的输入输出命令,它使用标准的输入输出库函数来实现数据的输入和输出操作。教师活动教学过程师生互动活动设计提问一、为程序输入数据:1.请阅读并运行下面的程序,然后操作程序,按要求完成提出的问题。#include"stdio.h"main(){intm;floatx,y,z;charch,ch1,ch2;scanf("%d",&m);scanf("%f%f%f",&x,&y,&z);scanf("%c",&ch);scanf("%c%c",&ch1,&ch2);printf("m=%d\n",m);printf("x=%f,y=%f,z=%f\n",x,y,z);printf("ch=%c,ch1=%c,ch2=%c\n",ch,ch1,ch2);}(1)通过你对程序的观察,请描述使用scanf()函数的一般使用格式:(2)scanf()函数的参数为用分隔的2部分,第一部分是一个,称为格式控制串;其中的字符由一个和一个组成,被称为格式转换说明符,第二部分由形如组成的地址列表。①请描述格式转换说明符的作用:格式转换字符作用转换后的数据类型②取变量地址的一般格式为,请你通过实验考察常量和表达式这两种形式的数据对象能否进行取地址操作,并谈谈做出选择的理由。学生回答(4)请描述scanf()函数的执行过程:(5)使用一个scanf()可以同时为多个变量输入数据吗?○能○不能。在输入数据时你用了什么字符来分隔数据,请分情况说明。二、scanf函数的注意事项2.修改下面程序中有错误的地方,使程序能正常运行,然后完成提出的问题。#include"stdio.h"main(){intm,a,b,c;floatx,y,z;charch,ch1,ch2;scanf("请输入一个整数:%d",&m);printf("m=%d\n",m);scanf("%f,%f,%f,&x,&y,&z");printf("请输入3个实数::\n");scanf("x=%f,y=%f,z=%f",&x,&y,&z);scanf("ch1=%cch2=%c"&ch1,&ch2);printf("ch1=%c,ch2=%c\n",ch1,ch2);scanf("%f%d%c",m,x,ch);printf("m=%d,x=%f,ch=%c",m,c,ch);scanf("%c",&m);printf("m=%d\n",m);scanf("%f",&m);printf("m=%d\n",m);scanf("%d",&ch);printf("ch=%c",ch);}提问提示注意(1)通过上机实验,你认为在scanf()函数的格式控制串中可否使用除格式转换说明符之外的普通字符?○可以○不可以。(2)请描述C语言对出现在scanf()格式控制串中的普通字符的处理方法。(3)请给出在scanf()函数格式控制串中使用普通字符的合理化建议。(4)格式转换说明符能够正确为与它表示的数据类型不同的变量输入数据吗?请谈一谈你的看法。(5)请你描述格式控制串中的格式转换说明符与地址配合列表中的变量之间的对应关系。(6)在输入数据时,为实型变量输入整数,为整型变量输入实数,有语法错误吗?C语言是如何处理的?在输入数据时,数据都是以字符的形式输入的,经过格式转换说明符转换成对应的数据类型;分隔非字符型数据的字符有空格、水平制表符、换行符,它们统称为空白字符。为多个字符变量输入数据时,如果格式控制串中没有使用任何普通字符,则输入字符时不使用任何分隔符。建议在scanf()的格式控制串中只使用格式转换说明符,有限制地使用普通字符,如果要使用普通字符,请给用户以明确的操作提示。格式转换说明符与地址列表中的变量要一一对应,即个数相同,类型一致。格式转换说明符遇到输入的非法字符即停止转换三、字符输入函数3.请执行下面的程序,比较程序的操作和输出结果,完成下列问题。#include"stdio.h"学生回答学生记忆提问知识归纳main(){charch1,ch2;printf("请按字母y,然后回车\n");ch1=getchar();printf("请按字母y,然后回车\n");scanf("%c",&ch1);printf("ch1=%c,ch2=%c",ch1,ch2);}(1)请根据示例程序写出getchar()函数的一般格式。(2)请根据对程序运行结果的分析写出与ch=getchar()具有相同功能的scanf()函数语句。(3)根据你对getchar()函数的认识,在使用getchar()时容易犯的错误有哪些情况,并说明错误的原因。输入函数scanf()的一般格式:scanf(格式控制串,变量地址列表);格式控制串由格式转换说明符和普通字符组成,它规定数据输入的格式;变量地址列表由接收输入的变量地址组成,取变量地址的一般格式为:&变量名。格式转换说明功能格式转换字符作用变量类型%d把输入的字符序列转换为有符号的十进制形式的整数int%f把输入的字符序列转换为十进制小数形式的实数floatdouble%c把输入的字符转换成字符型数据char%s把输入的字符序列转换为字符串字符数组scanf()学生回答学生记忆小结的工作过程:扫描格式控制串,遇到格式转换说明符时,把键盘输入转换为相应类型的数据存入对应地址所指的变量中;若遇到普通字符则要原样输入,依次类推,直到扫描完整个格式控制串。本章节主要学习了scanf函数的一般格式,工作过程,以及在使用中应注意的问题。C语言教案教学课题算法的表示课题类型理论课时安排2上课时间教学目标描述c语言语句类别和作用描述流程图符号的名称和所表示的操作用流程图表示解决问题的算法4.描述结构化程序的基本结构的特点并用流程图表示教学重点1.描述c语言语句类别和作用2.描述流程图符号的名称和所表示的操作3.用流程图表示解决问题的算法教学难点1.描述结构化程序的基本结构的特点并用流程图表示作业布置教学后记复习引入关于什么是程序有一个很经典的公式,即:程序=数据结构+算法,它是由著名的计算机科学家N.Wirth提出的。在程序设计中,算法是指加工处理数据对象的方法和步骤,算法是程序的灵魂。如何表示算法是一个程序设计人员必须面对的问题。教师活动教学过程师生互动活动设计提问描述c语言语句类别和作用1.请阅读并分析下面程序中的语句,按要求填写下表。#include"stdio.h"main(){intm=2,n=50,s=0;floatx,y,z;charch='x',ch1;floatfmax(float,float);while(m<=n){s+=m;m=m+5;n++;}scanf("%f%f",&x,&y)z=fmax(x,y);ch1=ch-32;printf("m=%d,n=%d,s=%d\n",m,n,s);printf("x=%f,y=%f,z=%f\n",x,y,z);printf("ch=%c,ch1=%c",ch,ch1);}floatfmax(floata,floatb){floatfm;if(a>=b)fm=a;elsefm=b;returnfm;}学生回答提示注意(1)请在上面的程序中找出C语言程序中用到的语句,填写下表。(2)请根据你对程序语句的认识,评价直接用程序语句表示算法的利弊。(3)在程序设计的算法分析阶段,用程序语句表示算法是:○利大于弊○弊大于利C语言中的语句:说明语句:用于定义变量或说明函数。表达式语句:在表达式后加上分号就成了表达式语句,它的功能是完成运算,有用的表达式语句能够在执行后改变变量的值。空语句:单独的一个分号,执行它计算机不会有任何操作。常用于构成循环体。函数调用语句:用于对函数实现调用。块语句:用花括号括起来的多条语句,在语法上视作一条语句处理。控制语句:实现程序流程转向控制的语句,如:if、switch、while、for、break、retrun、continue等。二、描述流程图符号的名称和所表示的操作流程图是表示程序算法的常用方法,你可在不具备任何程序语言知识的情况下,使用流程图符号来设计算法。请分析实现下表问题的方法和相应流程图的算法表示,完成下表。输入一个数x,然后输出它的绝对值,其算法流程图表示如下:结束结束NY开始输入xx<0x=-x输出x绝对值学生记忆提问提示注意请描述流程图所示的每一个操作步骤:(1)请描述流程图符号及作用。流程图符号图形名称符号名称表示的算法操作○小圆圈连接点分别置于两条流程线的端接处,内注相同的数字,表示它们是连接在一起的流程线(2)请描述流程图符号的使用要点。(3)请评价用流程图表示算法的优势。(4)试用流程表示下面问题的算法。输入一个整数x,然后判断并输出它是否是奇数。学生填表学生记忆学生记忆知识归纳在算法分析、设计阶段用程序语句表示算法不可取。因为那样你把精力放在注程序设计语言中语句的语法细节上,而不能把精力集中在算法设计上,也不能和用户就应用需求进行有效的沟通。表示算法的常用工具有自然语言、流程图、伪代码等。流程图因直观、易于理解,得到广泛使用。在编写程序代码之前,用流程图正确、准确地表示出算法,将有利于提高程序代码的质量和编码速度。在规范的流程图中,竖直方向的流程线被称为主流程线,可不画出向下的箭头。其它的流程线称为分支流程线,分支流程线的末端必须画上箭头。三、描述结构化程序的基本结构的特点并用流程图表示结构程序设计的思想兴起于20世纪六、七十年代,结构化程序中采用了少量简单、清晰的程序结构大大地消除了复杂软件内部的混乱。请利用你对流程图的了解,分析下面基本程序结构的流程图表示的含义并完成下表。:模块化程序设计要求在软件设计开始时把待开发的系统划分成若干相互独立的、简单容易实现模块。这种化大为小,化复杂为简单的方法被称为“自顶而下,逐步细化”学生记忆的程序设计分析方法。C语言中函数是实现程序模块的工具。程序设计的一般步骤小结分析问题→确定算法→编写程序→调试程序基本程序结构的特点是:只有一个入口;只有一个出口;结构内没有执行不到的语句;结构内没有无限循环。本章节主要学习了c语言语句的类别和功能,算法的表示方法,流程图的画法以及结构化程序设计的三中基本结构的特点教学课题顺序结构程序设计课题类型理论课时安排2上课时间教学目标正确描述顺序结构执行的特点根据顺序结构流程图写出程序能设计简单的顺序结构程序教学重点1.正确描述顺序结构执行的特点2.根据顺序结构流程图写出程序教学难点1.能设计简单的顺序结构程序作业布置教学后记复习引入顺序结构是结构化程序设计3种基本结构之一,本模块将讨论顺序结构程序的执行特点,以及如何设计顺序结构程序。教师活动教学过程师生互动活动设计提问知识归纳一、考察顺序结构程序的执行特点请运行下面的程序,输入10,观察程序的运行结果,完成表中提出的问题。#include"stdio.h"main(){floatr,s;printf("请输入圆的半径:");scanf("%f",&r);s=3.14*r*r;printf("圆面积是:%f\n",s);}(1)根据程序运行结果,按执行的先后顺序列出程序中的执行语句。(2)根据程序,画出相应的流程图。(3)请描述顺序结构程序的执行特点。顺序结构程序的执行特点是按照语句在程序中排列的先后顺序依次执行。顺序结构程序中的的每条语句必须执行且只能执行一次,没有执行不到或重复执行的语句二、根据流程图写出顺序结构程序流程图学生回答学生记忆提问开始开始结束输入a,b输出a,b的值输出a,b的值(1)请参考日常生活中交换两个杯子中的液体的办法,寻找交换两个变量值的方法。请描述你所想到的方法,写下来。(2)完成流程图中的空缺,然后根据流程图,写出源程序。(3)如果不借助中间变量t能使变量a、b的值交换吗?如果能,该如何编程?学生回答提问2.请设计程序实现:输入一个大写字母,转换成小写字母后输出。请分析问题的要求,解决表中提出的问题。开始开始结束输入大写字母ch1输出小写字母ch2(1)字符以形式存储在计算机中,字符变量在存放字符时,实际保存的是,通过改变字符变量中的值,能改变它保存的字符吗?○能○不能,请查阅本教材附录1中的ASCII码表,找到大小写字母相互转换的方法。(2)请完成流程图,并写出相应的源程序。(3)运行程序,分别输入A,a,1,记录并分析程序的输出结果,然后谈一谈你对本程序的想法。学生回答提示注意(4)如果输入的字符不是大写字母,这样的转换还有意义吗?怎样才能避免输入非大写字母?交换两个变量a,b值的关键代码是:t=a;a=b;b=t;也可以不使用中间变量来完成,关键代码为:a=a+b;b=a-b;a=a-b;在C语言中字母大小写转换很简便,方法是:大写字母=小写字母-32,反之,小写字母=大写字母+32。分离一个三位的整数x的个十百位上数字的关键代码是:
d0=x%10;d1=x/10%10;d2=x/100学生记忆教学课题分支结构程序设计—if语句课题类型理论课时安排2上课时间教学目标正确描述if语句执行的特点掌握if语句的一般格式能正确的使用if语句设计程序教学重点1.正确描述if语句执行的特点2.掌握if语句的一般格式教学难点1.能正确的使用if语句设计程序作业布置教学后记复习引入分支程序结构是结构化程序设计3种基本结构之一。分支流程控制可以使程序根据不同的条件选择不同的处理方法,从而增强了程序的灵活性和实用性。本模块将讨论分支结构程序的执行特点和设计方法。教师活动教学过程师生互动活动设计提问知识归纳一、考察if语句执行的特点1.请观察并分析下面的流程图,完成表中提出的问题。(1)请在流程图中用虚线框标出分支流程部分。(2)决定流程分支的条件是什么?(3)x的为什么数输出Yes,x的为什么数输出No。能同时输出Yes和No吗?请举例并说明理由。(4)请对照流程图,描述分支结构程序的执行特点。分支结构程序中有多个流程支路,在执行分支结构程序时,流程控制将根据分支条件选择执行一条流程支路上的语句,而跳过其他去路上的语句。C语言使用if学生回答学生记忆提问知识归纳语句和switch语句来实现程序的分支流程控制。2.考察if语句的使用及执行过程(1)请分析下面的程序并上机验证,完成下表提出的提问。源程序:#include"stdio.h"main(){intx;scanf("%d",&x);if(x>0)printf("%d\n",x);}①多次运行本程序,随意输入一些整数,记录下每次的输入数据和对应的输出结果。输入输出②参照程序结果,对于每次输入都有对应的输出吗?○有○没有,为什么?请描述程序中if语句的执行过程。③在程序中标出实现流程分支的语句,画出该分支语句的流程图。④参考源程序,试写出使用if语句的一般格式并画省略流程图。教学要点:if语句的一般形式:if(表达式)语句if和它控制的语句一起被称为if语句。if语句的流程图:学生记录学生记忆提示注意if语句的执行过程:if语句执行时,首先计算if后面括号中的“表达式”,然后判断其值的真假,如果表达式为“真”,则执行if控制的“语句”,否则跳过“语句”,流程转到if语句后面的语句去执行。注意:if命令后的“表达式”可以是任何合法的C语言表达式加,但通常使用的是关系表达式和逻辑表达式。if命令控制的“语句”必须是语法上的一条语句,它可以是一条简单语句也可以是一个块语句。在语法上一个if语句被视为一条语句。学生记忆教学课题分支结构程序设计—ifelse语句课题类型理论课时安排2上课时间教学目标1.正确描述ifelse语句执行的特点2.掌握ifelse语句的一般格式3.能正确的使用ifelse语句设计程序教学重点1.正确描述ifelse语句执行的特点2.掌握ifelse语句的一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 策划公司前台工作总结
- 运输物流行业顾问工作总结
- 2024新年寄语汇编(32篇)
- 制冷技术转让协议书(2篇)
- 创业合作投资协议书(2篇)
- 2024年计算机专业实习心得体会
- 易错点08 中国近代史时间问题-备战2023年中考历史考试易错题(解析版)
- 地理中国的世界遗产课件中图版选修
- 2025届陕西省咸阳市武功县中考生物全真模拟试题含解析
- 《公共政策过程》课件
- 2025年中国烟草总公司湖北省公司校园招聘227人高频重点提升(共500题)附带答案详解
- 2024版带货主播电商平台合作服务合同范本3篇
- 2025公司资产划转合同
- 2024-2030年中国铝汽车紧固件行业销售规模与盈利前景预测报告
- 广东省清远市2023-2024学年高一上学期期末质量检测物理试题(解析版)
- 2024-2025学年人教版数学五年级上册期末检测试卷(含答案)
- 《外盘期货常识》课件
- 【MOOC】土力学-西安交通大学 中国大学慕课MOOC答案
- 医院医保科工作总结
- 2024-2025学年译林版八年级英语上学期重点词汇短语句子归纳【考点清单】
- 2024年企业采购部年终总结及今后计划(3篇)
评论
0/150
提交评论