中职学校c语言电子教案_第1页
中职学校c语言电子教案_第2页
中职学校c语言电子教案_第3页
中职学校c语言电子教案_第4页
中职学校c语言电子教案_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

XXX中等职业学校备课用纸授课年级一年级授课班级高技8、9授课日期授课节次教学课题C语言概述教学目标了解C语言出现的历史背景正确理解C语言特点熟悉简单C程序结构、特点、执行过程掌握运行C程序步骤与方法重点难点正确理解c语言特点熟悉简单C程序结构、特点、执行过程教学资源准备教案、实例教学活动流程设计旁注第1章C语言概述c语言出现的历史背景1,程序设计语言的发展机器语言:计算机能直接识别的语言.汇编语言:助记符编写的语言。高级语言:面向对象程序设计语言(如VB程序设计语言、JAVA程序设计语言)和面向过程程序设计语言。2、C语言出现历史背景(1)时间:1972-1973(2)地点:美国贝尔实验室(3)目的:开发UNIX操作系统C语言特点1、语言简洁、紧凑、灵活2、运算符和数据类型丰富3、程序设计结构化、模块化4,生成目标代码质量高5、可移植性好简单C程序介绍例1.1第一个程序Heilo,World!

教学活动流程设计旁注#include<stdio.h>mainO(printf(MHello,World!M);)说明:1、ttincludeくstdio.h>是文件包含编译预处理命令,stdio.h是标准输入输出头文件1、main为主函数,每个C程序有且必须有一个主函数,无论其位置在哪,程序总是从main函数开始执行2、printf是C语言中的输出函数,双引号中的字符串原样输出3、;分号是C语言中的语句结束标志例1.2求两数之和#includeくstdio.h>mainO(inta,b,sum;/*Definatethreevariables*/a=123;b=456;sum=a+b;printf("Sumis%d”,sum);)说明:1>刎是输出格式字符,控制输出时的数据类型和格式,表示十进制整数2、Z**/为注释例1.3求任意两数之和^include<stdio.h>mainO{ inta,b,sum;scanf("%d,%d",&a,&b);sum=add(a,b);printf("Sum=%d",sum);)intadd(intx,inty){intz;z=x+y;return(z);}说明:1、scanf是C语言中的输入函数,从键盘读入两个十进制整数,分别放入变量a和b对应的地址单元中2、调用函数add,定义函数add,函数返回值为整型,形参x和y为整型3、return将z值返回,赋给sumC语言的格式特点:❖习惯用小写字母,大小写敏感❖不使用行号,无程序行概念

❖可使用空行和空格结构特点:C程序由函数构成C程序由语句组成/* */为注释,不产生编译代码教学活动流程设计旁注C程序的上机步骤1、C程序开发步骤编辑源程序:扩展名为.C编译目标程序:扩展名为,obj连接成可执行程序:扩展名为.exe2、VC++6.0集成开发环境的使用方法(1)启动VC++6.0,建立ー工作区(2)在此工作区中建立ー工程(3)在此工程中建立一文件(注意扩展名为.c)编辑后执行程序作业1、简述C程序的特点;2、编写ー个简单的C程序,在屏幕上显示“1StudyCProgramming”板书设计第一章C语言设计概述1、C语言的历史背景2、C语言的特点3、简单C程序介绍4、C程序的组成5、C程序的上机步骤6、作业

教学后记教学后记XXX中等职业学校备课用纸授课年级一年级授课班级高技8、9授课日期授课节次教学课题算法1教学目标算法的表示形式——流程图C中数据类型的分类常量与变量整型数据表示方法、存储形式、分类重点难点整型数据在内存中的存放形式如何解决整数的溢出问题教学资源准备教案、实例教学活动流程设计旁注算法的概念1、算法:为解决・个问题而采取的方法和步骤.2、程序=算法+数据结构3、算法是程序的灵魂简单算法举例1、求1X2X3X4X5§2.3算法的特性

1)有穷性2)确定性3)有。个或多个输入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二、变量、定义:在程序运行过程中其值可以改变的量。2、变量在内存中存放形式:ー个变量有一个名字,并在内存中占ー定的存储单元,用来存放变量的值。4、变量的定义格式(变量必须先定义后使用)类型说明符变量名1,变量名2, ..)变量名n;例:inta,b,c;3整型数据

ー、整型常量的表示方法1,十进制:1232、ハ进制:0123=(123)83、十六进制:0x123=(123)16二、整型变量1、整型数据在内存中的存放形式在内存屮以二进制补码的形式存放,占用2个字节的内存空间数的编码:原码、反码、补码原码:数的:进制编码。反码:正数等于原码,负数将原码逐位变反(符号位为1)补盗:正数等于原码,负数将原码变反末位加1。2、整型变量分类基本型:无符号unsignedint、有符号int短整型:无符号unsignedshortint»有符号shortint长整型:无符号unsignedlongint、有符号longint教学活动流程设计旁注3、例题(整型数据的溢出问题)main(){inta,b;a=32767;b=a+l;printf(a%d,%dw,a»b);}作业1、简述C程序中有哪些常用的数据类型:2、915/3,5

7、算法的基本概念;板书设计8、C语言中的数据结构;板书设计9、常量;10、变量;.变量的种类;、 例题分析XXX中等职业学校备课用纸授课年级一年级授课班级高技8、9授课日期授课节次教学课题浮点型数据教学目标浮点型数据与字符型数据的分类、表示方法与存储形式变量的赋值形式各种类数值型数据间相互转换的规则与方法重点难点灵活掌握各种数据的存储形式

教学资源准备教案、实例教学活动流程设计旁注ー、浮点型常量的表示方法1、十进制小数:数字+小数点例:0,123,123.0,.4562、指数形式:123X102=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、定义格式:charcl,c2;2、作用:存放ー个字符4、字符串常量❖定义:用ー对双引号括起来的字符序列❖在内存中存放形式:末尾加串结朿标志'0(系统自动加)例:"HELLO"

H E L L 0 \0❖字符串常量不能赋给ー个字符变量。例:charcl; /・字符变量・/cl二"hello"/*赋值错误・/变量赋初值一、赋值形式1、定义变量时赋值inta=3;floatf=3.56;charc='a';2、部分赋值inta,b,c=5;3、赋同一个初值inta~3»b=3»c=3;教学活动流程设计旁注浮点型数据与字符型数据的分类、表示方法与存储形式变量的赋值形式各种类数值型数据间相互转换的规则与方法作业1、P1M,22、Pl的

板书设计浮点型数据13、浮点型常量的表示方法:14、浮点型变量的分类(单精度、双精度、长双精度);15、常量;16、变量;17、字符常量;字符变量;例题分析;教学后记XXX中等职业学校备课用纸授课年级一年级授课班级高技8、9授课日期授课节次教学课题简单程序的调试及数学运算符教学通过上机调试程序掌握各种数据类型的表示方法、存储形式掌握各种不同数据间混合运算的运算规则

掌握各种运算符的使用方法通过程序调试正确理解各种表达式的运算结果目标点点重难掌握各种运算符的使用方法教学资源准备教案、实例、上机操作教学活动流程设计旁注上机按要求调试ド程序1、输入并运行下程序mainO{inta,b;a=32767;b=a+l;printf(M%d,%d\nw,a,b);}2、输入并运行下程序mainO{charcl,c2;cl=,a';c2=,b';printf(u%c,%c\nM,cl,c2);)1)将上面printf语句改成printf("刎,%d\n",cl,c2);结果?2)将charcl,c2;改成intcl,c2;结果?3)将cl='a';c2='b';改成cl=“a";c2="b”;结果?4)将cl='a';c2二'b';改成将cl=300;c2=400;改成结果?3、输入并运行下程序mainO{charcl二'a',c2二'b',c3='c',c4='\101',c5二'\116';printf(Ma%cb%c\tc%c\tabc\n",cl,c2,c3);printf("%c%c\n",c4,c5);}教学活动流程设计旁注4、输入并运行下程序mainO{inti,j,m,n;i=8;j二10;m=++i;n=j-H-;

printf("%d,%d,%d,%d\n”,i,j,m,n);)1)将m=++i;n=j++;改成m=i++;n=++j;结果?2)将m=++i;n=j++;删除并将printf("%d,%d,%d,%d\n”,i,j,m,n);改为printf( %d,%d\n”,i,j,i++,j++);结果?算术运算符和算术表达式・、算术运算符和算术表达式1、基本算术运算符+(加法或正值运算)1+2. +100一(减法或负值运算)1-2, -100(乘法运算符)1*2/(除法运算符)1/2两整数相除结果为整数。に〇%(模或取余运算符)要求运算符两侧均为整数如5/3=12,算术表达式和运算符的优先级与结合性1)算术表达式的定义:由算术运算符、括号将操作数连接起来 符合C语法规则的式子。2)优先级与结合性/ %高(左至右结合)+ ー低(左至右结合)例题:X/(67-(12+Y)*A)判断计算先后顺序?3、强制类型转换运算符1)转换格式:(类型名)(表达式)作用:将表达式转换成所需的格式。main(){floatx;intI;x=3.6;I=(int)x;printf("x=%f,I=%d”,x,I);)4、自增、自减运算符++i,--i(先使i的值加1或减1,再使用i)i++,i-(先使用i(再使i加1或减1)++与--只能用于变量,不能用于常量或表达式例:5++ ,(3*8)++错误++与-ー结合方向自右向左。-1++=-(1++)I=3;printf( ,I,1++);教学活动流程设计旁注赋值运算符和赋值表达式ー、赋值运算符

1、运算符:为等号“=”2、与数学运算的区别• 数学运算符是判断等号两侧的数值是否相等。・ 赋值运算符是将等号右侧的数值赋给左侧。3,类型转换。将实数赋给整数,舍去小数部分。2)将整数赋给单双精度变量时,数值不变,但以浮点形式存储到变量中。3)将一个double赋给float时,截取前7位有效数字。4)将字符型赋给整型时,无符号时高8位补零,有符号时,高8位补15)将一个intshortlong赋给ー个char时,只将低8位赋给char4、复合赋值运算符定义:在赋值运算符前加其他运算符a+=b等价a=a+bx%=y+3等价x=x%(y+3)5、赋值表达式格式:〈变量)〈赋值运算符》く表达式)作业1、上机调试课堂上所学的实例;2,写出上机调试程序时出现的错误及解决方法;3、P19A,5板书设计程序调试及算术、关系运算符20、上机调试课件中的程序;21、上机调试例1及例2;22、算术运算符和算术表达式:23、关系运算符及关系表达式;24、理解赋值号与数学中等于号的区别;教学后记

XXX中等职业学校备课用纸授课年级一年级授课班级髙技8、9授课日期授课节次教学课题运算符与表达式详解教学目标运算符的各类表达式的种类算术运算符自增自减运算重点难点算术运算符自增自减运算教学资源准备教案、实例、上机操作教学活动流程设计旁注运算符与表达式详解【问题】日常生活中我们会进行各种各样的数据运算。在(:语言中将如何表示这些运算呢?C语言的运算符非常丰富。除控制语句、输入输出语句以外的几乎所有的基本操作都作为运算符处理的。运算符的使用方法也非常灵活,这是C语言的主要特点.C语言运算符ー般可分为以下儿类:1.算术运算符+-*/%2.关系运算符>>=<<===!=3.逻辑运算符!&4•位运算符«»'|"&5.赋值运算符=及其扩展赋值运算符6.条件运算符Q.7.逗号运算符8.指针运算符*&9.求字节数运算符sizeof10.类型转换运算符(类型)教学活动流程设计旁注.分量运算符 .->.下标运算符 [].其他 如函数调用运算符()本节将重点介绍算术运算符、赋值运算符、逗号运算符,其他运算符将在以后各章中陆续介绍。详细的运算符列表见附录。算术运算符与算术表达式.算术运算符C语言中基本的算术运算符共有5种:+(加),-(减),*(乘),/(除),%(取模,或称求余运算符)C语言规定:%(取模运算符),仅用于整型变量或整型常量的运算,如:7%3I其值为1。/(除运算符),当对两个整型的数据相除时结果为整数,如:7/3,其值为2,舍去小数部分,相当于整除操作。.算术表达式(1)算术表达式定义

由算术运算符、括号以及操作对象组成的符合C语言语法规则的表达式称为算术表达式。如:a+b_c/d*(a-c)〇(2)优先级一个表达式中若有多个运算符混合在ー起,则计算的先后次序为先算括号,再根据相应运算符的优先级,高的优先。乘、除、取模运算符的优先级高于加、减运算符的优先级,即先乘、除、取模,后加、减。算术运算符的优先级在所有运算符中是较高的,仅次于括号、单目运算符、类型转换运算符和求字节数运算符。(3)结合方向当ー个运算对象两侧的运算符的优先级别不同时,应遵循优先级高的先处理的规则。当ー个运算对象两侧的运算符的优先级别相同时,应遵循运算符的结合方向。算术运算符的结合方向是从左至右。3.自增自减运算符C语言中,增1运算也可以写为++运算;减I运算也可以写为ー运算。++和一运算是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的值/*EX2-3.C*/main()inti=5,j;j=++i+i-H-;/*・个前增1使i变成6后オ进行加法运算,printf(*%d%d\n*,i,j);j=(++i)+(++i)+(i++);printf(*%d%d\n*,i,j);printf(*%d%d\n*»i+j,j++);)运行结果为:712实际是6+6*/

10273827作业:P2M,2,3 P29a板书设计运算符与表达式详解25、运算符的种类:26、表达式的种类;27、常用的算术运算符;28、自增与自减运算29、习题分析教学后记XXX中等职业学校备课用纸授课年级一年级授课班级高技8、9授课日期授课节次教学课题赋值运算符与逗号运算符教学目标赋值运算逗号表达式复合运算赋值运算符与数学中等号的区别逗号表达式

重点难点教学资源准备教案、实例、上机操作教学活动流程设计旁注ー、赋值运算.赋值运算符C语言中赋值运算符为它的作用是将赋值运算符右边表达式或常量的值赋给其左边的变量。例如:a=5; /・表示把ー个常量5赋给变量a*/x=a+5; /・表示将表达式a+5的值赋给变量x*/【注意】如果赋值运算符两侧的类型不一致,在赋值时要进行类型转换。我们将在下ー节“赋值转换”中给大家作说明。.复合赋值运算符C语言允许在赋值运算符“=”之前加上其他运算符以构成复合的赋值运算符。凡是双目运算符,都可以和赋值运算符一起组合成复合的赋值运算符。在C语言中,可以使用的复合赋值运算符有:+=,-=,*=,/=,%=,«=,»=,&=,*=,|=例如:a+=5i 等价于 a=a+5;教学活动流程设计旁注a*=b+5; 等价于a%=5: 等价于a=a*(b+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=ll的赋值运算。二、逗号运算符与逗号表达式.逗号运算符C语言提供•种特殊的运算符一逗号运算符。逗号运算符为、”。用逗号运算符可以将两个表达式连接起来。如:2+3,2+5.逗号表达式(1)逗号表达式就是用逗号运算符把两个表达式连接起来所形成的表达式。其一般形式为:教学活动流程设计旁注(表达式1),(表达式2)逗号表达式的求值过程是:先求表达式1的值,再求表达式2的值,表达式2的值就是整个逗号表达式的值。如上面的表达式先求2+3的值为5,再求2+5的值为7,最后整个逗号表达式的值为表达式2+5的值7。【例】分析ド面程序的运行结果

/*EX2-4.C*/main(){inty=3,x=3,z=l;printf(*%d%d\n*,(++x,y++),z+2);)运行结果为:作业1、P29/5,6,7,82、上机调试程序运行结果板书设计赋值运算符、逗号表达式30、赋值运算符31、赋值运算与数学中等号的区别32、逗号表达式33、复合运算34、习题讲解教学后记XXX中等职业学校备课用纸授课年级 一年级 授课班级 高技8、9授课日期 授课节次教学课题数据类型转换

教学课题数据类型转换教学目标类型的自动转换赋值的转换强制类型转换重点难点类型自动转换的规则教学资源准备教案、实例、上机操作教学活动流程设计旁注数据类型转换C语言中,各种类型的数据可以混合运算。字符型数据和整型数据之间可以通用。不同类型的数据在进行混合运算时,往往需要进行类型转换,将不同类型的数据转换成同种类型的然后进行计算。类型转换有三种方式:类型自动转换;赋值转换和强制类型转换。ー、类型自动转换不同类型的数据可以进行混合运算,例如:10+'a'+2.5*'b'在进行混合运算时,不同类型的数据首先要转换成同一类型,然后才能进行运算。自动转换规则为:(1)单精度浮点型数据(float)在运算时ル动转换成双精度浮点型数据(double)。(2)字符型数据(char)和短整型数据(short)在运算时自动转换成整型数据(int)。(3)整型数据(int)和无符号型数据(unsigned)混合运算时,将整型数据转换成无符号型数据。教学活动流程设计旁注(4)整型数据(im)或无符号型数据(unsigned)和长整型数据(long)混合运算时,都转换成长整型数据。(5)整型数据(int)、无符号型数据(unsigned)、长整型数据(long)和浮点型数据混合运算时,都转换成浮点型数据。依次方式类推,转换规则如图2-2:高 double -floatt tI long: t1unsigned:t低 int« ehar,short图2-2自动类型转换规则总之,在自动类型转换时总是按照精度不降低的原则从低级向高级进行转换的。例如上面例子中给出的表达式10+'a'+2.5*'b',在运算时,先将所有的字符类型数据'a‘和‘b’转换成整型,再从左向右进行运算。遇到浮点型数据时,将整型数据自动转换为浮点型数据。最后表达式的值为浮点型数据,并且按照浮点型数据的运算规则进行运算。例如:设有以下变量定义,并已赋确定的值charw;intx;floaty;doublez;则表达式:w+x+z/y值的数据类型为double说明:此表达式中y为float类型的数据,所以所有数据都自动转换成浮点类型,并且按照浮点型数据的运算规则进行运算。二、赋值转换如果赋值运算符两侧的类型不一致(但都是数值型或字符型)时,在赋值过程中会进行类型转换。转换的基本原则是:(1)当整型数据赋给浮点型变量时,数值上不发生任何变化,但有效位增加。如:floatf;f=4; /・内存中变量f的值为4.00000〇・/(2)当单、双精度浮点型数据和整型变量混合运算时,浮点数的小数部分将被舍弃。如:intx;x=4.35;/・内存中变量x的值为4*/(3)将字符型数据赋给整型变量时,由于字符型数据在运算时根据其ASCI!码值自动转化为整型数据、所以将字符型数据的ASCII码值存储到变量中。如:intx;x='a';/*内存中变量x的值为65*/(4)将有符号的整型数据赋给长整型数据,要进行符号扩展。将无符号的整型数据赋给长整型变量时,只需将高位补。即可。

教学活动流程设计旁注三、强制类型转换可以利用强制类型转换运算符将一个表达式强制转换成所需类型。例如:(int)a; /・表示将变量a的类型强制转换为整型・/(float)(a+b); /・表示将表达式a+b结果的类型强制转换为浮点型・/强制类型转换的一般形式如ド:(强制的类型名)(表达式)作业P56/M.3.4P58/6板书设计数据转换35、自动类型转换36、赋值转换37、 强制类型转换教学后记教学后记XXX中等职业学校备课用纸授课年级一年级授课班级高技8、9授课日期授课节次教学课题习题讲解及第二章知识总结教学目标通过习题的讲解,使学生深入理解本章所学的内容对本章所学知识的总结重点难点理解习题教学资源准备教案、实例、上机操作教学活动流程设计旁注习题讲解及第二章知识总结(1)表达式应该用括号括起来。例如:(int)(a+b); /・表示将表达式a+b结果的类型强制转换成int型・/(int)a+b; /・表示将变量a的类型强制转换成!nt型后,再进行运算・/(2)经强制类型转换后,得到的是ー个所需类型的中间变量,原来变量的类型并没有发生任何变化.

【例1】分析下面程序的运行结果/*EX2-5.C♦/main()(inta;floatb=2.5;a=(int)b;printf(*a=%d,b=%f”,a,b);1j运行结果为:a=2,b=2.500000教学活动流程设计旁注【例2】分析下面程序的运行结果/*EX2-6.C*/main()(intx,y;x=50;y=(x=x-5,x/5);printf("y=%d",y);)运行结果为:Y=9【分析】因为x的初始值为50,减5后变为45,45除5为9赋给y。【例3】写出下面程序的运行结果。/*EX2-7.C*/mainO(inti=2,j=3,k,n,m;k=i+jjprintfk);k=k+l;printf('%d”,k);n=k*3;printfn);m二n%j;printf(飞d”,m);m=m-ijprintf(*%d*,m);n=k/j;printf(*%d*,n);1

运行结果为:56180-22【分析】整型数据不管进行什么样的算术运算得出的结果仍为整型数据。【例4】分析下面程序的运行结果。/*EX2-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)基本数据类型包括整型、实型、字符型三种。它们的表示方法、数据的取值范围和数值的有效位各有特点。作业上机调试木次课所讲的所有习题

习题讲解及本章知识总结板书设计38、上机调试课件中的程序;板书设计39、上机调试例1及例4:教学后记3、深入理解习题中所讲到的知识点教学后记XXX中等职业学校备课用纸授课年级一年级授课班级高技8、9授课日期授课节次教学课题C语言的基本语句教学目标表达式语句函数语句控制语句复合语句空语句重点难点各种语句的结构和特点

教学资源准备教案、实例、上机操作教学活动流程设计旁注简单程序设计在C语言中,程序结构一般分为顺序结构、选择结构、循环结构。本章节主要介绍的是:顺序程序结构、赋值语句、基本的输入/输出函数、格式控制符等。顺序结构是最简单的也是最基本的程序结构,其特点是语句按书写的顺序依次执行。顺序结构主要由简单语句、复合语句及简单输入输出函数构成的语句组成。printf与putchar是输册函数,scanf与getchar是输入函数,它们既有相同点也有不同点。1ヽC语言语句C语言中语句的作用是向计算机系统发出操作命令,从而完成•定的操作任务。C语句可分为以下5种类型,下面我们进行简单介绍。教学活动流程设计旁注.表达式语句由表达式组成的语句称为表达式语句,其作用是计算表达式值或改变变量值。它的一般形式是:表达式;即在表达式的末尾加上分号,就变成了表达式语句。最典型的例子是,由赋值表达式构成一个赋值语句。如:x=5是赋值表达式,而x=5;是ー个赋值语句。注意:分号是C语言中语句的标志,一个语句必须要有分号,没有分号,则・定不是语句。表达式能构成语句是C语言的个重要特色。.函数调用语句

由・个函数调用加上・个分号构成函数调用语句,其作用是完成特定的功能。它的・般形式是:函数名(参数列表);例如:printf(*goodby!\n*); /・调用库函数,输出字符串・/.控制语句控制语句用于完成•定的控制功能,以实现程序的各种结构方式。C语言有9种控制语句,可分为三类:(1)条件判断语句:if语句、switch语句(2)转向语句:break语句、continue语句、goto语句、return语句(3)循环语句:for语句、while语句、do-while语句.复合语句复合语句是用花括号将若干语句组合在ー起,又称分程序,在语法上相当于一条语句。例如下面是ー个复合语句:{i++;printf("%d\n*,i);1注意:复合语句屮最后ー个语句的分号不能省略不写。.空语句只有一个分号的语句称为空语句。它的一般形式是:空语句是什么也不执行的语句,常用于循环语句中的循环体,表示循环体什么都不做。例如:while(getcharO!='\n'); /・空语句・/教学活动流程设计旁注该循环的功能是:直到从键盘上键入回车オ退出循环。这里的循环体是空语句。作业1、试列出C语言中常见的语句有哪些?2、P6925,8

板书设计C程序中的各种语句40、表达式语句:41、函数语句;42、复合语句;43、空语句;44、控制语句教学后记XXX中等职业学校备课用纸授课年级•年级授课班级高技8、9授课日期授课节次教学课题程序结构教学认识程序设计的三种基本结构顺序结构

目标重点难点顺序结构教学资源准备教案、实例、上机操作教学活动流程设计旁注程序结构ー、程序结构简介在C语言中,程序结构一般分为顺序结构、选择结构、循环结构。任何复杂的程序都是由这二种基本结构组成。【引例】简单的程序结构。main()(intx,y.z; /・定义三个整型变量,是C语言中的声明部分・/x=123;y=234; /・以下语句是(:语言中的语句,是执行部分・/z=x-y:printf("x-y=%d\n,z);)该程序的作用是求两个整数x和y的差z。第3行是定义变量x、y、z是整型(int)变量.第4行是两个赋值语句,使x、y的值分别为123和234。第5行也是赋值语句,使z的值等于x-y。第6行是进行输出,输出变量z的值。因此该程序的输出信息是:x-y=-111教学活动流程设计旁注【引例】由多个函数构成的程序结构。main() /・主函数・/(intx,y,z; /*声明部分,定义变量的类型・/

scanf(*%d,%d*,&x,&y); /*通过输入函数,给变量x、y赋值・/z=min(x,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,并通过返回语句retum将c的值返回给主函数main。程序运行时,先由scanf()函数从键盘上读取两个整型数据,如从键盘上输入2,7/(/表示回车键),此时x被赋值2,y被赋值7,然后执行第5语句,对min函数进行调用,调用的结果是将较小的数2赋给变量c,通过return语句将函数值赋给变量z。第6行语句输出z的值2。因此程序输出的信息是:min=2从上面的两个例子看出:一个C程序可以由若干个源程序文件组成,其结构如图3-1所示。二、顺序结构顺序结构是程序设计中最简单、最基本的结构,其特点是程序运行时,按语句书写的次序依次执行,其结构如图3-2所示。在图中,执行完A框所指定的操作后,必接着执行B框所指定的操作。顺序结构通常是由简单语句、复合语句及输入输出函数语句组成。【例】分析下面程序结构/*EX3-1.C */ttinclude<stdio.h>mainO(inta,b,c;scanf("%d,%d",&a,&b);教学活动流程设计旁注c=a+b;

printf(*\nc=%d\n*,c);)上述程序显然是顺序结构,其语句执行的次序如图所示。从例3T可以看出,顺序结构的程序框架如下:#开头的编译预处理命令行main()(局部变量声明语句;可执行语句序列;}; /・空语句・/作业1、程序设计一般有哪三种基本的结构2、P6羽,4程序设计的基本结构45、程序设计的结构46、顺序结构例题讲解47、选择结构48、循环结构

XXX中等职业学校备课用纸授课年级一年级授课班级高技8、9授课日期授课节次教学课题赋值语句与printf语句教学目标理解赋值语句掌握printf语句的茶本结构:掌握printf语句在程序中的基本用法重点难点赋值语句;Printf语句的基本用法教学资源准备教案、实例、上机操作教学活动流程设计旁注ー、赋值语句赋值语句是ー个应用十分普遍且最简单的语句。赋值语句的一般形式:变量=表达式;赋值语句的功能是将赋值号右边表达式的值计算出来,再赋给赋值号左边变量。如:a=3+6;该语句的作用是将表达式3+6等于9的值赋给了变量a。前面我们已经学过了赋值表达式,要注意区分两者的不同点:(1)赋值表达式不能有分号“;”,而赋值语句一定要有分号“;”,这是最本质的区别。(2)赋值表达式中的赋值号“二”可以连用,而赋值语句中的赋值号“二”不能连用。如:a二b二c二1这是赋值表达式,其含义是变量a,b,c的值都是1。而a=b=c=l;这是赋值语句。左边第一个“二”是赋值语句中的赋值号,其含义是将该赋值号右边表达式b=c二l的值1赋给变量a。千万不要认为这三个“二”都是赋值语句中的赋值号。

教学活动流程设计旁注(3)赋值表达式可以包括在其他表达式之中,如:if((x=y)<0)a=x;其中x=y是赋值表达式。条件判断顺序是:先将y的值赋给X,然后判断表达式的值(也是x的值)是否小于〇,若小于〇,则执行a=x。显然这样写是合法的。但如果写成:if((x=y;)<0)a=x;就不正确了,因为在if条件中不能包含赋值语句。二、数据输入printf语句stdio.h是standardinput&output的缩写,它是以标准的输入输出设备作为输入输出对象,包括putchar(输出字符),getchar(输入字符),printf(格式输出),scanf(格式输入),puts(输出字符串),gets(输入字符串)等.考虑到printf、scanf使用频繁,系统允许在使用这两个函数时不用#include命令。本章将介绍前4个基本的输入输出函数。格式化输出函数printfprintf函数的功能是向系统指定的设备输出若干个任意类型的数据。.printf函数调用形式printf函数是ー个标准库函数,其调用的一般形式:printf(格式控制字符串,输出列表):括号里格式控制字符串和输出列表实际1:都是函数的参数。其中:(1)格式控制字符串是用双撇号括起来的字符串,它包括两个信息:①格式说明。由“%”和格式字符组成,如%d,%c,%f等。它的作用是将要输出的数据转化成指定的格式输出,格式说明都是由“%”字符开始的。②・般字符。即按原样输出的字符,在显示时起提示作用.如例题3T中有:printf("\nc=%d\n”,c);/・双撇号内有换行符、字符c=*/(2)输出列表是需要输出的变量、函数、表达式。.格式说明符不同类型的数据用不同的格式说明符。格式说明符是由''%"开头,后面跟若干个小写英文字母,用以说明数据输出的类型、长度、位数等。在TurboC中格式字符串的一般形式为:%[标志][输出数据最小宽度m][.精度n][数据长度]类型【说明】

[]:表示可选项。[标志:):是由字符构成的,它表示数值输出时按某种格式,常用的字符有一、+、〇,其具体含义见表3一員教学活动流程设计旁注[输出数据最小宽度m]:m是卜进制整数,它表示用十进制输出的最少位数,当需要输出的数据长度超过该数时,该选项不起作用,数据按实际位数进行输出,当需要输出的数据长度小于该数时,则在该数的左边补空格或〇〇[.精度n]:是".”加上十进制整数n。其含义是:如果输出的是数值,则该数表示小数位数,若实际位数大于所定义的精度,则截去超过部分;如果输出的是字符,则表示输出字符的个数。[数据长度]:是字符,它有两种形式:h、Eh表示按短整型量输出,1表示按长整型量输出。类型:是格式说明符中必须要有的,它表示输出列表里要输出的数据类型。表3-2给出了常用的类型格式符及含义。作业:P69/l,2,5P65例2,例3请在上机时调试程序板书设计赋值语句与printf语句49、赋值语句50、Printf语句的基本结构51、Printf语句中各参数的意义52、例题讲解

教学后记教学后记XXX中等职业学校备课用纸授课年级一年级授课班级高技8、9授课日期授课节次教学课题Printf语句及例题讲解教学目标Printf语句例题讲解重点难点通过例题的讲解,使学生进ー步认识printf语句教学资源准备教案、实例、上机操作教学活动流程设计旁注例题1#includeくstdio.h>mainO(

inta,b,c;a=10;b=20;c=-30;printf(*a=%d,a=%o,a=%+d\n*,a,a,a);printf(*b=%d,b=%x,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】分析下面程序运行结果。/*EX3-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+bK02d+%02d卷05d”,a,b,c); /・用%Omd格式输出・/)程序运行结果为:a+b=123+234=357a+b=123+234=357a+b=123+234= 357a+b=123+234=00357为什么运行结果中第三行与第四行不完全ー•样?【例3】分析下面程序运行结果。/*EX3-4.C*/^include<stdio.h>mainO

floatx,y,z;x=123.234;y=0.000345;z=~98.567;printf(*x=%.4f,x=%.2f,x=%+e\n*,x,x,x); /・用%.nf、%+e格式输出・/printf("y=%f,y=%8.4f,y=%10.3e\n*,y,y,y); /・用%f、%m.nfヽ%nne格式输出*/printf("z=%+f,z=%+e,z=%+g\n”,z,z,z); /・注意g格式的使用・/}程序运行结果为:x=123.2340,x=123.23,x=+l.23234e+02y=0.000345,y=0.0003,y=3.45e-04z=-98.567001,z=-9.85670e+01,z=-98.567注意:由于变量x,y,z均是单精度实型变量,因此按f格式输出7位有效数字,所以运行结果中第三行第-个z的值中小数点后第六位的数值是无效的。在TurboC中,字符与字符串的表示是不同的:単个字符用单撇号括起来,而字符串要用双撇号括起来,若单个字符用双撇号括起来,则表示是字符串。教学活动流程设计旁注在使用printf函数时,要注意以下几个问题:(1)可以在格式控制字符串中包含前面所讲的“转义字符",如’'n’、’\t‘、‘\r‘、‘\b’、,\377"等。(2)跟在%后面的格式符除X(表示输出的十六进制数用大写字母输出)、E(表示输出的指数e用大写字母E输出)、G(表示若选用指数形式输出,则用大写字母E输出)外,其余必须是小写字母。如%d不能写成%D。(3)若想输出字符“%”,则在格式字符串屮用连续两个%表示。如:printf 1.0/4);则输出:0.250000%作业P78/3,4P79万⑴⑶

板书设计Printf语句及习题讲解53、例154、例255>例356、例457、知识点总结教学后记XXX中等职业学校备课用纸授课年级一年级授课班级高技8、9授课日期授课节次教学课题Scanf语句教学目标认识程序设计的输入输出语句;Scanf语句的基本结构;Scanf语句中各参数的意义;能用Scanf语句进行简单的输入程序设计重点难点Scanf语句的基本结构Scanf语句中各参数的意义

教学资源准备教案、实例、上机操作教学活动流程设计旁注scanf函数的功能是从键盘上将数据按用户指定的格式输入并赋给指定的变量。1.scanf函数调用形式scanf函数是ー个标准库函数,其调用的一般形式:scanf(格式控制字符串,地址列表);其中格式控制字符串的定义与使用方法和printf函数相同,但不能显示非格式字符串,即不能显示提示字符串。地址列表是要赋值的各变量地址。地址是由地址运算符后跟变量名组成,如&X表示变量X的地址。&是取地址运算符,其作用是求变量的地址。【弓I例】scanf函数的使用。 #include<stdio.h>main() a[ 25{inta,b; b\ -34scanf("%d,%d",&a,&b);printf("ヽnaGd,b=%d\n”,a,b): 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的宽度输入数据。[长度]:长度格式符为1和h,1表示输入长整型数据或双精度实型数据;h表示输入短整型数据。类型:是格式说明符中必须要有的,其格式符的意义与printf函数基本相同【例】分析下面程序。/*EX3-9.C*/#include<stdio.h>main(){charstrl,str2;scanf("睨%c”,&strl,&str2); /・给字符变量输入数据・/printf("\n%c%c\n",strl,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=-2Z其他任何输入形式都不正确。(4)输入数据时,遇以下情况认为该数据输入结束:①按指定的宽度结束;②遇空格,或“回车”键,或“Tab”键;③遇非法输入.作业:1、P79272、编程:由键盘输入任意三个整数,试输出这三个数的和与积板书设计Scanf语句分析58、什么是程序输入语句59、Scanf语句的基本结构60、Scanf语句中各参数的意义61、使用scanf语句时应注意的问题62、例题分析63、知识点总结教学后记XXX中等职业学校备课用纸授课年级•年级授课班级髙技8、9授课日期授课节次教学课题if语句教学.掌握条件选择语句if的三种形式。.掌握三种if语句的执行过程。.会运用if语句的三种形式解决实际问题。

目标重点难点if语句的三种形式三种if语句的执行过程的理解。三种if语句的运用。教学资源准备教案、实例、上机操作教学活动流程设计旁注【复习提问】运算符的优先级,表达式的种类【讲授新课】if语句(板书)一.if语句的第・种形式(板书).语句格式(板书)if(表达式)语句(板书)其中“表达式”一般为逻辑表达或关系表达式,可以是任意的数据类型。例如,①if(a>b&&a>c)printf(*%d\n*,a);其中的表达式是逻辑表达式。②if('a')printf(*%d\n 'a');其中的表达式是字符表达式。③if(3.8)printf("%d\n",'a');其中的表达式是实型表达式。.语句执行流程(板书)系统首先判断表达式的值,如果为非〇(真),则执行表达式后跟的语句,然后执行本if语句的后续语句:如果为0(假),则不执行表达式后跟的语句,直接执行本if语句的后续语句。教学活动流程设计旁注

3.程序举例【例题5-13.程序举例【例题5-1】编写程序,从键盘输入两个整数,分别送给变量a和b,比较a、b的大小,如果a>b输出字符串“yes”,否则什么也不输出。【分析】根据程序设计的“三步曲”,解决本问题的流程图如图所示。(板书)源程序如下:main(){inta,b;scanf(*%d,%d",&a,&b);if(a>b)printf("yes");}二.if语句的第二种形式(板书).语句格式(板书)if(表达式)语句1else语句2其中“表达式”同第一种形式ー样。例如,if(a>b)printf("%d\n",a);elseprintf("%d\n",b);.语句执行流程(板书)系统首先判断表达式的值,如果为非0(真),则执行语句1,然后执行本if语句的后续语句;如果为0(假),则语句2,然后执行本if语句的后续语句。.程序举例【例题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两个整数的大小,且把大者赋给x的程序。【例题5-6】用if语句编写比较a、b两个整数的大小,FL把大者赋给x,小者赋给y的程序。[课堂小结]用if语句编程,主要用来解决两路或三路分支的问题,如果问题的很多路分支,还用if语句来编程,程序就显得很乱,而且板书设计教学后记教学后记XXX中等职业学校备课用纸授课年级一年级授课班级高技8、9授课日期授课节次教学课题switch语句教学目标.掌握switch语句的格式。.掌握switch语句的执行过程。.会运用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+l;case7:i=i+l;case8:i=i+l;case9:i=i+l;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+l;break;case7:i=i+l;break;case8:i=i+l;break;case9:i=i+l;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&ay%100!=0)②该年份能被400整除(y%400==0).【说明】①switch后面的“表达式”,可以是整型表达式或字符表达式,也可以是枚举型数据O②每个case的常量表达式的值不能相同。③多个case可以共用ー组执行语句,如例题5.9中所示•[课堂小结]switch语句是多分支选择语句,也叫开关语句。它主要用来解决多路选择问题。[布置作业]教学后记教学后记XXX中等职业学校备课用纸授课年级一年级授课班级高技8、9授课日期授课节次教学课题for语句教学目标.掌握for语句的一般格式。.掌握for语句的执行过程。.会运用for语句解决实际问题。重点难点for语句的・般格式和for语句的执行过程。运用for语句解决实际问题教学资源准备启发式,讲练结合教学活动流程设计旁注【复习提问】switch语句的执行过程,分析课后题【讲授新课】for语句(板书)一般形式及执行流程(板书)1.一般形式(板书)for语句的一般形式为:

for(表达式1;表达式2;表达式3)语句八例子如下,2.执行流程(板书)3.几点说明①for语句中,表达式1可以为循环变量赋初值,也可以与循环变量无关。教学活动流程设计旁注②表达式1和表达式3可以是一个简单表达式,也可以是逗号表达式。如:for(m=0,n-50;m<=n;m++,j-) k』+n;③表达式2一般是关系表达式或逻辑表达式,但也可以是任意表达式,只要其值是非。,就执行循环体。如,for(m=0;(c=getchar()))!='\n';m+=c)purchar(c);④for语句的一般形式中“表达式1”可以省略,此时应在for语句前给循环变量赋初值,但其后的分号不能省略。⑤表达式2也可以省略,此时不判断循环条件,循环无限制地进行下去,除非在循环体内有跳出语句break;⑥表达式3.一般用来修改循环变量的值,使循环趋于结束。如果省略表达式3,应另外设法保证循环能正常结朿。如,for(i=l;i<5; ) {s=s+i;i++;}该例题中,循环体有两条语句,所以应用大括号括起来,构成复合语句。⑦表达式1和表达式3可以同时省略。如,inti=l;for(;i<5;) {s=s+i;i++;}⑧三个表达式可以都省略,但分号不能省略。如:for(;;)语句此时,便构成一个死循环,除非循环体中有跳出语句break;二,for单重循环程序举例【例题】用循环控制分行输出count=lOO,count=200,count=300o【课堂练习]三.双重循环【例题】用双重循环,打印出九九乘法表。main()inti,j;for(i=l;count<=9;i++){for(j=l;j<=i;j++)printf(飞d i*j);printf("\n"); /・打印完一行后,输出ー个换行・/))这就是用for语句构成的双重循环,当然后面要讲到的while循环、do-while循环也可以构成双重循环。这三个循环语句既可以自身构成嵌套,也可以互相嵌套。[课堂练习]

教学活动流程设计旁注【例题】把例题用双重循环改写程序。main(){intn,i;floate=l.0,p=l.0;for(n=l;count<=10;n++)(for(i=l;i<=n;i++)P*=i;e=e+l.0/p;}printf(*e=%f\n*,e);}[课堂小结]循环语句是算法中应用最普遍也是最重要的语句。C语言ー共提供了三种循环语句。本节讲解的for语句,主要用于已知循环次数的循环。[布置作业]板书设计教学后记教学后记XXX中等职业学校备课用纸授课年级一年级 授课班级高技8、9授课日期 授课节次教学课题while语句教学目标.掌握while语句的一般格式。.掌握while语句的执行过程。.会运用while语句解决实际问题重点难点while语句的一般格式和while语句的执行过程。运用while语句解决实际问题。教学资源准备教案、实例、上机操作教学活动流程设计旁注【复习提问】for语句的执行过程,分析程序执行过程【讲授新课】while语句(板书)一般形式及执行流程(板书)1.一般形式(板书)whie!语句的一般格式为:while(表达式)语句

其中表达式是循环能否继续重复的条件,语句部分(即循环体)可以是单ー语句或复合语句。ー个小例子如下,while(i<5)s=s+i;中,表达式是“i<5”,语句是“s=s+i”2.执行流程(板书)首先计算表达式的值,若其值非〇,则执行循环体并重新计算表达式,至到表达式的值变为〇为止,然后从该语句的下一条语句继续执行下去。二.程序举例【例题】用while循环改写程序。程序1:main(){intcount=100;while(count<=300){printf(*count=^d\n*»count);count=count+100;))教学活动流程设计旁注程序2:main(){intcount=l;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ニ。;/・变量sum作为累加器,必须置初值,否则结果不准确・/iコ;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.Of%6.lf\n",f,c);i++;}}

教学活动流程设计旁注【例题】从键盘依次输入学生的成绩,并进行计数、累加,当输入ー1时,停止输入,输出学生的数量、总成绩和平均成绩。【分析】这是ー个“使用终止标志”的问题,把“T”作为输入学生成绩的结束标志,n为学生的计数变量,s为总成绩的累加变量,x为每个学生成绩的暂存变量。main()(intn=0;floats=0,x;scanf ;while(x!=-l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论