![第2讲C语言数据概述_第1页](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/c3713c22-0f5f-4f08-857b-943abcce61b9/c3713c22-0f5f-4f08-857b-943abcce61b91.gif)
![第2讲C语言数据概述_第2页](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/c3713c22-0f5f-4f08-857b-943abcce61b9/c3713c22-0f5f-4f08-857b-943abcce61b92.gif)
![第2讲C语言数据概述_第3页](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/c3713c22-0f5f-4f08-857b-943abcce61b9/c3713c22-0f5f-4f08-857b-943abcce61b93.gif)
![第2讲C语言数据概述_第4页](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/c3713c22-0f5f-4f08-857b-943abcce61b9/c3713c22-0f5f-4f08-857b-943abcce61b94.gif)
![第2讲C语言数据概述_第5页](http://file3.renrendoc.com/fileroot_temp3/2021-12/21/c3713c22-0f5f-4f08-857b-943abcce61b9/c3713c22-0f5f-4f08-857b-943abcce61b95.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章 基本数据类型基本数据类型 著名计算机科学家沃思提出:程序数据结构算法程序数据结构算法+程序设计语言程序设计语言举一个例子:以考生各科成绩及总分排队问题为例。 考生成绩的存放 以数组形式 排队方法 算法数据数据运算符和表达式运算符和表达式主要内容主要内容数据类型数据类型构造类型指针类型空类型void定义类型typedefC数据类型基本类型字符类型char枚举类型enum整 型实型单精度型float双精度型double数组结构体struct共用体union短整型short长整型long整型int数据类型决定:1. 数据占内存字节数2. 数据取值范围3. 其上可进行的操作数据类型总表基
2、本数据类型基本数据类型类型类型 符号符号关键字关键字数的表示范围数的表示范围所占位数所占位数整型整型字符型字符型实型实型有有无无(signed)int16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short16065535有有float323.4e-383.4e38有有double641.7e-3081.7e308有有char8-128127无无unsigned char80255标识
3、符标识符 标识符标识符用于给程序中的用于给程序中的等操作对象的命名。等操作对象的命名。1 1系统标识符系统标识符具有固定名字和特定含义的标识符具有固定名字和特定含义的标识符分为分为关键字关键字和和预定义标识符预定义标识符 2 2用户定义标识符用户定义标识符 用于对用户使用的用于对用户使用的变量、数组、函数变量、数组、函数等等操作对象进行命名。必须符合操作对象进行命名。必须符合C C对标识对标识符的规定符的规定。 关键字关键字 对标识符的规定对标识符的规定 n用户定义标识符用户定义标识符n必须以必须以字母字母或或下划线下划线“_”_”开头开头n不能含有除字母、数字和下划线不能含有除字母、数字和下
4、划线“_”_”外的其他字符外的其他字符n标识符可以为任意长度,但只能识别标识符可以为任意长度,但只能识别3131个字符个字符n 区分大小写区分大小写n正确区分哪些是合法标识符,哪些是不合法标识符。Abc 2x student m+y a# b-4let x%y name wtm Ctrl _1常量和符号常量常量和符号常量 三种表示形式三种表示形式 十进制 ddd U| u 八进制 0OOO + 整型后缀 十六进制0XHHH L| l例: 100, 0144, 0 x64 均表示十进制整数100.整型常量的类型整型常量的类型:默认默认类型类型:由数值范围确定。U|u:unsigned L|l:l
5、ong int 例:123L、32768u、432l、0 x100l注意:注意:l十六进制十六进制常量中可以使用大写常量中可以使用大写AF,也可以使用小写,也可以使用小写af。八八进制进制常量中不能出现数字常量中不能出现数字 8 或或 9。例如:。例如:018、0921非法非法整数的存储整数的存储main( ) unsigned int m; m= 65448; printf(nm=%dn,m); printf(m=%un,m); 按有符号数输出按有符号数输出按无符号数输出按无符号数输出0000 0000 0101 10001111 1111 1010 1000实型常量实型常量 (浮点常量)n
6、小数形式小数形式 1.0 1. +12.0 -12.0 0.0n指数形式指数形式 1e3 1.8e-3 -123E-6 -.1E-3 小数形式小数形式 F| f + 实型后缀 指数形式指数形式 L| l 两种表示形式类型类型符Byte绝对值的范围有效数字410-38 103878 位810-308 103081516位1010-4931 1049321819位 指数只能是整数指数只能是整数,而尾数则可以是整数也可以是,而尾数则可以是整数也可以是小数小数 ,无论指数或尾数均不能省略,无论指数或尾数均不能省略 例如:例如: 非法非法 实实型常量的类型型常量的类型:默认为:默认为型,后面加型,后面加
7、(或(或 ),则强调表示该数是),则强调表示该数是float类型类型 例如:例如:3.5 、1e2 字符和字符串常量字符和字符串常量 n字符常量字符常量是用是用单引号单引号括起的括起的一个字符一个字符n例如:例如:A、1、a、 nn字符 A 字节n字符串字符串是用是用双引号双引号括起的括起的一个字符序列一个字符序列n例如:例如:ABC、123、a、 nt nGood morningn字符串常量的长度字符串常量的长度 :n所包含的字符个数所包含的字符个数 n字符串常量的存储方式字符串常量的存储方式: n G o o dm orni n g 0a0所占存储单元数:所占存储单元数:串长度串长度1例如
8、:例如:字符串字符串结束标记结束标记65 0 1 0 0 0 0 0 1字符和字符串常量字符和字符串常量语言预定义的转义字符语言预定义的转义字符 转义字符转义字符 ASCIIASCII码码 含含 义义 a 0 x07 a 0 x07 响铃符(响铃符(BEL-BellBEL-Bell) n 0 x0A n 0 x0A 换行符(换行符(LF-LineFeedLF-LineFeed) t 0 x09 t 0 x09 水平制表符(水平制表符(HT-HorizontalTableHT-HorizontalTable) v 0 x0B v 0 x0B 垂直制表符(垂直制表符(VT-VerticalTabl
9、eVT-VerticalTable) b 0 x08 b 0 x08 回退符(回退符(BS-BackspaceBS-Backspace) r 0 x0D r 0 x0D 回车符(回车符(CR-CarriageReturnCR-CarriageReturn) f 0 x0C f 0 x0C 换页符(换页符(FF-FormFeedFF-FormFeed) 0 x5C 0 x5C 反斜线(反斜线( ) ? 0 x3F ? 0 x3F 问号(问号(? ? ) 0X27 0X27 单引号(单引号() “ 0X22 “ 0X22 双引号(双引号(”“” ”“” ) oooooo 0 x00-0 xff 0
10、 x00-0 xff 八进制字符常数八进制字符常数 xhhxhh 0 x00-0 xff 0 x00-0 xff 十六进制字符常数十六进制字符常数 为什么用为什么用表示一个表示一个?变量变量 n在程序运行过程中,其值改变的数据,称为变量,变量用标识符表示,称为变量名变量名。n变量必须“先定义后使用先定义后使用”n系统为变量分配存储单元存储单元,存储变量的值。 n编写程序时通过变量名来存、取变量值变量值。为变量分配的为变量分配的存储单元存储单元变量定义变量定义: 数据类型说明符 变量列表;例如:int i, j; long k, m; float x,y; char ch1,ch2; 必须使用必
11、须使用合法的标识符合法的标识符作作变量名变量名 不能用关键字不能用关键字作为变量命名作为变量命名变量初始化变量初始化3.3.允许在说明变量的时候对允许在说明变量的时候对。例如例如:int a=5,b=10+2; double x=23.568,y ; char ch1=a,ch2=66,ch3=142; 表示定义变量并对变量存储单元赋值。错误的初始化:错误的初始化: int a=3+b,b=5; float m=n=23.16; 变量的值主要通过赋值变量的值主要通过赋值(assignment)(assignment)运算改运算改变。变。例如:例如:利用变量利用变量t t交换变量交换变量x x和
12、和y y的值的值 t = x;x = y;y =t;t = x;x = y;y =t;tyx 变量赋值变量赋值整型变量整型变量整型数据的内部表示一般采用补码形式。整数有三种不同的尺寸:位的字符整数、16位的短整数和32长整数。 n : 用“int”定义n : 用“short int”或 “short”定义n : 用“long ”或 “long int ”定义n :用unsigned来定义。它包括 : unsigned int :unsigned short :unsigned long实型变量实型变量 1n单精度实型数据单精度实型数据 float,分配分配4 Byten双精度实型数据双精度实型
13、数据double,分配,分配 8 Byten长双精度实型数据长双精度实型数据long double,分配,分配10 Byte 2例如: float balance; double weight=0; long double distance; 编译程序会为变量编译程序会为变量balance分配分配4个字节,为变量个字节,为变量weight分配分配8个字节,为变量个字节,为变量distance分配分配10个字节。个字节。char /unsigned char 变量名列表; char c=0; c=a; c=“a”; 错! c=“IBM”; 错! unsigned char 型 与 int 型通用
14、与互换(ASCII码范围内).例:大小写转换例:大小写转换, 加密加密.main( )char c1,c2; c1=A;c2=B; printf(“c1=%c,c2=%cn”,c1,c2);n 运算符运算符: + : + 、- - 、* * 、/ / 、% %、+、-n 运算符运算符: = = = = !=n 运算符运算符: ! & |n 运算符运算符: = =n 运算符运算符: ,n 运算符运算符: & | n 运算符运算符: ? :n 运算符运算符 sizeof( )sizeof(int)=2 , sizeof(float)=4, sizeof(1.0)=8关于算术运算符的
15、几点说明关于算术运算符的几点说明:1. “取模取模(求余求余)” 运算符只能用于整型运算符只能用于整型2. 当两个操作数都是整数时当两个操作数都是整数时,表示表示“整除整除” 如如: 15/2=7 16/3=5 1/3=03. 1)单独使用时单独使用时,效果一样效果一样 k=3; +k; k+; 2)作为运算元素和其它一起参加运算时作为运算元素和其它一起参加运算时,结果不一样结果不一样 例例如如: k=4 ; x=5; +k + x (10,k=5) k+ + x (9,k=5)1.有一个四位数有一个四位数abcd,请将其变换成,请将其变换成cdab。例如,例如,12343412;2.将实数将
16、实数x进行进行四舍五入四舍五入,保留小数点后,保留小数点后两两位有效数字位有效数字。例如,。例如,123.45678123.46;2. x y+1 ab+1 x0 1327 结果为 13bc的值为0 a0 = b0 表示a、b要么都是正数,要么都不是整数,等价于 ( a0) =( b0) 在逻辑表达式的求解中,并不是所有的在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。运算符才能求出表达式的解时,才执行该运算符。求解方法求解方法:只有:只有a a为真(非为真(非0 0),才需要
17、判断),才需要判断b b的值,的值,只有只有a a和和b b都为真,才需要判断都为真,才需要判断c c的值。只要的值。只要a a为假,为假,就不必判断就不必判断b b和和c c,运算立即中止。,运算立即中止。 4.构造一个构造一个C语言逻辑表达式,判别键盘按语言逻辑表达式,判别键盘按下的是不是下的是不是字母键。字母键。2.用用C表达式描述数学表达式表达式描述数学表达式“abc”;3.写出和写出和C语言逻辑表达式语言逻辑表达式“!x”等价的表等价的表达式;达式;1.用用C表达式描述数学表达式表达式描述数学表达式“axb”;1.赋值表达式赋值表达式 x=5; a=(b=c); a=b=c; a=(
18、b=5)+(c=4);2.复合的赋值表达式复合的赋值表达式 int a ,b,c; a=10;b=20;c=a+b; a=a+b a+=b; a=a*k a*=k;3.复合赋值复合赋值运算符运算符 += - = *= /= %= =与位运算符一起也可以构成复合的赋值运算符,例如= |= &| = = 结果是 结果是 (C语言中唯一的三元运算符) if (e1 ) e2; else e3; 例如: if (ab ) max=a; else max=b; 高 初等运算 单目运算 算术运算 关系运算 逻辑运算(除 ! 外) 条件运算 赋值运算 低 逗号运算 指运算数与运算符的结合方向. 单、
19、三目及赋值运算 自右向左结合 其余 自左向右结合C允许不同类型的量混合运算。隐式 . 低字长、低精度向长字长、高精度转换。 2. 逐步进行。 高 Double float long unsigned 低 int short char 赋值时以左边变量为准. 图中图中“ ” : 表示低表示低, 高型数据运算时高型数据运算时,均先转均先转换为高型。换为高型。例例: 10+ a+i f d /l其中其中:i int f float d double l long 10+a: 转为转为int, 结果为结果为int i f: 转为转为double, 结果为结果为double 10+a + i f : 转
20、为转为double d /l : 转为转为double 10+ a+i f d /l转为转为double则运算时则运算时: 格式: 例: printf (“ %f ”, 2/3); printf (“ %f ”, ( float) 2/3 ); printf (“ %f ”, (float)(2/3);2.7.1 数组数组 数组是数组是具有一定顺序关系具有一定顺序关系的若干的若干同类型同类型变量的集合体变量的集合体. 组成数组的变量称为组成数组的变量称为数组的元素数组的元素. 数据类型数据类型 数组名数组名 数组大小数组大小 如如: int a5; 5个整型数组成的一维数组个整型数组成的一维数
21、组 float x10; char s12; int arr23; 两行三列的二维数组两行三列的二维数组 数组元素的下标从数组元素的下标从0开始开始,且必须是整型的常量和变量且必须是整型的常量和变量. int a5; a0 a1 a2 a3 a4 int arr23; a00 a01 a0 2 a10 a11 a12 2.7 数组和指针初步数组和指针初步 int a5; int arr23; 数组名代表了数组首地址数组名代表了数组首地址(第一个元素的地址第一个元素的地址),是是一个常量一个常量,用用a 或或a0表示表示。a0a1a2a3a4arr00arr01arr02arr10arr11arr12 2. 数组的存储方式 在定义的同时在定义的同时, ,可以对数组进行初始化可以对数组进行初始化, ,一维一维数组,数组,如如: : intint b5=1,2,3,4,5; b5=1,2,3,4,5;或或 intint b =1,2,3,4,5; b =1,2,3,4,5;二维二维数组,如:数组,如: intint a23=1,3,5,2,4,6; a23=1,3,5,2,4,6;或或 intint a 3=1,3,5,2,4,6; a 3=1,3,5,2,4,6; 3. 数组的初
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北大学知行学院《web应用开发基础课程设计》2023-2024学年第二学期期末试卷
- 江苏电子信息职业学院《药学综合实验》2023-2024学年第二学期期末试卷
- 成都银杏酒店管理学院《EDA技术》2023-2024学年第二学期期末试卷
- 浙大宁波理工学院《空间数据库》2023-2024学年第二学期期末试卷
- 西安文理学院《文化产业政策与法规》2023-2024学年第二学期期末试卷
- 南阳职业学院《医学与法学专题讲座》2023-2024学年第二学期期末试卷
- 广东第二师范学院《关学概论》2023-2024学年第二学期期末试卷
- 辽宁广告职业学院《机器人传感与检测技术》2023-2024学年第二学期期末试卷
- 2025年济南货运从业资格证模拟考试题库及答案
- 2025年数字运传燃气表、水表、电表合作协议书
- 中压电力线载波通信技术规范
- 周志华-机器学习-Chap01绪论-课件
- YB∕T 4146-2016 高碳铬轴承钢无缝钢管
- 多图中华民族共同体概论课件第十三讲先锋队与中华民族独立解放(1919-1949)根据高等教育出版社教材制作
- 第三单元《交流平台与初试身手》课件语文六年级下册
- (2024年)TPM培训讲义课件
- (2024年)物联网概述课件pptx
- 高考英语单词3500(乱序版)
- 《社区康复》课件-第五章 脊髓损伤患者的社区康复实践
- 北方、南方戏剧圈的杂剧文档
- 康复科st科出科小结
评论
0/150
提交评论