1、重 庆 市 农 业 学 校理论课程教师教案本( 2013 2014 学年 第 二 学期)专业名称 农村电气技术 课程名称 C 语言程序设计 授课教师 甘 雨 学 校 重庆市农业学校 课题序号 1 授课班级授课课时 2h 授课形式 理论授课章节名称11C 语言的产生过程及特点12C 语言程序的结构及书写格式使用教具教学目的1. 了解 C语言的产生过程和发展特点2. 初步认识 C语言程序的结构3. 了解 C语言的一些相关知识教学重点 1. C语言程序的结构2. C语言程序的特点教学难点 1. C语言程序的结构特点2. C语言程序的书写格式更新、补充、删节内容课外作业 P10 1-3教学后记授课主要
2、内容或板书设计第一章 C 语言概述1.1 C 语言的产生过程及特点一、C 语言出现的历史背景二、C 语言的特点1.2 C 语言程序的结构及书写格式一、简单的 C 程序介绍二、C 语言的一般形式课 堂 教 学 安 排教学过程 主 要 教 学 内 容 及 步 骤(一)导入新课(二)新授C 语言是国际上广泛流行的、很有发展前途的计算机高级语言。以前的操作系统软件主要是用汇编语言编写的,然而,汇编语言依赖于计算机硬件,程序的可读性和可执行性都比较差。为了解决这一问题,产生了 C 语言。本学期我们就将共同来学习 C 语言的一些相关知识,本堂课先来了解一下 C 语言程序的发展及其结构特点。1.1C 语言的
3、产生过程及特点一 、C 语言出现的历史背景1. 语言是第三代语言即为面向过程的高级语言。第一代:机器语言;第二代:汇编语言;在 C 语言的基础上又发展出来了第四代语言:面向对象的程序设计语言,例如 C+和 VB 等高级语言。2. C 语言是在 B 语言基础上发展起来的。3. C 语言适合作为系统描述语言,既用来写系统软件,也可用来写应用软件。例如可使用 C 语言编写 UNIX 系统。4. C 语言的可读性、可移植性强二、C 语言的特点C 语言的特点(使用角度看)1. 表达能力强且灵活。1) 语法限制不严,程序设计自由度大。2)运算符丰富。2. 程序结构清晰,适合模块化设计。3. 编写简单、易学
4、。4. 目标程序质量高。程序执行效率高。5. 可移植性高。基本上不作修改就能用于各种型号的计算机和操作系统。6. C 语言是一种结构化程序设计语言。7. 具有丰富的数据类型。8. 具备变量指针和函数指针。指针是指和机器内存地址相关的说明项。1.2 C 语言程序的结构及书写格式一:简单的 C 程序介绍例 1: main( )printf(“This is a c program.n”);这是一个最简单的 C 语言程序,最后的运行结果是在屏幕上显示:This is a c program.(光标落在下一行)。例 2: main( ) /*主函数*/(三)总结扩展:(四)作业布置: int a, b
5、, c; /*定义变量 */scanf(“%d, %d”, /*输入变量 a 和 b 的值 */c=max(a,b); /*调用 max 函数,将得到的值赋给 c*/printf(“max=%d”,c); /*输出 c 的值*/int max(x,y) /*定义 max 函数,函数值为整形,x,y 为形式参数*/int x,y; /*对形参 x,y 做类型定义*/ int z; /*函数中用到的变量 z,也要加以定义*/if (xy) z=x;else z=y;return(z); /*将 z 的值返回,通过 max 带回调用处*/ 本例题是一个比较典型的 C 语言程序,运行情况是: 8,5(
6、输入 8 和 5给 a 和 b) max=8(输入 c 的值)说明:1. C 程序是由函数构成的。1) 一个 C 程序至少包含一个函数(main 函数)。2) 函数定义是 C 程序的基本单位。3) 输入输出函数使用系统提供的库函数 printf 和 scanf。2. 一个函数由两部分组成。1) 函数的说明部分。例: int max (x,y) 函数类型 函数名 函数参数 int x,y; 形参类型 形参 一个函数名后面必须跟一对圆括弧,函数参数可以没有如 main()。2) 函数体。,一个函数至少有一对大括号。3. 一个程序总是从 main 函数开始执行的,位置随意。4. 书写格式自由,但每个
7、语句后必须有一个 “;”。5. main、int 为关键字,使用小写字母,C 语言区分大小写。6. 使用“/*”和“*/”对语句进行注释。二:C 语言的一般形式变量定义 main() 变量定义 程序段userf1() 变量定义 程序段userfn() 变量定义 程序段其中userf1()userfn()是用户定义的函数。本堂课主要学习了以下几方面内容: 1. C 语言出现的历史背景; 2. C 语言的特点; 3. C 语言程序的结构及书写格式;通过这些内容的学习,要求我们在深入学习之前对 C 语言有一个整体的认识。P10 13。课题序号 2 授课班级 10大专授课课时 2h 授课形式 理论授课
8、章节名称1. 3C语言程序的开发过程2. 1.4C语言上机操作使用教具教学目的1. TURBOC系统2. C语言的上机步骤3. 掌握 TC的使用教学重点 1. C语言的上机环境2. C语言的上机步骤教学难点 C语言程序的编译过程更新、补充、删节内容课外作业教学后记授课主要内容或板书设计1.3C 语言程序的开发过程1.4C 语言上机操作课 堂 教 学 安 排教学过程 主 要 教 学 内 容 及 步 骤(一)导入新课(二)新授我们已经对 C 语言的知识有了初步的了解,这节课我们来具体的体会一下 C 语言的开发过程和上机过程。1.3C 语言程序的开发过程Step1、编辑源程序生成以.c 为扩展名的源
9、文件。Step2、编译源文件 编译程序要对源程序进行语法检查,若没有错误生成目标文件,编译时如果发现错误,则显示错误信息,并要求重新编译,直到编译正确为止。目标文件的扩展名为.obj 。Step3 连接目标文件及库文件连接目标文件生成可执行文件,可执行文件以.exe 为文件扩展名。Step4 运行程序1.4C 语言的上机操作过程一:C 语言上机环境1. UNIX 系统。 (略)2. DOS 下使用 MSC4.0 编辑 C 程序。 (了解)3. 使用 TurborC 运行 C 程序。二: Turbo C 2.0 集成开发环境的使用 进入 Turbo C 2.0 集成开发环境中后, 屏幕上显示:
10、其中顶上一行为 Turbo C 2.0 主菜单, 中间窗口为编辑区, 接下来是信息窗口, 最底下一行为参考行。这四个窗口构成了 Turbo C 2.0 的主屏幕, 以后的编程、编译、调试以及运行都将在这个主屏幕中进行。下面详细介绍主菜单的内容。 主菜单:在 Turbo C 2.0 主屏幕顶上一行, 显示下列内容:File Edit Run Compile Project Options Debug Break/watch 除 Edit 外, 其它各项均有子菜单, 只要用 Alt 加上某项中第一个字母 (即大写字母), 就可进入该项的子菜单中。1.启动 TurborC l 启动 DOS 系统;l
11、 C: cdtc;l C: tctc2. 退出 TurborC 可采用两种方法:1)Alt+X 2)按 F10 再将光标移到 FILE 菜单下的 QUIT,按回车键。3. 编辑源程序 FILE 菜单下的菜单项:LOAD:装入磁盘上已经存在的文件,可直接进行编译、连接、运行,也可进行修改。NEW 建立新文件。SAVE:保存文件。WRITE TO:将当前文件写到另一文件。4. 编译源文件 COMPILE 菜单下的菜单项:三、总体扩展(四)作业布置:COMPILE TO EXE:编译生成目标文件,目标文件名为“ 文件名.obj” 。MAKE EXE FILE:生成可执行文件。直接生成可执行文件“文件
12、名.exe”l LINK EXE FILE:连接目标文件生成可执行文件。对已经生成的.obj 目标 文件进行连接,生成 .exe 文件。 5. 运行程序: C:tc文件名l Run (运行)菜单 -按 Alt+R 可进入 Run 菜单, 该菜单有以下各项 : .Run (运行程序):运行程序其热键为Ctrl+F9。 .User screen (用户屏幕) 显示程序运行时在屏幕上显示的结果。其热键为 Alt+F5。本节课主要学习了 C 语言的上机步骤: 1. 启动 TC。 2. 在编辑窗口中输入程序。 3. 将程序命名并保存。 4. 编译源程序,生成目标文件。 5. 对程序进行连接,生成可执行文
13、件。 6. 运行程序。编写一小程序在屏幕上显示“hello” 。课题序号 3 授课班级 10大专授课课时 2h 授课形式 理论授课章节名称 1.4C语言上机操作使用教具教学目的 1. TURBOC系统2. C语言的上机步骤教学重点 1. C语言的上机环境2. C语言的上机步骤教学难点 C语言程序的编译过程更新、补充、删节内容课外作业教学后记授课主要内容或板书设计一:C 语言上机环境二: TurborC 的使用二: TurborC 的启动三 TurborC 系统的退出 四:编辑源程序五:编译源文件六:运行程序七:验证下面两个函数。课 堂 教 学 安 排教学过程 主 要 教 学 内 容 及 步 骤
14、(一)导入新课(二)新授(三)总结扩展:通过前两堂课的学习,我们已经对 C 语言的知识有了初步的了解,本节课我们将对 TURBOC 进行使用。一、C 语言上机环境1. UNIX 系统。 (略)2. DOS 下使用 MSC4.0 编辑 C 程序。(了解)1)编辑 C 源程序。 2)编译。3)连接。4)执行程序。3. 使用 TurborC 运行 C 程序。二: TurborC 的启动1在 DOS 下进入 l 开始程序MS-DOS 方式 l C:WINDOWS_C:WINDOWSCDTURBOC2l C: TURBOC2_C: TURBOC2TC 2直接进入 打开我的电脑C 盘TURBOC2 文件夹
15、双击 TC图标三: TurborC 系统的退出 1按 F10 再将光标移到 FILE 菜单下的 QUIT,按回车键。2Alt+X四:编辑源程序1F10FILENEW (新建文件)2编辑程序五:编译源文件F10COMPILE MAKE EXE FILE(生成可执行文件) 。 六:运行程序1在 DOS 下运行2直接运行 F10RUN RUNl F10RUNUSER SCREEN七:验证下面两个函数。例 1: main( )printf(“This is a c program.n”);例 2: main( ) / int a, b, c; scanf(“%d, %d”, c=max(a,b); p
16、rintf(“max=%d”,c); int max(x,y) int x,y; int z; if (xy) z=x;else z=y;return(z); 课题序号 4 授课班级 10大专授课课时 2h 授课形式 理论授课章节名称2.1常量和变量2.2C语言的数据类型使用教具教学目的 1. 掌握 C 语言中常量和变量的使用方法2. 掌握 C 语言的几种数据类型教学重点 1. 常量和变量 2. 三种数据类型教学难点 1. 常量的定义 2. 浮点型变量的定义更新、补充、删节内容课外作业教学后记授课主要内容或板书设计2.1 常量和变量一:常量和符号常量二:变量2. 2C 语言的基本数据类型 一:
17、整型数据二:浮点型数据三:字符型数据课 堂 教 学 安 排教学过程 主 要 教 学 内 容 及 步 骤(一)前堂回顾(二)导入新课(三)新授C 语言的开发过程:1. 编辑源程序。2. 编译源文件。3. 连接目标文件及库文件。4.运行程序。一个程序应包括数据描述和操作步骤两方面的内容。数据是操作的基本对象,所以我们可以这样认为程序=数据结构+算法。数据结构就是包括数据类型在内的一些相关知识,这节课我们就来具体学习 C 语言中的几种常量和变量以及数据类型。第二章 基本数据类型与顺序程序设计2.1 常量和变量一:常量和符号常量 例 1:求半径为 5 的圆面积。 #include “stdio.h”
18、#define PI 3.1415926 /*定义常量圆周率的值为3.1415926*/ main() float r,area;r=5;area=PI*r*r;printf(“area=%f”,area);1. 用一个标识符代表一个常量的,称为符号常量。PI 即为符号常量。2. 用#define 定义符号常量,一般形式为:#define 标识符 字符串。这个标识符又称为宏。在上例中,程序运行中遇到 PI,要将宏名替换成字符串,称为宏展开。例:area=PI*r*r 展开为 area=3.1415926*r*r。3. 使用符号常量可以简化程序的数据输入且不易出错。4. 符号常量名只能由字母、数
19、字和下划线组成,且第一个字母必须是字母或下划线。例 2:#define PRICE 30 main() int num,total;num=10;total=num*PRICE;printf(“total=%d”,total);和例 1相同,这里使用#define 定义常量 30,名为 PRICE。这里有几点说明:1)常量名一般采用大写字母。2)符号常量名前后要一致。二:变量1. 变量:在程序运行过程中,值可以改变的量称为变量。每个变量都有一个名 字,称为变量名。2. 说明:1)int k=50;int 是类型标识符,k 是变量名,50 是变量 k 的初值。 2)变量名只能由字母、数字和下划线
20、组成,且第一个字母必须是字母或下划线。 3)变量是内存中的某一个空间,上例中内存空间命名为 k,50 是 k 中存放的值。 4)变量名一般用小写字母。2.2C 语言的基本数据类型一:整型数据1. 整型常量:#define R 32 /*定义整型常量*/ 。1) 十进制整型常量。如 123、-321 、02) 2) 八进制整型常量。以 0 开头的数是八进制数。如 0123 表示八进制的123。3) 十六进制整型常量。以 0x 开头的数是 16 进制数。如 0x123 代表 16 进制的 123。2. 整型变量:int i,j; /* 定义整型变量*/ 。3. 标识符1)基本型:用 int 表示,
21、范围是-3276832767。2)短整型:用 short 表示。3)长整型:用 long 表示。4)无符号型:分别用 unsigned int(065535)、unsigned short 和 unsigned long 表示,只存放数不存放符号。二:浮点型数据1. 浮点数即为数学中的实数。有以下两种表示形式:1)十进制数形式。由数字和小数点组成,并且必须有小数点。例:5 整型数据;5.0 实型数据。2)科学表示法(指数形式)。例:1.23e3 或 1.23E3 都可表示 1.23*103。2. 浮点型常量:例:123.05、5.6e23. 浮点型变量1)单精度(float)l 占四个字节,
22、32 位。l 有效数位是 7 位。例:111111.111 有效位为 111111.1。l 定义方式;float x,y;2)双精度(double)l 占 8 个字节。l 15 个有效数字位。l 定义方式:double z;三:字符型数据1. ASCAII 码:美国标准信息交换码。1) 用七位二进制编码组成,ASCII 码共 128 个。2) 传送数据时使用 8 位二进制编码,最高位为奇偶校验位。2. 字符常量1) a与A是不同的字符常量, 是定届符。2) 用“a”表示字符常量是错误的。(四)总结扩展:(五)作业布置:3) 小写字母的 ASCII 码比对应的大写字母 ASCII 码大 32。4
23、) 一个字节存放一个字符。5) 特殊的字符常量:n 换行符;t 表格符;b 退格符;r 回车 反斜杠 单引号3. 字符变量1) 定义形式:char c1,c2;2) 赋值:c1=a 字符使用单引号。例:将小写字母 a 转换成大写字母 A。#include “stdio.h”main() char c1,c2;int i,j;c1=a;c2=c1-32; /*c2=A*/printf(“%c,%c”,c1,c2);运行结果:a,A本堂课主要学习了以下两方面内容: 1. 常量和变量的定义形式; 2. 在 C 语言中,诸如 2.,0., .5,0.0 都是合法的实数形式(都有小数点)。 3. C 语
24、言的几种基本数据类型:char、int、long 、float、double;在字符变量进行赋值时,要使用定界符。例 x=a;而字符串要用“” 作为定届符。即 “abcd”是正确的但 “a”是错误的。课题序号 5 授课班级 10大专授课课时 2h 授课形式 理论授课章节名称 上机:常量和变量以及数据类型的使用使用教具教学目的 1. 常量和变量的使用2. 数据类型的使用教学重点 1. 符号常量的使用 2. 变量的使用教学难点 符号常量的定义更新、补充、删节内容课外作业教学后记授课主要内容或板书设计一:C 语言的上机步骤二:常量和变量的使用三:数据类型的使用 课 堂 教 学 安 排教学过程 主 要
25、 教 学 内 容 及 步 骤(一)导入新课(二)教学内容我们已经学习了 C 语言的上机过程,这节课我们将在 TC 上演示几个程序。一、C 语言的上机步骤 1. 启动 TC。 2. 在编辑窗口中输入程序。 3. 将程序命名并保存。 4. 编译源程序,生成目标文件。 5. 对程序进行连接,生成可执行文件。 6. 运行程序。二、常量和变量的使用1. 验证程序例 2-1 例:求半径为 5 的圆面积。 #include “stdio.h” #define PI 3.1415926 /*定义常量圆周率的值为 3.1415926*/ main() float r,area;r=5;area=PI*r*r;p
26、rintf(“area=%f”,area);1)注意符号常量大小写字母在程序前后要一致。2)浮点型数据在最后输出时的显示形式。2. 变量的初始化及其赋值过程1)变量的初始化过程。例:main() int a=b=0;printf(“%d,%dn”,a,b);在此程序的编译过程中,我们会发现系统会提示给我们具有变量 b 没有被定义的错误。在 C 语言中变量初始化时不可以进行连等的操作,因为系统无法识别第一个等号的变量,而不能成功的进行赋值。2)变量的赋值过程。例:main() int a,b;a=b=0;printf(“%d,%dn”,a,b);此程序为正确的程序,在编译及其运行过程中都不会出现
27、问题,根据赋值语句具有的右结合性,可以知道最后两个变量的初值都为 0。3. 特殊字符常量的使用 n 的使用 main() clrscr();/*/printf(“123n456”);输出结果:123 456 t 的使用 main() clrscr();/*/printf(“123t456”);输出结果:123 456 b 的使用 main() clrscr();/*/printf(“123b456”);输出结果:12456 r 的使用 main() clrscr();/*/printf(“123r456”);输出结果:456(三)总结扩展:(四)作业布置:三:数据类型的使用1) 整型数据(P1
28、9 例 2-6)2) 浮点型数据例:main() float x; double x;x=111111.111;printf(“%fn”,x); 注:浮点型数据的有效位问题直接影响到最终结果。3) 字符型数据 验证例 2-2 ASCII 码的理解例:main() char c1,c2;c1=1;c2=1;printf(“%c,%c”,c1,c2);本节课主要回顾了常量和变量的使用以及数据类型的使用。同时要求同学们掌握 C 语言程序在 TC 下的两种运行方式。将大写字母 A 转换成小写字母 a。课题序号 6 授课班级 10大专授课课时 2h 授课形式 理论授课章节名称 2.3运算符和表达式 2.
29、4赋值语句使用教具教学目的1. 掌握几种常用的运算符2. 用 C语言格式写出正确的表达式3. 掌握赋值符号的使用教学重点 1. 常用运算符 2. 赋值语句教学难点 1. 自增和自减运算符的使用 2. 赋值语句中的类型转换更新、补充、删节内容课外作业教学后记授课主要内容或板书设计23 运算符和表达式一:相关概念二:运算符 三:算术表达式2.4 赋值语句一:相关概念二:赋值语句的格式与功能三:类型转换课 堂 教 学 安 排教学过程 主 要 教 学 内 容 及 步 骤(一)前堂回顾(二)导入新课(三)新授1. C 语言的几种基本数据类型: char、int、long 、float、double;2.
30、 变量的定义方式:例: int x,y;3. 编程:将小写字母 b 转换成大写字母 B。C 语言程序由一行一行的语句代码组成,每个语句由变量、运算符、表达式、函数调用和控制语句构成。上堂课我们已经学习了变量的使用,这节课我们来继续学习运算符和表达式。2.3 运算符和表达式一:相关概念1. 运算符:进行运算的符号。2. 表达式:由运算对象(包括常量、函数、变量和运算符)连接起来的有意义的式子。二:运算符1. 算术运算符 运算符 运算 优先级 例子( ) 圆括号 1 5/(1-3)=-2* 乘法 3 7*3=21/ 除法 3 7/3.0=2.333333,7/3=2% 模除 3 7%3=1+ 加法
31、 4 7+3=10- 减法 4 7-3=4说明:1)模除运算是两个整数相除后取余数;要求%两边必须是整型数据。2)若算术运算符两边均为整数,则结果为整数。3)若参加运算的两个数中有一个数为实数,则结果为 double 型。4)按照优先级运算。先括号,然后再先乘除后加减。2. 自增自减运算符1)自增 l i+ 先使用 i 的值,在执行语句 i=i+1;例:i=3;j=i+;printf(“%d,%d”,i,j);l +i 先执行语句 i=i+1,在使用 i 的值。例:i=3;j= + i;printf(“%d,%d”,i,j);例:main()int i,j,m,n;i=8; j=10;m=+i
32、; n=j+;printf(“%d,%d,%d,%d”,i,j,m,n);运行结果为 9,11,9,102)自减l i 先使用 i 的值,在执行语句 i=i1;l i 先执行语句i=i1,在使用 i 的值。 3. 赋值运算符1) ”=” 用来将一个数据赋给一个变量。2) “= =”表示等于号。(三)总结扩展:(四)作业布置:3) “=”左边只能是变量,而不能是常量和表达式。例:a=3 /*一次赋值操作或称赋值运算*/4. 逗号运算符 1)优先级最低为 15。2)格式:表达式 1,表达式 23)表达式值为最后一个表达式的值。例:x=(a=2,b=3,c=4);相当于执行:a=2;b=3;c=4;
33、x=4;x 的值为最后一个表达式中c 的值。三:算术表达式 1. 根据运算符的优先级进行运算。2. 书写格式:例:3*5-82.4 赋值语句一、相关概念1. 赋值:就是将一个数据存入一个连续的具有若干存储单元的存储空间中,该存储单元有一个名字,就是前面提到的变量名。例:x=5;2. 赋值语句:对一个变量进行赋值的语句。 例:int x; x=5;二、赋值语句的格式与功能1. 格式2)变量=表达式;例:x=5;y=8*2-5;3)语句结束后必加分号。2. 功能:首先计算后面的值,然后赋给左边的变量。三:类型转换1. 类型转换:当赋值语句中“=”左右两边的变量与表达式的数据类型不一致时,C 编译系
34、统会自动实现数据类型的转换。2. 转换原则:将赋值号右边的表达式值的类型转换成左边变量相同的类型。例 1: int a;long b;char c;a=b; /*long 型变量 b 的值转换成 int 型后再赋给 a*/b=a; /*int 型变量 a 的值转换成 long 型后再赋给 b*/b=a+c; /*int 型a+c 的值转换成 long 型后再赋给 b*/ 注意:1. 左边变量的数据类型比右边表达式值的类型长,转换后精度不变。2. 左边变量的数据类型比右边表达式值的类型短时,会对右边的数据进行截取。下面看一下使用赋值语句编写的简单程序例 2:求直径为 8 的圆周长。#define
35、 PI 3.1415926main() int d=8;float r,l;r=d/2;l=2*PI*r;printf(“r=%f,l=%fn”,r,l);本节课主要介绍了:l 运算符和表达式 l 赋值语句例 2 中直径为定值,那么求任意的圆周长该如何求呢?#define PI 3.1415926main()int d;float r,l;r=d/2;l=2*PI*r;scanf(“%d”, /*输入一个整型数据*/printf(“r=%f,l=%fn”,r,l);P301(1)( 2)(3)(4)课题序号 7 授课班级 10大专授课课时 2h 授课形式 理论授课章节名称 上机实践使用教具教学目的1. 自增运算符的使用2. 赋值运算符的使用3. 复合赋值运算符的使用教学重点 1增运算符的使用 2复合赋值运算符的使用教学难点 复合赋值运算符的使用更新、补充、删节内容课外作业教学后记授课主要内容或板书设计