(共27张PPT)
板书设计
第四课
程序设计基础
第五课
顺序结构
主题1
数据类型、常量和变量、输入输出函数
罗海燕
省课程教学指导意见
国内外青少年编程语言
C语言简洁优雅
C语言是一门中级语言
C语言语法简单功能强大
C语言是嵌入式系统的首选
C语言适合对效率要求高的场合
最主要的几大语言都是基于C语言
新设备的驱动程序总是用C语言编写的
炫酷的3D游戏的代码编写仍然以C语言为核心
Windows、Unix
和Linux
等操系统核心是C写的。
C
语言优势
01
了解C语言的基本数据类型及常量和变量
的定义方法。
学习目标
理解赋值运算的含义。
掌握输入、输出函数。
02
03
引入新课(5)
编程中最本质和核心的问题有两个,其中存储数据是处理数据的基础。
我们的生活中有哪些数据?
引入新课
上节课讨论的计算矩形面积的程序中,矩形的长和宽就是我们要处理的数据。
不仅仅这些数值计算机需要存储和处理,比我们的姓名、家庭住址、学校名称等。
1.基本数据类型
综上,我们可以返现数据的基本类型可以分为数值型和字符类型。
C语言的基本数据类型包括整型、实型和字符型。
(1)整型。用于表示整数值。C语言中的整型类型有很多,常见的有两种类型。
数据类型
定义标识符
占字节数
数值范围
短整型
Short
2
-32768-32767
整型
int
4
(2)实型。包括正实数、负实数和零。可以表示带有小数部分的数值。
包括十进制表示法(3、0.0、-8.0、+5.61)、科学计数法。
支持两常见的实数类型:单精度float、双精度实型double。
(3)字符型。如英文字符或标点。用单引号括起。‘a’‘C’.char
示例1:
int
i=5,j,k;
float
x=2.5,y,z;
char
a,b,c;
//定义a,b,c为字符变量
问题1:为什么在语言中同样是数值型却分为整型和实数型?
1.基本数据类型
1.基本数据类型(10)
【任务一】参看教材P63页的示例2,将示例2的代码输入Dev-C++。尝试着改变教材中给出的数据,观察运行结果的变化。
问题
结果
1.改变数据后再运行程序,观察到什么现象?
?
2.变量a、b、c具有怎样的特性?
?
3.是不是向a、b、c输入任意的数值都可以得到正确的结果?你对此有何猜想?
?
2.变量
变量用来存储需要改变的数据。
变量a和b的值相同,类型却不同,分别适合于什么样的情况?
变量:存储区中的一个存储单元.
2.变量
【示例2】
#include
int
main(
)
{
int
a=5;
//定义a为整形
float
b=5;
//定义b为实型变量
float
c=10.56;
//定义c为实型变量
printf("a=%d\n",a);
printf("b=%f,c=%f\n",b,c);
//符号\n表示换行
return
0;
}
变量:变量名和变量值组成,使用前需要先定义。例如:int
a=5;
命名规则:
以字母开头,由字母、数字和下划线组成,
一般不能超过32个字符。
不能用C语言的关键字作为变量名。
不能与符号常量名和函数名相同。
区分大小写。
3.常量(10)
想一想,在写程序的时候,又没有可能需要存储一些不需要改变也不可能改变的数据呢?
如果有的话,请举例子?
圆周率π
常量:在程序中值保持不变的数据成为常量,如圆周率π。
取名规则:
有两种方式
#
define
常量名
值
const
类型
常量名=值;
【任务二】参考教材示例3,在软件Dev-C++中输入。
将示例2代码中的a、b、c设定为常量,检查一下代码运行的结果,你观察到了什么现象?
这一现象说明了什么问题?
3.常量(10)
既然变量是可以改变的,我们C语言中如何改变某个变量的值?
4.赋值语句
赋值语句:赋给某个变量一个具体的确定值的语句。
变量名=表达式
“=”,称作赋值号,不是等号。
如x=x+1,将x+1的值赋给x,不是x等于x+1.
先计算x+1的值,然后赋给x,这样x的值就增加了1.
把这段代码输入Dev-C++
,同时试试把x=1改为1=x,可以吗?
X=x+1有怎样的含义/
5.输出函数和输入函数(10)
(1)输出函数
之前的几个例子代码中,我们都用到printf,请猜测一下,printf有什么作用?
2.观察示例2的源代码,里面有三个printf,请想想,这三个语句有什么共性,有什么不同?
动手修改下示例2的代码,观察输出结果,看看有哪些变化。
输出函数printf(“格式化字符串”,输出列表);
输出控制符
说明
%d
输出整数型,表示按十进制整型输出
%md
输出m位整数,m为正数是右对齐,m为负数是左对齐
%f
输出实型数,默认6位小数
%.mf
输出实型数,小数点后面保留m位
%c
以字符形式输出
#include
int
main()
{
float
s=10.5688;
printf(“面积s=%.2f\n”,s);
//普通字符“面积=”原样输出
return
0;
}
5.输出函数和输入函数(10)
如果说printf函数是用来输出程序计算的结果,那么同样的我们也需要一种机制,来获得运行程序时用户输入的数据信息,即
(2)输入函数
C语言用scanf函数表示数据的输入。
scanf(“输入控制符”,变量地址列表);
%d表示输入的数据是整数,%f代表输入的数据是单精度实型数
变量地址由”&”和变量构成,输入多个变量时用空格分开
示例6:
#include
#define
PI
3.14
int
main()
{
int
r;
float
s;
printf("请输入半径(正整数):");
scanf("%d",&r);
s=PI
r
r;
printf("圆的面积为:%.2f\n",s);
return
0;
}
对比printf和scanf函数在格式化字符串上有哪些相似和不同?
https://www./video/BV1Hf4y1X71G?from=search&seid=3451974238764007319
习题
1.
不合法的字符常量是(
)
A)‘\t’
B)”A”
C)
‘a’
D)
‘\x32’
解析:因为""表示的是字符串常量,就不是字符常量了。
2.
合法在字符常量(
)
‘\084’
B.
‘ab’
C.
‘\0’
D.
‘\x43’
解析:'\084'
非法,0开头表示8进制,8进制没有符号8
'\x43'
合法
'ab'
非法,两个字符
"\0"
非法,这是字符串
3.
下类选项中,不是合法整型常量的是(
)
A)160
B)-0xcdg
C)-01
D-0x48a
解析:择B,因为
0x
或者-0x
开头的是十六进制,16进制的基数为:0~9,A~F,从来就没有G
4.
下列合法的赋值语句是(
)
A)
x=y=100
B)
d-
-
C)
x+y
D)
c=int(a+b)
解析:选项A的结尾没用‘;’,所以不是一条语句:选项C中的表达式不会改变任何变量的内容,也不是合法的赋值语句;选项D有语法错误,int应该加上括号。所以,4个选项中只有选项B符合题意,运行后d的内容被减一。
习题
5.
设以下变量均为int类型,则值不等于7的表达式是(
)
A)(x=y=6,x+y,x+1)
B)
(x=y=6,x+y,y+1)
C)(x=6,x+1,y=6,x+y)
D)(y=6,y+1,x=y,x+1)
解析:逗号表达式的值等于最后一个逗号右边的子表达式,但这个字表达式可以被前面的字表达式影响.
A
x=y=6之后,x==6;x-f-y不改变x和y的值;x+1==7;
Bx=y=6之后,y==6;x+y不改变x和y的值;y+1==7;
C
x=6之后,x==6,y==6;x+1不改变x值;y=6后y==6,接下来的x+y==12;
D
y=6之后y==6;y+1不改变y的值;x=y后x==6;之后x+1==7.
板书设计
第五课
顺序结构
主题1数据类型、常量和变量、输入输出函数
本节课重点学习了不同类型的数据在C语言编程中的表示方法,同时见识了数据的两种形态,分别是变量和常量,另外赋值语句可以帮助我们修正变量中的值,最后printf函数和scanf函数为我们输入和输出数据提供了可能.
谢谢
观看
https://www.21cnjy.com/help/help_extract.php福建教育出版社
厦门市音乐学校
《信息技术》七(下)
罗海燕
第五课
主题1
数据类型、常量和变量、输入输出函数
班级:
姓名:
了解C语言的基本数据类型及常量和变量的定义方法。
理解赋值运算的含义。
3.掌握输入、输出函数。
输出函数printf(“格式化字符串”,输出列表);
这是第二次让学生输入代码,学生基础参差不齐,锻炼打字能力。基本都能完成。
【任务一】参看教材P63页的示例2,将示例2的代码输入Dev-C++。尝试着改变教材中给出的数据,观察运行结果的变化。请截图粘贴你的运行结果。
Comment
by
dell:
这是第二次让学生输入代码,学生基础参差不齐,锻炼打字能力。基本都能完成。
问题
结果
1.改变数据后再运行程序,观察到什么现象?
改变数据后,结果也会变
2.变量a、b、c具有怎样的特性?
变量a、b、c的数值是可以改变的
3.是不是向
a、b、c输入任意的数值都可以得到正确的结果?你对此有何猜想?
任意改变后,不一定得到我们想要的结果。
要根据数据类型。
变量:用来存储需要改变的数据。
【任务二】参考教材示例3,在软件Dev-C++中输入。将示例2代码中的a、b、c设定为常量,检查一下代码运行的结果。请截图粘贴你的运行结果。
Comment
by
dell:
教师演示缺失的代码,学生复制粘贴代码,并补充完整运行程序。
你观察到了什么现象?
这一现象说明了什么问题?
有两种方式定义常量。
/
数学中我们称0、1、11等这样的数为常数,同样在程序中其值保持不变的数据称为常量
/
#include
//定义最大值常量MAX,值为100
int
main(
)
{
//定义最小值常量MIN,值为10
printf("最大值=%d\n",MAX);
printf("最小值=%d\n",MIN);
return
0;
}
【任务三】观察示例2的源代码,里面有2个printf,请想想,这三个语句有什么共性,有什么不同?
动手修改下示例2的代码,观察输出结果,看看有哪些变化。
}printf语句共性
不同
【习题测试】
1.
不合法的字符常量是(
)
A)‘\t’
B)”A”
C)
‘a’
D)
‘\x32’
2.
合法在字符常量(
)
‘\084’
B.
‘ab’
C.
‘a’
D.
‘\x43’
3.
下类选项中,不是合法整型常量的是(
)
A)160
B)-0xcdg
C)-01
D)-48
4.
下列合法在赋值语句是(
)
A)
x=y=100
B)
d-
-
C)
x+y
D)
c=int(a+b)
5.
设以下变量均为int类型,则值不等于7的表达式是(
)
A)(x=y=6,x+y,x+1)
B)
(x=y=6,x+y,y+1)
C)(x=6,x+1,y=6,x+y)
D)(y=6,y+1,x=y,x+1)
3