第2章C的基础知识vc.ppt
《第2章C的基础知识vc.ppt》由会员分享,可在线阅读,更多相关《第2章C的基础知识vc.ppt(73页珍藏版)》请在三一办公上搜索。
1、第2章 C语言基础,华北电力大学 控制与计算机,C 语言程序设计,C语言基础,2,本章主要内容,本章介绍C语言的基础,包括:数据类型运算符和表达式均是程序设计的基本知识为什么讨论这些知识?,通常程序要对数据进行操作处理:处理的对象是数据数据通过运算符和表达式进行操作,3,例如:,【例2.1】计算圆的面积,半径为 5 cm。程序如下:,#include void main()float r,area;r=5;area=3.14*r*r;printf(“面积=%f平方厘米n,area);,运算结果是:面积=78.500000平方厘米,程序中用到的数据:r、area、5、3.14对数据进行的运算:*
2、、=,4,分析:,计算机操作处理时,要完成以下工作:数据r和area是变量,在内存中需要给半径 r 和运算结果 area 开辟存储空间,存放它们的值。应该留多大的地方来存放它们的值?数据 5 和 3.14 是常量与 r、area 不同,它们在编写程序时就是确定的值,在运算过程中不会改变。这样的数计算机怎么处理?对整数 5 和小数3.14,计算机存放时是否有区别?,涉及数据类型的基本知识,5,C语言的数据类型,C数据类型,本章讨论基本类型数据,6,2.1.1 整型数据,1整型数据的类型基本整型数据类型 int,分配 4 Byte短整型数据类型short int,分配 2 Byte长整型数据类型l
3、ong int,分配 4 Byte整型数据均以二进制补码形式存储,问题:为什么要采用补码?如何表示?,7,计算机中正、负数的表示,例如:109(1101101)2要区别:109 和 109 方法是:将符号也数码化即:正的符号 用 0 表示 负的符号 用 1 表示,计算机中的整数表示方法是:符号位二进制数值(以 8bit 为例)109 110 1101 0110 1101109 110 1101 1110 1101,8,问题:计算机计算复杂化,例如计算:(-19)+(+22)1001 0011+0001 0110,解决的方法是:使用补码的表示方法(按前述表示的编码称为原码),即能将减法一律转换为
4、加法。,需要判断符号是否相同:如果相同,结果符号不变,并进行绝对值相加如果不同,结果取绝对值大的数的符号,并进行绝对值相减,9,原码、反码和补码,正数:原码、反码、补码相同符号位为0,数值为对应的二进制数。109,01101101原=01101101反=01101101补负数:原码符号位为1,数值为绝对值的二进制数 10911101101原反码符号位为1,数值为绝对值的二进制数各位变反 10910010010反 补码符号位为1,数值为绝对值的二进制数各位变反加1 10910010011补,10,用补码计算,例如计算:(-19)+(+22)1110 1101+0001 0110=0000 001
5、1(0000 0011)2=3,11,2.有符号和无符号整型数据类型,有符号的整型数据类型 int无符号的整型数据类型 unsigned int区别是将最高位看作符号位还是数据位,例如:1111 1111 1010 1000作为有符号数使用时,最高为符号位为负数,值是:-88(再求一次补)作为无符号数使用时,最高为数据位为无符号的数,值是:65448,12,例如:,#include void main()short int m;m=65448;/1111 1111 1010 1000 printf(nm=%hdn,m);printf(m=%hun,m);,输出结果:m=-88m=65448,按
6、有符号数输出,按无符号数输出,13,整型数据的类型及规定,方括号表示可选项int 分配4 Byte,long分配4 Byte,整型数据是精确存储,14,2.1.2 实型数据,1实型数据的类型 单精度实型数据类型 float,分配4 Byte双精度实型数据类型 double,分配 8 Byte2实型数据的存储,实型数据是近似存储,15,实型数据的类型及规定,C标准并未具体规定各种实型数据所占字节数,也不规定具体小数和指数部分的位数。一般而言,小数部分位数多,数据表示的有效数字多,精度就高;而指数部分位数多,则表示的数据范围更大。,有效数字的意义?,float a=123.456789;doubl
7、e b=123.456789123456789;,16,2.1.3 字符型数据,字符型数据类型为char,分配 1 Byte 字符型数据是指字母、数字、各种符号等用ASCII值表示的字符例如 a 是一个char类型数据,称作字符常量,存储:,0 1 1 0 0 0 0 1,2.1.4 空类型,空类型void通常与指针或函数结合使用,17,2.2 常量、变量与标准函数,主要内容:常量变量标准库函数,18,2.2.1 常量,在程序运行的过程中值保持不变的量1整型常量 十进制:09八进制:07,以 0开头十六进制:09,AF/af,以 0 x或 0X 开头,例如:100-8 0+123010 024
8、 0100 0730 x38 0 x10 0X100 0XFF 0 x0a,19,1.整型常量,整型常量的类型:根据值大小默认类型整型常量后面加l或L,则认为是long int型 例如:123 123L、032、432l、0 x100,注意:十六进制常量中可以使用大写字母AF,也可以使用小写字母af。八进制常量中不能出现数字 8 或 9例如:018、0921非法,20,2.实型常量,十进制形式 1.0 1.+12.0-12.0 0.0指数形式 1e3 1.8e-3-123E-6-.1E-3,指数只能是整数,而尾数则可以是整数也可以是小数,无论指数或尾数均不能省略例如:1e、E.5、E-3 非法
9、实型常量的类型:默认为double型,后面加F(或f),则强调表示该数是float类型例如:3.5f、1.4e2F,21,3.字符型常量,字符常量 一对单引号括起来的单个字符例如:a、A、+、3、等 转义字符常量一对单引号括起来的 与规定字符组合,例如:,如102表示B,如x47表示G,22,int x=0 x10;int y=0X10;char a=xa2;char b=Xa2;,23,4.字符串常量,用一对双引号括起来的一个字符序列例如:ABC、12、a、nt nGood morning、字符串常量的长度:所包含的字符个数 字符串常量的存储方式:,所占存储单元数:串长度1例如:,字符串结束
10、标记,24,4.字符串常量(续),如果反斜杠和双引号作为字符串中的有效字符,则必须使用转义字符。例:C:msdosv6.22 C:msdos v6.22 I say:Goodbye!I say:Goodbye!如果要表示单引号字符,必须用转义字符。,25,字符常量 A 与字符串常量 A 的区别:,(1)定界符不同:字符常量使用单引号A,而字符串常量使用双引号 A;(2)长度不同:字符常量的长度固定为1,而字符串常量的长度,可以是0,也可以是某个整数;(3)存储要求不同:字符常量存储的是字符的ASCII码值,字符串常量,除了要存储有效的字符ASCII码值外,还要存储一个结束标志 0。,26,是非
11、法的“”是正确的,27,5.符号常量,以标识符来代表的常量事先由编译预处理命令define定义编译时先由系统替换为它所代表的常量,再进行编译例如:,#define LEN 2.5#include void main()float a,b;a=2*3.14*LEN;b=3.14*LEN*LEN;printf(a=%f,b=%fn,a,b);,编译前系统进行替换,28,5.符号常量,void main()float a,b;a=2*3.14*2.5;b=3.14*2.5*2.5;printf(a=%f,b=%fn,a,b);,define是编译预处理命令,必须以“#”开头 后面不能加分号。编译预处
12、理命令在后面讨论。,替换为,29,2.2.2 变量,1.变量的有关概念在程序运行过程中,其值可以改变的数据,称为变量,变量用标识符表示,称为变量名变量必须“先定义,后使用”系统根据变量的类型分配存储单元,存储变量的值编写程序时通过变量名来存、取变量值,30,2.变量定义,变量定义的一般格式:数据类型说明符 变量列表;例如:int i;long k,m;float x,y;char ch1,ch2;,必须使用合法的标识符作变量名不能使用关键字为变量命名,31,3.变量的初始化:,在说明变量的同时对变量赋初值。例如:int a=5,b=a+2;long c=123L;double x=23.568
13、;float y=1.23f;char ch1=a,ch2=66,ch3=142;错误的初始化:int a=3+b,b=5;float m=n=23.16;,32,系统为变量分配存储空间示意图,内存:内存是由一系列字节组成的,每个字节都有一个唯一的地址编码。例如:short int x;系统为变量x在内存中分配的存储空间是连续的两个字节。,其中:1001和1002是字节的编码,第1个字节的编码1001称为变量x的地址,在程序中表示为&x。即&x的值为1001。,33,系统为变量分配存储空间示意图,例如:float y;系统为变量y在内存中分配的存储空间是连续的4个字节。例如:,其中:2001到
14、2004是字节的编码,第1个字节的编码2001称为变量y的地址,在程序中表示为&y。即&y的值为2001。,34,2.2.3 标准库函数,由C编译系统定义的一种函数,存放在系统函数库中,用户可以根据需要随时调用常用函数如:printf、scanf、fabs、sqrt、sin、(常用数学函数参见教材 附录)函数调用形式:函数名(参数表)例如:putchar(a)sqrt(x)getchar(),35,总结:,如果程序中需要将数据存起来,则必须根据存放数据的类型定义变量(变量要先定义,后使用)。如果程序中使用的数据是常量,则需根据常量的类型,选用正确的格式。如:123 12.3(称字面常量)#de
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基础知识 vc

链接地址:https://www.31ppt.com/p-5635485.html