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教学后记授课主要内容或板书设计第一章 C语言概述1
2、.1 C语言的产生过程及特点一、C语言出现的历史背景二、C语言的特点1.2 C语言程序的结构及书写格式一、简单的C程序介绍二、C语言的一般形式课 堂 教 学 安 排教学过程主 要 教 学 内 容 及 步 骤(一)导入新课(二)新授(三)总结扩展:(四)作业布置:C语言是国际上广泛流行的、很有发展前途的计算机高级语言。以前的操作系统软件主要是用汇编语言编写的,然而,汇编语言依赖于计算机硬件,程序的可读性和可执行性都比较差。为了解决这一问题,产生了C语言。本学期我们就将共同来学习C语言的一些相关知识,本堂课先来了解一下C语言程序的发展及其结构特点。1.1C语言的产生过程及特点一 、C语言出现的历史
3、背景1. 语言是第三代语言即为面向过程的高级语言。第一代:机器语言;第二代:汇编语言;在C语言的基础上又发展出来了第四代语言:面向对象的程序设计语言,例如C+和VB等高级语言。2. C语言是在B语言基础上发展起来的。3. C语言适合作为系统描述语言,既用来写系统软件,也可用来写应用软件。例如可使用C语言编写UNIX系统。4. C语言的可读性、可移植性强二、C语言的特点C语言的特点(使用角度看)1. 表达能力强且灵活。1) 语法限制不严,程序设计自由度大。2) 运算符丰富。2. 程序结构清晰,适合模块化设计。3. 编写简单、易学。4. 目标程序质量高。程序执行效率高。5. 可移植性高。基本上不作
4、修改就能用于各种型号的计算机和操作系统。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, c; /*定义变量*/scanf(“%d, %d”, &a , &b); /*输入变量a和b的值 */c=ma
5、x(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(输入8和5给a和b) max=8(输入c的值)说明:1. C程序是由函数构成的。1) 一个C程序至少包含一个函数(main函数)。2) 函数定
6、义是C程序的基本单位。3) 输入输出函数使用系统提供的库函数printf和scanf。2. 一个函数由两部分组成。1) 函数的说明部分。例: int max (x,y) 函数类型 函数名 函数参数 int x,y; 形参类型 形参 一个函数名后面必须跟一对圆括弧,函数参数可以没有如main()。2) 函数体。,一个函数至少有一对大括号。3. 一个程序总是从main函数开始执行的,位置随意。4. 书写格式自由,但每个语句后必须有一个 “;”。5. main、int为关键字,使用小写字母,C语言区分大小写。6. 使用“/*”和“*/”对语句进行注释。二:C语言的一般形式变量定义main() 变量定
7、义 程序段userf1() 变量定义 程序段userfn() 变量定义 程序段其中userf1()userfn()是用户定义的函数。本堂课主要学习了以下几方面内容: 1. C语言出现的历史背景; 2. C语言的特点; 3. C语言程序的结构及书写格式;通过这些内容的学习,要求我们在深入学习之前对C语言有一个整体的认识。P10 13。课题序号2授课班级10大专授课课时2h 授课形式理论授课章节名称1. 3C语言程序的开发过程2. 1.4C语言上机操作使用教具教学目的1. TURBOC系统2. C语言的上机步骤3. 掌握TC的使用教学重点1. C语言的上机环境2. C语言的上机步骤教学难点C语言程
8、序的编译过程更新、补充、删节内容课外作业教学后记授课主要内容或板书设计1.3C语言程序的开发过程1.4C语言上机操作课 堂 教 学 安 排教学过程主 要 教 学 内 容 及 步 骤(一)导入新课(二)新授三、总体扩展(四)作业布置:我们已经对C语言的知识有了初步的了解,这节课我们来具体的体会一下C语言的开发过程和上机过程。1.3C语言程序的开发过程Step1、编辑源程序生成以.c为扩展名的源文件。Step2、编译源文件 编译程序要对源程序进行语法检查,若没有错误生成目标文件,编译时如果发现错误,则显示错误信息,并要求重新编译,直到编译正确为止。目标文件的扩展名为.obj。Step3连接目标文件
9、及库文件连接目标文件生成可执行文件,可执行文件以.exe为文件扩展名。Step4运行程序1.4C语言的上机操作过程一:C语言上机环境1. UNIX系统。(略)2. DOS下使用MSC4.0编辑C程序。(了解)3. 使用TurborC运行C程序。二: Turbo C 2.0集成开发环境的使用 进入Turbo C 2.0集成开发环境中后, 屏幕上显示: 其中顶上一行为Turbo C 2.0 主菜单, 中间窗口为编辑区, 接下来是信息窗口, 最底下一行为参考行。这四个窗口构成了Turbo C 2.0的主屏幕, 以后的编程、编译、调试以及运行都将在这个主屏幕中进行。下面详细介绍主菜单的内容。 主菜单:
10、在Turbo C 2.0主屏幕顶上一行, 显示下列内容:File Edit Run Compile Project Options Debug Break/watch除Edit外, 其它各项均有子菜单, 只要用Alt加上某项中第一个字母(即大写字母), 就可进入该项的子菜单中。 1.启动TurborC l 启动DOS系统;l C: cdtc;l C: tctc2. 退出TurborC 可采用两种方法:1)Alt+X 2)按F10再将光标移到FILE菜单下的QUIT,按回车键。3. 编辑源程序FILE菜单下的菜单项: LOAD:装入磁盘上已经存在的文件,可直接进行编译、连接、运行,也可进行修改。
11、NEW建立新文件。SAVE:保存文件。WRITE TO:将当前文件写到另一文件。4. 编译源文件COMPILE菜单下的菜单项:COMPILE TO EXE:编译生成目标文件,目标文件名为“文件名.obj”。MAKE EXE FILE:生成可执行文件。直接生成可执行文件“文件名.exe”l LINK EXE FILE:连接目标文件生成可执行文件。对已经生成的.obj目标 文件进行连接,生成.exe文件。 5. 运行程序:C:tc文件名l Run (运行)菜单-按Alt+R可进入Run菜单, 该菜单有以下各项: .Run (运行程序):运行程序其热键为Ctrl+F9。 .User screen (
12、用户屏幕) 显示程序运行时在屏幕上显示的结果。其热键为Alt+F5。本节课主要学习了C语言的上机步骤: 1.启动TC。 2.在编辑窗口中输入程序。 3.将程序命名并保存。 4.编译源程序,生成目标文件。 5.对程序进行连接,生成可执行文件。 6.运行程序。 编写一小程序在屏幕上显示“hello”。课题序号3授课班级10大专授课课时2h 授课形式理论授课章节名称1.4C语言上机操作使用教具教学目的1. TURBOC系统2. C语言的上机步骤教学重点1. C语言的上机环境2. C语言的上机步骤教学难点C语言程序的编译过程更新、补充、删节内容课外作业教学后记授课主要内容或板书设计一:C语言上机环境二
13、: TurborC的使用二: TurborC的启动三TurborC系统的退出 四:编辑源程序五:编译源文件六:运行程序七:验证下面两个函数。课 堂 教 学 安 排教学过程主 要 教 学 内 容 及 步 骤(一)导入新课(二)新授(三)总结扩展:通过前两堂课的学习,我们已经对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:WI
14、NDOWS_C:WINDOWSCDTURBOC2l C: TURBOC2_C: TURBOC2TC2直接进入 打开我的电脑C盘TURBOC2文件夹双击TC图标三: TurborC系统的退出 1按F10再将光标移到FILE菜单下的QUIT,按回车键。2Alt+X四:编辑源程序1F10FILENEW(新建文件)2编辑程序五:编译源文件F10COMPILEMAKE EXE FILE(生成可执行文件)。 六:运行程序1在DOS下运行2直接运行 F10RUNRUNl F10RUNUSER SCREEN七:验证下面两个函数。例1: main( )printf(“This is a c program.n”
15、);例2: main( ) / int a, b, c; scanf(“%d, %d”, &a , &b); c=max(a,b); printf(“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. 浮点型变量的定义更新、补充、删节内容课外作业
16、教学后记授课主要内容或板书设计2.1常量和变量一:常量和符号常量二:变量2. 2C语言的基本数据类型 一:整型数据二:浮点型数据三:字符型数据课 堂 教 学 安 排教学过程主 要 教 学 内 容 及 步 骤(一)前堂回顾(二)导入新课(三)新授(四)总结扩展:(五)作业布置:C语言的开发过程:1. 编辑源程序。2. 编译源文件。3. 连接目标文件及库文件。4.运行程序。一个程序应包括数据描述和操作步骤两方面的内容。数据是操作的基本对象,所以我们可以这样认为程序=数据结构+算法。数据结构就是包括数据类型在内的一些相关知识,这节课我们就来具体学习C语言中的几种常量和变量以及数据类型。第二章 基本数
17、据类型与顺序程序设计2.1常量和变量一:常量和符号常量 例1:求半径为5的圆面积。 #include “stdio.h” #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展开为 are
18、a=3.1415926*r*r。3. 使用符号常量可以简化程序的数据输入且不易出错。4. 符号常量名只能由字母、数字和下划线组成,且第一个字母必须是字母或下划线。例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=5
19、0;int是类型标识符,k是变量名,50是变量k的初值。 2)变量名只能由字母、数字和下划线组成,且第一个字母必须是字母或下划线。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; /*定义整型变量*
20、/。3. 标识符1)基本型:用int表示,范围是-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)
21、l 占四个字节,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) 一个字节存放一个字符。5) 特殊的字符常量:n 换
22、行符;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语言的几种基本数据类型:char、int、long、float、doubl
23、e;在字符变量进行赋值时,要使用定界符。例x=a;而字符串要用“”作为定届符。即 “abcd”是正确的但 “a”是错误的。课题序号5授课班级10大专授课课时2h 授课形式理论授课章节名称上机:常量和变量以及数据类型的使用使用教具教学目的1. 常量和变量的使用2. 数据类型的使用教学重点1. 符号常量的使用2. 变量的使用教学难点符号常量的定义更新、补充、删节内容课外作业教学后记授课主要内容或板书设计一:C语言的上机步骤二:常量和变量的使用三:数据类型的使用课 堂 教 学 安 排教学过程主 要 教 学 内 容 及 步 骤(一)导入新课(二)教学内容(三)总结扩展:(四)作业布置:我们已经学习了C
24、语言的上机过程,这节课我们将在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;printf(“area=%f”,area);1)注意符号常量大小写字母在程序前后要一致。2)浮点
25、型数据在最后输出时的显示形式。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);此程序为正确的程序,在编译及其运行过程中都不会出现问题,根据赋值语句具有的右结合性,可以知道最后两个变量的初值都为0。3. 特殊字符常量的使用 n的使用
26、 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) 整型数据(P19 例2-6)2)浮点型数据例:main() float x; double x;x=111111.111;printf(“%fn”,x); 注:浮点
27、型数据的有效位问题直接影响到最终结果。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.4赋值语句使用教具教学目的1. 掌握几种常用的运算符2. 用C语言格式写出正确的表达式3. 掌握赋值符号的使用教学重点1. 常用运算符2. 赋值语句教学难点1. 自增和自减运算符的使用2
28、. 赋值语句中的类型转换更新、补充、删节内容课外作业教学后记授课主要内容或板书设计23运算符和表达式一:相关概念二:运算符 三:算术表达式2.4赋值语句一:相关概念二:赋值语句的格式与功能三:类型转换课 堂 教 学 安 排教学过程主 要 教 学 内 容 及 步 骤(一)前堂回顾(二)导入新课(三)新授(三)总结扩展:(四)作业布置:1. C语言的几种基本数据类型:char、int、long、float、double;2. 变量的定义方式:例: int x,y;3. 编程:将小写字母b转换成大写字母B。C语言程序由一行一行的语句代码组成,每个语句由变量、运算符、表达式、函数调用和控制语句构成。上
29、堂课我们已经学习了变量的使用,这节课我们来继续学习运算符和表达式。2.3运算符和表达式一:相关概念1. 运算符:进行运算的符号。2. 表达式:由运算对象(包括常量、函数、变量和运算符)连接起来的有意义的式子。二:运算符 1. 算术运算符 运算符运算优先级例子( ) 圆括号15/(1-3)=-2*乘法37*3=21 /除法37/3.0=2.333333,7/3=2 %模除37%3=1 +加法47+3=10-减法47-3=4说明:1)模除运算是两个整数相除后取余数;要求%两边必须是整型数据。2)若算术运算符两边均为整数,则结果为整数。3)若参加运算的两个数中有一个数为实数,则结果为double型。
30、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; 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) ”=” 用来将一个
31、数据赋给一个变量。2) “= =”表示等于号。3) “=”左边只能是变量,而不能是常量和表达式。例:a=3 /*一次赋值操作或称赋值运算*/4. 逗号运算符1)优先级最低为15。2)格式:表达式1,表达式23)表达式值为最后一个表达式的值。例:x=(a=2,b=3,c=4);相当于执行:a=2;b=3;c=4;x=4;x的值为最后一个表达式中c的值。三:算术表达式1. 根据运算符的优先级进行运算。2. 书写格式:例:3*5-82.4赋值语句一、相关概念1. 赋值:就是将一个数据存入一个连续的具有若干存储单元的存储空间中,该存储单元有一个名字,就是前面提到的变量名。例:x=5;2. 赋值语句:对
32、一个变量进行赋值的语句。 例:int x; x=5; 二、赋值语句的格式与功能1. 格式2)变量=表达式;例:x=5;y=8*2-5;3)语句结束后必加分号。2. 功能:首先计算后面的值,然后赋给左边的变量。三:类型转换1. 类型转换:当赋值语句中“=”左右两边的变量与表达式的数据类型不一致时,C编译系统会自动实现数据类型的转换。2. 转换原则:将赋值号右边的表达式值的类型转换成左边变量相同的类型。例1: int a;long b;char c;a=b; /*long型变量b的值转换成int型后再赋给a*/b=a; /*int型变量a的值转换成long型后再赋给b*/b=a+c; /*int型
33、a+c的值转换成long型后再赋给b*/ 注意:1. 左边变量的数据类型比右边表达式值的类型长,转换后精度不变。2. 左边变量的数据类型比右边表达式值的类型短时,会对右边的数据进行截取。下面看一下使用赋值语句编写的简单程序例2:求直径为8的圆周长。#define 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
34、=d/2;l=2*PI*r;scanf(“%d”,&d); /*输入一个整型数据*/printf(“r=%f,l=%fn”,r,l);P301(1)(2)(3)(4)课题序号7授课班级10大专授课课时2h 授课形式理论授课章节名称上机实践使用教具教学目的1. 自增运算符的使用2. 赋值运算符的使用3. 复合赋值运算符的使用教学重点1增运算符的使用2复合赋值运算符的使用教学难点复合赋值运算符的使用更新、补充、删节内容课外作业教学后记授课主要内容或板书设计一:验证程序二:看程序写结果课 堂 教 学 安 排教学过程主 要 教 学 内 容 及 步 骤(一)前堂回顾(二)导入新课(三)新授(三)总结扩展
35、:(四)作业布置:1 定位光标:F10、ALT+相应菜单的首字母。2 快捷键的使用:退出TURBOC:Alt+x 运行:ctrl+F9看结果:Alt+F53 在DOS下几个常用的命令:清屏:cls 退出:exit4 路径的形成:区分根目录和子目录Turboc2。在上堂课的基础上,本堂课将具体验证一些运算符的使用,同时掌握赋值语句的使用时机,使用技巧。一:验证程序1 例2-4。体会+i和i+的区别。 #include “stdio.h” main( ) int i,j,k;k=30;i=k+;printf(“i=%d,k=%d”,i,k);j=+k;printf(“nj=%d,k=%d”,j,k
36、);2例2-5。#include “stdio.h”#include “math.h” main( ) float k,x,y;x=(k=9.8)+7;printf(“nk=%5.1f,x=%5.1fn”,k,x);y=k=9.8+7;printf(“nk=%5.1f,y=%5.1fn”,k,y); 运行结果:k= 9.8,x= 16.8 k= 16.8,y= 16.8通过本程序的验证,将使我们更加清楚优先级的问题,在本程序中使用了算术运算符才赋值运算符,由于“+”比“=”的优先级高,所以导致了最终结果的不同。 在C语言中的几种合法形式:l int a,b,c; a=b=c=0; int a=0,b,c;l int a; a=0;l int a=0; int b,c; b=2; c=6; 在C语言中的几种不合法形式:l int a=b=0; int a; a=0;int b,c; b=2;c=6;二:看程序写结果程序1:自增运算符的使用。main() int i;printf(“%d,%d”,i,i+);运行结果:2,1程序2:逗号运算符的