二级C培训教案.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《二级C培训教案.docx》由会员分享,可在线阅读,更多相关《二级C培训教案.docx(193页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章程序设计基本概念一、程序和程序设计1、程序计算机程序是一组有限的指令序列。它告诉计算机该做什么,怎么做。2、程序设计程序设计即通过程序设计语言将需要处理的对象和 对其处理的方法转化成计算机能够理解的指令。3、程序设计语言与计算机打交道就必须用计算机理解的语言。所谓程 序设计语言是指具有一定的语法规则,能够被计算机所理 解的一组符号的集合。程序设计语言大致可分为三类:(1)机器语言计算机的“自然语言”,由“0”和“1”组成的符号 序列表示指令。机器语言程序可以被计算机直接执行。(2)汇编语言用英文单词的缩写来表示指令,与机器语言指令一一 对应。执行时需要通过“汇编程序”转换为机器语言执行。
2、(3)高级语言类似于人类的自然语言,一条语句可对应多条指令。执行时可通过“编译程序”或者“解释程序”转换为机器 语言执行。C语言属于高级语言中的一种,由C语言直接编写的 代码称为C语言“源程序”,计算机无法直接执行,而必 须通过编译程序转换成为机器语言程序再由计算机执行, 即生成“目标程序二C语言源程序的后缀名为“.C”,编译之后生成的目 标程序后缀名为“.obj”,再由连接程序与库函数连接生 成后缀名为“.exe”的可执行文件,在windows中直接执 行。4、C程序开发过程(1)确定数据结构。数据结构:数据的组织形式。在C 语言中,数据结构是通过数据类型的形式体现出来的。即将 需要处理的数
3、据用C语言支持的形式表示。(2)确定算法。算法:求解的步骤地描述,也即操作的 具体步骤。将求解的步骤用特定的形式进行描述。(3)编写程序代码。将算法转换成为C语言程序代码。(4)编译连接,修改错误。通过编译器将C语言源程序 转换成为可执行的目标程序。C语言编译器能够自动寻找 部分程序错误(主要是语法错误),提示错误原因及错误位置。在这些错误未被改正之前,不会生成目标程序。(5)运行,修改错误。部分错误编译器无法查出,但会 导致程序中断运行,称为运行时错误;有些程序能够正常 运行,但运行结果与期望的结果不符,称为逻辑错误。运 行时错误和逻辑错误出现时,都必须返回编辑源程序,修 改后再编译运行。二
4、、算法1、算法的概念算法即运算方法,是对问题求解步骤的描述。一个问题有多种解决方法,即同一个问题可以设计多种筲:土 导/玄。2、算法的特点(1)有穷性:对于任何合法输入,可在有穷的时间内, 通过有穷步骤得出结果。(2)确定性:每个步骤有确定的意义,对相同的输入 必须得到相同的结果。(3)有效性:每个步骤都应当有可能有效地被执行到, 并得到确定的结果。(4)输入:可以有0个或多个输入。(5)输出:可以有一个或多个输出。没有输出的算法是没有意义的。3、算法举例例1求0+1+2+3+10的和。算法1:stepl: sum=0;step2: sum=sum+1;step3: sum=sum+2; st
5、epIO: sum=sum+9;stepl1: sum=sum+10;step12:输出sum的值;该算法可以得出正确的结果,但步骤太繁琐。算法2:(设置累加器)stepl: sum=0;step2: add=1;step3: sum=sum+add;step4: add=add+1;step5:半断add的值,如果adcK=10,则转向执行step3;step6:输出sum的值;显然,该算法比算法1更简洁。例2输入两个数,找出其中大的数输出。算法3:setpl :输入两个数分别保存在变量a和b中step2:比较两个数step3:如果a大于b,则输出astep4:否则输出b4、算法的描述(1)
6、自然语言:用日常使用的语言描述算法。上例中算 法3就是使用自然语言描述的。(2)流程图:用特定的图形符号表示操作以及操作的执 行顺序。这种描述方式易于理解,直观。流程图中主要图形符号有:上例中算法2同样可以用流程图描述:算法3用流程图描述为:开始结束(3)伪码用介于自然语言和计算机语言之间的文字和符号描述留洋 导/玄。如上例中算法2用伪码描述为:开始sum=O;add1dosum=sum+add;add=add+1;while(add=10);输出sum的值;结束三、结构化程序设计和模块化结构1、结构化程序C语言程序由若干条指令(语句)组成,这些指令(语句) 按照一定的顺序执行。指令(语句)的
7、执行顺序主要有三种: (1)顺序结构按照语句的书写顺序执行,不会发生控制的转移,例如 算法1。(2)选择结构根据给出的条件从给出的多条语句中选择一条执行,其它 语句不执行。例如算法3。(3)循环结构根据给出的条件判断是否重复执行一条(段)固定的语 句。例如算法2。2、模块化结构计算机中处理大型问题时,往往将该大型问题分解成为 多个小的问题分别解决;每一个小的问题通过一段独立的程 序来解决。这样一段独立的程序称为一个“功能模块”,在C 语言中表现为函数。最后将若干函数组合起来构成一个完成 的程序。第二章c程序设计的初步知识一、简单C语言程序的构成和格式1、c语言程序的特点下面我们将算法2和算法3
8、转化为C语言程序。程序1求0+1+2+10的和。# i ncIudevo i d ma i n 0(1 nt sum,add;sum=0;add=1;dosum=sum+add;add=add+1;wh iIe(add=10);printf ( “010 的和为:dn,sum);)程序2输入两个数,将其中大的数输出。# i ncIudema i n ()(1 nt a, b;scanf ( d, %d”,&a, &b);if (a=b)printf (“大的数是:d,a);e I seprintf (“大的数是:%d,b);(1)C语言程序由函数构成函数组成C语言程序的基本单位;C程序中的函数
9、分为 两种:库函数和自定义函数。库函数是预先编译好的、严格而高效的函数,C语言中 的输入输出操作就是通过调用scanf ()和pr i ntf ()两个库函 数完成的。(2)函数由函数首部和函数体构成函数首部是函数的第一行,其格式为:函数类型函数名(参数类型参数名,)例: i nt fun ( i nt x , i nt y)函数首部之后的。内的部分称为函数体。函数体包括声明部分和执行部分。(3)程序从ma in ()函数开始执行不管mainO函数在程序中的位置如何,一个C程序总是 从main。函数体的第一条语句开始执行,到最后一条语句结 束。同一程序中其他函数的执行是通过函数的调用完成的。(
10、4)语句以分号结束(5)程序书写自由一行可以写多条语句;一条语句也可写在多行。(6)程序中可以添加注释/*/程序是写给计算机看的,而注释是写给程序员看的,以 增加程序的可读性。注释中的内容不会被计算机执行。(7) C语言区分大小写(8)变量先声明再使用2、C语言程序的书写规则(1 )一个C程序中必须有且只能有一个ma i n ()函数(2)函数名后必须有一对小括号()(3)语句末尾必须有分号,预处理命令和函数首部后不能有分号(4)关键字和库函数名必须用小写(5)标识符、关键字之间必须用间隔符或空格分开(6)括号和引号必须成对出现(7)声明部分必须在执行部分之前(8)程序书写最好采用缩进格式二、
11、标识符、常量和变量1、标识符程序员为变量、数组、函数等取的名字,必须满足一定的规 则:由字母、数字和下划线组成;第一个字符不能为数字;区分 大小写。(1)关键字又称为保留字,是C语言中具有特定含义的单词,共32 个。(2)预定义标识符C语言中已有特殊含义的标识符,如库函数名等,但可重新定义。(3)用户标识符不能与关键字相同,尽量不要与预定义标识符相同,应 当做到“见名思意二2、常量常量是指在程序运行过程中,其值不能被改变的量。常量按照类型又可分为:整型常量、实型常量、字符常量、 字符串常量。3、符号常量符号常量即用一个标识符代替的常量。其定义形式为:#def ine标识符常量如:#def i
12、ne PI 3. 14#define PRICE 40程序中任何使用该常量的地方都可用指定标识符代替。符号常量不同于变量,其值在程序运行过程中不能改变。为与变量区分,定义符号常量时,标识符一般采用全大写。使用符号常量的优点:(1)可提高程序的可读性;(2) 一改全改,便于调试。4、变量变量即程序运行过程中,其值可以改变的量。一个变量实际上对应一个存储单元,其有4个属性:(1)变量地址:变量在内存中的实际地址;(2)变量名:变量名就是区分这个单元的符号化的地址。调用一个变量时,实际上就是通过该变量的变量名访问对 应的存储单元。例如:a二b;即读取变量名为b的存储单元的值,然后写 入到变量名为a的
13、存储单元中,变量b的值不变。(3)变量类型:确定了变量所占内存单元的大小和存储方式;(4)变量的值:变量所对应的内存单元中存放的数据。变量的定义形式:类型变量名;变量必须先定义后使用,一次可定义多个变量。变量的初始化:在定义变量的同时为其赋值,不可使用“连等”同时为多 个变量初始化。数据类型数据类型表现为数据为何种类型以及能对其进行何种操作。程序中用到的所有数据都必须指明其类型。r 字符型整型基本类型单精度实型 实型|L双精度实型 枚举型数据类型构造类型J数组类型结构体类型I 共用体类型指针类型 I空类型 三、整型数据1、整型常量整型常量即整常数,可用三种形式表示:(1)十进制整数。如:123
14、, 0, -123 等。(2)八进制整数,以0作为前缀表示。如:037 (31D), -010 (-8D)等。(3)十六进制整数,以0X或者Ox作为前缀表示。如:OxF (15D), -0x10 (-16D)等。当数值在范围内,则表示为基本整型常量,在内 存中用2个字节保存。当数值在上述范围之外而在-23尸2311范围内,则表示为长 整型常量,在内存中用4个字节保存。整型常量默认为基本整型常量。如需表示一个长整型常 量,即用4个字节保存,可在其后添加I或者L,如15为基 本整型常量,而15L表示长整型常量,其值相同,但前者在内存中占据2个字节,而后者用4个字节保存。2、整型变量根据占用内存字节
15、数的不同,整型变量又分为4类:(1)基本整型(类型关键字为int)。(2)短整型(类型关键字为short int)o(3)长整型(类型关键字为long int)o(4)无符号整型。无符号型又分为无符号基本整型(unsigned int) 无符号短整型(unsigned short) 和无符号长整型(unsigned long)三种,只能用来存储无 符号整数。上述各类型整型变量占用的内存字节数,随系统而异。 在VC6. 0中,一般用4字节表示一个i nt型变量,且long 型(4字节)int型(4字节)short型(2字节)。四、实型数据1、实型常量实型常量有两种表示形式:(1)十进制小数形式。
16、如:1.0, 0, 03, -1.2345 等。(2)指数形式。如:123e3, -4. 567e-7 等。实型常量默认为双精度实型常量,在内存中用8个字节保 存。如需表示为单精度实型常量,可在其后添加后缀f或者 F,在内存中占据4个字节,以加快计算机的处理速度。如 1.0表示一个双精度实型常量,而1. OF表示单精度实型常量。2、实型变量实型变量分为:单精度(fl oat)、双精度(double) o单精度:其类型说明符为float单精度说明符双精度:double双精度说明符。在VC中单精度实型占 4个字节(32位)内存空间,其数值范围为3. 4E-383. 4E+38, 只能提供七位有效数
17、字。双精度型占8个字节(64位)内 存空间,其数值范围为L7E-3081.7E+308,可提供16位 有效数字。运算符和表达式1、概念(1)运算符运算符是表示各种运算的符号。按运算对象(操作数)的个数,运算符可分为单目、双 目和多目等三类。(2)表达式由操作数和运算符组成的符合C语言语法的式子称为表达 式。如:1+2a1.23x&y2、运算符的优先级与结合性(1)优先级优先级指当一个表达式中有多个不同的运算符时,应执行 的运算的顺序。优先级高的先执行,优先级低的后执行。(2)结合性结合性指当一个表达式中有多个优先级相同的运算符时, 应执行的运算顺序,分为左结合性和右结合性两种。3、运算符使用规
18、则(1)先看优先级,再看结合性;(2)可使用()避免二义性;(3)多个()嵌套使用时,先执行内层()。题目:求表达式的值1-2/3* (4+5) %6)结果为:-1五、算术表达式1、基本算术运算符+ (正)-(负)+ (加法运算符。如3+5)-(减法运算符。如5-2)* (乘法运算符。如3*5)/ (除法运算符。如5/3, 5.0/3)% (模运算符或求余运算符)。除了正、负值运算符为单目运算符外,其它都是双目运 算符。说明:(1)两个整数相除的结果为整数,如5/3的结果为1, 舍去小数部分。但是如果除数或被除数中有一个为负值,则 舍入的方向是不固定的,多数机器采用“向0取整”的方法 (实际上
19、就是舍去小数部分,注意:不是四舍五入)。(2)如果参加+,*./运算的两个数有一个为实数,则 结果为double型,因为所有实数都按double型进行计算。(3)求余运算符,要求两个操作数均为整型,结果为 两数相除所得的余数。求余也称为求模。2、算术表达式算术表达式:用算术运算符和括号将运算对象(也称操 作数)连接起来的、符合c语法规则的式子,称为算术表达 式。运算对象可以是常量、变量、函数等。如:a*b/cT.5+ aC语言算术表达式的书写形式与数学表达式的书写形式 有一定的区别:(1) C语言算术表达式的乘号(*)不能省略。例如: 数学式b2-4ac,相应的C表达式应该写成:b*b-4*a
20、*Co(2)C语言表达式中只能出现字符集允许的字符。例如, 数学n r2相应的C表达式应该写成:Pl*r*ro其 中PI是已 经定义的符号常量)(3) C语言算术表达式不允许有分子分母的形式。例 如,(a+b) / (c+d) o(4) C语言算术表达式只使用圆括号改变运算的优先顺 序(不要指望用 口)。可以使用多层圆括号,此时左右括 号必须配对,运算时从内层括号开始,由内向外依次计算表 达式的值。六、赋值表达式1、基本赋值运算符和表达式=:将右边的表达式的值赋给左边的变量。赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。一般形式:变量赋值符表达式使用注意:(1)赋值运算符左边必须是变量
21、,右边可以是常量、变 量、函数调用或常量、变量、函数调用组成的表达式。例如:x=10 y=x+10 y=func()都是合法的赋值表达式。(2)赋值符号“二”不同于数学的等号,它没有相等的含 义。例如:C语言中x=x+1是合法的(数学上不合法),它的含 义是取出变量x的值加1,再存放到变量x中。(3)赋值表达式的值等于左边变量的值。(4)赋值运算符的优先级只高于逗号运算符,为右结合 性。2、复合赋值运算符和表达式在赋值符“二”之前加上某些运算符,可以构成复合赋 值运算符,复合赋值运算符可以构成赋值表达式。C语言中 许多双目运算符可以与赋值运算符一起构成复合运算符, 即:+二,-=,*=, /二
22、,%=, =, =, &二,| 二二二复合赋值表达式一般形式:变量双目运算符二表达式等价于:变量 二 变量X双目运算符X表达式例如:n+=1 等价于n=n+1x*=y+1 等价于 x=x*(y+1)七、自加、自减运算符自增运算使单个变量的值增1 ,自减运算使单个变量的值 减1。自增、自减运算符都有两种用法:1、前置运算 运算符放在变量之前:+ +变量、 变量先使变量的值增(或减)1,然后再以变化后的值参与其 它运算,即先增减、后运算。2、后置运算运算符放在变量之后:变量+ +、变量变量先参与其它运算,然后再使变量的值增(或减)1 , 即先运算、后增减。使用说明:(1)自增、自减运算,常用于循环
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 培训 教案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内