版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-.z.中等职业技术学校教案教学单位:京山县中等职业技术学校课程名称:C语言学习与应用任课班级:计算机应用班任课教师:
教案书写说明教案又称课时授课方案,是任课教师的教学实施方案。任课教师应遵循专业教学方案制订的培养目标,以教学大纲为依据、教材为蓝本,在熟悉教材,了解学生的根底上,结合教学实践经历,提前编写设计好每堂课的全部教学活动。教案书写应包括以下内容:⒈课题:授课题〔章节〕名。⒉课型:分理论讲授课、实验(实训)课、实习(见习)课等。讲授课又分新授课或复习课。⒊教学目的:本课题教学应到达的目的。⒋教学重点:本课题〔章节〕的教学重点分别列出。⒌教学难点:本课题〔章节〕的教学难点分别列出。⒍教学方法:指本课题使用的教学方法和手段。⒎课时安排:本课题〔章节〕总方案课时数。⒏教学内容:本课题〔章节〕主要内容。⒐作业及实践:包括思考题、讨论题、实验题目、实训题目等。⒑教学后记:授课完毕后的教学小结、心得体会等。
京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题C语言概述教学目标了解C语言出现的历史背景正确理解C语言特点熟悉简单C程序构造、特点、执行过程掌握运行C程序步骤与方法重点难点正确理解C语言特点熟悉简单C程序构造、特点、执行过程教学资源准备教案、实例教学活动流程设计旁注第1章C语言概述§1.1C语言出现的历史背景程序设计语言的开展机器语言:计算机能直接识别的语言。汇编语言:助记符编写的语言。高级语言:面向对象程序设计语言〔如VB程序设计语言、JAVA程序设计语言〕和面向过程程序设计语言。2、C语言出现历史背景〔1〕时间:1972–1973〔2〕地点:美国贝尔实验室〔3〕目的:开发UNI*操作系统§1.2C语言特点语言简洁、紧凑、灵活运算符和数据类型丰富程序设计构造化、模块化生成目标代码质量高可移植性好§1.3简单C程序介绍例1.1第一个程序Hello,World!教学活动流程设计旁注#include<stdio.h>main(){printf("Hello,World!〞);}说明:1、#include<stdio.h>是文件包含编译预处理命令,stdio.h是标准输入输出头文件main为主函数,每个C程序有且必须有一个主函数,无论其位置在哪,程序总是从main函数开场执行printf是C语言中的输出函数,双引号中的字符串原样输出;分号是C语言中的语句完毕标志例1.2求两数之和#include<stdio.h>main(){inta,b,sum;/*Definatethreevariables*/a=123;b=456;sum=a+b;printf("Sumis%d〞,sum);}说明:1、%d是输出格式字符,控制输出时的数据类型和格式,表示十进制整数2、/**/为注释例1.3求任意两数之和#include<stdio.h>main(){inta,b,sum;scanf("%d,%d〞,&a,&b);sum=add(a,b);printf("Sum=%d〞,sum);}intadd(int*,inty){intz;z=*+y;return(z);}说明:1、scanf是C语言中的输入函数,从键盘读入两个十进制整数,分别放入变量a和b对应的地址单元中2、调用函数add,定义函数add,函数返回值为整型,形参*和y为整型3、return将z值返回,赋给sumC语言的格式特点:习惯用小写字母,大小写敏感不使用行号,无程序行概念可使用空行和空格构造特点:C程序由函数构成C程序由语句组成/**/为注释,不产生编译代码教学活动流程设计旁注§1.4C程序的上机步骤C程序开发步骤编辑源程序:扩展名为.c编译目标程序:扩展名为.obj连接成可执行程序:扩展名为.e*e2、VC++6.0集成开发环境的使用方法〔1〕启动VC++6.0,建立一工作区〔2〕在此工作区中建立一工程〔3〕在此工程中建立一文件〔注意扩展名为.c〕编辑后执行程序作业1、简述C程序的特点;2、编写一个简单的C程序,在屏幕上显示"IStudyCProgramming〞板书设计第一章C语言设计概述C语言的历史背景C语言的特点简单C程序介绍C程序的组成C程序的上机步骤作业教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题算法1教学目标算法的表示形式-----流程图C中数据类型的分类常量与变量整型数据表示方法、存储形式、分类重点难点整型数据在内存中的存放形式如何解决整数的溢出问题教学资源准备教案、实例教学活动流程设计旁注算法的概念算法:为解决一个问题而采取的方法和步骤。程序=算法+数据构造算法是程序的灵魂简单算法举例1、求1×2×3×4×5§2.3算法的特性1)有穷性2)确定性3)有0个或多个输入4)有一个或多个输出5)有效性怎样表示一个算法一、算法的表示形式1、用自然语言表示2、用流程图表示3、用伪代码表示4、用计算机语言表示二、流程图:传统流程图、N-S流程图1、传统流程图的表示方法2、三种根本构造传统流程图与N-S流程图教学活动流程设计旁注一、数据与数据类型1、数据:程序加工处理的对象。2、数据类型:具有*种性质数据的集合。二、C中数据类型整型字符型单精度型根本类型浮点型双精度型枚举型数组C中数据类型构造类型构造体共用体指针类型空类型常量与变量一、常量1、定义:在程序运行过程中其值保持不变的量。2、常量类型数值型整型(123)、实型(12.3)字符型字符型(‘a’)、字符串型("a〞)符号常量:#definePAI3.1415926二、变量1、定义:在程序运行过程中其值可以改变的量。2、变量在内存中存放形式:一个变量有一个名字,并在内存中占一定的存储单元,用来存放变量的值。4、变量的定义格式(变量必须先定义后使用)类型说明符变量名1,变量名2,………..,变量名n;例:inta,b,c;3整型数据一、整型常量的表示方法1、十进制:1232、八进制:0123=(123)83、十六进制:0*123=(123)16二、整型变量1、整型数据在内存中的存放形式在内存中以二进制补码的形式存放,占用2个字节的内存空间数的编码:原码、反码、补码原码:数的二进制编码。反码:正数等于原码,负数将原码逐位变反〔符号位为1〕补码:正数等于原码,负数将原码变反末位加1。2、整型变量分类根本型:无符号unsignedint、有符号int短整型:无符号unsignedshortint、有符号shortint长整型:无符号unsignedlongint、有符号longint教学活动流程设计旁注3、例题(整型数据的溢出问题)main(){inta,b;a=32767;b=a+1;printf("%d,%d〞,a,b);}作业1、简述C程序中有哪些常用的数据类型;2、P15/3,5板书设计算法算法的根本概念;C语言中的数据构造;常量;变量;变量的种类;例题分析教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题浮点型数据教学目标浮点型数据与字符型数据的分类、表示方法与存储形式变量的赋值形式各种类数值型数据间相互转换的规则与方法重点难点灵活掌握各种数据的存储形式教学资源准备教案、实例教学活动流程设计旁注一、浮点型常量的表示方法1、十进制小数:数字+小数点例:0.123,123.0,.4562、指数形式:123×102=123e2=1.23e4要求:E前必须有数字,E后数字必须为整数。标准化指数形式:小数点左侧有且仅有一位非零数字。二、浮点型变量1、浮点型数据在内存中存放形式指数形式存放,占用4个字节,如下图小数符号小数指数符号指数例:1.23e4+1.23+4结论:小数位数越多,精度越高;指数位数越多,范围越大。2、浮点型变量分类单精度:float双精度:double长双精度:longdouble3、舍入误差:见书中例题。教学活动流程设计旁注字符型数据一、字符常量1、定义:用一对单引号括起来的一个字符或以\开头的字符序列。‘a‘,\n(又称转义字符)2、转义字符〔见书中表〕例:\101=1*80+1*82=65即表示字母A二、字符变量1、定义格式:charc1,c2;2、作用:存放一个字符4、字符串常量定义:用一对双引号括起来的字符序列在内存中存放形式:末尾加串完毕标志\0〔系统自动加〕例:"HELLO〞HELLO\0字符串常量不能赋给一个字符变量。例:charc1;/*字符变量*/c1=〞hello〞/*赋值错误*/变量赋初值一、赋值形式1、定义变量时赋值inta=3;floatf=3.56;charc=’a’;2、局部赋值inta,b,c=5;3、赋同一个初值inta=3,b=3,c=3;教学活动流程设计旁注浮点型数据与字符型数据的分类、表示方法与存储形式变量的赋值形式各种类数值型数据间相互转换的规则与方法作业1、P17/1,22、P18/3板书设计浮点型数据浮点型常量的表示方法;浮点型变量的分类〔单精度、双精度、长双精度〕;常量;变量;字符常量;字符变量;例题分析;教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题简单程序的调试及数学运算符教学目标通过上机调试程序掌握各种数据类型的表示方法、存储形式掌握各种不同数据间混合运算的运算规则掌握各种运算符的使用方法通过程序调试正确理解各种表达式的运算结果重点难点掌握各种运算符的使用方法教学资源准备教案、实例、上机操作教学活动流程设计旁注上机按要求调试下程序输入并运行下程序main(){inta,b;a=32767;b=a+1;printf("%d,%d\n〞,a,b);}输入并运行下程序main(){charc1,c2;c1=’a’;c2=’b’;printf("%c,%c\n〞,c1,c2);}将上面printf语句改成printf("%d,%d\n〞,c1,c2);结果?将charc1,c2;改成intc1,c2;结果?将c1=’a’;c2=’b’;改成c1="a〞;c2="b〞;结果?将c1=’a’;c2=’b’;改成将c1=300;c2=400;改成结果?3、输入并运行下程序main(){charc1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf("a%cb%c\tc%c\tabc\n〞,c1,c2,c3);printf("%c%c\n〞,c4,c5);}教学活动流程设计旁注输入并运行下程序main(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d\n〞,i,j,m,n);}将m=++i;n=j++;改成m=i++;n=++j;结果?将m=++i;n=j++;删除并将printf("%d,%d,%d,%d\n〞,i,j,m,n);改为printf("%d,%d,%d,%d\n〞,i,j,i++,j++);结果?算术运算符和算术表达式一、算术运算符和算术表达式1、根本算术运算符+〔加法或正值运算〕1+2,+100-〔减法或负值运算〕1-2,-100*〔乘法运算符〕1*2/〔除法运算符〕1/2两整数相除结果为整数。½=0%〔模或取余运算符〕要求运算符两侧均为整数如5/3=12、算术表达式和运算符的优先级与结合性1〕算术表达式的定义:由算术运算符、括号将操作数连接起来符合C语法规则的式子。2〕优先级与结合性*/%高〔左至右结合〕+-低〔左至右结合〕例题:*/〔67-〔12+Y〕*A〕判断计算先后顺序?3、强制类型转换运算符1〕转换格式:〔类型名〕〔表达式〕作用:将表达式转换成所需的格式。main(){float*;intI;*=3.6;I=(int)*;printf("*=%f,I=%d〞,*,I);}4、自增、自减运算符1〕++i,--i(先使i的值加1或减1,再使用i)2〕i++,i--〔先使用i,再使i加1或减1〕3〕++与--只能用于变量,不能用于常量或表达式例:5++,(3*8)++错误4〕++与--结合方向自右向左。-I++=-(I++)I=3;printf("%d,%d〞,I,I++);教学活动流程设计旁注赋值运算符和赋值表达式一、赋值运算符1、运算符:为等号"=〞2、与数学运算的区别数学运算符是判断等号两侧的数值是否相等。赋值运算符是将等号右侧的数值赋给左侧。3、类型转换1)将实数赋给整数,舍去小数局部。2)将整数赋给单双精度变量时,数值不变,但以浮点形式存储到变量中。3)将一个double赋给float时,截取前7位有效数字。4)将字符型赋给整型时,无符号时高8位补零,有符号时,高8位补15)将一个intshortlong赋给一个char时,只将低8位赋给char4、复合赋值运算符定义:在赋值运算符前加其他运算符a+=b等价a=a+b*%=y+3等价*=*%(y+3)5、赋值表达式格式:<变量><赋值运算符><表达式>作业1、上机调试课堂上所学的实例;2、写出上机调试程序时出现的错误及解决方法;3、P19/4,5板书设计程序调试及算术、关系运算符上机调试课件中的程序;上机调试例1及例2;算术运算符和算术表达式;关系运算符及关系表达式;理解赋值号与数学中等于号的区别;教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题运算符与表达式详解教学目标运算符的各类表达式的种类算术运算符自增自减运算重点难点算术运算符自增自减运算教学资源准备教案、实例、上机操作教学活动流程设计旁注运算符与表达式详解【问题】日常生活中我们会进展各种各样的数据运算。在C语言中将如何表示这些运算呢?C语言的运算符非常丰富。除控制语句、输入输出语句以外的几乎所有的根本操作都作为运算符处理的。运算符的使用方法也非常灵活,这是C语言的主要特点。C语言运算符一般可分为以下几类:1.算术运算符+-*/%2.关系运算符>>=<<===!=3.逻辑运算符!&||4.位运算符<<>>~|^&5.赋值运算符=及其扩展赋值运算符6.条件运算符":7.逗号运算符,8.指针运算符*&9.求字节数运算符sizeof10.类型转换运算符〔类型〕教学活动流程设计旁注11.分量运算符.->12.下标运算符[]13.其他如函数调用运算符〔〕本节将重点介绍算术运算符、赋值运算符、逗号运算符,其他运算符将在以后各章中陆续介绍。详细的运算符列表见附录。算术运算符与算术表达式1.算术运算符C语言中根本的算术运算符共有5种:+〔加〕,-〔减〕,*〔乘〕,/〔除〕,%〔取模,或称求余运算符〕C语言规定:(1)%〔取模运算符〕,仅用于整型变量或整型常量的运算,如:7%3,其值为1。(2)/(除运算符),当对两个整型的数据相除时结果为整数,如:7/3,其值为2,舍去小数局部,相当于整除操作。2.算术表达式(1)算术表达式定义由算术运算符、括号以及操作对象组成的符合C语言语法规则的表达式称为算术表达式。如:a+b-c/d*(a-c)。(2)优先级一个表达式中假设有多个运算符混合在一起,则计算的先后次序为先算括号,再根据相应运算符的优先级,高的优先。乘、除、取模运算符的优先级高于加、减运算符的优先级,即先乘、除、取模,后加、减。算术运算符的优先级在所有运算符中是较高的,仅次于括号、单目运算符、类型转换运算符和求字节数运算符。(3)结合方向当一个运算对象两侧的运算符的优先级别不同时,应遵循优先级高的先处理的规则。当一个运算对象两侧的运算符的优先级别一样时,应遵循运算符的结合方向。算术运算符的结合方向是从左至右。3.自增自减运算符C语言中,增1运算也可以写为++运算;减1运算也可以写为--运算。++和--运算是C语言中两个较为独特的单目运算符。它们既可以放在操作数前,也可以放在操作数后,并且操作对象只能是变量,不能是常量或表达式。自增自减运算符的作用是将操作对象的值增加1或减去1。虽然自增自减运算符既可用于前缀运算,也可用于后缀运算,但其意义不同。i++,i--/*表示在使用i值之后将i的值加(减)1*/++i,--i/*表示在使用i值之前将i的值加(减)1*/例如:设i的原值为5,则执行下面的赋值语句:j=i++;/*先将i的值赋给j,i再自增1,赋值语句执行完后i的值为6,j的教学活动流程设计旁注值为5*/j=++i;/*先将i的值自增1,再赋给j,赋值语句执行完后i的值为6,j的值为6*/【例】输出下面程序中i的值/*E*2-3.C*/main(){inti=5,j;j=++i+i++;/*一个前增1使i变成6后才进展加法运算,实际是6+6*/printf("%d%d\n",i,j);j=(++i)+(++i)+(i++);printf("%d%d\n",i,j);printf("%d%d\n",i+j,j++);}运行结果为:71210273827作业:P27/1,2,3P29/3板书设计运算符与表达式详解运算符的种类;表达式的种类;常用的算术运算符;自增与自减运算习题分析教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题赋值运算符与逗号运算符教学目标赋值运算逗号表达式复合运算重点难点赋值运算符与数学中等号的区别逗号表达式教学资源准备教案、实例、上机操作教学活动流程设计旁注一、赋值运算1.赋值运算符C语言中赋值运算符为"=〞,它的作用是将赋值运算符右边表达式或常量的值赋给其左边的变量。例如:a=5;/*表示把一个常量5赋给变量a*/*=a+5;/*表示将表达式a+5的值赋给变量**/【注意】如果赋值运算符两侧的类型不一致,在赋值时要进展类型转换。我们将在下一节"赋值转换〞中给大家作说明。2.复合赋值运算符C语言允许在赋值运算符"=〞之前加上其他运算符以构成复合的赋值运算符。但凡双目运算符,都可以和赋值运算符一起组合成复合的赋值运算符。在C语言中,可以使用的复合赋值运算符有:+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=例如:a+=5;等价于a=a+5;教学活动流程设计旁注a*=b+5;等价于a=a*(b+5);a%=5;等价于a=a%8;C语言中采用这种复合运算符,一是为了简化程序,使程序精练;二是为了提高编译效率,产生质量较高的目标代码。3.赋值表达式(1)赋值表达式的一般形式为:(变量)(赋值运算符)(表达式)其功能是将赋值运算符右边的"表达式〞的值赋给赋值符号左边的变量。整个赋值表达式的值就是被赋值的变量的值。例如:b=4;/*表示把4赋值给变量b,整个赋值表达式的值为4*/赋值表达式也可以包含复合的赋值运算符,例如:a+=a-=a*a;设a的初值为5,其求解步骤为:①先计算表达式a-=a*a的值,它相当于a=a-a*a=5-5*5=-20②再计算a+=-20的值,它相当于a=a+(-20)=-20-20=-40赋值表达式中的"表达式〞又可以是一个赋值表达式,例如:a=(b=5);括号内的b=5表示一个赋值表达式,其值为5。整个赋值表达式相当于是由b=5和a=b两个赋值表达式组合而成的。因此a的值为变量b的值,也为5。这个赋值表达式的值为变量a的值,也为5。(2)优先级赋值运算符的优先级较低,在所有运算符中,它的优先级仅高于逗号运算符。例如:a=b+6;/*由于赋值运算符的优先级低于算术运算符,所以先算b+6再做赋值运算*/(3)结合性赋值表达式按照自右向左的顺序结合,例如:a=5+(b=6);先做表达式b=6,得到变量b的值为6,表达式的值为6;再做a=5+6,由于赋值运算符的优先级低于算术运算符,所以先算5+6的结果为11,再做a=11的赋值运算。二、逗号运算符与逗号表达式1.逗号运算符C语言提供一种特殊的运算符—逗号运算符。逗号运算符为",〞。用逗号运算符可以将两个表达式连接起来。如:2+3,2+52.逗号表达式(1)逗号表达式就是用逗号运算符把两个表达式连接起来所形成的表达式。其一般形式为:教学活动流程设计旁注(表达式1),(表达式2)逗号表达式的求值过程是:先求表达式1的值,再求表达式2的值,表达式2的值就是整个逗号表达式的值。如上面的表达式先求2+3的值为5,再求2+5的值为7,最后整个逗号表达式的值为表达式2+5的值7。【例】分析下面程序的运行结果/*E*2-4.C*/main(){inty=3,*=3,z=1;printf("%d%d\n",(++*,y++),z+2);}运行结果为:作业P29/5,6,7,8上机调试程序运行结果板书设计赋值运算符、逗号表达式赋值运算符赋值运算与数学中等号的区别逗号表达式复合运算习题讲解教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题数据类型转换教学目标类型的自动转换赋值的转换强制类型转换重点难点类型自动转换的规则教学资源准备教案、实例、上机操作教学活动流程设计旁注数据类型转换C语言中,各种类型的数据可以混合运算。字符型数据和整型数据之间可以通用。不同类型的数据在进展混合运算时,往往需要进展类型转换,将不同类型的数据转换成同种类型的然后进展计算。类型转换有三种方式:类型自动转换;赋值转换和强制类型转换。一、类型自动转换不同类型的数据可以进展混合运算,例如:10+'a'+2.5*'b'在进展混合运算时,不同类型的数据首先要转换成同一类型,然后才能进展运算。自动转换规则为:(1)单精度浮点型数据〔float〕在运算时自动转换成双精度浮点型数据〔double〕。(2)字符型数据〔char〕和短整型数据〔short〕在运算时自动转换成整型数据〔int〕。(3)整型数据〔int〕和无符号型数据〔unsigned〕混合运算时,将整型数据转换成无符号型数据。教学活动流程设计旁注(4)整型数据〔int〕或无符号型数据〔unsigned〕和长整型数据〔long〕混合运算时,都转换成长整型数据。(5)整型数据〔int〕、无符号型数据〔unsigned〕、长整型数据〔long〕和浮点型数据混合运算时,都转换成浮点型数据。依次方式类推,转换规则如图2-2:高doublefloatlongunsigned低intchar,short图2-2自动类型转换规则总之,在自动类型转换时总是按照精度不降低的原则从低级向高级进展转换的。例如上面例子中给出的表达式10+'a'+2.5*'b',在运算时,先将所有的字符类型数据'a'和'b'转换成整型,再从左向右进展运算。遇到浮点型数据时,将整型数据自动转换为浮点型数据。最后表达式的值为浮点型数据,并且按照浮点型数据的运算规则进展运算。例如:设有以下变量定义,并已赋确定的值charw;int*;floaty;doublez;则表达式:w+*+z/y值的数据类型为double说明:此表达式中y为float类型的数据,所以所有数据都自动转换成浮点类型,并且按照浮点型数据的运算规则进展运算。二、赋值转换如果赋值运算符两侧的类型不一致〔但都是数值型或字符型〕时,在赋值过程中会进展类型转换。转换的根本原则是:(1)当整型数据赋给浮点型变量时,数值上不发生任何变化,但有效位增加。如:floatf;f=4;/*内存中变量f的值为4.000000*/(2)当单、双精度浮点型数据和整型变量混合运算时,浮点数的小数局部将被舍弃。如:int*;*=4.35;/*内存中变量*的值为4*/(3)将字符型数据赋给整型变量时,由于字符型数据在运算时根据其ASCII码值自动转化为整型数据,所以将字符型数据的ASCII码值存储到变量中。如:int*;*='a';/*内存中变量*的值为65*/(4)将有符号的整型数据赋给长整型数据,要进展符号扩展。将无符号的整型数据赋给长整型变量时,只需将高位补0即可。教学活动流程设计旁注三、强制类型转换可以利用强制类型转换运算符将一个表达式强制转换成所需类型。例如:(int)a;/*表示将变量a的类型强制转换为整型*/(float)(a+b);/*表示将表达式a+b结果的类型强制转换为浮点型*/强制类型转换的一般形式如下:(强制的类型名)(表达式)作业P56/1,2,3,4P58/6板书设计数据转换自动类型转换赋值转换强制类型转换教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题习题讲解及第二章知识总结教学目标通过习题的讲解,使学生深入理解本章所学的内容对本章所学知识的总结重点难点理解习题教学资源准备教案、实例、上机操作教学活动流程设计旁注习题讲解及第二章知识总结(1)表达式应该用括号括起来。例如:(int)(a+b);/*表示将表达式a+b结果的类型强制转换成int型*/(int)a+b;/*表示将变量a的类型强制转换成int型后,再进展运算*/(2)经强制类型转换后,得到的是一个所需类型的中间变量,原来变量的类型并没有发生任何变化。【例1】分析下面程序的运行结果/*E*2-5.C*/main(){inta;floatb=2.5;a=(int)b;printf("a=%d,b=%f",a,b);}运行结果为:a=2,b=2.500000教学活动流程设计旁注【例2】分析下面程序的运行结果/*E*2-6.C*/main(){int*,y;*=50;y=(*=*-5,*/5);printf("y=%d",y);}运行结果为:Y=9【分析】因为*的初始值为50,减5后变为45,45除5为9赋给y。【例3】写出下面程序的运行结果。/*E*2-7.C*/main(){inti=2,j=3,k,n,m;k=i+j;printf("%d",k);k=k+1;printf("%d",k);n=k*3;printf("%d",n);m=n%j;printf("%d",m);m=m-i;printf("%d",m);n=k/j;printf("%d",n);}运行结果为:56180-22【分析】整型数据不管进展什么样的算术运算得出的结果仍为整型数据。【例4】分析下面程序的运行结果。/*E*2-8.C*/main(){intm,n,k;m=5;n=10;k=(--m)+(--n);printf("m=%d,n=%d,k=%d\n",m,n,k);m=5,n=10;k=(m--)+(n--);教学活动流程设计旁注printf("m=%d,n=%d,k=%d\n",m,n,k);}运行结果为:m=4,n=9,k=13m=4,n=9,k=15【本章小结】本章主要介绍了C语言中有关数据与数据计算的根本概念和规则。重点讲解了以下几个方面的内容:〔1〕C语言的数据类型有四类:根本类型、构造类型、指针类型和空类型。〔2〕根本数据类型包括整型、实型、字符型三种。它们的表示方法、数据的取值范围和数值的有效位各有特点。作业上机调试本次课所讲的所有习题板书设计习题讲解及本章知识总结上机调试课件中的程序;上机调试例1及例4;3、深入理解习题中所讲到的知识点教学后记
京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题C语言的根本语句教学目标表达式语句函数语句控制语句复合语句空语句重点难点各种语句的构造和特点教学资源准备教案、实例、上机操作教学活动流程设计旁注简单程序设计在C语言中,程序构造一般分为顺序构造、选择构造、循环构造。本章节主要介绍的是:顺序程序构造、赋值语句、根本的输入/输出函数、格式控制符等。顺序构造是最简单的也是最根本的程序构造,其特点是语句按书写的顺序依次执行。顺序构造主要由简单语句、复合语句及简单输入输出函数构成的语句组成。printf与putchar是输出函数,scanf与getchar是输入函数,它们既有一样点也有不同点。一、C语言语句C语言中语句的作用是向计算机系统发出操作命令,从而完成一定的操作任务。C语句可分为以下5种类型,下面我们进展简单介绍。教学活动流程设计旁注1.表达式语句由表达式组成的语句称为表达式语句,其作用是计算表达式值或改变变量值。它的一般形式是:表达式;即在表达式的末尾加上分号,就变成了表达式语句。最典型的例子是,由赋值表达式构成一个赋值语句。如:*=5是赋值表达式,而*=5;是一个赋值语句。注意:分号是C语言中语句的标志,一个语句必须要有分号,没有分号,则一定不是语句。表达式能构成语句是C语言的一个重要特色。2.函数调用语句由一个函数调用加上一个分号构成函数调用语句,其作用是完成特定的功能。它的一般形式是:函数名(参数列表);例如:printf("goodby!\n");/*调用库函数,输出字符串*/3.控制语句控制语句用于完成一定的控制功能,以实现程序的各种构造方式。C语言有9种控制语句,可分为三类:(1)条件判断语句:if语句、switch语句(2)转向语句:break语句、continue语句、goto语句、return语句(3)循环语句:for语句、while语句、do-while语句4.复合语句复合语句是用花括号将假设干语句组合在一起,又称分程序,在语法上相当于一条语句。例如下面是一个复合语句:{i++;printf("%d\n",i);}注意:复合语句中最后一个语句的分号不能省略不写。5.空语句只有一个分号的语句称为空语句。它的一般形式是:;空语句是什么也不执行的语句,常用于循环语句中的循环体,表示循环体什么都不做。例如:while(getchar()!='\n');/*空语句*/教学活动流程设计旁注该循环的功能是:直到从键盘上键入回车才退出循环。这里的循环体是空语句。作业试列出C语言中常见的语句有哪些?P69/2,5,8板书设计C程序中的各种语句表达式语句;函数语句;复合语句;空语句;控制语句教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题程序构造教学目标认识程序设计的三种根本构造顺序构造重点难点顺序构造教学资源准备教案、实例、上机操作教学活动流程设计旁注程序构造一、程序构造简介在C语言中,程序构造一般分为顺序构造、选择构造、循环构造。任何复杂的程序都是由这三种根本构造组成。【引例】简单的程序构造。main(){int*,y,z;/*定义三个整型变量,是C语言中的声明局部*/*=123;y=234;/*以下语句是C语言中的语句,是执行局部*/z=*-y;printf("*-y=%d\n",z);}该程序的作用是求两个整数*和y的差z。第3行是定义变量*、y、z是整型(int)变量。第4行是两个赋值语句,使*、y的值分别为123和234。第5行也是赋值语句,使z的值等于*-y。第6行是进展输出,输出变量z的值。因此该程序的输出信息是:*-y=-111教学活动流程设计旁注【引例】由多个函数构成的程序构造。main()/*主函数*/{int*,y,z;/*声明局部,定义变量的类型*/scanf("%d,%d",&*,&y);/*通过输入函数,给变量*、y赋值*/z=min(*,y);/*调用min函数,将函数值赋给变量z*/printf("min=%d\n",z);/*输出变量z的值*/}intmin(inta,intb)/*定义一个min的函数,函数值为整型,虚参a和b是整型*/{intc;/*函数min中的声明局部*/if(a>b)c=b;elsec=a;return(c);/*将变量c的值通过返回语句带回调用处*/}本程序包含两个函数:主函数main和被调用函数min。min函数的作用是将a和b中较小的数赋给变量c,并通过返回语句return将c的值返回给主函数main。程序运行时,先由scanf()函数从键盘上读取两个整型数据,如从键盘上输入2,7↙(↙表示回车键),此时*被赋值2,y被赋值7,然后执行第5语句,对min函数进展调用,调用的结果是将较小的数2赋给变量c,通过return语句将函数值赋给变量z。第6行语句输出z的值2。因此程序输出的信息是:min=2从上面的两个例子看出:一个C程序可以由假设干个源程序文件组成,其构造如图3-1所示。SHAPE二、顺序构造AB顺序构造是程序设计中最简单、最根本的构造,其特点是程序运行时,按语句书写的次序依次执行,其构造如图3-2AB在图中,执行完A框所指定的操作后,必接着执行B框所指定的操作。顺序构造通常是由简单语句、复合语句及输入输出函数语句组成。【例】分析下面程序构造/*E*3-1.C*/#include<stdio.h>main(){inta,b,c;scanf("%d,%d",&a,&b);教学活动流程设计旁注c=a+b;预处理语句变量预处理语句变量a,b,c声明输入变量a,b的值赋值语句c=a+b输出变量c的值}上述程序显然是顺序构造,其语句执行的次序如下图。从例3-1可以看出,顺序构造的程序框架如下:#开头的编译预处理命令行main(){局部变量声明语句;可执行语句序列;};/*空语句*/作业程序设计一般有哪三种根本的构造P62/3,4板书设计程序设计的根本构造程序设计的构造顺序构造例题讲解选择构造循环构造教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题赋值语句与printf语句教学目标理解赋值语句掌握printf语句的根本构造;掌握printf语句在程序中的根本用法重点难点赋值语句;Printf语句的根本用法教学资源准备教案、实例、上机操作教学活动流程设计旁注一、赋值语句赋值语句是一个应用十分普遍且最简单的语句。赋值语句的一般形式:变量=表达式;赋值语句的功能是将赋值号右边表达式的值计算出来,再赋给赋值号左边变量。如:a=3+6;该语句的作用是将表达式3+6等于9的值赋给了变量a。前面我们已经学过了赋值表达式,要注意区分两者的不同点:(1)赋值表达式不能有分号";〞,而赋值语句一定要有分号";〞,这是最本质的区别。(2)赋值表达式中的赋值号"=〞可以连用,而赋值语句中的赋值号"=〞不能连用。如:a=b=c=1这是赋值表达式,其含义是变量a,b,c的值都是1。而a=b=c=1;这是赋值语句。左边第一个"=〞是赋值语句中的赋值号,其含义是将该赋值号右边表达式b=c=1的值1赋给变量a。千万不要认为这三个"=〞都是赋值语句中的赋值号。教学活动流程设计旁注(3)赋值表达式可以包括在其他表达式之中,如:if((*=y)<0)a=*;其中*=y是赋值表达式。条件判断顺序是:先将y的值赋给*,然后判断表达式的值〔也是*的值〕是否小于0,假设小于0,则执行a=*。显然这样写是合法的。但如果写成:if((*=y;)<0)a=*;就不正确了,因为在if条件中不能包含赋值语句。二、数据输入printf语句stdio.h是standardinput&output的缩写,它是以标准的输入输出设备作为输入输出对象,包括putchar〔输出字符〕,getchar〔输入字符〕,printf〔格式输出〕,scanf〔格式输入〕,puts〔输出字符串〕,gets〔输入字符串〕等。考虑到printf、scanf使用频繁,系统允许在使用这两个函数时不用#include命令。本章将介绍前4个根本的输入输出函数。格式化输出函数printfprintf函数的功能是向系统指定的设备输出假设干个任意类型的数据。1.printf函数调用形式printf函数是一个标准库函数,其调用的一般形式:printf〔格式控制字符串,输出列表〕;括号里格式控制字符串和输出列表实际上都是函数的参数。其中:(1)格式控制字符串是用双撇号括起来的字符串,它包括两个信息:①格式说明。由"%〞和格式字符组成,如%d,%c,%f等。它的作用是将要输出的数据转化成指定的格式输出,格式说明都是由"%〞字符开场的。②一般字符。即按原样输出的字符,在显示时起提示作用。如例题3-1中有:printf("\nc=%d\n",c);/*双撇号内有换行符、字符c=*/(2)输出列表是需要输出的变量、函数、表达式。2.格式说明符不同类型的数据用不同的格式说明符。格式说明符是由"%〞开头,后面跟假设干个小写英文字母,用以说明数据输出的类型、长度、位数等。在TurboC中格式字符串的一般形式为:%[标志][输出数据最小宽度m][.精度n][数据长度]类型【说明】[]:表示可选项。[标志]:是由字符构成的,它表示数值输出时按*种格式,常用的字符有-、+、0,其具体含义见表3-1。教学活动流程设计旁注[输出数据最小宽度m]:m是十进制整数,它表示用十进制输出的最少位数,当需要输出的数据长度超过该数时,该选项不起作用,数据按实际位数进展输出,当需要输出的数据长度小于该数时,则在该数的左边补空格或0。[.精度n]:是".〞加上十进制整数n。其含义是:如果输出的是数值,则该数表示小数位数,假设实际位数大于所定义的精度,则截去超过局部;如果输出的是字符,则表示输出字符的个数。[数据长度]:是字符,它有两种形式:h、l。h表示按短整型量输出,l表示按长整型量输出。类型:是格式说明符中必须要有的,它表示输出列表里要输出的数据类型。表3-2给出了常用的类型格式符及含义。作业:P69/1,2,5P65例2,例3请在上机时调试程序板书设计赋值语句与printf语句赋值语句Printf语句的根本构造Printf语句中各参数的意义例题讲解教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题Printf语句及例题讲解教学目标Printf语句例题讲解重点难点通过例题的讲解,使学生进一步认识printf语句教学资源准备教案、实例、上机操作教学活动流程设计旁注例题1#include<stdio.h>main(){inta,b,c;a=10;b=20;c=-30;printf("a=%d,a=%o,a=%+d\n",a,a,a);printf("b=%d,b=%*,b=%5d\n",b,b,b);printf("c=%d,c=%5d,c=%+d\n",c,c,c);}程序运行结果为:a=10,a=12,a=+10b=-30,c=-30,c=-30教学活动流程设计旁注【例2】分析下面程序运行结果。/*E*3-3.C*/#include<stdio.h>main(){inta,b,c;a=123;b=234;c=a+b;printf("\na+b=%d+%d=%d",a,b,c);printf("\na+b=%hd+%hd=%hd",a,b,c);/*用%hd格式输出*/printf("\na+b=%2d+%2d=%5d",a,b,c);/*用%md格式输出*/printf("\na+b=%02d+%02d=%05d",a,b,c);/*用%0md格式输出*/}程序运行结果为:a+b=123+234=357a+b=123+234=357a+b=123+234=357a+b=123+234=00357为什么运行结果中第三行与第四行不完全一样?【例3】分析下面程序运行结果。/*E*3-4.C*/#include<stdio.h>main(){float*,y,z;*=123.234;y=0.000345;z=-98.567;printf("*=%.4f,*=%.2f,*=%+e\n",*,*,*);/*用%.nf、%+e格式输出*/printf("y=%f,y=%8.4f,y=%10.3e\n",y,y,y);/*用%f、%m.nf、%m.ne格式输出*/printf("z=%+f,z=%+e,z=%+g\n",z,z,z);/*注意g格式的使用*/}程序运行结果为:*=123.2340,*=123.23,*=+1.23234e+02y=0.000345,y=0.0003,y=3.45e-04z=-98.567001,z=-9.85670e+01,z=-98.567注意:由于变量*,y,z均是单精度实型变量,因此按f格式输出7位有效数字,所以运行结果中第三行第一个z的值中小数点后第六位的数值是无效的。在TurboC中,字符与字符串的表示是不同的:单个字符用单撇号括起来,而字符串要用双撇号括起来,假设单个字符用双撇号括起来,则表示是字符串。教学活动流程设计旁注在使用printf函数时,要注意以下几个问题:(1)可以在格式控制字符串中包含前面所讲的"转义字符〞,如'\n'、'\t'、'\r'、'\b'、'\377'等。(2)跟在%后面的格式符除*〔表示输出的十六进制数用大写字母输出〕、E〔表示输出的指数e用大写字母E输出〕、G〔表示假设选用指数形式输出,则用大写字母E输出〕外,其余必须是小写字母。如%d不能写成%D。(3)假设想输出字符"%〞,则在格式字符串中用连续两个%表示。如:printf("%f%%",1.0/4);则输出:0.250000%作业P78/3,4P79/5(1)(3)板书设计Printf语句及习题讲解例1例2例3例4知识点总结教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题Scanf语句教学目标认识程序设计的输入输出语句;Scanf语句的根本构造;Scanf语句中各参数的意义;能用Scanf语句进展简单的输入程序设计重点难点Scanf语句的根本构造Scanf语句中各参数的意义教学资源准备教案、实例、上机操作教学活动流程设计旁注scanf函数的功能是从键盘上将数据按用户指定的格式输入并赋给指定的变量。1.scanf函数调用形式scanf函数是一个标准库函数,其调用的一般形式:scanf〔格式控制字符串,地址列表〕;其中格式控制字符串的定义与使用方法和printf函数一样,但不能显示非格式字符串,即不能显示提示字符串。地址列表是要赋值的各变量地址。地址是由地址运算符"&〞后跟变量名组成,如&*表示变量*的地址。&是取地址运算符,其作用是求变量的地址。【引例】scanf函数的使用。a25b-34a,b地址示意图#include<stdio.h>main(){inta,b;scanf("%d,%d",&a,&b);printf("\na=%d,b=%d\n",a,b);}教学活动流程设计旁注运行时按以下方式输入a、b的值:25,-34↙〔输入a、b的值〕a=25,b=-34〔输出a、b的值〕此时scanf函数的作用是:按照a、b在内存的地址将a、b的值存进去,如图3-4所示。变量a、b地址是程序在编译连接阶段分配的。"%d,%d〞表示按十进制整数形式输入数据。输入时,数据间必须用逗号分隔,用空格分隔、回车键、tab〔跳格〕键都是不正确的。假设将scanf函数改写成:scanf("%d%d",&a,&b);则输入时,数据间不能用逗号",〞分隔,必须用一个或多个空格分隔,也可以用回车键、tab键。即下述几种方式输入均是合法的:①25□□-34↙(数据间用空格作为分隔,□代表空格)②25↙(数据间用回车键作为分隔)-34↙2.格式说明符与printf函数中的格式说明符相似,以%开场,后面跟一个格式符,中间可以有假设干个附加字符,格式字符串的一般形式为:%[*][输入数据宽度m][长度]类型【说明】[]:表示可选项*:表示输入的数值不赋给相应的变量,即跳过该数据不读。[输入数据宽度m]:m是十进制正整数,表示按m的宽度输入数据。[长度]:长度格式符为l和h,l表示输入长整型数据或双精度实型数据;h表示输入短整型数据。类型:是格式说明符中必须要有的,其格式符的意义与printf函数根本一样【例】分析下面程序。/*E*3-9.C*/#include<stdio.h>main(){charstr1,str2;scanf("%c%c",&str1,&str2);/*给字符变量输入数据*/printf("\n%c%c\n",str1,str2);/*输出字符变量的值*/}程序运行时,假设输入abc↙则运行结果为:abcab教学活动流程设计旁注在使用scanf函数时,要注意以下几个问题:(1)scanf函数中的"格式控制字符串〞后面应该是变量的地址,而不应是变量名,这是C语言与其他高级语言不同的地方。例如不能将语句scanf("%d,%d",&a,&b);写成scanf("%d,%d",a,b);,这是初学者容易出错的地方。(2)输入数据时不能规定数据的精度。例如scanf("%8.2f",&a);是不合法的。(3)在"格式控制字符串〞中除了格式说明符外,还有其他字符,则在输入数据时在对应位置上应输入与这些字符一样的字符。例如scanf("a=%d,b=%d",&a,&b);则输入时应输入:a=12,b=-2↙其他任何输入形式都不正确。(4)输入数据时,遇以下情况认为该数据输入完毕:①按指定的宽度完毕;②遇空格,或"回车〞键,或"Tab〞键;③遇非法输入。作业:1、P79/2,72、编程:由键盘输入任意三个整数,试输出这三个数的和与积板书设计Scanf语句分析什么是程序输入语句Scanf语句的根本构造Scanf语句中各参数的意义使用scanf语句时应注意的问题例题分析知识点总结教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题if语句教学目标1.掌握条件选择语句if的三种形式。2.掌握三种if语句的执行过程。3.会运用if语句的三种形式解决实际问题。重点难点if语句的三种形式三种if语句的执行过程的理解。三种if语句的运用。教学资源准备教案、实例、上机操作教学活动流程设计旁注【复习提问】运算符的优先级,表达式的种类【讲授新课】if语句〔板书〕一.if语句的第一种形式〔板书〕1.语句格式〔板书〕if(表达式)语句〔板书〕其中"表达式〞一般为逻辑表达或关系表达式,可以是任意的数据类型。例如,①if(a>b&&a>c)printf("%d\n",a);其中的表达式是逻辑表达式。②if('a')printf("%d\n",'a');其中的表达式是字符表达式。③if(3.8)printf("%d\n",'a');其中的表达式是实型表达式。2.语句执行流程〔板书〕系统首先判断表达式的值,如果为非0〔真〕,则执行表达式后跟的语句,然后执行本if语句的后续语句;如果为0〔假〕,则不执行表达式后跟的语句,直接执行本if语句的后续语句。教学活动流程设计旁注3.程序举例【例题5-1】编写程序,从键盘输入两个整数,分别送给变量a和b,比拟a、b的大小,如果a>b输出字符串"yes〞,否则什么也不输出。【分析】根据程序设计的"三步曲〞,解决本问题的流程图如下图。a>ba>bprintf("yes")真假定义a,b,并赋值程序完毕〔板书〕源程序如下:main(){inta,b;scanf("%d,%d",&a,&b);if(a>b)printf("yes");}二.if语句的第二种形式〔板书〕1.语句格式〔板书〕if(表达式)语句1else语句2其中"表达式〞同第一种形式一样。例如,if(a>b)printf("%d\n",a);elseprintf("%d\n",b);2.语句执行流程〔板书〕系统首先判断表达式的值,如果为非0〔真〕,则执行语句1,然后执行本if语句的后续语句;如果为0〔假〕,则语句2,然后执行本if语句的后续语句。3.程序举例【例题5-2】编写程序,从键盘输入两个整数,分别送给变量a和b,比拟a、b的大小,如果a>b输出字符串"yes",否则输出字符串"no"。教学活动流程设计旁注三.if语句的第三种形式〔板书〕if语句的第三种形式,是第二种形式的拓展,如果第二种形式中的语句1、语句2,有一个或者两个又是一条if语句〔即if语句的嵌套〕,就构成了if语句的第三种形式。为了简化学习,在这里我们讨论两种常用的模式。1.模式〔一〕〔板书〕〔1〕根本形式if(表达式1)语句1elseif(表达式2)语句2else语句3也就是将第二种形式中的语句2,换成一条if语句。〔2〕它的执行流程如下图。〔板书〕四.if语句应用举例[课堂练习]【例题5-5】用if语句编写比拟a、b两个整数的大小,且把大者赋给*的程序。【例题5-6】用if语句编写比拟a、b两个整数的大小,且把大者赋给*,小者赋给y的程序。[课堂小结]用if语句编程,主要用来解决两路或三路分支的问题,如果问题的很多路分支,还用if语句来编程,程序就显得很乱,而且板书设计教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题switch语句教学目标1.掌握switch语句的格式。2.掌握switch语句的执行过程。3.会运用switch语句解决实际问题。重点难点switch语句的格式和switch语句的执行过程。switch语句运用教学资源准备教案、实例、上机操作教学活动流程设计旁注【复习提问】三种if语句的格式,课后题【讲授新课】switch语句〔板书〕一.一般格式及执行流程〔板书〕1.一般形式〔板书〕switch语句的一般形式如下:switch(表达式){case常量表达式1:语句局部1case常量表达式2:语句局部2···case常量表达式n:语句局部ndefault:语句局部n+1}2.执行流程〔板书〕switch语句的执行过程是:首先对switch语句括号中的表达式进展计算,得到一个值。然后程序用这个值从上至下依次与各个case后的常量表达式进展比拟,如果找到相匹配的常量表达式,就以此为入口,将程序转移到这个入口的第一条语句处,再顺序往下执行。假设没有相匹配的常量表达式,这时如果switch语句中存在default:,则程序就转到此处教学活动流程设计旁注执行,如果没有default:,程序就跳出switch构造,转而执行switch构造后面的语句。switch语句中,default局部是可选的。3.程序举例【例题5-7】写出程序的执行结果。main(){inti=7;switch(i){case6:i=i+1;case7:i=i+1;case8:i=i+1;case9:i=i+1;default:i=i+10;}printf("%d\n",i);}【分析】程序首先对switch语句括号中的表达式〔i〕进展计算,得到一个值是〔7〕。然后程序用这个值〔7〕从上至下依次与各个case后的常量表达〔6、7、8、9〕式进展比拟,找到相匹配的常量表达式〔7〕,就以此为入口,将程序转移到这个入口的第一条语句处〔i=i+1〕,再顺序往下执行即后面的赋值语句都被执行一了遍,所以i加了三次1,一次10,最后i的值为20。如果要i找到常量表达式7这个入口后,只执行"7:〞后的语句局部,不执行"8:〞之后的语句,就应在"7:〞后面语句局部最后,加一条中止语句break;例如,上述程序如果改写成如下形式:main(){inti=7;switch(i){case6:i=i+1;break;case7:i=i+1;break;case8:i=i+1;break;case9:i=i+1;break;default:i=i+10;}printf("%d\n",i);}则程序的执行结果是:i=8也就是说程序执行完"7:〞之后的语句局部后,就直接跳出了switch构造。[课堂练习]教学活动流程设计旁注【例题5-9】编写一程序,打印*年*月的有天数【分析】〔1〕我们知道,一年中各个月份的天数不尽一样,特别是2月份还与该年是否闰年有关,故采用switch构造。〔2〕*年〔y〕是闰年,应满足以下两个条件之一:①该年份能被4整除,但不能被100整除〔y%4==0&&y%100!=0〕②该年份能被400整除〔y%400==0〕。【说明】①switch后面的"表达式〞,可以是整型表达式或字符表达式,也可以是枚举型数据。②每个case的常量表达式的值不能一样。③多个case可以共用一组执行语句,如例题5.9中所示。[课堂小结]switch语句是多分支选择语句,也叫开关语句。它主要用来解决多路选择问题。[布置作业]板书设计教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题for语句教学目标1.掌握for语句的一般格式。2.掌握for语句的执行过程。3.会运用for语句解决实际问题。重点难点for语句的一般格式和for语句的执行过程。运用for语句解决实际问题教学资源准备启发式,讲练结合教学活动流程设计旁注【复习提问】switch语句的执行过程,分析课后题【讲授新课】for语句〔板书〕一.一般形式及执行流程〔板书〕1.一般形式〔板书〕for语句的一般形式为:for(表达式1;表达式2;表达式3)语句for(i=1;i<5;i++)s=s+i;for(i=1;i<5;i++)s=s+i;表达式1表达式2表达式3语句2.执行流程〔板书〕3.几点说明①for语句中,表达式1可以为循环变量赋初值,也可以与循环变量无关。教学活动流程设计旁注②表达式1和表达式3可以是一个简单表达式,也可以是逗号表达式。如:for(m=0,n=50;m<=n;m++,j--)k=m+n;③表达式2一般是关系表达式或逻辑表达式,但也可以是任意表达式,只要其值是非0,就执行循环体。如,for(m=0;(c=getchar()))!='\n';m+=c)purchar(c);④for语句的一般形式中"表达式1〞可以省略,此时应在for语句前给循环变量赋初值,但其后的分号不能省略。⑤表达式2也可以省略,此时不判断循环条件,循环无限制地进展下去,除非在循环体内有跳出语句break;⑥表达式3,一般用来修改循环变量的值,使循环趋于完毕。如果省略表达式3,应另外设法保证循环能正常完毕。如,for(i=1;i<5;){s=s+i;i++;}该例题中,循环体有两条语句,所以应用大括号括起来,构成复合语句。⑦表达式1和表达式3可以同时省略。如,inti=1;···for(;i<5;){s=s+i;i++;}⑧三个表达式可以都省略,但分号不能省略。如:for(;;)语句此时,便构成一个死循环,除非循环体中有跳出语句break;二.for单重循环程序举例【例题】用循环控制分行输出count=100,count=200,count=300。[课堂练习]三.双重循环【例题】用双重循环,打印出九九乘法表。main(){inti,j;for(i=1;count<=9;i++){for(j=1;j<=i;j++)printf("%d",i*j);printf("\n");/*打印完一行后,输出一个换行*/}}这就是用for语句构成的双重循环,当然后面要讲到的while循环、do—while循环也可以构成双重循环。这三个循环语句既可以自身构成嵌套,也可以互相嵌套。[课堂练习]教学活动流程设计旁注【例题】把例题用双重循环改写程序。main(){intn,i;floate=1.0,p=1.0;for(n=1;count<=10;n++){for(i=1;i<=n;i++)p*=i;e=e+1.0/p;}printf("e=%f\n",e);}[课堂小结]循环语句是算法中应用最普遍也是最重要的语句。C语言一共提供了三种循环语句。本节讲解的for语句,主要用于循环次数的循环。[布置作业]板书设计教学后记京山县中等职业技术学校备课用纸技能计算机应用授课日期授课节次教学课题while语句教学目标1.掌握while语句的一般格式。2.掌握while语句的执行过程。3.会运用while语句解决实际问题重点难点while语句的一般格式和while语句的执行过程。运用while语句解决实际问题。教学资源准备教案、实例、上机操作教学活动流程设计旁注【复习提问】for语句的执行过程,分析程序执行过程【讲授新课】while语句〔板书〕一.一般形式及执行流程〔板书〕1.一般形式〔板书〕whiel语句的一般格式为:while(表达式)语句其中表达式是循环能否继续重复的条件,语句局部〔即循环体〕可以是单一语句或复合语句。一个小例子如下,while(i<5)s=s+i;中,表达式是"i<5〞,语句是"s=s+i〞2.执行流程〔板书〕首先计算表达式的值,假设其值非0,则执行循环体并重新计算表达式,至到表达式的值变为0为止,然后从该语句的下一条语句继续执行下去。二.程序举例【例题】用while循环改写程序。程序1:main(){intcount=100;while(count<=300){printf("count=%d\n",count);count=count+100;}}教学活动流程设计旁注程序2:main(){intcount=1;while(count<=3)printf("count=%d\n",count++*100);}【说明】①循环体假设是复合语句,需要用大括号括起来,不然,while的作用范围只到其后的第一个分号,这与for语句的规定是一样的。②在循环体应有使循环趋向于完毕的语句。如程序1中的"count=count+100;〞和程序2中的"count++〞都是起到这个作用。③while语句可以用for语句来代替。for语句的一般形式可以改写为如下形式:表达式1;while(表达式2){语句表达式3;}[课堂练习]【例题】编程求1+2+…+10的值。main(){intsum,i;sum=0;/*变量sum作为累加器,必须置初值,否则结果不准确*/i=1;while(i<=10){sum=sum+i;i++;}printf("sum=%d\n",sum);}【例题】华氏温度f与摄氏温度c的关系是:c=5.0/9*(f-32),如果f为-10,20,50,…,320,用C程序求出各华氏温度所对应的摄氏温度。main(){intf,c;f=-10;while(f<=320){c=(5.0/9.0)*(f-32);printf("%4.0f%6.1f\n",f,c);i++;}}教学活动流程设计旁注【例题】从键盘依次输入学生的成绩,并进展计数、累加,当输入-1时,停顿输入,输出学生的数量、总成绩和平均成绩。【分析】这是一个"使用终止标志〞的问题,把"-1〞作为输入学生成绩
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 令我印象深刻的一个人9篇
- 2025版高考物理二轮复习 教材情境2 基于教材中“例题和习题”的情境命题
- 广西河池市校联体2024-2025学年高二上学期联考(12月) 数学试题(含解析)
- 2024-2025学年内蒙古呼和浩特市回民区九年级(上)期中物理试卷(含答案)
- 相对密度仪校准规范-编写说明
- 2025届安徽省江淮十校高三上学期第二次联考(11月)生物试题
- 课刘义庆《陈太丘与友期》课件
- 2025年中考英语一轮教材复习 写作话题11 人际交往
- 毛泽东思想和中国特色社会主义理论体系概论(山西青年职业学院)知到智慧树答案
- 《丰田教育手册》课件2
- 2024年学校监控室管理制度
- 留置胃管法操作并发症的预防及处理流程
- 火灾疏散逃生安全教育课件
- 肿瘤防治讲座知识讲座
- 鼓浪屿发展策划方案
- 《华尔兹基本动作》课件
- 毕业论文-山东省农产品出口贸易的现状及对策研究
- 执纪审查培训课件
- 美团企业管理制度
- 国开电大《人文英语3》一平台机考真题(第十一套)
- 中考数学复习《平行四边形》专项练习题-附带有答案
评论
0/150
提交评论