




已阅读5页,还剩58页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019/7/30,电气与信息工程学院计算机系制作,Lesson 2 C语言程序数据,2019/7/30,电气与信息工程学院计算机系制作,学习目标:,1,掌握表达程序中的数据的方法 掌握使用变量存储数据的方法 掌握简单输入输出方法,2019/7/30,电气与信息工程学院计算机系制作,主要内容:,1,数据的意义 数据的基本类型 基本类型的常量 基本类型的变量 简单的输入和输出,2019/7/30,电气与信息工程学院计算机系制作,程序是用编程语言对现实问题的处理过程的描述 按照冯.诺依曼原理,在计算机中所有的都是数据 编写程序首要问题需要把现实的事物在计算机中将其表达出来,2019/7/30,电气与信息工程学院计算机系制作,例:俄罗斯方块游戏中的如下方块,使用120,0,140,0,140,20,160,0表示 其中(边长固定为20只需要一个顶点坐标即可) 120,0 表示方框1的左上角顶点坐标140,0 表示方框1的左上角顶点坐标 140,20 表示方框3的左上角顶点坐标 160,0 表示方框1的左上角顶点坐标 (见程序第21行),2019/7/30,电气与信息工程学院计算机系制作,2019/7/30,电气与信息工程学院计算机系制作,C语言中的数据类型,2019/7/30,电气与信息工程学院计算机系制作,2019/7/30,电气与信息工程学院计算机系制作,各种数据类型的量根据其值是否可以改变有两种形式 常量:是指在程序运行过程中始终不发生变化的量。(已知量) 变量:其值可以改变的量,用于保存数据(结果)。 (未知量),2019/7/30,电气与信息工程学院计算机系制作,1、整型常量 C语言中有3种书写形式表达整型常量: 十进制形式:12,34,0,-3 八进制形式:012,034 十六进制形式:0x12,0x34,0xAC,说明: 八进制形式:以0开头后跟07间数字 十六进制形式:以0x或0X开头后跟0f(F)数字或字母,2019/7/30,电气与信息工程学院计算机系制作,注意:整型常量的三种表达形式只是数学上的一个数可以有不同的形式,#include int main() int x_dec=66,x_hex=0x42,x_oct=0102; printf(“x_dec的值是%dn“,x_dec); printf(“x_hex的值是%dn“,x_hex); printf(“x_oct的值是%dn“,x_oct); return 0; ,lesson2_zs1.c,2019/7/30,电气与信息工程学院计算机系制作,注意:整型常量的三种表达形式只是数学上的一个数可以有不同的形式,#include int main() int x=0; x=12+012+0x12; printf(“x值是%dn“,x); return 0; ,lesson2_zs2.c,程序的开始,定义数据,计算,输出结果,程序的结束,2019/7/30,电气与信息工程学院计算机系制作,2、实型(小数)常量 C语言中有2种书写形式表达实型常量: 十进制小数形式: 123.45、509.0、-0.98 指数形式:,-9.78689E+20表示 -9.786891020,1.87E+10 表示1.871010,说明: 指数形式的格式 : 底数 E(e) 指数 (必须是整数),2019/7/30,电气与信息工程学院计算机系制作,3、字符常量:表达一个字母或符号 字符常量由一对单引号()括起来。 普通字符:P、=、9 转义符:是指用一个反斜杠()后跟一个特定字符或一个八进制或十六进制数值表示的字符。,2019/7/30,电气与信息工程学院计算机系制作,3、字符常量:表达一个字母或符号,例:n : 表示换行 t : 横向跳到下一制表位置 : 表示 : 表示 : 表示 如果反斜杠 跟的是数字: 若是 ddd的形式则是八进制数所表示的ASCII码所对应的字符,如 101 :表示 A 若是 xhh的形式则是十六进制数所表示的ASCII码所对应的字符,如 x41 :表示 A,2019/7/30,电气与信息工程学院计算机系制作,4、字符的ASCII码,为解决字符的存储问题,给每个字符都编了一个数值和它对应,在计算机中就存放该数值(ASCII码) 例如 :(ASCII码字符集见教材P267) A 对应 65 a 对应97 B 对应 66 b对应98 1 对应 49 2 对应50,2019/7/30,电气与信息工程学院计算机系制作,2019/7/30,电气与信息工程学院计算机系制作,4、字符的ASCII码 : 从ASCII码的定义,可以看出,字符在计算机中本质上就是一个整数,例如: A+32的值为97 a-A的值为32,2019/7/30,电气与信息工程学院计算机系制作,5、字符串常量 :表达一串字母或符号 字符串常量用一对双引号( )括起来。 例如: This is a C program. 3871 K 都是字符串常量 。,2019/7/30,电气与信息工程学院计算机系制作,6、符号常量 :用标示符代表一个常量 一般形式为: #define 标识符 常量 其中#define也是一条预处理命令(预处理命令都以“#”开头),称为宏定义命令 例如 : #define PI 3.14,2019/7/30,电气与信息工程学院计算机系制作,例:分析如下程序,#include #define PI 3.14 int main() float s=0.0,r=0.0; printf(“请输入圆的半径:n“); scanf(“%f“, ,lesson2_fhcl.c,程序的开始,定义数据,计算,输出结果,程序的结束,输入数据,2019/7/30,电气与信息工程学院计算机系制作,变量:是指其值可以改变的量 一个变量应该有一个名字,在内存中占据一定的存储单元。,例如: float r1=0.0,r2=0.0,s=0.0; int a=1,b=2;,变量的作用: 在程序中将数据存放在变量中,以便实现保存和修改这些数据的目的。,2019/7/30,电气与信息工程学院计算机系制作,例如: float r1,r2,s; int a,b; char c,ch;,定义变量的语法格式: ,.;,关于符号的说明: 表示 是必须的 表示是可选的,2019/7/30,电气与信息工程学院计算机系制作,变量的定义: 例如: int sum =0; float r1 =0.0 , r2=2.0 , s=1.0; char ch ;,变量 间用 逗号 隔开,2019/7/30,电气与信息工程学院计算机系制作,变量定义时: int、long 、short、unsigned表示整型变量 float、double 表示实型变量; char 表示字符变量;,2019/7/30,电气与信息工程学院计算机系制作,变量的理解:相当于程序中的“盒子”,0.0,r1,变量名 通过该名字可以找到这个”盒子”,r1=3.2;,3.2,float r1=0.0;,2019/7/30,电气与信息工程学院计算机系制作,变量在内存中的存储 变量在内存是占有一定存储空间的,在VC中(注意在其他编译环境可能与VC中不一样): int 占4个字节 char 占1个字节 float 占4个字节 double 占8个字节,可用sizeof求出该类型变量所占内存的字节数 例 sizeof(int),2019/7/30,电气与信息工程学院计算机系制作,求各种类型变量的所占内存空间的大小,#include int main() printf(“unsigned:%dn“,sizeof(unsigned); printf(“int:%dn“,sizeof(int); printf(“long:%dn“,sizeof(long); printf(“short:%dn“,sizeof(short); printf(“double:%dn“,sizeof(double); printf(“float:%dn“,sizeof(float); printf(“char:%dn“,sizeof(char); return 0; ,2019/7/30,电气与信息工程学院计算机系制作,变量在内存中的存储,内存示意图,字节 由8位构成 每位可存储一个0或1,为了方便管理,给每个字节编号了一个号,叫做字节的地址,2019/7/30,电气与信息工程学院计算机系制作,变量在内存中的存储,内存示意图,int x=10;,在计算机中数值是以补码的形式存放的,假如: int x=-10;,2019/7/30,电气与信息工程学院计算机系制作,int 整数 4字节 :-21474836482147483647 short 短整数 2字节:-3276832767 long 长整数 4字节: -2147483648 2147483647 unsigned 无符号整数 4字节 04294967295 double 双精度实数 8字节 float 单精度实数 4字节 char 字符 1字节,变量在内存中存储:,2019/7/30,电气与信息工程学院计算机系制作,变量定义时类型的意义: 指定该变量只能保存该类型的数据 指定该变量所占内存的字节数,int x=0; x=2.6;,x中保存的是2,而不是2.6,注意:在定义变量时,一定要先确定变量中保存什么类型的数据,2019/7/30,电气与信息工程学院计算机系制作,变量命名规则: C语言规定:变量名用标识符表示。,标识符规则: 1、由字母、数字和下划线 _ 组成的字符序列 2、第1个字符必须是字母或者下划线 _ 3、不能是关键字,2019/7/30,电气与信息工程学院计算机系制作,变量命名举例:,正确的: apple r1 apple_weight _rp Int printf 错误的: 1r w$1 (sr) 1_4 int char,2019/7/30,电气与信息工程学院计算机系制作,注意:标识符中出现的字母区分大小写。,例如: int Apple , apple;是两个不同的变量。,2019/7/30,电气与信息工程学院计算机系制作,注意C语言规定: 程序中的每一个变量,必须先定义后使用, 在一个函数中两个不同的变量不能同名。,#include int main() int x=1; float x=2.4; printf(“x值是%dn“,x); return 0; ,两个变量不能同名,2019/7/30,电气与信息工程学院计算机系制作,定义三个变量,其中一个变量用来存放一个学生的年龄,一个变量用来存放学生的成绩,一个变量用来存放评价等级(等级分成A B C D E级 ),2019/7/30,电气与信息工程学院计算机系制作,变量定义后并没有一个确切的初始值,需要给变量赋值。,注意: 给变量值赋值,实质是修改变量的值。 例如: x=2; y=x+3;,2019/7/30,电气与信息工程学院计算机系制作,三种方式给变量赋值。 在定义变量时为其赋一个初始值(初始化) = ; 例如:int data = 100; 通过赋值操作为变量赋值 = 例如: x = 64; 通过键盘输入为变量赋值 例如: scanf(“%f%f”,2019/7/30,电气与信息工程学院计算机系制作,例1:根据给定的圆半径,计算圆的面积和周长。,#include int main( ) float radius=0.0, area=0.0, perimeter=0.0; scanf(“%f”, ,lesson2_01.c,2019/7/30,电气与信息工程学院计算机系制作,编写程序,从键盘输入一个正方形的边长,计算其面积和周长,2019/7/30,电气与信息工程学院计算机系制作,1、字符的非格式化输入 getchar( ) 功能:从键盘输入一个字符。如果输入成功,函数返回这个字符的ASCII编码。 例如: char ch; ch = getchar( );,2019/7/30,电气与信息工程学院计算机系制作,2、字符的非格式化输出 putchar( ) 功能:putchar(ch),输出参数ch代表的字符 。 例如: char ch=B; putchar(A); putchar(ch); putchar(97) ;,2019/7/30,电气与信息工程学院计算机系制作,例2:通过键盘输入一个字符,分别在两行上显示这个字符,每行显示2次。,#include int main( ) char ch; ch = getchar(); putchar(ch); putchar(ch); putchar(n); putchar(ch); putchar(ch); return 0; ,lesson2_02.c,程序的开始,定义变量,输出数据,程序的结束,输入数据,2019/7/30,电气与信息工程学院计算机系制作,从键盘输入一个小写字母,输出其对应的大写字母,2019/7/30,电气与信息工程学院计算机系制作,3、格式化输入 scanf( ),功能: 从键盘输入数值,保存在变量中。,2019/7/30,电气与信息工程学院计算机系制作,3、格式化输入 scanf( ),scanf(“%f%f“,例如:从键盘给变量r1和r2输入,表示从键盘输入的数 %f表示输入的是小数: 格式说明符,表示从键盘输入的数 存放在r1和r2中: 变量地址列表,2019/7/30,电气与信息工程学院计算机系制作,总结:scanf( ) 调用scanf( ) 函数的格式为: scanf(,.); 是一个用双引号括起来,包含各种格式控制说明符。,例如:scanf(“%f%f“,2019/7/30,电气与信息工程学院计算机系制作,scanf中的格式说明符及其意义 %f 对应float 数据 %d 对应int 数据 %lf 对应double 数据 %c 对应char 数据,2019/7/30,电气与信息工程学院计算机系制作,例如,如果在程序中有如下四个变量 int n; float f; double d; char ch; 如果需要从键盘给四个变量输入值,scanf(“%d%f%lf%c”,2019/7/30,电气与信息工程学院计算机系制作,3、格式化输入 scanf( ) 是用来存放输入数据的变量地址。 在C语言中,用“,scanf(“%d%f%lf%c”,2019/7/30,电气与信息工程学院计算机系制作,从键盘输入的机理 在从键盘输入数据时,计算机将其保存在一个输入缓冲区中,按下回车键时表示输入结束。 调用scanf函数时,该函数按照格式说明符所指定的类型从输入缓冲区中取出相应的数值将其传送到指定的内存地址中,如果在缓冲区中没有数据则等待从键盘输入,2019/7/30,电气与信息工程学院计算机系制作,键盘输入的机理,#include int main() int x; char a,b; printf(“请输入一个整数和两个字符:n“); scanf(“%d%c%c“, ,运行程序分析三种方式输入的显示结果 方式1、100ab 方式2、100 a b 方式3、100.45,lesson2_sr.c,2019/7/30,电气与信息工程学院计算机系制作,键盘输入的机理 当在程序中调用fflush(stdin);函数时,该函数可以将输入缓冲区中的数据清空 其中stdin表示标准输入设备(键盘),2019/7/30,电气与信息工程学院计算机系制作,键盘输入的机理,#include int main() int x; char a,b; printf(“请输入一个整数和两个字符:n“); scanf(“%d“, ,运行程序分析三种方式输入的显示结果 方式1、100ab 方式2、100 a b 方式3、100.45,lesson2_sr1.c,2019/7/30,电气与信息工程学院计算机系制作,定义三个变量,其中一个变量用来存放一个学生的年龄,一个变量用来存放学生的成绩,一个变量用来存放评价等级(等级分成A B C D E级 ) 使用scanf语句从键盘输入学生的的年龄,成绩,评价等级给这三个变量,然后在显示器上输出,2019/7/30,电气与信息工程学院计算机系制作,4、格式化输出 printf( ) printf( )函数的基本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学校游泳馆管理制度
- 学校营养政管理制度
- 学生上学队管理制度
- 学生用手机管理制度
- 宁洱县财务管理制度
- 安全生物柜管理制度
- 安环部综合管理制度
- 安防部工作管理制度
- 实行平安卡管理制度
- 宠物火化店管理制度
- 华为-项目管理培训-项目失败的风险初探
- 温敏型羟丁基壳聚糖护创敷料技术审评报告
- (完整版)装饰装修工程监理规划
- 英语专业四级写作评分标准
- 链板回转式格栅除污机出厂检验报告(LF型)
- 陕西省中小学学生休学复学申请表
- 模具外发加工与验收标准及流程
- 空调水管、流量、流速、管径自动计算以及推荐表和水管各种参数对照表47729
- 《架空输电线路防鸟挡板技术规范》征求
- 浙江省高速公路服务区建设指南
- 篮球行进间体前变向换手运球说课
评论
0/150
提交评论