C语言程序设计教案.pdf
《C语言程序设计教案.pdf》由会员分享,可在线阅读,更多相关《C语言程序设计教案.pdf(57页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一篇:第一篇:C C语言程序设计教案语言程序设计教案(清华清华)第章 C 语言概述学习内容1.1 C 语言出现的历史背景 1.2 C 语言的特点1.3 简单的 C 语言程序介绍 1.4 运行 C 程序的步骤与方法目的要求:掌握 C 语言格式特点熟悉 C 语言的编辑环境重点难点:C 语言格式特点TC 编辑器的运行、操作重点难点详解:【例 1.3】通过调用子函数求两个数的和。main()/*主函数*/int a,b,sum;/*定义变量*/a=3;b=4;/*变量赋值*/sum=add(a,b);/*调用 add 函数*/printf(sum=a+b=%d.n,sum);int add(int
2、x,int y)int z;z=x+y;return(z);/*将 z 的值返回*/C 程序的组成规则:1、C 程序是由函数构成的。C 语言是函数的语言,一个程序是由一个或多个函数构成的。2、一个函数有两部分组成:(1)函数的首部(函数的第一行)。(2)函数体 即函数首部下面的大括弧内的部分。(3)一个 C 程序总是从 main 主函数开始执行。无论位置如何。(4)每个语句和数据定义的最后必须有一个分号“;”。(5)C 语言本身没有输入/输出语句,是库函数 scanf 和 printf 等函数来完成的。(6)用/*/作注释,以用于增加可读性。TC 编辑器的运行、操作1.编辑源文件2.源文件的编
3、译3.目标程序的连接4.执行程序 查看结果 操作步骤Alt+F9 Ctr+F9 Alt+F5第二章 程序的灵魂算法学习内容2.1 算法的概念2.2 简单算法举例 2.3 算法的特征 2.4 算法的表示方法2.5 结构化程序设计方法目的要求:掌握算法的各种表示方法 熟悉 N-S 流程图重点难点:N-S 流程图 重点难点详解:用 N-S 流程图描述算法传统的流程图用流程线和流程元素表示各个处理的执行顺序,但对流程线的使用没有严格的规定,因此,使用者可以不受限制地使流程转来转去,这样的流程图使人难以理解算法的逻辑。为了解决这个问题,规定了算法的三种基本结构:顺序结构、分支结构和循环结构。用这些基本结
4、构按一定的规律组成一个算法,这样的算法称为结构化算法。按照结构化算法编写的程序称为结构化程序。为了设计结构化算法,1973年,美国学者 I.Nassi 和 B.Shneiderman 提出提出一种新的流程图,称为N-S 流程图。条件 p 当条件 p 成立 操作 A 操作 A 成立不成立操作 A 操作 B 操作 A 操作 B 直到条件 p 成立当型循环直到型循环顺序结构分支结构循环结构N-S 流程图基本符号 0s1i 例如例 2.3.1 节的计算 1+2+3+1000sis 的算法用 N-S 流程图i1i直到 i1000输出 s计算 1+2+3+1000 算法的 N-S 图 第三章数据类型、运算
5、符与表达式学习内容3.1 C 语言的数据结构 3.2 常量与变量 3.3 整数类型 3.4 浮点型数据 3.5 字符型数据 3.6 变量赋初值3.7 各类数值型数据间的混合运算 3.8 算术运算符和算术表达式 3.9 赋值运算符和赋值表达式 3.10 逗号运算符及表达式目的要求:掌握整数类型与浮点型数据类型掌握标识符的命名规则数据的储存方式字符型数据标识符、常量、变量及初始化掌握运算符及其表达式掌握赋值运算符和赋值表达式重点难点:整数类型与浮点型数据类型标识符的命名规则复合赋值运算符运算符及其表达式重点难点详解:整型数据1.整型数据的在内存中的存放形式 2.整型变量的分类1)基本整型 一般为
6、2 字节 2)短整型 一般为 2 字节 3)长整型 一般为 4 字节 3.整型数据的溢出如何判断整型常量的类型。若在-3276832767 之间,可认为是普通整型int 型或短整型(short 型)。若超出了-3276832767,而在-2147483648+2147483647 之间,则认为是长整型(long 型)。若认为是 int 类型的,系统不做检查,但数据会丢失。4.整型常量的类型(1)十进制整型常量:289、-183 等。每个数位都可以是(0 9)十个代码。(2)八进制整型常量:以o 开头,如(128)10=o200。(3)十六进制整型常量:以ox 开头,如(128)16=ox80。
7、如何判断整型常量的类型。若在-3276832767之间,可认为是普通整型int型或短整型(short型)。若超出了-3276832767,而在-2147483648+2147483647 之间,则认为是长整型(long 型)。若认为是 int 类型的,系统不做检查,但数据会丢失。若常量是无符号型(unsigned 型),那么一个非负值的整数可以赋值给 unsigned 型变量,但要注意其范围。50000 可赋给 unsigned int 型,70000 却不可以。(无符号整型变量最大值 65535.)如一整型常量后有 L 或 l 则表示为 long int 型的。常用于函数的调用中。5.整型变
8、量的定义 变量定义的一般格式存储类型 数据类型 变量名,变量名 2;例如,int d,l,a;定义变量时指定变量的类型,在编译时好为其分配相应的存储单元。另外,还可在编译时检查该变量所做运算是否合法。一般称在定义变量的同时进行赋初值的操作为变量初始化。变量初始化的一般格式存储类型 数据类型 变量名=初值,变量名 2=初值 2,;例如,int d=2,l=6,a;浮点型数据类型1 浮点型常量的表示方法(1)十进制小数形式:由整数部分、小数点和小数部分组成。(2)指数形式:由实数部分、E(e)和整数部分组成。2.浮点型数据的在内存中的存放形式 3.浮点型变量的分类 单精度型:关键字 float,一
9、般占字节(32 位),提供位有效数字。双精度型:关键字 double,一般占个字节、提供1516 位有效数字。长双精度型:关键字 long double,3.实型数据的舍入误差请注意有效为数。4.浮点型常量的类型一个实型常量赋值给一个实型变量时,只根据实型变量表示的有效数字的位数,在实型常量中按从左向右的方向截取数据。Float型的变量只能保存七位有效数字,double型的变量只能保存1516位有效数字。5.浮点型变量的定义和前面整型变量的定义的方法一样。标识符的命名规则标识符是一个字符序列,用来标识C 语言程序中一个对象的名字。命名时应注意以下几点:1)标识符是一串英文字母或下划线开头的由字
10、母、数字和下划线组成的字符串。例如:a aBC x2z y_1 _An0 都是合法的标识符;而3d#asd 110 A*C 都是非法标识符。2)C 语言本身并没有要求标识符的长度,不同的C 编译系统允许包含的字符个数有所不同,通常标识符的长度可识别的标识符长度常限制为8 个字符。3)标识符大小字母含义不同。比如abc Abc ABC 代表三个不同标识符,这一点一定要牢记。复合赋值运算符合赋值运算符是由赋值运算符之前再加一个双目运算符构成的。复合赋值运算的一般格式为:变量 双目运算符=表达式 复合赋值运算符它等价于:变量=变量 双目运算符(表达式)。当表达式为简单表达式时,表达式外的一对圆括号才
11、可缺省,否则可能出错。例如:x+=3/*等价于x=x+3*/y*=x+6/*等价于 y=y*(x+6),而不是 y=y*x+6*/C 语言规定的 10 种复合赋值运算符如下:+=,-=,*=,/=,%=;/*复合算术运算符(5 个)*/&=,=,|=,=;/*复合位运算符(5 个)*/其中后五种是位运算的运算符,在位运算那章介绍。运算符及其表达式算术运算符和算术表达式 1.基本的算术表达式+加法运算符或正值运算符-减法运算符或负值运算符*乘法运算符/除法运算符 TC2.0 采取“向零取整”法%模运算符或称求余运算符 该运算符的两边只能是整型数据。2.算术表达式和运算符的优先级与结合性 左结合性
12、、右结合性 3.强制类型转换运算符除自动转换外,语言也允许强制转换。数据类型强制转换的一般格式为:(要转换成的数据类型)(被转换的表达式)(类型)(表达式)例如:(int)(x+y)/*将 x+y的结果转换成 int型*/(float)5/2(等价于(float)(5)/2)/*将 5 转换成实型,再除以 2(=2.5)*/(float)(5/2)/*将 5 整除 2 的结果(2)转换成实型(2.0)*/注意:强制转换类型得到的是一个所需类型的中间量,原表达式类型并不发生变化。例如,(double)a只是将变量 a 的值转换成一个 double型的中间量,其数据类型并未转换成double型。4
13、.自增、自减运算符(+、-)(1)作用自增运算使单个变量的值增,自减运算使单个变量的值减。(2)用法与运算规则自增、自减运算符都有两种用法。a)前置运算运算符放在变量之前:变量、变量先使变量的值增(或减),然后再以变化后的值参与其它运算,即先增减,后运算。b)后置运算运算符放在变量之后:变量、变量变量先参与其它运算,然后再使变量的值增(或减),即先运算,后增减。例如:k=1;k=1;演示j=+k;j=k+;左边:k先变成 2,j=2 右边:k为 1,j=1然后 k 为 2。使用中的问题说明:(1)这两种、运算符只能用于变量,而不能用于常量或表达式。(2)+、-运算符的优先相同,但比算术运算符优
14、先级要高。其结合性是“从右至左”的。i=3;j=-(i+);i=3;j=+(+i);printf(“%d,%d”,i,j);printf(“%d,%d”,i,j);结果是:,-3 结果是:,4第四章 顺序结构程序设计学习内容:4.1 C 语句概述 4.2 赋值语句4.3 数据输入输出4.4 字符数据的输入输出 4.5 格式输入和输出4.6 顺序结构程序设计举例目的要求:掌握顺序结构程序设计方法掌握数据的输入输出重点难点:数据的输入输出重点难点详解:数据的输入输出1.printf 函数(格式输出函数)printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类
15、型的数据。(1)printf 函数调用的一般形式为:printf(“格式字符串”,输出表列);例如:printf(radius=%fnlength=%7.2f,area=%7.2fn,r,l,a);格式字符串也称格式控制字符串或格式转换字符串,其中可以包含下列三种字符:格式指示符:由“%”和格式字符组成,例如“%f”、“%7.2f”等,这总是由“%”字符开始,到格式字符终止。它的作用是将输出的数据项转换为指定的格式输出。输出表列中的每个数据项对应一个格式指示符。转义字符:这些字符通常用来控制光标的位置。普通字符:除格式指示符和转义字符之外的其他字符,这些字符输出时原样输出,例如上面例子中的“r
16、adius=”等。(2)类型字符:%d 十进制整数 int a=567;printf(“%d”,a);567%o 八进制无符号整数 int a=65;printf(“%o”,a);101%x或 X 十六进制无符号整数 int a=65;printf(“%x”,a);ff%u 不带符号十进制整数 int a=567;printf(“%u”,a);567%c 单一字符 char a=65;printf(“%c”,a);A%f 小数形式浮点小数 float a=456.789;printf(“%f”,a);456.789000%s 字符串 printf(“%s”“,ABC”);ABC%e 或 E 指
17、数形式浮点小数 float a=456.789;printf(“%e”,a);4.567890e+02%g 或 G e 和 f 中较短一种 float a=456.789;printf(“%g”,a);456.789 说明:格式字符要用小写格式字符与输出项个数应相同,按先后顺序一一对应输出转换:格式字符与输出项类型不一致,自动按指定格式输出2.scanf 函数(格式输入函数)(1).scanf 函数的一般形式格式:scanf(“格式控制字符串”,地址表列);功能:按指定格式从键盘读入数据,存入地址表指定的存储单元中,并按回车键结束 返值:正常,返回输入数据个数地址表列:变量的地址,常用取地址运
18、算符&格式字符:d,i,o,x,u,c,s,f,e 使用 scanf()时应注意的一些问题:scanf 函数中没有精度控制,不能企图用格式控制符来规定输入数据的精度scanf(“%5.2f”,&a)scanf中要求给出变量地址,如给出变量名则会出错。如 scanf(%d,a);是非法的,应改为scnaf(%d,&a);才是合法的。在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。在输入多个数值数据时,若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格,TAB或回车作间隔。在输入数据时遇到以下情况之一认为一个数据输入结束 字符数据的输入输出1.putchar
19、 函数(字符输出函数)putchar 函数是字符输出函数,其功能是在显示器上输出单个字符。其一般形式为:putchar(字符变量)例如:putchar(A);(输出大写字母 A)putchar(x);(输出字符变量 x 的值)putchar(n);(换行)2.getchar 函数(键盘输入函数)getchar 函数的功能是从键盘上输入一个字符。其一般形式为:getchar();通常把输入的字符赋予一个字符变量,构成赋值语句,如:char c;c=getchar();第五章 选择结构程序设计学习内容:5.1 关系运算符和关系表达式 5.2 逻辑运算符和逻辑表达式 5.3if 语句5.4switc
20、h 语句目的要求:掌握关系运算符逻辑、条件运算符及其它们的表达式 掌握 if 语句 掌握 switch 语句重点难点:If 语句 Switch 语句重点难点详解:If 语句用 if 语句可以构成分支结构。它根据给定的条件进行判断,以决定执行某个分支程序段。语言的if语句有三种基本形式。1.第一种形式为基本形式if(表达式)语句;其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。2.第二种形式为 if-else 形式 if(表达式)语句 1;else 语句 2;其语义是:如果表达式的值为真,则执行语句 1,否则执行语句 2。3.第三种形式为 if-else-if 形式前二种形式的
21、 if 语句一般都用于两个分支的情况。当有多个分支选择时,可采用if-else-if 语句,其一般形式为:if(表达式 1)语句 1;else if(表达式 2)语句 2;else if(表达式 3)语句 3;else if(表达式 m)语句 m;else 语句 n;其语义是:依次判断表达式的值,当出现某个值为真时,则执行其对应的语句。然后跳到整个if 语句之外继续执行程序。如果所有的表达式均为假,则执行语句n。然后继续执行后续程序。if-else-if 语句的执行过程如图33 所示。4.在使用 if 语句中还应注意以下问题(1)在三种形式的 if 语句中,在 if 关键字之后均为表达式。该表
22、达式通常是逻辑表达式或关系表达式,但也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量。例如:if(a=5)语句;if(b)语句;都是允许的。只要表达式的值为非0,即为“真”。如在 if(a=5);中表达式的值永远为非0,所以其后的语句总是要执行的,当然这种情况在程序中不一定会出现,但在语法上是合法的。(2)在 if 语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。(3)在 if 语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用 括起来组成一个复合语句。但要注意的是在之后不能再加分号。Switch 语句语言还提供了另一
23、种用于多分支选择的switch 语句,其一般形式为:switch(表达式)case 常量表达式 1:语句 1;case 常量表达式 2:语句 2;case 常量表达式 n:语句 n;default:语句 n+1;其语义是:计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case 后的语句。如表达式的值与所有 case 后的常量表达式均不相同时,则执行default后的语句。在使用 switch 语句时还应注意以下几点:1.在 case 后的各常量表达式的值不能相同,否则会出现错误。2.在 case 后
24、,允许有多个语句,可以不用括起来。3.各case和default子句的先后顺序可以变动,而不会影响程序执行结果。4.default子句可以省略不用。第六章 循环结构程序设计学习内容:6.1 概述6.2goto 语句以及用 goto 语句构成循环 6.3while 语句6.4dowhile 语句6.5for 语句 6.6 循环的嵌套 6.7 几中循环的比较6.8break 语句和 continue 语句目的要求:掌握 while 语句、do-while 语句、for 语句 掌握循环的嵌套重点难点:for 语句Break 和 continue 语句重点难点详解:for 语句for 语句是 C 语言
25、中所提供的功能最强、使用最为灵活的一种循环语句。特别适用于循环次数固定而循环条件不确定的情况。for 语句的一般形式如下:for(表达式 1;表达式 2;表达式 3)(1)表达式 1 通常是用来给循环变量赋初值,一般是赋值表达式。也允许在for 语句之外给循环变量赋初值,此时可省略该表达式;(2)表达式 2 通常是循环条件,一般为关系表达式或逻辑表达式,也可以是其它表达式;(3)表达式 3 通常可用来修改循环变量的值,一般是赋值表达式。三个表达式都是可选项,都可以省略。但特别提请注意的是,表达式1 和表达式 2 后的分号“;”不能省略。for 语句的执行过程如下:(1)首先计算表达式 1 的值
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 教案
限制150内