![[工作范文]C语言编程入门-第2章课件(PPT 43页)_第1页](http://file4.renrendoc.com/view/de5d994fd6959f58785457cf899c22a6/de5d994fd6959f58785457cf899c22a61.gif)
![[工作范文]C语言编程入门-第2章课件(PPT 43页)_第2页](http://file4.renrendoc.com/view/de5d994fd6959f58785457cf899c22a6/de5d994fd6959f58785457cf899c22a62.gif)
![[工作范文]C语言编程入门-第2章课件(PPT 43页)_第3页](http://file4.renrendoc.com/view/de5d994fd6959f58785457cf899c22a6/de5d994fd6959f58785457cf899c22a63.gif)
![[工作范文]C语言编程入门-第2章课件(PPT 43页)_第4页](http://file4.renrendoc.com/view/de5d994fd6959f58785457cf899c22a6/de5d994fd6959f58785457cf899c22a64.gif)
![[工作范文]C语言编程入门-第2章课件(PPT 43页)_第5页](http://file4.renrendoc.com/view/de5d994fd6959f58785457cf899c22a6/de5d994fd6959f58785457cf899c22a65.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章 基本数据类型及其运算学习目标了解数据类型的一般概念,熟悉 C 语言中的基本数据类型熟悉 C 语言中常量与变量的概念,掌握定义常量与变量的方法掌握 C 语言中的基本运算掌握基本的输入输出函数的用法了解 C 语言操作符的优先级与结合性第1页,共43页。2.1 C 语言的数据类型数据类型的一般概念C 语言数据类型关系图常 量整型常量实型常量字符型常量与反斜杠字符常量字符串常量符号常量第2页,共43页。数据类型的一般概念确定了以值为元素的数据集值的可能范围,即定义域确定了操作(运算)集不同数据类型具有不同的操作集,不同数据类型的数据之间也可以进行混合运算规定了值的存储格式不同类型数据在计算机中
2、存储格式不同,相同类型数据在不同计算机与编译器下的存储格式也可能不同数据处理的基本对象常量与变量,均属于某种数据类型第3页,共43页。C 语言数据类型关系图第4页,共43页。整型常量十进制表示以数字19开头的09序列,如9、876、55十六进制表示以“0 x”或“0X”开头的09、A/aF/f序列,如0 x55、0 x1F、0 x2a0 x5516 = 8510八进制表示以0开头的07序列,如0550558 = 4510 ,注意不要与十进制混淆!第5页,共43页。实型常量一般形式:小数表示法由整数部分、小数点与小数部分组成例:3.1416、2.718281828指数形式:科学计数法由尾数部分、
3、字符E/e与指数部分组成例:3.14e3 = 3.14103、2.7E2 = 2.7102第6页,共43页。字符型常量与反斜杠字符常量字符型常量以单引号括起来的单一字符,如A、c字符常量按照其在字符集(一般为 ASCII 表)中的编码值存储并参与运算反斜杠字符常量以开头,后跟字符或数字,用于表示一个特定含义的字符,例如n表示换行字符,称为转义字符序列常与普通字符混杂于某个字符串中第7页,共43页。ASCII 码表01234567890000001002003004005006abt10nvfr016017020021022023200240250260270300310320330340353
4、0036037space!#$%&40()*+,./015023456789:;60?ABCDE70FGHIJKLMNO80PQRSTUVWXY90Z_abc100defghijklm110nopqrstuvw120 xyz|177第8页,共43页。转义序列及其意义转义序列 功能与意义 a响铃b退格f换页n换行r返回到当前行首t水平制表键v垂直制表键0ASCII码0字符自身字符(仅在字符常数中需要)“字符“(仅在字符串常数中需要)ddd“ddd”表示八进制的该字符ASCII码值第9页,共43页。Tsinghua0字符串常量字符串:以双引号括起来的一串字符例:“Tsinghua”、“Progra
5、mming in C”字符串的长度:其中的字符数目长度n,占用n+1字节,最后一个字节存储NULL字符0例:“Tsinghua”占用9个字节字符串常量与字符常量不同字符串至少占用一个字节,为什么?84115105110103104117970第10页,共43页。符号常量宏定义#define指令:预处理命令例:#define PI 3.14一旦定义,可以代替常量使用可理解为对常量进行命名目的与意义增强程序可读性使用有意义的名字命名增强程序的可维护性将值定义为符号常量,则程序中仅需要修改一次#include #define PI 3.14int main() float r, area; r =
6、3.0; area = PI * r * r; printf(“%f”, area); return 0;第11页,共43页。2.2 数据类型及变量基本数据类型变量及变量的定义变量的初始化第12页,共43页。基本数据类型基本数据类型的分类字符型:char;整型:int;浮点型:float;双精度浮点型:double;无型:void基本数据类型的长度(位数)和取值范围与计算机和 C 编译器有关整型二进制位数与CPU字长相同;字符单字节;浮点型4字节;双精度浮点型8字节修饰符有符号:signed;无符号:unsigned;短型:short;长型:long修饰除void之外的其他四种基本数据类型第1
7、3页,共43页。整数的取值范围类型标识符位数最小值最大值char8128127unsigned char80255signed char/char8128127int322,147,483,6482,147,483,647signed int/int322,147,483,6482,147,483,647unsigned int3204,294,967,295short int/short1632,76832,767signed short int/short1632,76832,767unsigned short int16065,535long int/long322,147,483,64
8、82,147,483,647signed long int/long322,147,483,6482,147,483,647unsigned long int3204,294,967,295第14页,共43页。浮点数与无型数据的取值范围类型标识符位数有效位最小值最大负值最小正值最大值float3273.40e381.18e381.18e383.40e38double64151.80e3082.23e3082.23e3081.80e308long double80191.19e49323.36e49323.36e49321.19e4932类型标识符位数最小值最大值void32不确定不确定第15页
9、,共43页。变量与变量的定义变量的定义:在程序执行过程中,其值改变的量与常量的定义不同,常量在程序执行期间不可改变值系统为每个变量分配合适的存储空间,以存放其值保存待处理的数据、中间与最终运算结果变量的四个基本特征:VANT值(value):在任一时刻,每个变量均具有惟一值地址(address):每个变量均具有惟一地址,且除非其生命结束,地址不可更改名称(name):每个变量具有固定的名称或名字标识类型(type):每个变量均具有确定的类型,不可更改第16页,共43页。变量的定义与使用示例#include int main() char c; int x, y, z; unsigned lon
10、g distance; float m; m = 1.11; m = 2 * m; m = m + 2.2; printf(“%fn”, m); return 0; 定义三个整型变量x, y, z 定义字符变量c 定义无符号长整型变量distance 定义浮点型变量m 对浮点型变量m进行赋值 计算过程中修改m的值 再次修改m的值 输出m的值(计算结果)第17页,共43页。变量的初始化在定义变量时设定初始值char c = c;float x, y, z = 4.53;double a = 15.5, b = 2.0; 将z初始化为4.53,x, y未初始化 将变量c初始化为c,ASCII值99
11、 a, b均进行初始化未初始化变量并不意味空值可以参与运算,但没有意义,往往导致错误结果第18页,共43页。2.3 运算符与表达式运算符(操作符)与表达式概述混合类型数据的运算赋值语句与赋值表达式算术运算符与算术表达式关系运算符与关系表达式逻辑运算符与逻辑表达式位运算符其他运算符与表达式第19页,共43页。运算符与表达式概述表达式由操作符与操作数组成的序列,完成一系列的运算,得到最终的计算结果表达式结果的数据类型由参与运算的操作数确定操作数常量、变量、函数调用、括号内的子表达式操作符种类繁多,意义丰富,功能强大:39个,46种优先级: 15级第20页,共43页。操作符及其优先级优先级操作符15
12、. () 函数调用 +后缀 后缀14sizeof +前缀 前缀 ! + &取址 *引领 ()类型转换13 *乘 / %12+ 1110 =9= !=8&位与76|5&4|3? :2= *= /= %= += = = &= = |=1,第21页,共43页。混合类型数据的运算混合类型数据运算表达式中的数据类型不可能总相同在实际运算前将两个操作数转换成同一数据类型类型转换隐式类型转换:系统自动进行基本原则:确保运算精度不会降低整数提升:从短型到长型,先有符号后无符号浮点数转换:从float到double再到long double显式类型转换:程序员手工进行可简化计算,提高程序效率格式:(类型标识符)
13、表达式;例:b = c + (int)a;第22页,共43页。隐式类型转换的例子:char ch = d;int i = 6;float f = 10.0;double d = 0.2, result;result = (ch / i) + (4 + f * d) * (f - i)计算过程:ch / i 结果为 16(整型)4 + f * d 结果为 6.0(双精度浮点型)f i 结果为 4.0(浮点型)result 结果为 40.0(双精度浮点型)第23页,共43页。赋值语句与赋值表达式赋值表达式赋值操作符:优先级较低赋值表达式的值:赋值操作符赋给目标变量的值例:while( ( c =
14、getchar() ) != EOF ) /* */ 赋值语句以分号结束的赋值表达式格式:变量名 = 表达式;例:b = c + (int)a;赋值语句对左边变量名或等价的数组元素名实施写操作右边的表达式结果若与左边的类型不同,则先转换再赋值,此时可能导致数据精度的损失第24页,共43页。复合赋值操作符注意事项赋值操作符右边的子表达式作为整体参与运算例: y *= x + 1 等价于 y = y * (x + 1) 复合赋值操作符名称示例等价于+=加赋y += x;y = y + x;=减赋y = x;y = y x;*=乘赋y *= x;y = y * x;/=除赋y /= x;y = y
15、/ x;%=余赋y %= x;y = y % x;第25页,共43页。算术运算符与算术表达式基本算术运算符加(+)、减()、乘(*)、除(/)、余(%)递增递减运算符前缀:先递增递减,再参与运算后缀:先参与运算,再递增递减操作数必须为变量,而不能为其他表达式算术表达式例: x = ( b + sqrt( b * b 4 * a * c ) ) / ( 2 * a )第26页,共43页。递增递减运算符前缀:先递增递减,再参与运算后缀:先参与运算,再递增递减i+ (后缀)或 +i (前缀) 相当于 i = i + 1i- (后缀)或 -i (前缀) 相当于 i = i - 1k1 = 3, k2
16、= 3, j = 5;m1 = ( +k1 ) * j;m2 = ( k2+ ) * j;n = k1 + k2;m1 = 20m2 = 15n = 8第27页,共43页。关系运算符与关系表达式关系运算符大于()、等于(=)、小于()、不大于(=)、不等于(!=)关系表达式关系运算符与两个操作数构成的表达式运算结果:真或假C语言以0表示假,以非0表示真(经常以1表示)示 例例:x = y,a b常用于条件语句:if( grade y | a b & 3 = 2 计算时一定要留意运算符的优先级,拿不准时加括号第29页,共43页。位运算符位运算符:以单独的二进制位为操作对象按位与(&)、按位或(|
17、)、按位异或()、按位取反()、左移()位运算表xyx & yx | yx yy000001010110100111111100第30页,共43页。按位与运算按位与:用以屏蔽某些位或取出某些位示例: x = x & y,其中x原为0 xB675,y原为0 x00FFx为16位,取出低8位,高8位置0 x = 0 xB6751011011010101110y = 0 x00FF0000000011111111x = x & y10110110101011100000000010101110测试指定位是否为0测试左边第4位是否为0:y = x & 0 x1000;结果:y为0表示测试位为0,否则为
18、1第31页,共43页。按位或运算按位或:用以打开某些位(将其置1)示例: x = x | y,其中x原为0 xB675,y原为0 x00FFx为16位,低8位全置1,高8位不变x = 0 xB6751011011010101110y = 0 x00FF0000000011111111x = x | y10110110101011101011011011111111第32页,共43页。按位异或运算按位异或:用以判断两个操作数相应位是否相异示例: x = x y,其中x原为0 xB675,y原为0 x00FFx为16位x = 0 xB6751011011010101110y = 0 x00FF00
19、00000011111111x = x y10110110101011101011011001010001按位异或的本质:按位进行的不进位加法按位异或既可使各位翻转,也可使各位保持第33页,共43页。按位取反运算按位取反:将单个操作数的所有位全部翻转示例: x = x,其中x原为0 xB675x = 0 xB6751011011010101110 x = x10110110101011100100100101010001第34页,共43页。移位运算符(左移):相当于乘2n,原高位舍弃,低位补0格式:操作对象 左移位数例:y = x n,其中x原为0 xB675,n为2x = 0 xB67510
20、11011010101110y = x (右移):相当于除2n,原低位舍弃,高位补0(无符号数)或符号位(有符号数)格式:操作对象 右移位数例:y = x n,其中x原为0 xB675,n为2x = 0 xB6751011011010101110y = x n101101101010111000011011010111101101101101011110第35页,共43页。其他运算符与表达式条件运算符与条件表达式格式:表达式1 ? 表达式2 : 表达式3计算过程:先计算表达式1的值,若为真,则结果为表达式2的值,否则为表达式3的值例:x = ( a b ) ? a : b;上例等价于:if(
21、a b ) x = a; else x = b;逗号运算符与逗号表达式以逗号连接的表达式计算过程:从左到右逐个计算各个子表达式,结果为最后一个子表达式的值例:z = ( x = m + n, y = m n, x / y );第36页,共43页。2.4 基本输入输出函数基本事实输入输出是语言与算法必须具备的功能C 语言本身没有输入输出语句或命令,输入输出需使用标准库函数基本输入输出函数原型位于头文件“stdio.h”中输入输出函数格式化输出函数格式化输入函数字符输入输出函数第37页,共43页。格式化输出函数 printf()格式化输出函数 printf() 调用格式printf(“输出格式描述
22、字符串”, 输出项列表);例:printf(“age = %dn”, age);%y:格式转换说明符%d:十进制整数;%i:十进制整数;%f:浮点数;%e:指数形式的浮点数;%c:单个字符;%s:字符串;%u:无符号整数;%x:十六进制整数;%o:八进制整数%m.ny:”m”表示以“%y”格式输出时,数据所占用的位数(场宽),“.n”可选,表示小数点后的位数,“”表示数据左对齐(缺省时,数据右对齐,前补空格)第38页,共43页。格式化输出示例指出下述程序的运行结果#include int main() int x, y, z; x = 10; y = 15; z = 25; printf(“Results as follows:n”); printf(“x = %d, y = %d, z = %dn”, x, y, z); printf(“x + y = %dnx + y + z = %dn”, x
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 步行街个人店铺租赁合同书
- 区商贸城商铺租赁合同
- 健身场地租赁合同
- 农副产品购销合同
- 土地租赁建房合同
- 借款抵押担保合同
- 停车位代理销售合同
- 知识产权专项法律服务合同
- 焦作师范高等专科学校《高尔夫球具维护》2023-2024学年第二学期期末试卷
- 长沙航空职业技术学院《广播电视技术实务》2023-2024学年第二学期期末试卷
- 《fema失效模式分析》课件
- 联合救治房颤患者的协议书
- 企业自查报告范文
- 沐足店长合同范例
- 母婴护理的职业道德
- 《商务沟通-策略、方法与案例》课件 第二章 口头沟通
- 运灰安全管理制度模版(2篇)
- 2024年生态环境局公务员考试600题内部选题库(A卷)
- 2024年湖南省公务员录用考试《行测》真题及答案解析
- 工商企业管理毕业论文的范文
- 《物权法》本科题集
评论
0/150
提交评论