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)3.2.2基本数据类型3.2.2.1字符型char(如果数据类型前面没有修饰关键字,那默认的就是有符号) Signed char==char 实际上就是存储一个字符,就是通过特定的整型数据来存储一个字符(去查ASCII码表) 数据: 字符,整型 长度:1字节 取值范围: 总共可以表示2^8=256种状态,具体的范围是:-2^7---2^7-1 扩展: 如果你想输出一个字符%c, 例子: 如果你想要输入输出整型数据%d, 例子: K代表是1024=2^10 k代表的是1000注意: printf(“%c\n”,x);练习:把小写字母’z’,转换成大写字母‘Z’,并通过printf打印出来3.2.2.2整型int(如果数据类型前面没有修饰关键字,那默认的就是有符号)数据:整型,字符长度: 4字节取值范围: 总共可以表示的状态为:2^32,具体范围:-2^31---2^31-1扩展: 如果你想输出一个字符%c, 例子: 如果你想要输入输出整型数据%d, 例子: 3.2.2.3浮点型float 单精度浮点型float,实型,精确到小数点后6位 数据: 实型 长度: 4字节 取值范围: 1bit(符号位)+8Bits(整数部分指数位)+23bits(小数部分指数位) 例子:-2^8.2^23---2^8.2^23-1 扩展:输出浮点型的数据 如果你想输入或者输出一个浮点型%f, 例子: 3.2.2.4浮点型double 双精度浮点型double,可以精确到小数点后15位 数据: 实型 长度: 8字节 取值范围: 1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)扩展:输出浮点型double的数据例子: 如果你想输出一个浮点型%lf, 例子: 例子:类型不匹配问题 3.2.2.5数据类型的修饰符(signed)和(unsigned)注意: 只能修饰整型或者字符型验证: 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 例子:如上 3.2.2.6short==signed short==signed short int 短整型只能修饰int验证: 验证short==short int 数据: 整数,字符大小: 2字节取值范围:有符号:总共是2^16种状态,具体范围-2^15---2^15-1 无符号: 总共是2^16种状态,具体范围0---2^16-1 3.2.2.7long==long int==signed long int 长整型 只能修饰整型和double验证: 数据:实型大小: 4字节具体范围:有符号:-2^31---2^31-1 无符号:0---2^32-1 3.2.3变量变量的概念: 数据在程序运行过程当中会改变的量例如:int a=10;//声明一个int类型变量a a=20;3.2.3.1变量名变量名属于标识符一种,需要根据标识符的命名规则去命名标识符:程序员自己命名的名字例如:int a;//a就是变量名3.2.3.2变量值变量值存储在内存中,不同的类型的变量名占用不同的字节大小比如:int a=10;//10就是变量值 3.2.3.3变量的地址变量存放在内存单元中的地址例子: 结论:变量是存在内存当中,一个变量只有一个地址,数据类型就是为了告诉电脑我们需要存储多少个地址值3.2.4定义,初始化,赋值定义(声明)写法: 基本数据类型 变量名;比如: char a;//声明一个char类型变量名为a 注意:要用一个变量的时候一定要给他声明或定义 1) 声明: 基本数据类型 变量名;例子:int a;2)赋值:在声明或者定义后,再给变量给值例子: int a; a=10; 10=a; 3)初始化:在声明或者定义的同时赋值例子:int a=100;//初始化 3.2.5标识符标识符:在C语言当中程序员自己定义的名字都叫做标识符,就要必须遵守标识符发命名规范,关键字(不能作为标识符)标识符的组成:1) 数字2) 26个英文字母,区分大小写3) 下划线4) $ 3.2.5.1哪些字符可以作为标识符的开头1)字母2)下划线3)$练习:下面哪些标识符是合法的1) include //yes2) ^_^ //no符号不包含3) $_$ //yes4) 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 void2. 存储类别关键字(4个) auto static register volatile 3.控制语句 (12个) if else switch case default do while for goto break return continue4.其它的关键字(4个)sizeof typedef extern const注意:1)预定于标识符include,printf,scanf,预定于标识符的名字,可以被挪威用户自定义标识符,但是最好不要去用,因为从定义的那一刻,这个标识符就已经不具备以前的功能,而是变成自己定义的功能例如: 2)用户自定义标识符 变量名,数组名,结构体名,枚举名,共用体名,函数名,goto的标识等等,都是属于用户自己的标识符3.2.6常量定义:例如:3.2.6.1整型常量整型常量举例:整型常量在我们计算机当中是以什么样的方式去存储的?是以二进制的补码去存储原码:反码: 分情况补码:1)正数: 2)负数:例子:char a=9; 原码: 补码: char a=-9; 原码: 反码: 补码: 3.2.6.2在C语言中整型常量的表示方式1)二进制 例如: 2)八进制 表现形式:0d(d为任何数0-7) 例如:2) 十六进制 表现形式:0xd(d任何数0-f) 例如:3) 十进制3.2.6.3进制转换1)二进制1.1)二进制转为十进制1100 0110转换:1.2)二进制转8进制111 0011从低位开始看,每3位一看,如果最后一次不足以3位,就用0补齐转换:1.3)二进制转为16进制111 0011从低位开始看,每4位一看,如果最后一次不足以4位,就用0补齐转换: 2)十进制十进制转为二进制例如:长除法:推荐直接用计算器3.3字符常量3.3.1字符型常量指用一个单引号引起来的字符比如:’a’,’2’,那这就叫做字符型常量注意:一定要分清字符型常量中的’2’和2相混淆,字符型常量对应的是ASCII的整数.例如: 3.3.2还有一些特殊的字符型常量1)表示单引号(‘)字符:2)表示反斜杠(\)这个字符:3.3.2字符串常量也就是一串字符组成的字符串表达:比如:”abc123” 也就是这里面有很多个字符,记住是字符不是数字,”2”不等于2,字符串是以’\0’为结束标志,这个是转义字符(\0),代表的就是字符串结束那也就是用来计算字节数用法:sizeof(表达式)//表达式可以是数据类型或者表达式,比如”abcd”例如:注意:1)printf(“%s”,”’”);是可以‘’’其实就是相当于”(一个字符)”3.3.3转义字符C语言中表示字符的一种特殊形式,用来表示ASCII码表中不能打印或者有特殊功能的字符\a:响铃\b:退格\f:换页\t:横向制表\n:换行3.4标准数据输入和输出函数数据输入3.4.1 printf函数含义:格式: 格式控制:要输出的数据转换成指定的格式输出,它总是由%开头紧跟着是格式描述符,可以出现精度的控制输出项表:可以是表达式,变量,函数,常量,输出的项表的结合方向,自右向左3.4.2scanf标准输入函数 表现形式:注意:1)%s用来输出字符串2)在%s里面如果输入了一个空格,会被当成字符串的结束符例如:3)两个%s%s是连在一起,一次性输入,可以通过空格的方式来分割这两个字符串例如:3.4.2scanf里出现类似精度控制的形式 1)%xs等于读取x个字符作为这个字符串的成员.嵌入式单片机C语言学习交流QQ群:195723435 3本主题由 elecfans短短 于 2020-1-16 14:00 添加图标 推荐
|
共1条
1/1 1 跳转至页
C语言基本数据类型,变量和常量
共1条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
vscode+cmake搭建雅特力AT32L021开发环境被打赏30分 | |
【换取逻辑分析仪】自制底板并驱动ArduinoNanoRP2040ConnectLCD扩展板被打赏47分 | |
【分享评测,赢取加热台】RISC-V GCC 内嵌汇编使用被打赏38分 | |
【换取逻辑分析仪】-基于ADI单片机MAX78000的简易MP3音乐播放器被打赏48分 | |
我想要一部加热台+树莓派PICO驱动AHT10被打赏38分 | |
【换取逻辑分析仪】-硬件SPI驱动OLED屏幕被打赏36分 | |
换逻辑分析仪+上下拉与多路选择器被打赏29分 | |
Let'sdo第3期任务合集被打赏50分 | |
换逻辑分析仪+Verilog三态门被打赏27分 | |
换逻辑分析仪+Verilog多输出门被打赏24分 |