授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
C语言概述
教 学
目 标
解C语言出现历史背景
正确理解C语言特点
熟悉简单C程序结构特点执行程
掌握运行C程序步骤方法
重 点
难 点
正确理解C语言特点
熟悉简单C程序结构特点执行程
教 学 资
源 准 备
教案实例
教 学 活 动 流 程 设 计
旁 注
第1章 C语言概述
§11 C语言出现历史背景
1 程序设计语言发展
(1) 机器语言:计算机直接识语言
(2) 汇编语言:助记符编写语言
(3) 高级语言:面象程序设计语言(VB程序设计语言JAVA程序设计语言)面程程序设计语言
2C语言出现历史背景
(1)时间1972 –1973
(2)点美国贝尔实验室
(3)目开发UNIX操作系统
§12 C语言特点
1 语言简洁紧凑灵活
2 运算符数类型丰富
3 程序设计结构化模块化
4 生成目标代码质量高
5 移植性
§13 简单C程序介绍
例11 第程序 HelloWorld
教 学 活 动 流 程 设 计
旁 注
#include
main()
{
printf(HelloWorld)
}
说明:
1#include
1 main函数C程序必须函数位置程序总main函数开始执行
2 printfC语言中输出函数双引号中字符串原样输出
3 分号C语言中语句结束标志
例12 求两数
#include
main()
{
int a bsum * Definate three variables*
a123
b456
suma+b
printf(Sum is dsum)
}
说明:
1d输出格式字符控制输出时数类型格式表示十进制整数
2* *注释
例13 求意两数
#include
main()
{ int absum
scanf(dd&a&b)
sumadd(ab)
printf(Sum dsum)
}
int add(int x int y)
{ int z
zx+y
return(z)
}
说明:
1scanfC语言中输入函数键盘读入两十进制整数分放入变量ab应
址单元中
2调函数add定义函数add函数返回值整型形参xy整型
3returnz值返回赋sum
C语言格式特点:
v 惯写字母写敏感
v 行号程序行概念
v 空行空格
结构特点:
Ø C程序函数构成
Ø C程序语句组成
Ø * *注释产生编译代码
教 学 活 动 流 程 设 计
旁 注
§ 14 C程序机步骤
1 C程序开发步骤
(1) 编辑源程序:扩展名c
(2) 编译目标程序:扩展名obj
(3) 连接成执行程序:扩展名exe
2VC++60集成开发环境方法
(1)启动VC++60建立工作区
(2)工作区中建立工程
(3)工程中建立文件(注意扩展名c)编辑执行程序
作业
1简述C程序特点
2编写简单C程序屏幕显示I Study C Programming
板
书
设
计
第章 C语言设计概述
1 C语言历史背景
2 C语言特点
3 简单C程序介绍
4 C程序组成
5 C程序机步骤
6 作业
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
算法1
教 学
目 标
算法表示形式流程图
C中数类型分类
常量变量
整型数表示方法存储形式分类
重 点
难 点
整型数存中存放形式
解决整数溢出问题
教 学 资
源 准 备
教案实例
教 学 活 动 流 程 设 计
旁 注
算法概念
1 算法解决问题采取方法步骤
2 程序算法+数结构
3 算法程序灵魂
简单算法举例
1求 1×2 ×3 ×4 ×5
§23算法特性
1)穷性
2)确定性
3)0输入
4)输出
5)效性
样表示算法
算法表示形式
1然语言表示
2流程图表示
3伪代码表示
4计算机语言表示
二流程图:传统流程图NS流程图
1传统流程图表示方法
2三种基结构传统流程图NS流程图
教 学 活 动 流 程 设 计
旁 注
数数类型
1数:程序加工处理象
2数类型:具某种性质数集合
二C中数类型
整型
字符型 单精度型
基类型 浮点型 双精度型
枚举型
数组
C中数类型 构造类型 结构体
体
指针类型
空类型
常量变量
常量
1定义:程序运行程中值保持变量
2常量类型
Ø 数值型 整型(123)实型(123)
Ø 字符型 字符型(a’)字符串型(a)
Ø 符号常量:#define PAI 31415926
二变量
1定义:程序运行程中值改变量
2变量存中存放形式:变量名字存中占定存储单元存放变量值
4变量定义格式(变量必须先定义)
类型说明符 变量名1变量名2………变量名n
例:int abc
3整型数
整型常量表示方法
1十进制:123
2八进制:0123(123)8
3十六进制:0x123(123)16
二 整型变量
1整型数存中存放形式
Ø 存中二进制补码形式存放占2字节存空间
Ø 数编码:原码反码补码
原码:数二进制编码
反码:正数等原码负数原码逐位变反(符号位1)
补码:正数等原码负数原码变反末位加1
2整型变量分类
基型:符号unsigned int符号int
短整型:符号unsigned short int符号short int
长整型:符号unsigned long int符号long int
教 学 活 动 流 程 设 计
旁 注
3例题(整型数溢出问题)
main( )
{ int ab
a32767
ba+1
printf(ddab)
}
作业
1简述C程序中常数类型
2P1535
板
书
设
计
算 法
7 算法基概念
8 C语言中数结构
9 常量
10 变量
11 变量种类
12 例题分析
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
浮点型数
教 学
目 标
浮点型数字符型数分类表示方法存储形式
变量赋值形式
种类数值型数间相互转换规方法
重 点
难 点
灵活掌握种数存储形式
教 学 资
源 准 备
教案实例
教 学 活 动 流 程 设 计
旁 注
浮点型常量表示方法
1十进制数:数字+数点
例:01231230456
2指数形式:123×102123e2123e4
求:E前必须数字E数字必须整数
规范化指数形式:数点左侧仅位非零数字
二浮点型变量
1浮点型数存中存放形式
指数形式存放占4字节图示
数符号
数
指数符号
指数
例:123e4
+
123
+
4
结:数位数越精度越高指数位数越范围越
2浮点型变量分类
单精度:float
双精度:double
长双精度:long double
3舍入误差:见书中例题
教 学 活 动 流 程 设 计
旁 注
字符型数
字符常量
1定义:单引号括起字符\开头字符序列
a \n (称转义字符)
2转义字符(见书中表)
例:\1011*80+1*8265表示字母A
二字符变量
1定义格式:char c1c2
2作:存放字符
4字符串常量
v 定义:双引号括起字符序列
v 存中存放形式:末尾加串结束标志\0(系统动加)
例:HELLO
H
E
L
L
O
\0
v 字符串常量赋字符变量
例:char c1 *字符变量*
c1hello *赋值错误*
变量赋初值
赋值形式
1定义变量时赋值
int a3
float f356
char c’a ’
2部分赋值
int abc5
3赋初值
int a3b3c3
教 学 活 动 流 程 设 计
旁 注
浮点型数字符型数分类表示方法存储形式
变量赋值形式
种类数值型数间相互转换规方法
作业
1P1712
2P183
板
书
设
计
浮点型数
13 浮点型常量表示方法
14 浮点型变量分类(单精度双精度长双精度)
15 常量
16 变量
17 字符常量
18 字符变量
19 例题分析
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
简单程序调试数学运算符
教 学
目 标
通机调试程序掌握种数类型表示方法存储形式
掌握种数间混合运算运算规
掌握种运算符方法
通程序调试正确理解种表达式运算结果
重 点
难 点
掌握种运算符方法
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
机求调试程序
1 输入运行程序
main()
{int ab
a32767 ba+1
printf(dd\nab)
}
2 输入运行程序
main()
{char c1c2
c1’a’ c2’b’
printf(cc\nc1c2)
}
1) 面printf语句改成printf(dd\nc1c2)结果?
2) char c1c2改成int c1c2结果?
3) c1’a’ c2’b’改成c1a c2b结果?
4) c1’a’ c2’b’改成c1300 c2400改成结果?
3输入运行程序
main()
{char c1’a’c2’b’c3’c’c4’\101’c5’\116’
printf(acbc\tcc\tabc\nc1c2c3)
printf(cc\nc4c5)
}
教 学 活 动 流 程 设 计
旁 注
4 输入运行程序
main()
{int ijmn
i8 j10
m++i nj++
printf(dddd\nijmn)
}
1) m++i nj++改成mi++ n++j结果?
2) m++i nj++删printf(dddd\nijmn)改printf(dddd\niji++j++)结果?
算术运算符算术表达式
算术运算符算术表达式
1基算术运算符
+(加法正值运算)1+2 +100
(减法负值运算)12 100
*(法运算符)1*2
(法运算符)12两整数相结果整数 ½0
(模取余运算符)求运算符两侧均整数531
2算术表达式运算符优先级结合性
1)算术表达式定义:算术运算符括号操作数连接起 符合C语法规式子
2)优先级结合性
* 高(左右结合)
+ 低(左右结合)
例题:X(67(12+Y)*A)判断计算先序?
3强制类型转换运算符
1)转换格式:(类型名)(表达式)
作:表达式转换成需格式
main()
{ float xint I
x36
I(int)x
printf(xfIdxI)
}
4增减运算符
1)++i i(先i值加1减1i)
2)i++i(先ii加1减1)
3)++ 变量常量表达式
例:5++ (3*8)++错误
4)++ 结合方右左
I++(I++)
I3printf(ddII++)
教 学 活 动 流 程 设 计
旁 注
赋值运算符赋值表达式
赋值运算符
1运算符:等号
2数学运算区
• 数学运算符判断等号两侧数值否相等
• 赋值运算符等号右侧数值赋左侧
3类型转换
1)实数赋整数舍数部分
2) 整数赋单双精度变量时数值变浮点形式存储变量中
3)double赋float时截取前7位效数字
4)字符型赋整型时符号时高8位补零符号时高8位补1
5)int short long赋char时低8位赋char
4复合赋值运算符
定义:赋值运算符前加运算符
a+b等价aa+b
xy+3等价xx(y+3)
5赋值表达式
格式:<变量> <赋值运算符> <表达式>
作业
1机调试课堂学实例
2写出机调试程序时出现错误解决方法
3P1945
板
书
设
计
程序调试算术关系运算符
20 机调试课件中程序
21 机调试例1例2
22 算术运算符算术表达式
23 关系运算符关系表达式
24 理解赋值号数学中等号区
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
运算符表达式详解
教 学
目 标
运算符类
表达式种类
算术运算符
增减运算
重 点
难 点
算术运算符
增减运算
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
运算符表达式详解
问题日常生活中会进行种样数运算C语言中表示运算呢?
C语言运算符非常丰富控制语句输入输出语句外基操作作运算符处理运算符方法非常灵活C语言特点C语言运算符般分类:
1算术运算符 + *
2关系运算符 > > < <
3逻辑运算符 & ||
4位运算符 << >> ~ | ^ &
5赋值运算符 扩展赋值运算符
6条件运算符
7逗号运算符
8指针运算符 * &
9求字节数运算符 sizeof
10类型转换运算符 (类型)
教 学 活 动 流 程 设 计
旁 注
11分量运算符 . >
12标运算符 [ ]
13 函数调运算符 ( )
节重点介绍算术运算符赋值运算符逗号运算符运算符章中陆续介绍详细运算符列表见附录
算术运算符算术表达式
1算术运算符
C语言中基算术运算符5种:
+ (加) (减) * () () (取模称求余运算符)
C语言规定:
(1) (取模运算符)仅整型变量整型常量运算:73值1
(2) (运算符)两整型数相时结果整数:73值2舍数部分相整操作
2算术表达式
(1) 算术表达式定义
算术运算符括号操作象组成符合C语言语法规表达式称算术表达式:a+bcd*(ac)
(2) 优先级
表达式中运算符混合起计算先次序先算括号根相应运算符优先级高优先取模运算符优先级高加减运算符优先级先取模加减算术运算符优先级运算符中较高仅次括号单目运算符类型转换运算符求字节数运算符
(3) 结合方
运算象两侧运算符优先级时应遵循优先级高先处理规运算象两侧运算符优先级相时应遵循运算符结合方算术运算符结合方左右
3增减运算符
C语言中增1运算写++运算减1运算写运算++运算C语言中两较独特单目运算符放操作数前放操作数操作象变量常量表达式增减运算符作操作象值增加1减1然增减运算符前缀运算缀运算意义
i++i * 表示i值i值加(减)1 *
++ii * 表示i值前i值加(减)1 *
例:设i原值5执行面赋值语句:
ji++ *先i值赋ji增1赋值语句执行完i值6j
教 学 活 动 流 程 设 计
旁 注
值5 *
j++i *先i值增1赋j赋值语句执行完i值6j值6 *
例输出面程序中i值
* EX23C *
main()
{
int i5j
j++i+i++*前增1i变成6进行加法运算实际6+6 *
printf(d d\nij)
j(++i)+(++i)+(i++)
printf(d d\nij)
printf(d d\ni+jj++)
}
运行结果:
7 12
10 27
38 27
作业:P27123 P293
板
书
设
计
运算符表达式详解
25 运算符种类
26 表达式种类
27 常算术运算符
28 增减运算
29 题分析
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
赋值运算符逗号运算符
教 学
目 标
赋值运算
逗号表达式
复合运算
重 点
难 点
赋值运算符数学中等号区
逗号表达式
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
赋值运算
1赋值运算符
C语言中赋值运算符作赋值运算符右边表达式常量值赋左边变量例:
a5 * 表示常量5赋变量a *
xa+5 * 表示表达式a+5值赋变量x *
注意果赋值运算符两侧类型致赋值时进行类型转换节赋值转换中家作说明
2复合赋值运算符
C语言允许赋值运算符前加运算符构成复合赋值运算符双目运算符赋值运算符起组合成复合赋值运算符C语言中复合赋值运算符:
+*<<>>&^|
例:
a+5 等价 aa+5
教 学 活 动 流 程 设 计
旁 注
a*b+5 等价 aa*(b+5)
a5 等价 aa8
C语言中采种复合运算符简化程序程序精练二提高编译效率产生质量较高目标代码
3赋值表达式
(1) 赋值表达式般形式:
(变量) (赋值运算符) (表达式)
功赋值运算符右边表达式值赋赋值符号左边变量整赋值表达式值赋值变量值例:
b4 * 表示4赋值变量b整赋值表达式值4 *
赋值表达式包含复合赋值运算符例:
a+aa*a
设a初值5求解步骤:
① 先计算表达式aa*a值相aaa*a55*5 20
② 计算a+ 20值相aa+(20) 2020 40
赋值表达式中表达式赋值表达式例:
a ( b 5 )
括号b5表示赋值表达式值5整赋值表达式相b5ab两赋值表达式组合成a值变量b值5赋值表达式值变量a值5
(2) 优先级
赋值运算符优先级较低运算符中优先级仅高逗号运算符例:
ab+6 * 赋值运算符优先级低算术运算符先算b+6做赋值运算*
(3) 结合性
赋值表达式右左序结合例:
a 5 + ( b 6 )
先做表达式b6变量b值6表达式值6做a5+6赋值运算符优先级低算术运算符先算5+6结果11做a11赋值运算
二逗号运算符逗号表达式
1逗号运算符
C语言提供种特殊运算符—逗号运算符逗号运算符逗号运算符两表达式连接起:
2+32+5
2逗号表达式
(1) 逗号表达式逗号运算符两表达式连接起形成表达式
般形式:
教 学 活 动 流 程 设 计
旁 注
(表达式1)(表达式2)
逗号表达式求值程:先求表达式1值求表达式2值表达式2值整逗号表达式值面表达式先求2+3值5求2+5值7整逗号表达式值表达式2+5值7
例分析面程序运行结果
* EX24C *
main()
{
int y3x3z1
printf(d d\n(++xy++)z+2)
}
运行结果:
作业
1 P295678
2 机调试程序运行结果
板
书
设
计
赋值运算符逗号表达式
30 赋值运算符
31 赋值运算数学中等号区
32 逗号表达式
33 复合运算
34 题讲解
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
数类型转换
教 学
目 标
类型动转换
赋值转换
强制类型转换
重 点
难 点
类型动转换规
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
数类型转换
C语言中种类型数混合运算字符型数整型数间通类型数进行混合运算时需进行类型转换类型数转换成种类型然进行计算类型转换三种方式:类型动转换赋值转换强制类型转换
类型动转换
类型数进行混合运算例:
10+'a'+25*'b'
进行混合运算时类型数首先转换成类型然进行运算
动转换规:
(1) 单精度浮点型数(float)运算时动转换成双精度浮点型数(double)
(2) 字符型数(char)短整型数(short)运算时动转换成整型数(int)
(3) 整型数(int)符号型数(unsigned)混合运算时整型数转换成符号型数
教 学 活 动 流 程 设 计
旁 注
(4) 整型数(int)符号型数(unsigned)长整型数(long)混合运算时转换成长整型数
(5) 整型数(int)符号型数(unsigned)长整型数(long)浮点型数混合运算时转换成浮点型数
次方式类推转换规图22:
高 double float
long
unsigned
低 int charshort
图22 动类型转换规
总动类型转换时总精度降低原低级高级进行转换
例面例子中出表达式10+'a'+25*'b'运算时先字符类型数'a''b'转换成整型左右进行运算遇浮点型数时整型数动转换浮点型数表达式值浮点型数浮点型数运算规进行运算
例:
设变量定义已赋确定值
char w int x float y double z
表达式:w+x+zy值数类型double
说明:表达式中yfloat类型数数动转换成浮点类型浮点型数运算规进行运算
二 赋值转换
果赋值运算符两侧类型致(数值型字符型)时赋值程中会进行类型转换转换基原:
(1) 整型数赋浮点型变量时数值发生变化效位增加:
float f
f4 * 存中变量f值4000000 *
(2) 单双精度浮点型数整型变量混合运算时浮点数数部分舍弃:
int x
x435 * 存中变量x值4 *
(3) 字符型数赋整型变量时字符型数运算时根ASCII码值动转化整型数字符型数ASCII码值存储变量中:
int x
x'a' * 存中变量x值65 *
(4) 符号整型数赋长整型数进行符号扩展符号整型数赋长整型变量时需高位补0
教 学 活 动 流 程 设 计
旁 注
三 强制类型转换
利强制类型转换运算符表达式强制转换成需类型例:
(int) a * 表示变量a类型强制转换整型 *
(float) (a+b) * 表示表达式a+b结果类型强制转换浮点型 *
强制类型转换般形式:
(强制类型名)(表达式)
作业
P561234
P586
板
书
设
计
数转换
35 动类型转换
36 赋值转换
37 强制类型转换
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
题讲解第二章知识总结
教 学
目 标
通题讲解学生深入理解章学容
章学知识总结
重 点
难 点
理解题
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
题讲解第二章知识总结
(1) 表达式应该括号括起例:
(int)(a+b) * 表示表达式a+b结果类型强制转换成int型 *
(int)a+b * 表示变量a类型强制转换成int型进行运算 *
(2) 强制类型转换需类型中间变量原变量类型没发生变化
例1分析面程序运行结果
* EX25C *
main()
{
int a
float b25
a(int)b
printf(adbfab)
}
运行结果:
a2 b2500000
教 学 活 动 流 程 设 计
旁 注
例2分析面程序运行结果
* EX26C *
main()
{
int x y
x50
y(xx5 x5)
printf(ydy)
}
运行结果:
Y9
分析x初始值50减5变454559赋y
例3写出面程序运行结果
* EX27C *
main()
{
int i2j3knm
ki+jprintf(dk)
kk+1printf(dk)
nk*3printf(dn)
mnjprintf(dm)
mmiprintf(dm)
nkjprintf(dn)
}
运行结果:
5618022
分析整型数进行什样算术运算出结果整型数
例4分析面程序运行结果
* EX28C *
main( )
{
int mn k
m5 n10
k(m)+(n)
printf(mdndkd\nmnk)
m5 n10
k(m)+(n)
教 学 活 动 流 程 设 计
旁 注
printf(mdndkd\nmnk)
}
运行结果:
m4 n9 k13
m4 n9 k15
章结
章介绍C语言中关数数计算基概念规重点讲解方面容:
(1)C语言数类型四类:基类型构造类型指针类型空类型
(2)基数类型包括整型实型字符型三种表示方法数取值范围数值效位特点
作业
机调试次课讲题
板
书
设
计
题讲解章知识总结
38 机调试课件中程序
39 机调试例1例4
3深入理解题中讲知识点
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
C语言基语句
教 学
目 标
表达式语句
函数语句
控制语句
复合语句
空语句
重 点
难 点
种语句结构特点
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
简单程序设计
C语言中程序结构般分序结构选择结构循环结构章节介绍:序程序结构赋值语句基输入输出函数格式控制符等
序结构简单基程序结构特点语句书写序次执行序结构简单语句复合语句简单输入输出函数构成语句组成printfputchar输出函数scanfgetchar输入函数相点点
C语言语句
C语言中语句作计算机系统发出操作命令完成定操作务
C语句分5种类型面进行简单介绍
教 学 活 动 流 程 设 计
旁 注
1表达式语句
表达式组成语句称表达式语句作计算表达式值改变变量值般形式:
表达式
表达式末尾加分号变成表达式语句典型例子赋值表达式构成赋值语句:
x5
赋值表达式
x5
赋值语句注意:分号C语言中语句标志语句必须分号没分号定语句表达式构成语句C语言重特色
2函数调语句
函数调加分号构成函数调语句作完成特定功般形式:
函数名(参数列表)
例:
printf(goodby\n) *调库函数输出字符串*
3控制语句
控制语句完成定控制功实现程序种结构方式C语言9种控制语句分三类:
(1) 条件判断语句:
if语句switch语句
(2) 转语句:
break语句continue语句goto语句return语句
(3) 循环语句:
for语句while语句dowhile语句
4复合语句
复合语句花括号干语句组合起称分程序语法相条语句例面复合语句:
{ i++
printf(d\ni)
}
注意:复合语句中语句分号省略写
5空语句
分号语句称空语句般形式:
空语句什执行语句常循环语句中循环体表示循环体什做例:
while (getchar()'\n')
*空语句*
教 学 活 动 流 程 设 计
旁 注
该循环功:直键盘键入回车退出循环里循环体空语句
作业
1 试列出C语言中常见语句?
2 P69258
板
书
设
计
C程序中种语句
40 表达式语句
41 函数语句
42 复合语句
43 空语句
44 控制语句
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
程序结构
教 学
目 标
认识程序设计三种基结构
序结构
重 点
难 点
序结构
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
程序结构
程序结构简介
C语言中程序结构般分序结构选择结构循环结构复杂程序三种基结构组成
引例简单程序结构
main()
{
int xyz *定义三整型变量C语言中声明部分*
x123y234 *语句C语言中语句执行部分*
zxy
printf(xyd\nz)
}
该程序作求两整数xy差z第3行定义变量xyz整型(int)变量第4行两赋值语句xy值分123234第5行赋值语句z值等xy第6行进行输出输出变量z值该程序输出信息:
xy111
教 学 活 动 流 程 设 计
旁 注
引例函数构成程序结构
main() *函数*
{
int xyz *声明部分定义变量类型*
scanf(dd&x&y) *通输入函数变量xy赋值*
zmin(xy) *调min函数函数值赋变量z*
printf(mind\nz) *输出变量z值*
}
int min(int aint b) *定义min函数函数值整型虚参ab整型*
{
int c *函数min中声明部分*
if(a>b) cb
else ca
return ( c ) *变量c值通返回语句带回调处*
}
程序包含两函数:函数main调函数minmin函数作ab中较数赋变量c通返回语句returnc值返回函数main程序运行时先scanf()函数键盘读取两整型数键盘输入27↙(↙表示回车键)时x赋值2y赋值7然执行第5语句min函数进行调调结果较数2赋变量c通return语句函数值赋变量z第6行语句输出z值2程序输出信息:
min2
面两例子出:C程序干源程序文件组成结构图31示
二 序结构
A
B
序结构程序设计中简单基结构特点程序运行时语句书写次序次执行结构图32示
图中执行完A框指定操作必接着执行B框指定操作序结构通常简单语句复合语句输入输出函数语句组成
例分析面程序结构
* EX31C *
#include
main()
{
int abc
scanf(dd&a&b)
教 学 活 动 流 程 设 计
旁 注
ca+b
预处理语句
变量abc声明
输入变量ab值
赋值语句ca+b
输出变量c值
printf(\ncd\nc)
}
述程序显然序结构语句执行次序
图示
例31出序结构程序框架:
#开头编译预处理命令行
main()
{
局部变量声明语句
执行语句序列
}
*空语句*
作业
1 程序设计般三种基结构
2 P6234
板
书
设
计
程序设计基结构
45 程序设计结构
46 序结构
例题讲解
47 选择结构
48 循环结构
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
赋值语句printf语句
教 学
目 标
理解赋值语句
掌握printf语句基结构
掌握printf语句程序中基法
重 点
难 点
赋值语句
Printf语句基法
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
赋值语句
赋值语句应十分普遍简单语句赋值语句般形式:
变量 表达式
赋值语句功赋值号右边表达式值计算出赋赋值号左边变量:
a3+6
该语句作表达式3+6等9值赋变量a
前面已学赋值表达式注意区分两者点:
(1) 赋值表达式分号赋值语句定分号质区
(2) 赋值表达式中赋值号连赋值语句中赋值号连:
abc1
赋值表达式含义变量abc值1
abc1
赋值语句左边第赋值语句中赋值号含义该赋值号右边表达式bc1值1赋变量a千万认三赋值语句中赋值号
教 学 活 动 流 程 设 计
旁 注
(3) 赋值表达式包括表达式中:
if((xy)<0) ax
中xy赋值表达式条件判断序:先y值赋x然判断表达式值(x值)否00执行ax显然样写合法果写成:
if((xy)<0) ax
正确if条件中包含赋值语句
二数输入printf语句
stdiohstandard input & output缩写标准输入输出设备作输入输出象包括putchar(输出字符)getchar(输入字符)printf(格式输出)scanf(格式输入)puts(输出字符串)gets(输入字符串)等考虑printfscanf频繁系统允许两函数时#include命令章介绍前4基输入输出函数
341 格式化输出函数printf
printf函数功系统指定设备输出干意类型数
1printf函数调形式
printf函数标准库函数调般形式:
printf(格式控制字符串输出列表)
括号里格式控制字符串输出列表实际函数参数中:
(1) 格式控制字符串双撇号括起字符串包括两信息:
① 格式说明格式字符组成dcf等作输出数转化成指定格式输出格式说明字符开始
② 般字符原样输出字符显示时起提示作例题31中
printf(\ncd\nc)* 双撇号换行符字符c*
(2) 输出列表需输出变量函数表达式
2格式说明符
类型数格式说明符格式说明符开头面干写英文字母说明数输出类型长度位数等Turbo C中格式字符串般形式:
[标志][输出数宽度m][精度n][数长度] 类型
说明
[ ]:表示选项
[标志]:字符构成表示数值输出时某种格式常字符-+0具体含义见表31
教 学 活 动 流 程 设 计
旁 注
[输出数宽度m]:m十进制整数表示十进制输出少位数需输出数长度超该数时该选项起作数实际位数进行输出需输出数长度该数时该数左边补空格0
[精度n]:加十进制整数n含义:果输出数值该数表示数位数实际位数定义精度截超部分果输出字符表示输出字符数
[数长度]:字符两种形式:hlh表示短整型量输出l表示长整型量输出
类型:格式说明符中必须表示输出列表里输出数类型表32出常类型格式符含义
作业:
P69125
P65 例2例3请机时调试程序
板
书
设
计
赋值语句printf语句
49 赋值语句
50 Printf语句基结构
51 Printf 语句中参数意义
52 例题讲解
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
Printf语句例题讲解
教 学
目 标
Printf语句
例题讲解
重 点
难 点
通例题讲解学生进步认识printf语句
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
例题1
#include
main()
{
int abc
a10b20c30
printf(ad ao a+d\naaa)
printf(bd bx b5d\nbbb)
printf(cd c5d c+d\nccc)
}
程序运行结果:
a10 a12 a+10
b30 c 30 c30
教 学 活 动 流 程 设 计
旁 注
例2分析面程序运行结果
* EX33C *
#include
main()
{
int abc
a123b234
ca+b
printf(\na+bd+ddabc)
printf(\na+bhd+hdhdabc) *hd格式输出*
printf(\na+b2d+2d5dabc) *md格式输出*
printf(\na+b02d+02d05dabc) *0md格式输出*
}
程序运行结果:
a+b123+234357
a+b123+234357
a+b123+234 357
a+b123+23400357
什运行结果中第三行第四行完全样?
例3分析面程序运行结果
* EX34C *
#include
main()
{
float xyz
x123234y0000345z98567
printf(x4f x2f x+e\nxxx) *nf+e格式输出*
printf(yf y84f y103e\nyyy) *fmnf mne格式输出*
printf(z+f z+e z+g\nzzz) *注意g格式*
}
程序运行结果:
x1232340 x12323 x+123234e+02
y0000345 y 00003 y 345e04
z98567001 z985670e+01 z98567
注意:变量xyz均单精度实型变量f格式输出7位效数字运行结果中第三行第z值中数点第六位数值效
Turbo C中字符字符串表示:单字符单撇号括起字符串双撇号括起单字符双撇号括起表示字符串
教 学 活 动 流 程 设 计
旁 注
printf函数时注意问题:
(1) 格式控制字符串中包含前面讲转义字符'\n''\t''\r''\b''\377'等
(2) 面格式符X(表示输出十六进制数写字母输出)E(表示输出指数e写字母E输出)G(表示选指数形式输出写字母E输出)外余必须写字母d写成D
(3) 想输出字符格式字符串中连续两表示:
printf(f104)
输出:0250000
作业
P7834
P795 (1)(3)
板
书
设
计
Printf语句题讲解
53 例1
54 例2
55 例3
56 例4
57 知识点总结
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
Scanf语句
教 学
目 标
认识程序设计输入输出语句
Scanf语句基结构
Scanf语句中参数意义
Scanf语句进行简单输入程序设计
重 点
难 点
Scanf语句基结构
Scanf语句中参数意义
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
scanf函数功键盘数户指定格式输入赋指定变量
1scanf函数调形式
scanf函数标准库函数调般形式:
scanf(格式控制字符串址列表)
中格式控制字符串定义方法printf函数相显示非格式字符串显示提示字符串址列表赋值变量址址址运算符&变量名组成&x表示变量x址&取址运算符作求变量址
引例scanf函数
a
25
b
34
ab址示意图
#include
main()
{
int ab
scanf(dd&a&b)
printf(\nadbd\nab)
}
教 学 活 动 流 程 设 计
旁 注
运行时方式输入ab值:
2534↙ (输入ab值)
a25b34 (输出ab值)
时scanf函数作:ab存址ab值存进图34示变量ab址程序编译连接阶段分配
dd表示十进制整数形式输入数输入时数间必须逗号分隔空格分隔回车键tab(跳格)键正确scanf函数改写成:
scanf(dd&a&b)
输入时数间逗号分隔必须空格分隔回车键tab键述种方式输入均合法:
① 25□□34↙ (数间空格作分隔□代表空格)
② 25↙ (数间回车键作分隔)
34↙
2格式说明符
printf函数中格式说明符相似开始面格式符中间干附加字符格式字符串般形式:
[*][输入数宽度m][长度] 类型
说明
[ ]:表示选项
*:表示输入数值赋相应变量跳该数读
[输入数宽度m]:m十进制正整数表示m宽度输入数
[长度]:长度格式符lhl表示输入长整型数双精度实型数h表示输入短整型数
类型:格式说明符中必须格式符意义printf函数基相
例分析面程序
* EX39C *
#include
main()
{
char str1str2
scanf(cc&str1&str2) *字符变量输入数*
printf(\nc c\nstr1str2) *输出字符变量值*
}
程序运行时输入abc↙
运行结果:
abc
a b
教 学 活 动 流 程 设 计
旁 注
scanf函数时注意问题:
(1) scanf函数中格式控制字符串面应该变量址应变量名C语言高级语言方例语句scanf(dd&a&b) 写成scanf(ddab)初学者容易出错方
(2) 输入数时规定数精度例scanf(82f &a)合法
(3) 格式控制字符串中格式说明符外字符输入数时应位置应输入字符相字符例
scanf (adbd&a&b)
输入时应输入:
a12b2↙
输入形式正确
(4) 输入数时遇情况认该数输入结束:
① 指定宽度结束
② 遇空格回车键Tab键
③ 遇非法输入
作业:1P7927
2 编程:键盘输入意三整数试输出三数积
板
书
设
计
Scanf语句分析
58 什程序输入语句
59 Scanf语句基结构
60 Scanf语句中参数意义
61 scanf语句时应注意问题
62 例题分析
63 知识点总结
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
if语句
教 学
目 标
1.掌握条件选择语句if三种形式
2.掌握三种if语句执行程
3.会运if 语句三种形式解决实际问题
重 点
难 点
if 语句三种形式
三种if语句执行程理解
三种if语句运
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
复提问
运算符优先级表达式种类
讲授新课
if语句(板书)
.if语句第种形式(板书)
1.语句格式(板书)
if (表达式) 语句(板书)
中表达式般逻辑表达关系表达式意数类型例
①if (a>b&&a>c) printf(d\n a)
中表达式逻辑表达式
②if ('a ') printf(d\n 'a')
中表达式字符表达式
③if (38) printf(d\n 'a')
中表达式实型表达式
2.语句执行流程(板书)
系统首先判断表达式值果非0(真)执行表达式语句然执行if语句续语句果0(假)执行表达式语句直接执行if语句续语句
教 学 活 动 流 程 设 计
旁 注
3.程序举例
例题51编写程序键盘输入两整数分送变量ab较ab果a>b输出字符串yes否什输出
分析根程序设计三步曲解决问题流程图图示
a>b
printf(yes)
真
假
定义ab赋值
程序结束
(板书)
源程序:
main( )
{
int ab
scanf(dd&a&b)
if (a>b) printf(yes)
}
二. if语句第二种形式(板书)
1.语句格式(板书)
if (表达式) 语句1
else 语句2
中表达式第种形式样例
if (a>b) printf(d\n a)
else printf(d\n b)
2.语句执行流程(板书)
系统首先判断表达式值果非0(真)执行语句1然执行if语句续语句果0(假)语句2然执行if语句续语句
3.程序举例
例题52编写程序键盘输入两整数分送变量ab较ab果a>b输出字符串yes否输出字符串no
教 学 活 动 流 程 设 计
旁 注
三.if语句第三种形式(板书)
if语句第三种形式第二种形式拓展果第二种形式中语句1语句2者两条if语句(if语句嵌套)构成if语句第三种形式
简化学里讨两种常模式
1.模式()(板书)
(1)基形式
if (表达式1) 语句1
else if (表达式2) 语句2
else 语句3
第二种形式中语句2换成条if语句
(2)执行流程图示(板书)
四.if语句应举例
[课堂练]
例题55if语句编写较ab两整数者赋x程序
例题56 if语句编写较ab两整数者赋x者赋y程序
[课堂结]
if语句编程解决两路三路分支问题果问题路分支if语句编程程序显乱
板
书
设
计
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
switch语句
教 学
目 标
1.掌握switch语句格式
2.掌握switch语句执行程
3.会运switch语句解决实际问题
重 点
难 点
switch语句格式switch语句执行程
switch语句运
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
复提问
三种if语句格式课题
讲授新课
switch语句(板书)
.般格式执行流程(板书)
1.般形式(板书)
switch语句般形式:
switch(表达式)
{ case 常量表达式1:语句部分1
case 常量表达式2:语句部分2
·
·
·
case 常量表达式n:语句部分n
default:语句部分n+1
}
2.执行流程(板书)
switch语句执行程:首先switch语句括号中表达式进行计算值然程序值次case常量表达式进行较果找相匹配常量表达式入口程序转移入口第条语句处序执行没相匹配常量表达式时果switch语句中存default:程序转处
教 学 活 动 流 程 设 计
旁 注
执行果没default:程序跳出switch结构转执行switch结构面语句
switch语句中default部分选
3.程序举例
例题57 写出程序执行结果
main( )
{
int i7
switch(i)
{case 6ii+1
case 7ii+1
case 8ii+1
case 9ii+1
defaultii+10
}
printf(d\ni)
}
分析程序首先switch语句括号中表达式(i)进行计算值(7)然程序值(7)次case常量表达(6789)式进行较找相匹配常量表达式(7)入口程序转移入口第条语句处(ii+1)序执行面赋值语句执行遍i加三次1次10i值20
果i找常量表达式7入口执行7:语句部分执行8:语句应7:面语句部分加条中止语句break 例述程序果改写成形式:
main( )
{
int i7
switch(i)
{case 6ii+1break
case 7ii+1break
case 8ii+1break
case 9ii+1break
defaultii+10
}
printf(d\ni)
}
程序执行结果:
i8
说程序执行完7:语句部分直接跳出switch结构
[课堂练]
教 学 活 动 流 程 设 计
旁 注
例题59 编写程序印某年某月天数
分析(1)知道年中月份天数相特2月份该年否闰年关采switch结构(2)某年(y)闰年应满足两条件:①该年份4整100整(y4 0&&y1000)②该年份400整(y400 0)
说明①switch面表达式整型表达式字符表达式枚举型数
②case常量表达式值相
③case组执行语句例题59中示
[课堂结]
switch语句分支选择语句开关语句解决路选择问题
[布置作业]
板
书
设
计
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
for语句
教 学
目 标
1.掌握for语句般格式
2.掌握for语句执行程
3.会运for语句解决实际问题
重 点
难 点
for语句般格式for语句执行程
运for语句解决实际问题
教 学 资
源 准 备
启发式讲练结合
教 学 活 动 流 程 设 计
旁 注
复提问
switch语句执行程分析课题
讲授新课
for语句(板书)
. 般形式执行流程(板书)
1.般形式(板书)
for语句般形式:
for (表达式1表达式2表达式3) 语句
for (i1 i<5 i++) ss+i
表达式1 表达式2 表达式3 语句
例子
2.执行流程(板书)
3.点说明
①for语句中表达式1循环变量赋初值循环变量关
教 学 活 动 流 程 设 计
旁 注
②表达式1表达式3简单表达式逗号表达式:
for (m0n50 m
for (m0 (cgetchar()))'\n' m+c) purchar(c)
④for语句般形式中表达式1省略时应for语句前循环变量赋初值分号省略
⑤表达式2省略时判断循环条件循环限制进行非循环体跳出语句break
⑥表达式3般修改循环变量值循环趋结束果省略表达式3应外设法保证循环正常结束
for (i1 i<5 ) { ss+i i++ }
该例题中循环体两条语句应括号括起构成复合语句
⑦表达式1表达式3时省略
int i1
·
·
·
for ( i<5 ) { ss+i i++ }
⑧三表达式省略分号省略:
for ( ) 语句
时便构成死循环非循环体中跳出语句break
二. for单重循环程序举例
例题循环控制分行输出count100count200count300
[课堂练]
三. 双重循环
例题 双重循环印出九九法表
main( )
{
int ij
for (i1count<9i++)
{for (j1j
printf(\n) *印完行输出换行*
}
}
for语句构成双重循环然面讲while循环do—while循环构成双重循环三循环语句身构成嵌套互相嵌套
[课堂练]
教 学 活 动 流 程 设 计
旁 注
例题 例题双重循环改写程序
main( )
{
int ni
float e10p10
for (n1count<10n++)
{
for (i1i
ee+10p
}
printf(ef\ne)
}
[课堂结]
循环语句算法中应普遍重语句C语言提供三种循环语句节讲解for语句已知循环次数循环
[布置作业]
板
书
设
计
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
while语句
教 学
目 标
1.掌握while语句般格式
2.掌握while语句执行程
3.会运while语句解决实际问题
重 点
难 点
while语句般格式while语句执行程
运while语句解决实际问题
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
复提问
for语句执行程分析程序执行程
讲授新课
while语句(板书)
. 般形式执行流程(板书)
1.般形式(板书)
whiel语句般格式:
while(表达式) 语句
中表达式循环否继续重复条件语句部分(循环体)单语句复合语句例子
while(i<5) ss+i 中表达式i<5语句ss+i
2.执行流程(板书)
首先计算表达式值值非0执行循环体重新计算表达式表达式值变0止然该语句条语句继续执行
二.程序举例
例题while循环改写程序
程序1:
main( )
{
int count100
while(count<300)
{ printf(countd\ncount)
countcount+100
}
}
教 学 活 动 流 程 设 计
旁 注
程序2:
main( )
{int count1
while(count<3)
printf(countd\ncount++*100)
}
说明①循环体复合语句需括号括起然while作范围第分号for语句规定样
②循环体应循环趋结束语句程序1中countcount+100程序2中count++起作
③while语句for语句代for语句般形式改写形式:
表达式1
while(表达式2)
{语句
表达式3
}
[课堂练]
例题 编程求1+2+…+10值
main( )
{
int sumi
sum0 *变量sum作累加器必须置初值否结果准确*
i1
while(i<10)
{ sumsum+i
i++
}
printf(sumd\nsum)
}
例题 华氏温度f摄氏温度c关系:c509*(f32)果已知f102050…320C程序求出华氏温度应摄氏温度
main( )
{
int fc
f10
while(f<320)
{ c(5090)*(f32)
printf(40f 61f\nfc)
i++
}
}
教 学 活 动 流 程 设 计
旁 注
例题 键盘次输入学生成绩进行计数累加输入1时停止输入输出学生数量总成绩均成绩
分析终止标志问题1作输入学生成绩结束标志n学生计数变量s总成绩累加变量x学生成绩暂存变量
main( )
{
int n0
float s0x
scanf(f&x)
while(x1)
{ nn+1
s+x
scanf(f&x)
}
printf(nd s62f pj62f\nnssn)
}
[课堂结]
while语句种称型循环结构注意for语句执行程区
[布置作业]
板
书
设
计
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
dowhile语句
教 学
目 标
1.掌握dowhile语句般格式
2.掌握dowhile语句执行程
3.会运dowhile语句解决实际问题
重 点
难 点
dowhile语句般格式dowhile语句执行程
运dowhile语句解决实际问题
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
复提问
for语句执行程while执行程分析程序执行结果
讲授新课
dowhile语句(板书)
. 般形式执行流程(板书)
1.般形式(板书)
do—while语句般形式:
do
{语句
}while(表达式)
例子
do { ss+i } while(i<5)
中语句ss+i表达式i<5
2.执行流程(板书)
do—while语句执行程:
①执行循环体中语句开始第次循环周期
②计算括号表达式(循环条件)果表达式非0(真)重新返回第①步开始循环周期果表达式0(假)转第③步
③结束do—while循环执行该循环续语句
教 学 活 动 流 程 设 计
旁 注
例题 令i初值0测试i否5真显示i值然i值递增1进行测试直i<5成立显示:end
main( )
{
int i0
do
{printf(d\ni++)
}while(i<5)
printf(end)
}
二. 应举例(板书)
[课堂练]
例题 键盘输入两非0整数求
main( )
{
int xyz
do {
scanf(dd&x&y)
zx+y
printf(zd\nz)
}
while(x0&&y0)
}
ss+i
i<5
真
假
do—while执行流程图图示例子流程图图
语句
表达式
真
假
教 学 活 动 流 程 设 计
旁 注
例题 编写求100(含100)偶数程序
main( )
{
int x0y0
do {
++x ++x
yy+x
}
while(x<100)
printf(yd\ny)
}
拓展练:分三种循环语句完成程序编写较异
[课堂结]
do—while语句种称直型循环结构
般情况while语句do—while语句已知条件循环
[布置作业]
板
书
设
计
教
学
记
XXX中等职业学校备课纸
授课年级
年级
授课班级
高技89
授课日期
授课节次
教学课题
breakcontinuegoto语句
教 学
目 标
1.掌握breakcontinue法
2.解goto语句意义
重 点
难 点
breakcontinue法
进行较复杂程序设计
教 学 资
源 准 备
教案实例机操作
教 学 活 动 流 程 设 计
旁 注
复提问
三种循环结构较
讲授新课
breakcontinuegoto语句(板书)
. break语句(板书)
引入:学switch语句时已介绍break语句程序跳出switch结构实际break语句循环结构中程序提前跳出循环结束循环转移循环面语句种顶部(whilefor)底部(dowhile)通判断控制循环出口做法非常方便
例题(板书)
main( )
{
int i
for(i1i<6i++)
if (i3) break
printf(now i is d\ni)
}
分析例中然for循环语句规定i15循环循环体中break语句实际循环i3时跳出循环通常break语句总if语句联起满足定条件跳出循环果重循环跳出循环体外层循环体中
教 学 活 动 流 程 设 计
旁 注
二. continue语句(板书)
continue语句般形式:(板书)
continue
continue语句whilefordowhile语句循环体中作:流程跳循环体中该语句语句提前结束次循环程序转进入循环周期
例题523
main( )
{
int i
for(i1i<6i++)
{ if (i3)continue
printf(in the continue i is d\ni)
}
}
分析continue语句break语句区:前者介结束次循环结束整循环程序转进入次循环周期者结束前整循环循环体第条语句继续执行
[课堂练]
例题524 判断数否素数
分析谓素数称质数1身带外然数整例3素数4素数测试数N否素数定义出发应该2N1间数进行测试(数学已证明测样减少循环次数)
main( )
{
int numip
printf(请输入然数:)
scanf(d&num)
for(p1i2i*i
{p0 break}
if (p1)
printf(d is sushu\nnum)
else
printf(d is not sushu\nnum)
}
}
教 学 活 动 流 程 设 计
旁 注
三. goto语句 (板书)
结构化程序设计方法张限制goto语句会导致程序读性差两种情况:①if语句起构成循环C语言提供三循环语句已足够②循环体中跳循环体外项工作break语句完成程序设计时少goto语句
[课堂结]
break语句switch结构中作跳出switch结构break语句循环体中跳出循环continue语句循环体中结束次循环goto语句结构化程序设计中
[布置作业]
板
书
设
计
教
学
记
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档