




已阅读5页,还剩103页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【教学课题】C语言简介 【目的要求】了解C语言基本元素的组成,掌握VC6.0集成开发环境,C语言程序的结构,C语言程序的上机步骤【教学重点】上机操作的基本知识,C语言程序的结构【教学难点】C语言程序的结构,程序调试与错误定位【教学方法】任务驱动法、案例教学法、启发式教学【教学手段】讲授+演示+学生实践【作业布置】 1、完成教材第一章课后总复习题。一、提出任务,引入课题:简单应用问题:1、用C程序实现:让计算机输出一句问候语“你好,很高兴能认识你!”。2、一个简单的C程序,其功能是求键盘输入的两个数中较大的数。3、怎么让计算机执行并显示结果?其运行环境怎样? 二、分析任务,讲授新课(一)VC+6.0运行集成开发环境简介1、启动与退出2、集成开发环境介绍:如图2-1所示。 (以任务1,任务2的实现为例讲解)图2-1VC6.0集成开发环境VC6.0的集成开发环境主要由标题栏、菜单栏、工具栏、项目工作区窗口、源程序编辑窗口、输出窗口和状态栏7部分组成。(二)C语言简介1、如何学习C语言紧紧抓住C语言学习的主线。如图2-2所示。函数结构预处理命令语句结构常量、变量、表达式C语言学习主线2、C程序的构成 (以上面所做的例题为例)从上面例子,我们对C语言程序的基本组成和形式(程序结构)有了一个初步了解:(1)C程序由函数构成(C是函数式的语言,函数是C程序的基本单位)。(2)一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其它函数。(3)被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己编写设计的函数。C函数库非常丰富,ANSI C提供100多个库函数,Turbo C提供300多个库函数 (4)main函数(主函数)是每个程序执行的起始点。(5)函数的构成(一个函数由函数首部和函数体两部分组成)函数首部:一个函数的第一行。格式:返回值类型 函数名(函数参数类型1 函数参数名1,函数参数类型2,函数参数名2)注意:函数可以没有参数,但是后面的一对()不能省略,这是格式的规定。函数体:函数首部下用一对括起来的部分。格式: 声明部分:在这部分定义本函数所使用的变量。 执行部分:由若干条语句组成命令序列(可以在其中调用其它函数)。注意:如果函数体内有多个,最外层是函数体的范围。函数体一般包括声明部分、执行部分两部分。(6)可以使用/* */对C程序中的任何部分作注释。注释可以提高程序可读性,使用注释是编程人员的良好习惯。3、C程序的书写格式(1)习惯用小写字母,大小写敏感(2)不使用行号,无程序行概念(3)可使用空行和空格(4)常用锯齿形书写格式(5)每条语句的最后必须有一个分号“;”表示语句的结束。但在预处理命令、函数头、花括号之后不能加分号。优秀程序员的素质之一:(1)使用TAB缩进(2)对齐(3)有足够的注释(4)有合适的空行4、C程序的开发过程与上机步骤(P11) 三、解决任务,学生实践(一)用C程序实现:让计算机输出一句问候语“你好,很高兴能认识你!”。(二)一个简单的C程序,其功能是求键盘输入的两个数中较大的数。四、针对难点,重点突破(一)C程序的构成,函数的构成,代码的书写;(二)C程序的开发过程五、拓展任务,学生实践判断一个数的个位数字和百位数字之和是否等于其十位上的数字,“是”则返回“Yes!”,“否”则返回“No!”。六、检查作业,评价学生【教学课题】常量、变量和标识符【目的要求】掌握C中各种词法记号,命名规则,理解常量、变量的含义,搞清符号常量的使用,变量的定义方法与初始化方法,了解C中数据类型。【教学重点】标识符命名规则,常见关键字,常量的分类,符号常量的使用,变量的含义及定义、初始化。【教学难点】非法标识符的辨别,符号常量的使用,变量含义的理解【教学方法】任务驱动法,问题引导法【教学手段】讲授+多媒体演示+学生动手【作业布置】1、标识符的命名规则有哪些?2、什么是常量,什么是变量,写出变量的定义格式和符号常量的定义格式。3、编写程序,求半径为3的圆的面积,要求将、半径定义为符号常量。一、提出任务,引入课题写一程序要求分行输出“你好,中国!”,“国庆节快乐!”;请大家说一说, C程序代码到底由一些什么东西构成。是不是有一些固定不变的单词和语句呢?二、分析任务,讲授新课(一)词法记号的概述(补充)1、概念指程序中具有独立含义的且不可进一步分割的单位,称为词法记号。2、分类(五大类)关键词,标识符,常量,运算符,分隔符(二)各类词法记号1、关键词(1)含义C语言中预先定义的符号,具有固定的含义。具体如下(32个):AutobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifIntlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile(2)说明 用户定义的任何名字(如:变量名,函数名等)不得与关键词冲突; 除上面的关键词外,把库函数名、预处理命令名、系统函数名称为准关键词,具体有:define、endif、include、ifdef、line、undef、scanf、printf;2、标识符(1)含义就是一个对象的名称,即用户自行定义的字符序列,用于标识常量、变量、函数、标号等。(2)标识符组成原则(补充) 由字母、数字、下划线组成(不能是汉字); 第一个符号不能为数字; 最长不得超过32个字符; 区分大小写; 望名知意。3、分隔符分隔各种词法记号的符号。具体有: ( ) * . : ; #4、运算符(以后讲解)(三)常量与变量1、数据类型(计算机能处理的数据很多,不同的数据具有不同的特点,遵循不同运算规则,所以各种程序设计语言处理系统都将数据分成若干种类,C程序设计语言将数据分成以下几类)基本类型:整型,实型,字符型,枚举型构造类型:数组,结构体,共用体指针类型:指针空类型(任何一种数据都有常量和变量之分,计算机程序处理的数据不是常量就是变量;C中所有的常量和变量都属于以上数据类型中的一种;C程序中的任何变量都必须先声明再使用)2、常量(1)概念程序运行中其值不能改变的量。如:3、4、3.12等。常量区分不同的类型,如整型常量、实型常量、字符型常量等。(2)分类直接常量:又叫字面常量(从字面可以判断)符号常量:用标识符代表的常量,须定义才能使用。(3)常见的直接常量 整型常量(三种形式,十进制、八进制、十六进制)一般在判断符放在数字前面:0开头:八进制数(如:0516)0X开头:十六进制数(如:0X516)也可放在后面:表示长整型数据(如:4987L) 浮点型常量(小数或实数)小数形式:如:1.54指数形式:如:3.02E-3(3.02103) 字符型常量 一般字符常量:用单引号括起来的单一字符,如:A 转义字符常量:以“”开头的字符序列,如:n(P25,表23) 字符串常量:用双引号括起来的任意个字符序列,如:“A”、“HOW ARE YOU?”(4)符号常量 概念:用一个标识符表示的常量,叫符号常量。 定义格式:#define 常量名 字符串 (如:#define PRICE 16) 具体使用(如:求圆的面积、周长、体积) 说明: 定义符号常量时,句末无分号; 通常放在函数名之前定义; 常量名通常大写; 有一定的作用域。3、变量(1)概念程序运行中,其值可以改变的量。程序中体现为一个标识符。(2)组成变量名(存储单元)、变量值(3)作用存放具体的数值(变量值,常量)4、说明(1)变量名:变量存储单位的名称,即为其地址;变量值:存放在变量存储单元中的具体数值。(2)变量常用小写字母表示(符号常量名常用大写字母表示)(3)变量必须先定义,后使用,定义的格式: (4)变量的初始化:变量名初值(5)一定的变量执行一定的操作三、解决任务,学生实践C程序代码由什么东西构成?四、针对难点,重点突破(一)标识符的命名规则(二)符号常量的作用“一改全改”(三)变量含义、定义、内存表示1、一个变量变相当于一个容器,一个用来存放常量或其他变量的容器,这个容器事实上是一块内存单元。变量名实际上对应的就是这块内存单元。常用“&+变量名”表示内存单元的入口地址;2、变量有类型之分;3、C中,变量必须先定义,再使用。五、拓展任务,学生实践(一)下面是不是合法的标识符MDJohn,¥ 123,#33,3D64,ab,e可(二)编一程序计算苹果总金额,单价为20元/千克,数量从键盘输入。要求单价定义为符号常量PRICE(输入函数:scanf();实型变量定义:float 变量名)六、检查任务,评价学生【教学课题】整型、实型数据【目的要求】掌握整型、实型数据的取值范围,相应变量的定义方法,理解其内存的存储方式,了解不同数据间的转换。【教学重点】不同数据的取值,变量定义方法,所占空间,数据间的转换。【教学难点】不同数据的内存表示,不同数据类型间的转换【教学方法】任务驱动法,问题引导法【教学手段】讲授+多媒体演示+学生动手【作业布置】1、整型数据、实型数据数据在内存中所占的空间分别是多少?2、整型数据、实型数据分别有哪些种类?3、写出整型变量、实型变量变量的定义格式。一、提出任务,引入课题有一个程序,代码如下:main()short int n,s; printf(请输入一个整数:);scanf(%d,&n);s=100*n;printf(%d的100倍是:%dn,n,s);请同学们运行,会出现什么情况(输入3,234,500,600)二、分析任务,讲授新课(一)整型数据1、整型变量(1)概述程序运行中,其值可以改变的整型数据,在内存中占两个(VC6.0中的短整型)或四个字节(VC6.0中的基本整型和长整型)(2)分类 基本的整型:int 短整型:short 或者 short int 长整型:long 或者 long int 按有无符号的方式,所有整数又可以分为有符号整型数据(signed ,默认的整型数据,最高位表示符号位,“0”代表正数,“1”代表负数)和无符号整型数据(unsigned) 各种类型整数的本质区别:在内存中所占的空间不同,各自的取值范围不同(P20,表2-1)(3)定义整型变量格式:int 变量名列表或 unsigned 变量名列表或 long 变量名列表或 short 变量名列表(变量名之间用逗号分隔)2、整型常量(回顾前面所讲,P21)十进制:正常格式,输出格式符d%八进制:以0(数字)开头,输出格式符为%o(字母)十进制:以0x(数字与字母)开头,输出格式符为%x(字母)(数制间的转换,回顾,C中没有二进制输出格式符)(二)实型数据1、实型变量(1)概述程序运行中其值可以改变的实型数据,在内存中占4个字节(FLOAT)、8个字节(DOUBLE)或16个字节(LONG DOUBLE),以指数的形式存储。(2)实型变量的分类单精度实型数据:float双精度实型数据:double长双精度实型数据:long double(以上数据类型在内存中所占的空间不同,取值范围不同,具体见P22表2-2)(3)实型变量的定义格式:float 变量名列表或 double 变量名列表(实型常量在C中常被当做双精度数据进行处理)2、实型常量表示法(1)小数形式组成:数字+小数点(2)指数形式组成:数字1+E+数字2(如123E3123103)注意: E可以大写也可以小写; E前数字不能省,E后的数字表示指数,须为整数(可正可负); 通常数字1的小数点左边有且只有一位非零数字(规范化指数形式); %e为指数形式输出格式符,此时是规范化的指数形式。三、解决任务,学生实践输入的数据扩大100倍为什么输入结果错误?(不同类型的数据具有不同的取值范围)四、针对难点,重点突破(一)整型、实型数据的内存空间不同,导致取值范围不同;(二)不同数据类型间的转换1、自动类型转换(1)须类型转换的背景(通常只有整型、实型、字符型放在一块,才能进行类型转换)当表达式中出现不同类型的数据时,系统将会按一定的原则将其转换成为同一种类型,再进行去处。(2)转换的规则doublefloatlongunsignedintchar,short(其中为必定的转换)(3)例如:10+a+i*f+d/e(其中:i,int;f,float;d,double;e,long)(最终结果为double型)2、强制类型转换(1)概念编写代码时,人为的将一种数据类型转换成另一种数据类型。(2)转换形式:(类型名)(3)例如:b=(float)i (i整型数据)(注意,运算后i的数据类型不变)五、拓展任务,学生实践(一)写如下程序的执行结果main()printf(“ ab ct derftgn”);Printf(“htibbj k”);(二)将“China”译成密码,密码规律是:用原来字母后面第4个字母代替原来的字母。如“A”就用“E”代替,因此,“China”应译成“Glmre”,编程实现。六、检查任务,评价学生【教学课题】 运算符与表达式【目的要求】掌握C中算术运算符及其表达式、赋值运算符及其表达式,自增自减运算,了解逗号运算符及其表达式。【教学重点】各运算符的符号、特点、优先级、结合性,自增自减运算符的含义。【教学难点】各运算符的结合性,复合的赋值表达式,自增自减运算符的含义与具体应用。【教学方法】任务驱动法,问题引导法【教学手段】讲授+多媒体演示+学生动手【作业布置】1、写出程序运行结果main()int i,j,m,n;i=8;j=10;m=+i;n=j+;printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);2、写出下面表达式运算后a的值,设原来a=12,a和n已定义为整型变量。(1)a+a (24) (2)a2 (10) (3)a*2+3 (60) (4)a/a+a (0) (5)a%(n%2),n的值等于5 (0)(6)a+aa*a (0)一、提出任务,引入课题计算机中程序的运行就是对相应的数据进行处理,得出一个想要的结果。而对数据处理的一个主要方面就是将需要处理的数据组合成一个表达式,再进行相应的运算,得出结果。那么到底什么是表达式,表达式怎么来的,表达式又由哪些元素构成呢?二、分析任务,讲授新课(一)运算符分类(补充)1、算术运算符(+、*、/、%、+、)2、关系运算符(、=、=、!=)3、逻辑运算符(&、!)4、赋值运算符()5、条件运算符(? :)6、逗号运算符(,)7、位运算符(、&)8、指针运算符(*、&)9、求字节运算符(sizeof)10、强制类型转换运算符(类型)11、分量运算符(.、-)12、下标运算符(、)13、其他(如函数调用运算符()(二)算术运算符及算术表达式1、算术运算符(4种)(具体包括:+、-、*、/、%、)(1)/(除法运算符):操作数须为整数或实数,结果为整数或实数(如果操作数都为整数,结果取商的整数部分,注意:3/2与3/2.0的区别)(2)%(取模运算符、求余运算符):操作数为整型数据,结果为余数2、算术表达式(1)概念由算术运算符、括号、运算对象组成的符合C语法的式子,称为算术表达式。如a+2+b;(2)注意一个常量、一个变量(已赋值)都属于合法的表达式。如:1、-x等3、优先级与结合性(1)优先级 概念:由多个运算符与运算对象组成的表达式,计算时,先对哪个运算符运算,再对哪个运算符运算,这种运算符运算的先后顺序称为运算符的优先级。如乘除法的优先级高于加减法。如:a+b-c*e+(e-f) 具体的优先级:负值运算符乘、除、求余运算符加减运算符(所有运算符中,圆括号的优先级最高;表达式中,先算优先级高的运算符,再算优先级低的运算符)(2)结合性 概念:是指在有多个符号的表达式中,具体的运算方向。(即:当一个操作对象两侧的运算符具有相同的优先级时,该操作对象是先与左边的运算符结合还是先与右边的运算符结合) 分类:左结合性:自左至右,如:a*b+c(从左至右)右结合性:自右至左,如:a=b+c(从右至左) (+、-运算符遵循右结合性,如-i+等价于-(i+),常出现在循环中表示变量的变化)(三)赋值运算符与赋值表达式1、运算符(1)符号:(2)作用:程序运行时,将符号右边的值赋给符号左边的变量。(实际就是将特定的值写到变量所对应的内存单元)(3)注意: 符号左边为变量,右边为表达式; 符号两边的数据类型通常应一致。(如果不一致将自动转换)2、赋值表达式:(1)概念:用赋值运算符连接起来的且符合C语法规则的表达式(2)运算规则(结合性):自右至左(右结合性)3、复合赋值运算符和复合赋值表达式(1)构成:在“”前加上其他运算符(如“+”)(2)例如:a+=3(等价于:a =a+3),还原步骤:A、将变量和运算符右移,如果右侧为表达式,则须用括号将其括起(x%=(y+3)B、左添同一变量(四)自加+和自减-运算符(1)+(增1运算符)(i=i+1):i+:先用i的值进行其他操作,再将i增加1(i=i+1);(i1;printf(“%d”,i+);)+i:先将i的值增加1(i=i+1),再用新的值进行其他操作。(i1;printf(“%d”,+i);(2)(减1运算符)(i=i-1)(类似于+运算符,此二运算符只能用于变量,不能用于常量和表达式)(五)逗号运算符与逗号表达式1、运算符: ,2、作用:连接若干个表达式3、表达式形式:表达1,表达式2,表达式n4、含义:先求表达式1的值,再求表达式2的值,最后求表达式n的值,整个表达式的值为表达式n的值5、例如:x=(a=3,6*3) x18(逗号运算符的优先级最低)三、解决任务,学生实践C程序中,什么是表达式,表达式怎么来的,表达式又由哪些元素构成呢?四、针对难点,重点突破(一)除法运算(两个整数相除结果为整数);(二)复合的赋值表达式(右结合性)(三)自增自减运算1、前置运算(运算符放在变量之前)运算形式:+a运算规则:先使变量的值增加1,再让变量以新值进行其他运算2、后置运算(运算符放在变量之后)运算形式:a+运算规则:先让进行其他运算,再使变量的值增加1五、拓展任务,学生实践(一)自增自减与负号运算i=3;printf(“%d”,i+);printf(“%d”,i);i=3;printf(“%d”,-i+);Printf(“%d”,i);i=-3;printf(“%d”,i+);printf(“%d”,i);i=-3;printf(“%d”,-i+);printf(“%d”,i);3 4-3 4-3 -2 3 -2(二)求表达式的值1、x+a%3*(int)(x+y)%2/4,其中x2.5,a7,y4.7 (2.5)2、(float)(a+b)/2+(int)x%(int)y,其中a2,b3,x3.5,y2.5 (3.5)六、检查任务,评价学生【教学课题】 技能训练【目的要求】回顾本章知识,掌握常量、变量概念,定义方法,各数据类型的取值范围,内存存储,算术与赋值运算符的使用,了解关键字、标识符概念、数据的溢出以及逗号运算符与逗号表达式。【教学重点】常量与变量的使用、各类型数据的变量的定义、算术与赋值运算符,自增自减运算。【教学难点】变量的理解、原码、反码、补码、数据类型转换、自增自减运算。【教学方法】任务驱动法,问题引导法【教学手段】讲授+多媒体演示+学生动手【作业布置】、编写程序,求一正方形面积。要求定义一符号常量来表示边长、根据圆的半径求圆的周长、面积、相应球的体积。要求半径从键盘输入,的值为3.14。一、提出任务,引入课题1、运行如下程序main()short int a=32767,b;b=a+1;printf(a=%d,b=%dn,a,b);2、运行如下程序main()unsigned short int a=65535,b;b=a+1;printf(a=%d,b=%dn,a,b);b的值分别是:-32768和0,为什么?二、分析任务,讲授新课(一)整型数据在内存中的存放(二进制)(补充)1、整数的分类正数:原码负数:补码2、VC编译系统规定:除短整型数据外在内存中占2个字节外,其他整型数据在内存中占4个字节的空间;(不同于TC)3、计算机存储有符号数时,最高位表示符号位(“1”表示负数,“0”表示正数),并且通常在不加说明的情况下存储的为有符号数;4、相应概念:(1)机器数:数据在计算机中的表示形式;(2)原码:任何数的二进制代码;(3)反码:原码的每个数据位取反得到的代码;(4)补码:利用原码按特定的规则进行转换而得到的代码(正数的补码就是原码,负数的补码:对应数的绝对值二进制代码取反加1)如:求-10的补码(-10的绝对值为10,二进制为1010,占两个字节:0000,0000,0000,1010,取反得:1111,1111,1111,0101,加上1得:1111,1111,1111,0110)(5)计算机中所有整数都是以其补码形式在内存中保存。5、对于问题1的说明:(1)32767的内存表示:0111,1111,1111,1111(2)加1后得到的表示:1000,0000,0000,0000,而此表示实际为数-32768的补码形式。6、对于问题2的说明:(1)65535的内存表示:1111,1111,1111,1111(2)加1后本应得到:1,0000,0000,0000,0000,而无符号的基本整型只占16位,所以就只有:0000,0000,0000,0000,0000了。(实际此时已发生“溢出”,但机器并不报错,有如汽车里程表,达到最大后就从零开始)(二)运算符的优先级最低优先级是逗号运算符,其次是赋值运算符,再其次是三目运算符。而关系运算符的优先级高于逻辑运算符(不包括逻辑非运算),算术运算符的优先级高于关系运算符,象+和的优先级比前面几个都高,但最高的要属()了。优先级高的先运算。通常如下:算术运算符关系运算符逻辑运算符赋值运算符逗号运算符(三)类型转换1、总原则:按存储单元中的存储形式直接传送2、具体规定:(1)浮点型赋予整型:舍弃小数部分,保留整数部分;(2)整型赋予实型:值不变,增加小数部分,小数部分用0表示;(3)字符型赋予整型:即为对应字符的ASCII值;(4)整型赋予字符型:取整型数据的低8位,即为对应字符的ASCII码值;(5)单、双精度浮点型之间的赋值:doublefloat:取前面7位有效数字,存放到32位的存储单元;floatdouble:值不变,有效位数扩充到16位,存储到64位的存储单元中。(四)其他标识符、常量与变量、各类型数据、算术运算符与表达式、赋值运算符与表达式、自增自减运算。三、解决任务,学生实践C中出现溢出的原因及理解四、针对难点,重点突破(一)整型数据的存储;(二)运算符的优先级;(三)类型转换。五、拓展任务,学生实践(一)编写程序,求一正方形面积。要求定义一符号常量来表示边长(二)编写程序,计算123456.798e5+20的值。要求将变量设置为单精度型 (应注意float型数据只有位有效数字;应该避免将一个很大的数和一个很小的数相加减)(三)根据圆的半径求圆的周长、面积、相应球的体积。要求半径从键盘输入,的值为3.14。六、检查任务,评价学生【教学课题】程序设计和算法【目的要求】了解程序设计的基本概念,C语言程序,掌握计算机语言的发展与分类,算法的概念及特性【教学重点】计算机语言的分类,算法的概念及特性,结构化程序设计的描述工具【教学难点】算法的概念,结构化程序设计的描述工具的应用【教学方法】任务驱动法、案例教学法、启发式教学【教学手段】讲授+演示+学生实践【作业布置】1、计算100!:1*2*100的积。用传统的流程图和N-S图写出算法。2、求键盘输入的两个数中较大的数。用传统的流程图和N-S图写出算法。一、提出任务,引入课题:简单应用问题:1、在超市购买了瓶洗发水(37.5元/瓶),给收银员一张面值50元的人民币,应找多少?2、在商场或超市购物经常有许多优惠活动:用户购物满100元享受八折优惠,否则只能享受九折优惠。计算机顾客付款金额?3、计算:1+2+100的和。这些简单却又被频繁应用的实际问题,我们人是如何做的?如果让计算机来完成,又要怎么实现呢?事实上,计算机要实现这些功能,同样需要有自己的“思维”,这种“思维”是人类利用彼此能懂的语言进行程序设计告知其方法,控制其操作。掌握程序设计的前提是掌握程序设计语言。在众多的程序设计语言中,C语言以其灵活性和实用性受到了广大计算机应用人员的喜爱。二、分析任务,讲授新课(一)程序和程序设计1、程序设计语言:人与计算机进行交流的工具,是一系列对计算机可进行操作的规则,按这些规则人可以编写程序与计算机进行交流。具体有:C、VB、VC、DELPHI、JAVA等2、程序:利用程序设计语言编写的、存贮在计算机内部、控制计算机运行的一系列代码的集合。3、程序设计:根据任务,用程序设计语言将任务转化为计算机可以执行的命令序列(程序),使计算机执行程序并得到正确的结果的过程。具体过程:如图1-1所示。提出问题确定数据结构确定算法编写程序调试程序书写文档图1-1 程序设计过程程序设计过程4、注意数据结构是指数据在计算机中的存放形式,它用来反映一个数据的内部构成,即一个数据由哪些数据成分构成,以什么方式构成,呈什么结构,如线性表、树等。(二)程序设计语言大致可以分为3类:机器语言、汇编语言和高级语言。1、 机器语言计算机唯一能直接识别的语言,即由0和1构成的代码,可以对机器硬件直接操作。优点:速度快。缺点:它非常难于记忆和识别;受机器型号的限制。2、汇编语言实质与机器语言是相同的,都是直接对硬件操作,只是用英文缩写作为指令标识符(助记符),较易识别和记忆。 优点:文件小;速度快;可以对硬件直接操作。缺点:对使用者要求高;汇编源程序一般比较冗长、复杂、容易出错;受机器型号的限制,可移植性比较差。3、高级语言接近于人们习惯的自然语言,用它编写的代码易于理解,具有很好的通用性和可移植性,必须编译后计算机才能执行。如C、VB、VC、FoxPro等。(三)算法1、定义广义上讲,算法是为了解决一个问题而采取的确定且有限的方法和步骤。例如:描述跆拳道动作的图解-跆拳道的算法又如:一首歌曲的乐谱-歌曲的算法著名科学家沃思(Nikiklaus Wirth)曾提出一个公式:算法是操作步骤的描述数据结构在程序中数据的类型和组织形式数据结构 + 算法 = 程序2、算法的描述常用的描述方法有关3种:伪代码、流程图和N-S结构图。(1)伪代码:一种近似高级评议但又不受语法约束的语言描述方法。优点:比较易于理解;缺点:描述较冗长。(2)流程图:基本图形组成如图1-2所示。起止框处理框输入输出框判断框流程线连接点图1-2 流程图基本构成图形优点:形象直观、简单方便;缺点:对于流程线的走向没有任何限制,可以任意转向,描述算法时费时费力且不易阅读。(3)N-S流程图:这种流程图完全去掉了流程线,算法的每一步都用一个矩形框来表示,把一个个矩形框按执行的次序连接起来就是一个算法的描述。3、算法的特性(1)有穷性;(2)确定性(每一个步骤必须明确可行,不能模棱两可,含糊不清);(3)有零个或多个输入;(4)有一个或多个输出;(即必须有一个输出,可以没有输入)(5)有效性(每一个步骤应能被有效执行,如:8/0就不行)。(四)结构化程序设计1、顺序结构最基本的算法结构,当执行由这些语句构成的程序时,将这些语句在程序中的先后顺序逐条执行,没有分支,没有转移,没有步骤之间的相互约束,没有对某一步骤的多次使用,完全按照步骤的原有次序依次执行。结构可用图1-3的流程图表示。其中图1-3(a)是一般流程图,图1-2(b)是N-S结构图。语句1语句2(a)语句1语句2(b)图1-3顺序结构(a)语句1语句2满足不满足条件表达式(b)图1-4选择结构语句1语句2条件表达式满足不满足【解决任务1】在超市购买了瓶洗发水(37.5元/瓶),给收银员一张面值50元的人民币,应找多少?要求:I学会用精练的文字表示执行步骤。 II学会用两种不同的方法表示算法。2、选择结构选择结构根据不同的条件去执行不同分支中的语句。选择结构可用图1-4所示的流程图表示,其中图1-4(a)是一般流程图,图1-4(b)是N-S结构图。【解决任务2】在商场或超市购物经常有许多优惠活动:用户购物满100元享受八折优惠,否则只能享受九折优惠。如何知道根据每个用户购物金额的不同按不同的折扣给出准确付款值?要求:I能分析问题中的条件。 II学会用两种不同的方法表示算法。3、循环结构循环结构是根据各自的条件,使同一组语句重复执行多次。循环结构的流程图如图1-5和图1-6所示。(a)(b)图1-5当型循环循环体条件表达式满足不满足当条件满足时循环体(a)(b)图1-6直到型循环循环体条件表达式满足不满足直到条件满足时循环体【解决任务3】计算:1+2+100的和。要求:I能分析问题中重复执行的过程(即循环体)及终止重复执行的条件。 II学会用两种不同的循环类型表示算法。【结论】由以上3种基本结构组成的算法结构可以解决任何复杂的问题,由它们所构成的算法称为结构化算法,由它们所构成的程序为结构化程序。三、解决任务,学生实践(一)在超市购买了瓶洗发水(37.5元/瓶),给收银员一张面值50元的人民币,应找多少?(二)在商场或超市购物经常有许多优惠活动:用户购物满100元享受八折优惠,否则只能享受九折优惠。计算客户的准确付款值?(三)计算:1+2+100的和。四、针对难点,重点突破(一)理解算法的概念完成一件事情的方法和步骤。程序计中:算法是灵魂,数据结构是加工对象,语言是工具。(二)传统流程图与N-S图表示算法五、拓展任务,学生实践(一)在商场或超市购物经常有许多优惠活动:用户购物满100元享受9折优惠,满200元享受8折优惠,否则不享受优惠。计算客户的准确付款值?写出算法。(二)计算100!:1*2*100的积。写出算法。设积为p,表示计算p的算法。六、检查作业,评价学生【教学课题】程序设计与C语言复习【目的要求】 掌握程序与程序设计的概念,算法的概念与编写,C程序的构成和书写格式,了解计算机语言的发展,结构化程序设计,VC6的开发环境,C程序的上机步骤。【教学重点】程序与程序设计,算法,C程序构成,C程序上机步骤【教学难点】算法的概念与描述,C程序的构成【教学方法】任务驱动法、案例教学法、启发式教学【教学手段】讲授+演示+学生实践【作业布置】 1、简述C程序上机步骤; 2、C程序是怎样构成的?一、提出任务,引入课题:通过对本章的学习,我们是否了解了什么是程序,计算机语言分为哪几种,什么是算法,如何来描述算法,结构化程序设计又是怎么回事,C程序由什么构成,如何书写C程序,是否了解VC6的开发环境,C程序上机的具体步骤是怎样? 今天和大家一起来回顾一遍。二、分析任务,讲授新课(一)程序设计的基本概念1、程序和程序设计2、计算机语言的发展3、算法(三种程序结构)4、结构化程序设计(二)C语言简介1、C程序构成(函数)2、C程序书写格式3、如何学习(多想算法、多写代码、多上机调试)(三)VC6开发环境1、启动、退出2、界面3、工程的建立、源文件的编写、编译、运行(四)C程序上机步骤1、启动VC62、建立.c的源文件3、编译源文件,生成目标文件(.obj),改正语法等错误4、运行,改正逻辑错误(CTRL+F5)三、解决任务,学生实践(一)什么是程序?(二)计算机语言分为哪几种?(三)什么是算法,如何来描述算法?(四)结构化程序设计又是怎么回事?(五)C程序由什么构成,如何书写C程序?(六)C程序上机的具体步骤是怎样?四、针对难点,重点突破(一)算法的描述;(二)C程序的构成与书写格式;(三)C程序的上机步骤。五、拓展任务,学生实践(一)编写一个C程序,要求如下:输入5个数,求出他们的和,并将结果显示(二)编写一C程序显示如下图案:*C语言学习之旅开始了!*(三)编写一程序,显示如下图形:* * * * * * * * * * * * * *六、检查作业,评价学生【教学课题】赋值语句、数据的输出【目的要求】了解C语句的分类,理解输入输出的实现,掌握赋值语句与printf()函数的使用。【教学重点】C语句类别,赋值语句,printf函数【教学难点】C中输入输出的实现,printf函数的工作过程,格式控制符的使用【教学方法】任务驱动法,问题引导法【教学手段】讲授+多媒体演示+学生动手【作业布置】1、C语言中语句分成哪几类?2、在C语言中,如何实现数据的输入和输出?一、提出任务,引入课题前面我们说过,C程序由函数构成,而函数由函数头和函数体构成,作为函数重要部分的函数体则由C语句构成,所以我们编写函数体代码实际上就是要写出一句句的C语句,那么C中到底有一些什么样的C语句呢?(此处前面的引入采用提问的方式由学生回答)前面也已讲过,一定范围内,整数和字符一一对应,那么在屏幕上显示结果时,到底如何才显示整数,又怎样才显示字符呢?实型数据可以是小数形式,也可以是指数形式,那么我们要用什么样的方法才能按我们希望的方式来显示实型数据呢?这就是我们本堂课的主要内容。二、分析任务,讲授新课(顺序结构是任何程序的基本结构,其内部可以包含选择结构和循环结构)(一)C语句分类(5类,以分号结束)1、控制语句(9条)(1)选择语句:ifelse和switch(内case和default)(2)循环语句:for、while、dowhile(3)转向语句:goto、continue、break(4)返回语句:return2、函数调用语句(1)构成:由函数名加参数加分号构成(2)格式:函数名(参数列表);3、表达式语句(1)构成:由表达式加分号构成(2)格式:表达式;4、空语句(1)构成:由单独一个“;”构成的语句(2)作用:语句执行时不产生任何动作。用来延迟或以后插入新的语句。5、复合语句(1)构成:由“”括起来的程序块(2)格式:语句1;语句2;语句n(3)说明:常用来括一个循环体的语句序列或if下面的语句序列。(二)赋值语句1、构成:由赋值表达式加分号构成2、格式:赋值表达式;3、原理:把赋值运算符左边的值给右边的变量(如:a=b+5;)4、常见的赋值方法(三种)(1)定义时全部赋值:int a=3,b=3,c=4; 不能写成:int a=b=3,c=4;(2)定义时部分赋值:int a=3,b,c;(3)先定义,后赋值(最常见):int a,b,c;a=3;b=3;c=4;或:int a,b,c; a=b=3;c=4;(三)数据输入输出1、C中,输入输出的实现在C中没有专门的输入输出语句,其输入输出的实现是通过调用输入输出函数来完成。2、常见的输入输出函数scanf、printf、getchar、putchar、gets、puts3、预处理(1)原因:这些已经编制好的输入输出函数的相关信息都存放在头文件“stdio.h”中,所以要使用这些函数须在程序中先指明头文件。(2)方法:#include “stdio.h” 或 #include 4、说明(1)由于scanf与printf两个函数使用频繁,所以系统允许在使用这两个函数时不加“include”命令;(2)常用数学函数包含在头文件“math.h”中。(四)、数据的输出1、作用向终端输出若干任意类型的数据(不同于putchar、puts)2、格式1)、形式:printf(格式控制,输出列表)2)、说明:(1)格式控制:用双引号括起来的内容,表示以什么样的形式输出结果,由格式说明符(%d、%f,输出时,由对应的常量、变量值或表达式值代替)、普通字符(输出时,照原样输出)、转义字符(输出时,用于确定输出内容的位置)组成;(2)输出列表:若干个常量、变量或表达式组成,中间用逗号分隔;(3)系统运行:先用输出表列中常量、变量或表达式的值代替对应的格式符中,然后与普通字符一起输出,输出时由转义字符来确定其位置。(一定的格式符对应一定类型的数据)如:printf(“结果为:a=%d,b=%d”,a,b); printf(“结果为:a=%dnb=%d”,a,b);3、常见格式符1)、d(或i)格式符(1)%d:以十进制整数形式输出,长度为实际长度;(2)%md:以十进制整数形式输出(实际长度m,按实际长度输出,最终实现右对齐);(3)%md:以十进制整数形式输出(实际长度m,按实际长度输出,最终实现左对齐);(4)%ld:输出长整型数据。(5)举例:printf(“%4d,%4d”,a,b);printf(“%-4d,%-4d”,a,b);设:a=123,b=123452)、u格式符以无符号的十进制形式输出3)、o格式符(八进制格式符)与x(X)格式符(十六进制格式符)(1)说明:%o、%x输入的数据都是无符号数据;(2)举例: short int i=-4;printf(“n%d,%u,%x,%on”,i,i,i,i);-4在内存中的存储,求-4的补码:4的二进制代码:0000,0000,0000,0100取反:1111,1111,1111,1011加1:1111,1111,1111,1100将此数作为无符号数:6553
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 象字演变课件
- 诺曼底号遇难记课件教学
- 2025版危险货物运输全程监控及追溯服务合同
- 2025年车辆安全检测设备销售与租赁合同范本
- 2025年度化工原料采购合同范本版
- 2025年度高端品牌形象插画设计服务合同
- 2025年度高科技产业园基础配套设施施工合同
- 2025年度电子商务平台入驻服务合同范本
- 2025年度农业科技行业员工标准劳动合同范本
- 2025年地基处理与地下空间利用分包合同样本
- 2025届湖南省永州市高三年级上册第一次模拟考试物理试题(一模)附答案
- 《汽车发动机构造与检修(第2版)》课件 王雷 项目1、2 汽车发动机基本知识;发动机曲柄连杆机构构造与检修
- 腹腔镜风险评估及应急预案
- 【追星文化对大学生消费行为及观念的影响问卷调研报告(含问卷)(论文)11000字】
- 2025届高三数学一轮复习备考经验交流
- 中核集团中辐院招聘笔试真题2022
- 泡沫箱子合同范本
- 智能制造装备与集成 课件 02 智能制造架构与装备
- 2024-2029全球及中国土豆泥行业市场发展分析及前景趋势与投资发展研究报告
- 新人教版初二上册(八上)数学全册课件
- 补贴协议书范本
评论
0/150
提交评论