资源描述
C
语
言
程
序
设
计
授课教师:胡 琪
授课教师:09计1班
教学计划
一、学生基本情况
09计1班,22人,是对口高考班,由于是刚进高一,还没有接触过任何的编程知识,甚至有些学生以前接触电脑的机会比较少,基础较差,但整体上还是很好学的,毕竟深知C语言是参加对口高考很重要的一门科目。
二、教学要求
1.掌握C语言的主要特点、结构、程序编写的规则、开发的过程;
2.掌握C语言的基本数据类型、运算符、表达式的应用,常用函数的使用;掌握顺序程序设计,会编写简单的程序;
3.掌握三种if语句的使用形式、流程、功能;学会使用switch语句;
4.掌握循环结构程序设计的方法,包含三种不同循环结构的应用方法以及这三种循环的异同点。
三、教学重点
1.C语言基本数据类型、运算符、表达式的应用;
2.常用函数的使用;
3.顺序结构、选择结构、循环结构的程序设计方法。
四、教学难点
1.C语言程序的编写规则、开发过程;
2.顺序结构、选择结构、循环结构的程序设计方法及退出循环的方法。
五、主要教学方法、措施
1.按照学生的认识规律,以程序设计为主线,采用循序渐进的方式,用通俗易懂的语言结合生活中的实例讲解C语言的基础知识、程序设计方法;
2.结合实验法——精心安排实验,采用任务驱动式的方法即从学生实际水平出发布置难度适当的任务引导学生完成并驱动学生学习新的知识;
3.加强课后辅导,要求学生按时完成作业,及时认真批改作业,发现问题及时纠正。
六、教学进度
教 学 进 度 安 排
周 次
主 要 教 学 内 容
1
C语言基础
2
C语言的数据类型
3
基本输入输出函数
4
算术运算符、表达式
5
关系运算符、表达式
6
顺序结构程序设计
7
逻辑运算符、表达式
8
单分支选择结构程序设计(1)
9
单分支选择结构程序设计(2)
10
期中考试与复习
11
多分支选择结构程序设计(1)
12
多分支选择结构程序设计(2)
13
多分支选择结构程序设计(3)
14
循环结构程序设计(1)
15
循环结构程序设计(2)
16
程序填空题训练(1)
17
程序填空题训练(2)
18
编程题训练(1)
19
编程题训练(2)
20
期末考试
实训计划
一、实训目标
从应用和实践的角度出发,使学生通过上机操作掌握本课程的程序设计思想,达到能独立编写C语言应用程序的要求,为提高学生的实际编程能力,进一步学习其他程序设计语言打下基础。
二、教材内容分析
本教材以TurboC 2.0为运行环境讲解C语言程序运行开发过程,要求学生掌握基本操作,通过上机检验程序运行结果,从而掌握程序设计的思想与方法。
三、具体专业技能要求
1.学会编辑、运行简单的C语言程序;
2.掌握定义数据类型的方法及赋值的方法,学会使用包含运算符的表达式,掌握输入输出函数的使用;
3.掌握顺序结构、选择结构、循环结构的程序设计方法。
四、技能教学主要措施
1.精选实验内容,要求学生独立完成程序编写;
2.学生上机编辑和调试程序,引导学生多方位地考虑问题;
3.对基础薄弱的学生进行指导,对能提前完成实验任务的学生提出更高的要求;
4.要求学生将自己的实验情况进行分析、总结,整理出实验报告。
五、教学进度安排
教 学 进 度 安 排
周 次
主 要 教 学 内 容
1
熟悉C语言运行环境
2
编辑、调试、运行简单的C语言程序
3
基本输入输出函数
4
算术运算符、表达式
5
关系运算符、表达式
6
顺序结构程序设计
7
逻辑运算符、表达式
8
单分支选择结构程序设计(1)
9
单分支选择结构程序设计(2)
10
期中考试与复习
11
多分支选择结构程序设计(1)
12
多分支选择结构程序设计(2)
13
循环结构程序设计(1)
14
循环结构程序设计(2)
15
程序填空题训练(1)
16
程序填空题训练(2)
17
编程题训练(1)
18
编程题训练(2)
19
编程题训练(3)
20
期末考试
第1—2课时
教学课题:C语言基础
教学目的:
1.让学生明确C语言在程序设计语言发展中的地位和学习这门课的目的;
2.了解简单C程序的特点和结构;
3.熟练掌握创建、修改、运行C程序的操作方法,为学生进一步的学习打下基础。
教学重点和难点:
1.简单C程序的特点和基本结构;
2.创建、修改、运行C程序的操作步骤和方法。
教学方法:讲授法、任务驱动式
课时:2课时
第一课时
教学过程:
l 提出疑问,启发学生思考:
人与人之间用语言来交流,那么人与计算机交流用什么呢?——C语言就发挥了作用,从而导入新课。
1.程序设计语言经历的发展阶段
2.C语言在发展阶段(过程)中所处的地位
3.C语言的特点
l 在了解了C语言的发展后,着重讲解C程序的基本结构和书写格式:
库函数
根据用户需要编制的函数
1.C程序由函数构成,一个C程序至少一个main函数或一个main函数和若干个其他函数。
被调用的函数
2.一个函数由两部分组成。
①函数的首部。如:int min(int x,int y)
声明部分
执行部分
②函数体
3.一个C程序总是从main函数开始执行。
4.C程序书写格式自由。
5.每个语句和数据定义的最后必须有一个分号。
如:c=a+b;
6.C语言本身没有输入输出语句,输入输出的操作是由库函数scanf和printf函数来完成的。
7.可以用/* …… */对C程序中的任何部分做注释。
l 接下来给出一个实例结合上述结构讲解:
例:main()
{
int a,b,c;
scanf(“%d %d”,&a,&b);
c=max(a,b);
printf(“max=%d”,c);
}
int max(int x,int y)
{int z;
if(x>y)z=x;
else z=y;
return(z);
}
请学生上讲台指出函数的各个组成部分,其他学生补充。
第二课时
教学过程:
l 讲授新课
一、TurboC的与退出(要求学生以自学为主)
1.启动TurboC的步骤
①开机启动DOS操作系统
②启动中文操作系统
③进入工作目录,执行命令:CD C:、XXC
④启动TurboC系统
2. TurboC界面上的菜单命令简介(功能和快捷键)
3.退出前保存的方法
二、创建和运行C程序的一般步骤
1.创建新文件
2.输入源程序
3.保存源程序
4.运行程序
5.观察程序运行结果
生成源文件 (生成*.c文件)
编辑源程序
编译源文件
生成目标文件夹 (生成*.obj文件)
连接目标文件、库文件
生成可执行文件夹 (生成*.exe文件)
运行可执行文件
产生运行结果
三、C语言程序的开发过程
l 回顾本节课知识点,总结归纳
l 布置作业
1.C语言程序的基本构成
2.C程序的开发过程
3.输出如下信息(编程实现)
* * * * * * * * *
Very good
* * * * * * * * *
第3课时
实验课题:启动与退出TurboC,熟悉TurboC环境
实验目的:1.掌握启动与退出TurboC编译系统的方法;
2.熟悉TurboC运行环境。
实验时间:第一周
实验内容:
1.启动TurboC
双击TC.exe文件即可进入TurboC编译系统
2. TurboC基本界面认识
①菜单项
1) 名称
2) 功能
3) 可用的快捷键
②编辑界面
行、列、默认文件名
程序编辑区
③信息栏
出错处、出错原因
3.退出TurboC (Alt+X)
l 实验小结:
由于学生第一次上机,接触到TurboC运行环境,整个实验采用多媒体控制教学结合学生实验同时进行,效果较好。
第4课时
实验课题:创建并运行C语言程序
实验目的:1.掌握启动与退出TurboC编译系统的方法;
2.使用TurboC创建与运行简单C程序的方法。
实验时间:第一周
实验内容:
1.启动TurboC
2.创建新文件
3.输入源程序,保存
main()
{
printf(“This is a program!”);
}
4.编译、连接程序
①生成目标文件
②生成可执行文件
③连接可执行文件
5.运行程序
6.观察结果
l 实验小结:
绝大多数学生在经过不同程序的指导后,能如质如量地完成实验。
第5课时
实验课题:TurboC常用编辑键的用法
实验目的:掌握TurboC常用编辑键的功能和使用用法
实验时间:第一周
实验内容:
1.打开上次实验课保存的程序
2.练习使用End键和Home键
End——光标回到本行行末
Home——光标回到本行行首
3.编辑程序,将“(”按Del键删除,观察出错信息
main
{
printf(“你好”);
}
4.按F6(或Alt+E或Enter键)返回编辑窗口,修改程序,让学生注意观察系统约定的对齐方式
5.改错,保存程序
l 实验小结:
这个实验相对难度不大,学生完成情况较好。
第6课时
实验课题:理解C程序规则
实验目的:1.理解使用规范书写程序的优越性
2.理解C程序规则
实验时间:第一周
实验内容:
1.(1)输入以下程序
main
{
printf(“努力学习”);
}
(2)运行程序,观察系统显示的出错信息
(3)找出出错原因后,修改程序
(4)再次运行,直到得出正确结果
2.运行以下程序
main()
{
printf(“欲穷千里目”)
}
观察出错信息
再按照第1题的方式修改程序
要求学生填下面的空:
(1)运行该程序,系统显示的出错信息是:_______________
(2)该程序出错的原因是:_______________
3.变量定义与使用规则
(1)main()
{
Int a=5;
printf(“5的平方是:%d”,a*a);
}
①运行程序,系统显示的出错信息___________________
②该程序的出错原因是_____________________
③修改程序
④再次运行,直到得出正确结果
(2)main()
{
a=5;
printf(“5的平方是:%d”,a*a);
}
修改运行得出正确结果
l 实验小结:
学生做起来感到吃力,在上机方面要加强练习
第7—8课时
教学课题:常量和变量
教学目的:让学生熟悉并掌握常量、变量的定义、赋值等操作
教学重点和难点:常量和变量
课时:两节课
第一课时:
教学内容:
l 新课的引入
l 新课的讲解
1. 数据类型
C语言提供的数据结构,是以数据类型形式出现的,具体分类:
1)基本类型
分为整型、实型(又称浮点型)、字符型、寄存器型四种
2)构造类型
分为数组类型、结构类型、共用(枚举)类型
3)指针类型
4)空类型
C语言中的数据,有常量和变量之分。
2. 常量
1)常量的概念
在程序运行过程中,其值不能被改变的量称为常量
2)常量的分类
(1)整型常量
即整常数,在C语言中可用三种形式表示:
①十进制 例:10.36
②八进制 例:012 (以数字0开头)
③十六进制 例:0x36 (以数字0+小写字母x开头)
(2)实型常量 例:2.03、0.0、m*10n
(3)字符常量 例:’A’、’a’、’0’、’1’
(4)符号常量 例:#define PI 3.1415
(5)字符串常量 例:”x”、”I am a srudent”
常量的类型,可通过书写形式来差别
第二课时
3. 变量
(1)变量的概念
(2)变量的两个要素:
①变量名(变量必须有一个名字,命名遵循标识符命名规则)
②变量值
4. 变量的定义与初始化
在C语言中,要求对所有用到的变量,都必须先定义,后使用;且称在定义变量的同时进行赋初值的操作称为初始化。
(1)变量定义的一般格式
数据类型 变量名 如:float area;
(2)变量初始化的一般格式
数据类型 变量名[=初值] 例:float length=2.5;
下面介绍基本类型中的整型、实型和字符型三种变量的定义
5. 整型变量定义
根据占用内存字节数的不同,整型变量又分为类:
①基本类型(类型关键字为int)
②短整型(类型关键字为short[int])
③长整型(类型关键字为long[int])
④无符号整型数 无符号基本整型(unsigned [int])
无符号短整型(unsigned short)
无符号长整型(unsigned long)
(2)占用内存字节数与值域(见书60页)
注意点:长整型数(315l)
(3)类型匹配规则
一个整型常量,可以赋给能容纳下其值的整型变量。例:其值在-215~(215-1)的整型常量,可以赋给int型变量和long int 型变量;其值在231~(231-1)的整型常量,就只能赋给long int型变量。
例:
main()
{
int a=20000,b=30000,c;
c=a+b;
printf(“c=%d\n”,c);
}
运行结果为:c=-15536
因为变量c的类型是int型,它所能存放的最大数是32767,而a和b的和50000超出了这个范围,运行结果自然就出错了。
6. 实型变量
C语言的实型变量,分为两种:(1)单精度型(2)双精度型
(1)单精度型:关键字为float,一般占4字节(32位),提供7位有效数字。
(2)双精度型:double,一般占8字节,提供15~16位有效数字。
7. 实型常量
(1)表示形式
实型常量即实数,在C语言中又称为浮点数,其值有两种表达形式:
①十进制形式 例如:3.14、9.8
②指数形式<尾数>E(e)<整型指数> 例:3.0E+5
(2)关于类型
实型常量不分float型和double型,一个实型常量可以赋给实型变量(float型或double型)
l 教学小结:
(1)C语言的基本数据类型:char、int、long、float、double;
(2)char为字符型,表示一个字节的字符,实质是称为ASCII码的八位二进制;
(3)int long 表示的是整型数,值的范围不同,int型占两字节;long 占四个字节;
(4)float 、double是浮点数,float占4个字节,精度为7位;double占8个字节,精度为15位。
l 课堂练习
#include<stdio.h>
main()
{
char c1=’B’;
int x=10;
c1=c1+x;
printf(“%c,%d\n”,c1,x);
}
l 布置作业
1. C语言的基本数据类型有哪些?
2. 说出int、long型变量其值的取值范围及存储空间的大小。
3. 变量定义的形式,举例说明。
第9课时
实验题目:理解C程序规则
实验目的:1.通过改正程序中的错误,加深对C程序基本规则的理解
2.掌握保存文件和编辑下一个程序的操作方法
实验时间:第二周
实验地点:科教楼
实验内容:
1.改正程序中的错误
main()
{
a=3;
printf(“3的平方是:%d”,a*a);
}
(1)运行程序,观察系统显示的出错信息
(2)找出出错原因后,修改程序
(3)再次运行,直到得出正确结果
2. 更正以下程序
main()
{
a=3;
printf(“3的平方是:%d”,A*A);
}
找出出错原因并改正,保存程序,编辑下一个程序。
3. 更正以下程序
main()
{
Int a=5;
printf(“5的平方是:%d”,A*A);
}
找出出错原因并改正,保存程序,编辑下一个程序。
第10课时
实验题目:printf函数的使用
实验目的:掌握printf函数的使用方法
实验时间:第二周
实验地点:科教楼
实验内容:
1.建立并运行以下程序,注意观察屏幕显示信息
main()
{
float x=2.6;
clrscr();
printf(“x=%f”,x);
}
2. 建立并运行以下程序,注意观察结果
main()
{
int x,y;
clrscr();
x=y=1;
printf(“x=%d,y=%d\n”,x,y);
}
l 实验总结:
C程序规则关系着(决定着)能否学好C语言,printf函数使用非常频繁,引导学生入门显得举足轻重。
第11—12课时
教学课题:常量和变量(2)
教学目的:通过学习,使学生熟练掌握C语言的量
教学重点:字符常量和字符变量
教学方法:讲解法
课时安排:两课时
课型:理论课
教学过程:
第一课时
l 复习:
1.C语言的数据类型
2.整型、实型常量、变量
l 新课的讲解:
1.字符常量
①字符常量的定义
用一对单引号括起来的单个字符,如:’A’、’+’等
②转义字符
C语言中还允许使用一种特殊形式的字符常量,就是以“\“开头的转义字符。
注意:’\\’表示’\’,’\’ 表示’
例1:用打印字符输出可打印字符和不可打印字符
main()
{
printf(“\x4F\x4B\X21\n”);
printf(“x15 \xAB\n”);
}
程序输出结果:OK!
§ 1/2
例2:设一个输出区占8列,分析输出结果
main()
{
printf(“ ab c\t de\rf\tg\n”);
printf(“h\ti\b\bj k”);
}
分析过程如下,加粗的为最后显示的结果
a
b
c
d
e
f
g
d
e
h
j
i
h
j
k
1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
2.字符变量
类型关键字为char,一般占用1字节内存单元
①变量值的存储
字符变量用来存储字符常量,将一个字符常量存储到一个字符变量中,实际上是将该字符的ASCII码值(无符号整数)存储到内存单元中。
例:char ch1,ch2; /*定义两个字符变量:ch1,ch2*/
ch1=’a’;ch2=’b’; /*给字符变量赋值*/
第二课时
②特性
(1)C语言允许字符型数据与整型数据之间通用
例2 字符变量的字符形式输出和整数形式出发
main()
{
char ch1,ch2;
ch1=’a’;ch2=’b’;
printf(“ch1=%c,ch2=%c\n”,ch1,ch2);
printf(“ch1=%d,ch2=%d\n”,ch1,ch2);
}
(2)允许对字符数据进行算术运算,就是对它们的ASCII码值进行算术运算
例3
main()
{
char ch1,ch2;
ch1=’a’;ch2=’B’;
printf(“ch1=%c,ch2=%c\n”,ch1-32,ch2+32);
printf(“ch1+200=%d \n”,ch1+200);
printf(“ch1+200=%c \n”,ch1+200);
printf(“ch1+256=%d \n”,ch1+256);
}
3.字符串常量
(1)概念
(2)字符串长度
字符串中字符的个数称为字符串长度,长度为0的字符串(即一个字符都没有的字符串)称为空串,表示为””。
例:“How do you do”长度为14;”Good morning” 长度为13。
如果反斜杠和双引号作为字符串中的有效字符,则必须用转义字符。
例:(1) c:\msdos\v6.22 ” c:\\msdos\\v6.22”
(2)I say:”Goodbye!” “I say:\”Goodbye!\””
(3)字符串的存储
存储字符串常量时,系统在字符串的末尾自动加一个‘\0’作为字符串的结束标志
例:“CHINA”在内存中的实际存储
C
H
I
N
A
\0
占6字节而非5字节内存空间
l 课堂小结
字符常量’A’与字符串常量”A”的区别
(1)定界符不同 字符常量使用单引号,字符串常量用双引号
(2)长度不同 字符常量的长度固定为1
字符串常量的长度可以是0,也可以是某个整数
(3)存储要求不同
l 布置作业
1.字符常量与字符串常量的区别
2.写出下面程序运行的结果
main()
{
int a=1,b==2,sum;
sum=a+b;
printf(“sum=%d\n”,sum);
}
3.写出下面语句的执行结果
(1)printf(“\nABC\tDE\nFGH\n”);
(2) printf(“\nWhy is 21+31 equal to %d?\n”,21+31);
第13课时
实验题目:printf函数的使用(1)
实验目的:掌握printf函数的使用
实验地点:科教楼
实验时间:第三周
实验内容:
1.运行下面的程序
main()
{
int a=123;
printf(“a=%d \n”,a);
printf(“a=%x \n”,a);
printf(“a=%o \n”,a);
printf(“a=%u \n”,a);
}
要求学生观察屏幕显示信息并了解各种输出格式
2.运行程序
main()
{
char a[]=”CHINA”;
printf(“x=%s \n”,a);
}
让学生了解字符串的定义
l 实验小结:
printf()函数在C语言中用得非常频繁,必须要从严要求学生掌握。
第14课时
实验题目:printf函数的使用(2)
实验目的:进一步掌握printf函数的使用
实验地点:科教楼
实验时间:第三周
实验内容:
1.运行下面的程序
main()
{
float a=123.456;
printf(“a=%e \n”,a);
printf(“a=%f \n”,a);
printf(“a=%g \n”,a); /*按e和f格式中较短的一种输出不打印无效零*/
}
输出结果: 1.23456e+02
123.456001
123.456
要求学生观察屏幕显示信息并了解各种输出格式
2.运行以下程序并得出结果
main()
{
float a=3.1415926;
double b=3.14935;
printf(“x=%8.6f \nb=%17.15f”,a,b);
}
该程序测试用printf函数输出带小数的float和double型数据时,小数部分是截断还是四舍五入。请学生根据程序运行结果,回答这个问题。
第15—16课时
教学课题:基本输入输出函数(1)
教学时间:第三周
教学目的:掌握数据的输入输出
教学重、难点:掌握数据的输入输出
课时安排:2课时
课型:理论课
第一课时
教学目的:要求学生掌握printf()函数
教学过程:
l 讲授新课
1.printf()函数
A.一般格式:printf(“格式字符串”,[输入表项]);
B.功能:按指定的格式向计算机系统默认输出设备输出信息
C.说明:
(1)格式字符串组成
以%开头,以转换字符为结尾的转换说明符,必须与输出参数相对应,表示相应的输出参数的输出格式
①空格、制表符,不作输出
②转义字符,以\开头转义字符为结尾的
例:’\n’输出时产生“换行”操作
③普通字符——除格式指示符和转义字符之外的其它字符
普通字符原样输出
④格式指示符,一般形式如下:%[标志][宽度][.精度][F\N\h\L][类型]
(2)输出项表:要输出的变量符号
输出项表是可选的。如果要输出的数据不止1个,相邻2个之间用逗号分开。下面贩printf()函数是合法的。
①printf(“I am a student.\n”);
②printf(“%d”,3+2);
③ printf(“a=%f b=%5d\n”,a,a+3);
Prinft修饰符
修饰符
格式说明
含义
m
%md
以字段宽m输出整型数据,不足m位,左补空格
0m
%0md
以字段宽m输出整型数据,不足m位,左补空0
m.n
%m.nf
以字段宽m输出实型小数数,小数位为n位
l 练习
main()
{
int x=123;float y=2.71828;
printf(“x=%5d\nx=%05d\nx=%-5d\nx=%2d \n”,x,x,x,x);
printf(“y=%7.2f\ny=%-7.2f \n”,y,y);
}
l 知识回顾
l 教学小结:
输出函数prinft()的使用
第二课时
教学课题:基本输入输出函数(2)
教学时间:第三周
教学目的:掌握输入函数scanf()函数
教学重、难点:输入函数的使用
课型:理论课
l 回顾printf()函数
l 新课讲授
scanf()函数
①作用:按指定的格式,从键盘上接收输入信息
②一般格式:scanf(“格式字符串”,输入项首地址表);
例:
main()
{
float radius,high,vol,pi=3.1415926;
printf(“please input radius&high:”);
scanf(“%f %f”,&radius,&high);
vol=pi*radius*radius*high;
printf(“radius=%7.2f,high=%7.2f,vol=%7.2f\n”,radius,high,vol);
}
分析程序
说明:A、(1)格式字符串:转换说明符,空白字符和普通字符
(2)输入项地址表
B、格式指示符
a。转换说明符 b。宽度n m.n
l 互动环节:请学生写出例题程序运行结果
l 课堂小结:
总结scanf()函数的使用
l 布置作业:
从键盘上输入一个数(圆的半径),求半圆的周长及面积。
l 教学小结:
scanf()函数的使用,学生初学很容易将取地址符&丢掉,造成程序错误,需加强练习与理解。
第17课时
实验题目:scanf函数的使用(1)
实验目的:掌握scanf函数的使用
实验地点:科教楼
实验时间:第三周
实验内容:
1.运行下面的程序,输入:12、W、45.19
main()
{
int a;
char b;
float x;
scanf(“%d,%c,%f”,&a,&b,& x);
printf(“a=%d b=%c x=%f \n”,a,b,x);
}
要求学生观察屏幕显示信息并尝试输入其它数据
2.运行程序
main()
{
char x,y,z;
scanf(“%c,%c,%c \n”,&x,&y,&z);
printf(“x=%c y=%c z=%c \n”,x,y,z);
}
让学生输入字符型数据,观察屏幕显示信息
采用两种方法输入:
①a,b,c
②a b c
l 实验小结:
scanf()函数在C语言中用得非常频繁,必须要从严要求学生掌握。
第18课时
实验课题:scanf函数的使用(2)
实验目的:进一步掌握scanf函数的使用
实验时间:第三周
实验内容:
1.运行以下程序
main()
{
char x,y,z;
scanf(“%c,%c,%c \n”,&x,&y,&z);
printf(“x=%c y=%c z=%c \n”,x,y,z);
}
要求学生按程序要求输入数据得出正确结果
2.用两种方法输入数据
①a,b,c
②a b c
3.以三种方法输入数据:12,34,56
main()
{
int x,y,z;
scanf(“%d%d%d\n”,&x,&y,&z);
printf(“x=%d y=%d z=%d \n”,x,y,z);
}
总结scanf函数输入数据输出结果的规律
4.编写一个程序:要求学生从键盘上输入数据(正方形的边长),求出正方形的周长与面积
l 实验小结:
大部分学生能在指导下正确使用scanf函数,效果良好。
第19课时
教学课题:基本输入输出函数(3)
教学时间:第四周
教学目的:掌握输入输出函数
教学重点:类型转换符
单个字符的输入输出函数:getchar()、putchar()
教学难点:类型转换符的使用
教学过程:
l 知识回顾
printf()函数与scanf()函数的使用
l 新课讲授
1.格式指示符
a.类型转换字符d——以带符号的十进制整数形式输出
b.类型转换字符f——以小数形式,按系统默认的宽度,输出单精度和双精度实数
c.类型转换字符c——输出一个字符(只占一列宽度)
d.类型转换字符s——输出一个字符串
l 课堂练习:
main()
{
int num=123;
float f=123.456;
char c=’A’;
printf(“%d,%f,%c,%10s”,num,f,c,”Internet”);
printf(“%-5d,%7.2f,%2c,%-8s”,num,f,c,”Internet”);
}
l 教学小结:
学生对类型转换字符f的宽度理解不透彻,需加强指导与练习。
第20课时
教学课题:基本输入输出函数(3)
教学时间:第四周
教学目的:掌握单个字符的输入输出函数
教学重点:单个字符的输入输出函数:getchar()、putchar()
教学难点:getchar()函数、putchar()函数的使用
教学方法:启发式教学、练习法
教学过程:
l 知识回顾
l 新课讲授
1.单个字符的输入——getchar()函数
①格式:getchar();
②作用:将从标准输入设备输入的字符读出,返回值为读出字符的ASCII值,出错返回值EOF。EOF是在标准头文件<stdio.h>中定义的一个常量,其值为了-1。
例:
#include”stdio.h” /*文件包含*/
main()
{
char ch;
ch=getchar();
printf(“ch=%c,ch=%d\n”,ch,ch);
}
说明:(1)要使用getchar()函数,必须在程序(或文件)的开头加上编译预处理命令:#include”stdio.h”
(2)getchar()函数只能用于单个字符的输入,一次输入一个字符
2.单个字符的输出——putchar()函数
①格式:putchar(c);
②作用:将一字节的代码值所代表的字符输出到显示器上,将参数值中指定的字符送到标准输出设备。返回值为输出字符的ASCII码,出错返回值EOF。
l 练习:
#include”stdio.h” /*文件包含*/
main()
{char ch1,ch2,ch3;
ch1=getchar();
ch2=getchar();
ch3=getchar();
putchar(ch1);
putchar(ch2);
putchar(ch3);
putchar(‘\n’);
}
#include”stdio.h” /*文件包含*/
main()
{char ch1=’N’,ch2=’E’,ch3=’W’;
putchar(ch1);putchar(ch2);putchar(ch3);
putchar(‘\n’);
putchar(ch1);putchar(‘\n’);
putchar(‘E’);putchar(‘\n’);
putchar(67);putchar(‘\n’);
}
l 教学小结:
getchar()函数、putchar()函数的使用
第21—22课时
教学课题:算术运算符和算术表达式
教学时间:第四周
教学目的:掌握算术运算符的运算规则和算术表达式
教学重点:算术运算符和表达式
教学难点:类型转换
教学过程:
第一课时
l 知识回顾
l 新课讲授
1. 通过与数学中算术运算符的运算规则与运算符比较,引出C语言中的五种算术运算符
① + ② - ③ * ④ / ⑤ %
说明:(1)+、-、* 三种运算符的运算对象可以是整型和实型;% 运算符的运算对象必须为整型。
(2)两个整数相除,商也是整数,舍去小数;如果除法运算符 / 的任何一侧是实型数据,结果是实型。
如:5/3=1 3/1=0 5/3.0=1.666667 5.0/3=1.666667
例:
main()
{
clrscr();
printf("\n\n%d,%d\n",20/7,-20/7);
printf("%f,%f\n",20.0/7,-20.0/7);
}
根据结果加强对除法运算法则的认识
(3)%(取余)运算的结果求余运算的结果等于两数相除后的余数,符号与被除数的相同。
如:1%3=1 1%-3=1 -1%-3=-1 -1%3=-1
main()
{
clrscr();
printf("%d\n",100%3);
printf("%f,%f,%f \n",20.0/7,-20.0/7,-20.0/-7);
}
请学生上台来,根据求余运算的规则写出程序运行结果
2. 算术表达式
(1)定义
(2)优先级
a.加、减法运算符优先级相同;
b.乘、除、求余运算符优先级相同;
c.若同有加、减、乘、除、取余。则先做乘除求余运算,后做加减运算,有括号的先算括号里的。
例:
a+b
(a*2)/c
(x+r)*8-(a+b)/7
++i
sin(x)+si
展开阅读全文