




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 王占全王占全 华东理工大学信息学院华东理工大学信息学院2 程序是解决某种问题的一组指令的有序集合。 著名计算机科学家沃思(nikiklaus wirth)提出一个公式: 程序 = 数据结构 + 算法 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c3掌握变量和常量的概念;掌握变量和常量的概念;理解各种类型的数据在内存中的存放形式;理解各种类型的数据在内存中的存放形式;掌握各种类型数据的常量的使用方法;掌握各种类型数据的常量的使用方法;掌握各种整型、字符型、浮点型变量的定义和引掌握各种整型、字符型、浮点型变量的定义和引用方法;用方法;了解调用了解调用pr
2、intfprintf函数输出各种类型数据的方法;函数输出各种类型数据的方法;掌握数据类型转换的规则以及强制数据类型转换掌握数据类型转换的规则以及强制数据类型转换的方法;的方法;掌握赋值运算符、算术运算符、位运算符、逗号掌握赋值运算符、算术运算符、位运算符、逗号运算符以及运算符以及sizeofsizeof的使用方法;的使用方法;理解运算符的优先级和结合性的概念,记住所学理解运算符的优先级和结合性的概念,记住所学的各种运算符的优先级关系和结合性。的各种运算符的优先级关系和结合性。语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c43.1 c语言数据类型语语言言程
3、程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c53.2 常量、变量和标识符常量、变量和标识符1. 1. 标识符标识符 定义:用来标识变量、常量、函数等的字符序列定义:用来标识变量、常量、函数等的字符序列 组成:组成:只能由字母、数字、下划线组成,且第一个字母必须是字母只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线或下划线c c语言的关键字不能用作变量名语言的关键字不能用作变量名 大小写敏感大小写敏感 长度:有效长度为长度:有效长度为3232个字符。随系统而异,但至少前个字符。随系统而异,但至少前8 8个字符有效个字符有效 命名原则:命名原则:变量名和
4、函数名中的英文字母一般用小写,以增加可读性变量名和函数名中的英文字母一般用小写,以增加可读性 见名知意见名知意不宜混淆不宜混淆 如如l l与与i, oi, o与与0 0 例:判断下列标识符号合法性sum sum m.d.john day date 3days student_name #33 lotus_1_2_3 char ab _above $123m.d.john3days#33char$123ab . . 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c63.2 常量、变量和标识符2. 常量 定义:程序运行时其值不能改变的量(即常数) 常量的分类
5、:直接常量( 值常量) 整型常量: 10、15、-10、-30 实型常量: 12.5、 30.0、-1.5 字符常量: a、b、c 字符串常量: “sum”、“a”、“123”符号常量 用标识符来代表常量。 其定义格式为: # # #define num 20 #define pi 3.1415926 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c73.2 常量、变量和标识符3. 变量 定义:程序运行时其值可以被改变的量 变量的两要素 :变量名 、变量值 变量的定义格式 : 变量的初始化:定义时赋初始值 变量的使用:先定义,后赋值 变量定义位置:一般放在
6、函数开头int x, y, z;float radius, length, area; char ch;决定分配字节数和数的表示范围合法标识符例: int a = 2, b, c = 4; float data = 3.67; char ch = a; int x = 1, y = 1, z = 1; int x = y = z = 1;编译程序根据变量定义为其分配指定字节的内存单元地址short int a=1, b=-3, c;abc2字节2字节2字节地址地址内存.1-3随机数例1: int student; stadent = 19; /undefined symbol statent
7、in function main void main ( ) int a, b = 2; float data; a = 1; data = (a + b) * 1.2; printf (“data=%fn”, data);变量定义可执行语句语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c83.3 简单数据类型与表示范围 定义整数的符号常量定义整数的符号常量 #define num1 20 /#define num1 20 /十进制数十进制数2020 #define num2 020 / #define num2 020 /八进制数(十进制八进制数(十进制
8、1616) #define num3 0 x2a /#define num3 0 x2a /十六进制数(十进制十六进制数(十进制4242)思考题:下列整型常量哪些是非法的?思考题:下列整型常量哪些是非法的? 012012,ox7aox7a,0000,078078,0 x5ac0 x5ac,-0 xffff-0 xffff,00340034,7b7b。首字符不能首字符不能是字母是字母o o 八进制数中不八进制数中不能有数字能有数字8 8 十进制数中不十进制数中不能有字母能有字母b b 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c9 语语言言程程序序设设计
9、计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c100000111000000000低字节低字节高字节高字节低地址低地址高地址高地址符号位符号位 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c11低字节低字节高字节高字节低地址低地址高地址高地址 000011100000000000000000符号位符号位语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c12 1111001011111111低字节低字节高字节高字节低地址低地址高地址高地址符号位符号位 语语言言程程序序设设计计教教程程 第第二二版版第第三
10、三章章 基基本本数数据据类类型型c13 低字节低字节高字节高字节低地址低地址高地址高地址 111100101111111111111111符号位符号位 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c14 1111111111111111低地址低地址高地址高地址 低字节低字节高字节高字节符号位符号位语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c15 低字节低字节高字节高字节低地址低地址高地址高地址 111111111111111111111110符号位,符号位,表示负表示负 。语语言言程程序序设设计计教教程程 第第二
11、二版版第第三三章章 基基本本数数据据类类型型c160001110000000000低字节低字节高字节高字节低地址低地址高地址高地址符号位符号位 低字节低字节高字节高字节低地址低地址高地址高地址 000111000000000000000000符号位符号位语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c171110010011111111低字节低字节高字节高字节低地址低地址高地址高地址符号位符号位 111001001111111111111111低字节低字节高字节高字节低地址低地址高地址高地址 符号位符号位语语言言程程序序设设计计教教程程 第第二二版版第第三
12、三章章 基基本本数数据据类类型型c181011011010001010低字节低字节高字节高字节低地址低地址高地址高地址符号位符号位表示负表示负 101101101000101000000000低字节低字节高字节高字节 低地址低地址高地址高地址符号位符号位语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c19 0100101001110101低地址低地址高地址高地址 低字节低字节高字节高字节符号位符号位表示正表示正 010010100111010111111111低字节低字节高字节高字节 低地址低地址高地址高地址符号位符号位表示负表示负语语言言程程序序设设计计
13、教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c20 0100101001110101低地址低地址高地址高地址 低字节低字节高字节高字节符号位符号位表示正表示正 010010100111010111111111低字节低字节高字节高字节 低地址低地址高地址高地址符号位符号位表示负表示负语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c21例:例: int a; int x, y, z; int m = 2, y = -3; 1111111011111111低地址低地址高地址高地址低字节低字节高字节高字节 语语言言程程序序设设计计教教程程 第第二二
14、版版第第三三章章 基基本本数数据据类类型型c221111111011111111 低字节低字节高字节高字节低地址低地址高地址高地址语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c23 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c24 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c25/文件包含文件包含, ,头文件说明头文件说明 /定义两个定义两个intint型变量型变量a a和和b b,b b赋初值赋初值2020 /定义无符号整型变量定义无符号整型变量c c,并赋初值,并赋初
15、值0 xff0 xff /定义长整型变量定义长整型变量d d /对对a a赋值为赋值为sumsum,这时,这时a a的值是的值是6553565535 /对对d d赋值为赋值为301301 /以有符号十进制形式(以有符号十进制形式(%d%d)显示)显示a a的值的值 /以有符号十进制形式(以有符号十进制形式(“%d%d”)显示)显示b b的值的值 /以有符号十进制形式(以有符号十进制形式(%d%d)显示)显示c c的值的值 /以有符号十进制形式(以有符号十进制形式(%d%d)显示)显示d d的值的值 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c/( )定
16、义符号常量)定义符号常量sumsum26语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c27 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c28 无论是单精度还是双精度,在内存存储中都分为3个部分: 1) 符号位(sign):0代表正,1代表为负; 2) 指数位(exponent):用于存储科学计数法中的指数数据,并且采用移位存储; 3) 尾数部分(mantissa):尾数部分; 其中float的存储方式如下图所示:29 类 型精确表示的数字个数 float 7 8 double 16 17 long double
17、17 18abc123.456787123.456787123.456789 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c30 如 a a ? n 101如 a65, a97, 048 , n10转义字符及其含义:转义字符转义字符含义含义nvradddtbf“xhh转义字符转义字符含义含义换行垂直制表回车响铃单引号3位8进制数代表的字符水平制表退格换页反斜线双引号2位16进制数代表的字符如 101 -a 012 -n 376 - x61 -a 60 -0 483 -()例:a-101-x41-65 语语言言程程序序设设计计教教程程 第第二二版版第第三三
18、章章 基基本本数数据据类类型型c3132字符串常量l 定义:用双引号(“”)括起来的字符序列l 存储:每个字符串尾自动加一个 0 作为字符串结束标志0 x480 x450 x4c0 x4c0 x4f0字符串结束标志字符串结束标志00 x41 0 x41 0例: char ch; ch = “a”; 例: char ch; ch = a; 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c33字符型变量字符型变量l 字符型数据类型符是字符型数据类型符是charchar(字符(字符charactercharacter)l 在内存中占在内存中占1 1个字节(个字节
19、(8 8位)位) l 字符变量存放字符字符变量存放字符asciiascii码码l charchar与与intint数据间可进行算术运算数据间可进行算术运算l 存在有符号和无符号之分。默认情况下为有符号存在有符号和无符号之分。默认情况下为有符号 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c34 类型符号关键字占字节数数的表示范围整型有(signed)int 在16位系统下2-3276832767 在32位系统下4-21474836482147483647(signed)short2-3276832767(signed)long4-214748364821
20、47483647无unsigned int 在16位系统下2065535 在32位系统下404294967295unsigned short2065535unsigned long404294967295实型有float4绝对值10-371038有double8绝对值10-30710308语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c35十进制数十进制数 对应的机器数(补码)对应的机器数(补码) 1 0 0 0 0 0 1 0语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c36 printf(variable a =
21、 %d , a ););语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c37 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c383.4 c语言的运算符与表达式语言的运算符与表达式 c运运算算符符算术运算符:(算术运算符:(+ - + - * * / % + - / % + -)关系运算符:(关系运算符:( = != = !=)逻辑运算符:(!逻辑运算符:(! & |& |)位运算符位运算符 :(:( | & | &)赋值运算符:(赋值运算符:(= = 及其扩展)及其扩展)条件运算符:(条件运算符:(?:?:)逗号运算
22、符:(逗号运算符:(, ,)指针运算符:(指针运算符:(* * & &)求字节数求字节数 :(:(sizeofsizeof)强制类型转换:(类型)强制类型转换:(类型)分量运算符:(分量运算符:(. -. -)下标运算符:(下标运算符:()其它其它 :(:(( ) -( ) -)语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c391. 1. 赋值运算符、赋值表达式赋值运算符、赋值表达式 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c40 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类
23、型型c412. 强制类型转换符 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c422. 强制类型转换符 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c432. 强制类型转换符 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c442. 强制类型转换符 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c45 基本算术运算符:基本算术运算符: + - + - * * / % / %l 结合方向:从左向右结合方向:从左向右l 优先级:优先级: - -
24、 -* * / % - + - / % - + - (2) (3) (4) (2) (3) (4)说明:说明:l “- -”可为单目运算符时可为单目运算符时, ,右结合性右结合性l 两整数相除,结果为整数两整数相除,结果为整数l % %要求两侧均为整型数据要求两侧均为整型数据3. 3. 算术运算符、算术表达式算术运算符、算术表达式 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c463. 3. 算术运算符、算术表达式算术运算符、算术表达式 运算符优先级(到目前为止)运算符优先级(到目前为止)语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本
25、本数数据据类类型型c47 自增、自减运算符自增、自减运算符+ -+ -l 作用:使变量值加作用:使变量值加1 1或减或减1 1l 种类:种类: 前置前置 +i, -i (+i, -i (先执行先执行i=ii=i+1+1或或i=i-1i=i-1,再使用,再使用i i值)值) 后置后置 i+,i- (i+,i- (先使用先使用i i值值, ,再执行再执行i=ii=i+1+1或或i=i-1i=i-1) /k=4,j=4/k=4,j=4/k=3,j=4/k=3,j=4/4/4/3/3/c=20,a=4/c=20,a=4/c=15,a=4/c=15,a=44. 4. 自增自减自增自减运算符、符号运算符运
26、算符、符号运算符 负号运算符(负号运算符(“- -”) 减号()既是一个算术运算符,又是一个负号运算符。负号减号()既是一个算术运算符,又是一个负号运算符。负号运算符是单目运算符。例如:运算符是单目运算符。例如:a = 2a = 2,那么,那么a a的值就是的值就是2 2。负号运。负号运算符的优先级比较高,与强制类型转换符是同一个级别。算符的优先级比较高,与强制类型转换符是同一个级别。 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c48 自增、自减运算符注意事项自增、自减运算符注意事项+和和-运算符只能用于变量,不能用于常量运算符只能用于变量,不能用于常
27、量和表达式。和表达式。 因为因为+和和-蕴含着赋值操作。蕴含着赋值操作。 例如:例如:5+5+、-(a+ba+b)都是非法的表达式。)都是非法的表达式。在表达式中,连续使同一变量进行自增或自在表达式中,连续使同一变量进行自增或自减运算时,很容易出错,所以最好避免这种减运算时,很容易出错,所以最好避免这种用法。用法。 例如:例如:+i+i+是非法的。是非法的。自增、自减运算,常用于循环语句中,使循自增、自减运算,常用于循环语句中,使循环控制变变量加(或减)环控制变变量加(或减)- -,以及指针变,以及指针变量中,使指针指向下(或上)一个地址。量中,使指针指向下(或上)一个地址。4. 4. 自增自
28、减自增自减运算符、符号运算符运算符、符号运算符语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c49 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c5. 算术运算符中数据类型转换规则 506. 位运算符、位运算表达式 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c517. 7. 逗号运算符、逗号表达式逗号运算符、逗号表达式 。 /1,2,3/1,2,3/3,2,3/3,2,3语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c528. sizeof运算符、复合运算符 sizeof 10l 其值也是其值也是4 4 unsigned long a = 2; sizeof (a) 其值也是其值也是4 4 语语言言程程序序设设计计教教程程 第第二二版版第第三三章章 基基本本数数据据类类型型c533.5 运算符的优先级和结合性(附录运算符的优先级和结合性(附录d)优优 先先 级级运运 算算 符符需要操作数的个数需要操作数的个数结结 合合 性性高高低低( )从左向右从左向右 + - -(负号运算符)(负号运算符) sizeof
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年深海矿产资源勘探技术深海矿产资源勘探技术装备研发与培训与考核报告
- 2025年航空货运市场格局分析与发展战略研究报告
- 篮球场合同合作合同范本
- 粪肥运输合同协议书模板
- 电池置换合同协议书模板
- 门窗厂投资入股合同范本
- 生产经营权转让合同范本
- 精装房装修出租合同范本
- 高标农田服务协议书模板
- 江苏叉烧酱采购合同范本
- 新版《医疗器械经营质量管理规范》(2024)培训试题及答案
- 糖尿病的治疗模板
- 职业培训机构收费及退款政策管理制度
- 生态园区建设施工合同要点
- 事业单位法人证书丢失管理改进措施
- 生理学课件全套课件
- 心内科叙事护理
- 农药采购项目方案投标文件(技术方案)
- 《正弦、余弦函数的性质-第一课时(周期性和奇偶性)》名师课件2
- 2024年部编版七年级语文上册全程电子课本
- 设备吊装作业施工方案
评论
0/150
提交评论