完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
3.1数据 代表一个事物的属性: 人:姓名,身高,体重,年龄… 例如: 姓名:张三 身高:173cm/1.73m 体重:66kg 年龄:60年 3.2数据类型概念:同一类型的数据,把数据分门别类,相似的数据就分为一类,组合起来就叫数据类型 3.2.1数据类型的分类 数据类型的分类,分为两大类:第一类:基本数据类型,第二类:非基本数据类型 基本数据类型:char(字符型),short(短整型),int(整型),float(单精度浮点型),double(双精度浮点型),signed(有符号) ,unsigned(无符号),long(长整型) 数据数据类型的单词在C语言中称为关键字 非基本数据类型:1)构造数据类型(数组,结构体,共用体,枚举,链表) 2)指针类型(地址类型) 3)空类型(void) Signed char==char 实际上就是存储一个字符,就是通过特定的整型数据来存储一个字符(去查ASCII码表) 数据: 字符,整型 长度:1字节 取值范围: 总共可以表示2^8=256种状态,具体的范围是:-2^7---2^7-1 扩展: 如果你想输出一个字符%c, 例子:
如果你想要输入输出整型数据%d, 例子: K代表是1024=2^10 k代表的是1000 注意: Printf(“%cn”,x); 练习:把小写字母’z’,转换成大写字母‘Z’,并通过printf打印出来 数据:整型,字符 长度: 4字节 取值范围: 总共可以表示的状态为:2^32,具体范围:-2^31---2^31-1 扩展: 如果你想输出一个字符%c, 例子: 如果你想要输入输出整型数据%d, 例子: 单精度浮点型float,实型,精确到小数点后6位 数据: 实型 长度: 4字节 取值范围: 1bit(符号位)+8bits(整数部分指数位)+23bits(小数部分指数位) 例子:-2^8.2^23---2^8.2^23-1 扩展:输出浮点型的数据 如果你想输入或者输出一个浮点型%f, 例子: 双精度浮点型double,可以精确到小数点后15位 数据: 实型 长度: 8字节 取值范围: 1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位) 扩展:输出浮点型double的数据 例子: 如果你想输出一个浮点型%lf, 例子: 例子:类型不匹配问题 注意: 只能修饰整型或者字符型 验证: 1)signed(有符号) 当修饰char类型时,跟char一样 当修饰int类型时,跟int一样 2)unsigned(无符号) 2.1)unsigned char 数据: 整数,字符 大小: 1字节 取值范围:总共可以表示2^8状态,具体范围0---255 扩展: 如果你想输出一个无符号字符%u 例子: 2.2)unsigned int 数据: 整数,字符 长度: 4字节 取值范围: 总共可以表示2^32种状态,具体范围0---2^32-1 扩展: 如果你想输出一个无符号字符%u 例子:如上 短整型 只能修饰int 验证: 验证short==short int 数据: 整数,字符 大小: 2字节 取值范围:有符号:总共是2^16种状态,具体范围-2^15---2^15-1 无符号: 总共是2^16种状态,具体范围0---2^16-1 长整型 只能修饰整型和double 验证: 数据:实型 大小: 4字节 具体范围:有符号:-2^31---2^31-1 无符号:0---2^32-1 变量的概念: 数据在程序运行过程当中会改变的量 例如:int a=10;//声明一个int类型变量a a=20; 变量名属于标识符一种,需要根据标识符的命名规则去命名 标识符:程序员自己命名的名字 例如:int a;//a就是变量名 3.2.3.2变量值变量值存储在内存中,不同的类型的变量名占用不同的字节大小 比如:int a=10;//10就是变量值 变量存放在内存单元中的地址 例子: 结论:变量是存在内存当中,一个变量只有一个地址,数据类型就是为了告诉电脑我们需要存储多少个地址值 定义(声明)写法: 基本数据类型 变量名; 比如: char a;//声明一个char类型变量名为a 注意:要用一个变量的时候一定要给他声明或定义 1) 声明: 基本数据类型 变量名; 例子:int a; 2)赋值:在声明或者定义后,再给变量给值 例子: int a; a=10; 10=a; 3)初始化:在声明或者定义的同时赋值 例子:int a=100;//初始化 标识符:在C语言当中程序员自己定义的名字都叫做标识符,就要必须遵守标识符发命名规范,关键字(不能作为标识符) 标识符的组成: 1) 数字 2) 26个英文字母,区分大小写 3) 下划线 4) $ 1)字母 2)下划线 3)$ 练习: 下面哪些标识符是合法的 1) include //yes 2) ^_^ //no符号不包含 3) $_$ //yes 4) printf // 5) come on // no符号不包含 6) www.baidu.com // no符号不包含 7) if // no 关键字不可以作为标识符 8) default // no 关键字不可以作为标识符 9) ss_你 // no符号不包含 10) 12_a // no 数子不可以作为开头 11)scanf 3.2.5.2C语言的32个关键字1. 类型关键字 (12个) char short int long float double unsigned signed struct enum union void 2. 存储类别关键字(4个) auto static register volatile 3.控制语句 (12个) if else switch case default do while for goto break return continue 4.其它的关键字(4个) sizeof typedef extern const 注意:1)预定于标识符 include,printf,scanf,预定于标识符的名字,可以被挪威用户自定义标识符,但是最好不要去用,因为从定义的那一刻,这个标识符就已经不具备以前的功能,而是变成自己定义的功能 例如: 2)用户自定义标识符 变量名,数组名,结构体名,枚举名,共用体名,函数名,goto的标识等等,都是属于用户自己的标识符 定义: 例如: 整型常量举例: 整型常量在我们计算机当中是以什么样的方式去存储的? 是以二进制的补码去存储 原码: 反码: 分情况 补码:1)正数: 2)负数: 例子:char a=9; 原码: 补码: char a=-9; 原码: 反码: 补码: 1)二进制 例如: 2)八进制 表现形式:0d(d为任何数0-7) 例如: 2) 十六进制 表现形式:0xd(d任何数0-f) 例如: 3) 十进制 1)二进制 1.1)二进制转为十进制 1100 0110 转换: 1.2)二进制转8进制 111 0011 从低位开始看,每3位一看,如果最后一次不足以3位,就用0补齐 转换: 1.3)二进制转为16进制 111 0011 从低位开始看,每4位一看,如果最后一次不足以4位,就用0补齐 转换: 2)十进制 十进制转为二进制 例如: 长除法: 推荐直接用计算器 指用一个单引号引起来的字符比如:’a’,’2’,那这就叫做字符型常量 注意:一定要分清字符型常量中的’2’和2相混淆,字符型常量对应的是ASCII的整数. 例如: 3.3.2还有一些特殊的字符型常量 1)表示单引号(‘)字符: 2)表示反斜杠()这个字符: 也就是一串字符组成的字符串 表达: 比如:”abc123” 也就是这里面有很多个字符,记住是字符不是数字,”2”不等于2,字符串是以’ ’为结束标志,这个是转义字符( ),代表的就是字符串结束 那也就是用来计算字节数 用法:sizeof(表达式)//表达式可以是数据类型或者表达式,比如”abcd” 例如: 注意: 1)printf(“%s”,”’”);是可以 ‘’’其实就是相当于”(一个字符)” C语言中表示字符的一种特殊形式,用来表示ASCII码表中不能打印或者有特殊功能的字符 a:响铃 b:退格 f:换页 t:横向制表 n:换行 含义: 格式: 格式控制:要输出的数据转换成指定的格式输出,它总是由%开头紧跟着是格式描述符,可以出现精度的控制 输出项表:可以是表达式,变量,函数,常量,输出的项表的结合方向,自右向左 3.4.2scanf标准输入函数 表现形式: 注意: 1)%s用来输出字符串 2)在%s里面如果输入了一个空格,会被当成字符串的结束符 例如: 3)两个%s%s是连在一起,一次性输入,可以通过空格的方式来分割这两个字符串 例如: 3.4.2scanf里出现类似精度控制的形式 1)%xs 等于读取x个字符作为这个字符串的成员. |
|
相关推荐
|
|
1950 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1809 浏览 3 评论
4389 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1960 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2463 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 10:07 , Processed in 0.708975 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号