发 帖  
原厂入驻New
[资料] C语言基本数据类型,变量和常量
2020-1-16 11:33:32  1265 c语言
分享
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,
        例子:
1.png
        如果你想要输入输出整型数据%d,
        例子:
2.png
        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,
        例子:
3.png
        如果你想要输入输出整型数据%d,
        例子:
4.png
3.2.2.3浮点型float
        单精度浮点型float,实型,精确到小数点后6
        数据: 实型
        长度: 4字节
        取值范围: 1bit(符号位)+8Bits整数部分指数位+23bits小数部分指数位)
                        例子-2^8.2^23---2^8.2^23-1
                               
扩展:输出浮点型的数据
        如果你想输入或者输出一个浮点型%f,
        例子:
5.png
       
3.2.2.4浮点型double
        双精度浮点型double,可以精确到小数点后15
        数据: 实型
        长度: 8字节
        取值范围: 1bit(符号位)+ 11bits(指数位)+ 52bits(尾数位)
扩展:输出浮点型double的数据
例子:
        如果你想输出一个浮点型%lf,
        例子:
6.png
例子:类型不匹配问题
7.png 8.png
3.2.2.5数据类型的修饰符(signed)(unsigned)
注意:        只能修饰整型或者字符型
验证
9.png
        1)signed(有符号)
                修饰char类型时,char一样
               
        修饰int类型时,int一样
       
       
        2)unsigned(无符号)
                2.1)unsigned char
        数据: 整数字符
        大小: 1字节
        取值范围:总共可以表示2^8状态具体范围0---255
扩展:
               
        如果你想输一个无符号字符%u
        例子:
10.png
2.2)unsigned int
        数据: 整数,字符
        长度: 4字节
       
        取值范围:  总共可以表示2^32状态,具体范围0---2^32-1
扩展:
               
        如果你想输一个无符号字符%u
        例子:如上
               
3.2.2.6short==signed short==signed short int
短整型
只能修饰int
验证
9.png
验证short==short int
12.png
数据: 整数,字符
大小: 2字节
取值范围:有符号:总共2^16状态,具体范围-2^15---2^15-1
                        无符号: 总共2^16状态,具体范围0---2^16-1
       
3.2.2.7long==long int==signed long int
        长整型
        只能修饰整型和double
验证
13.png
数据实型
大小: 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变量的地址
变量存放在内存单元中的地址
例子:
14.png
结论:变量是存在内存当中,一个变量只有一个地址,数据类型就是为了告诉电脑我们需要存储多少个地址值
3.2.4定义,初始化,赋值
定义(声明)写法: 基本数据类型 变量名;
比如:        char a;//声明一个char类型变量名为a
               
注意:要用一个变量的时候一定要给他声明或定义
15.png
1) 声明  基本数据类型 变量名;
例子:int a
2赋值:在声明或者定义后,再给变量给值
例子 int a;
           a=10;
           10=a;
                 
3初始化:声明或者定义的同时赋值
例子int a=100;//初始化
16.png
3.2.5标识符
标识符:C语言当中程序员自己定义的名字都叫做标识符,就要必须遵守标识符发命名规范,关键字(不能作为标识符)
标识符的组成:
1) 数字
2) 26个英文字母,区分大小写
3) 下划线
4) $
17.png
3.2.5.1哪些字符可以作为标识符的开头
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 数子不可以作为开头
11scanf       
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,预定于标识符的名字,可以被挪威用户自定义标识符,但是最不要去用,因为从定义的那一刻,这个标识符就已经不具备以前的功能,而是变成自己定义的功能
例如:
18.png
2)用户自定义标识符
        变量名,数组名,结构体名,枚举名,共用体名,函数名,goto的标识等等,都是属于用户自己的标识符
3.2.6常量
定义:
例如
3.2.6.1整型常量
整型常量举例:
整型常量在我们计算机当中是以什么样的方式去存储的?
是以二进制的补码去存储
原码:
反码: 分情况
补码:1)正
                2负数:
例子:char a=9;
        原码
       
        补码
        char a=-9;
        原码:
        反码:
        补码
                       
                               
                  
3.2.6.2C语言中整型常量的表示方式
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函数
含义:
格式:
19.png
格式控制:要输出的数据转换成指定的格式输出,它总是由%开头紧跟着是格式描述符,可以出现精度的控制
输出项表:可以是表达式,变量,函数,常量,输出的项表的结合方向,自右向左
3.4.2scanf标准输入函数
        表现形式:
注意:
1)%s用来输出字符串
2)%s里面如果输入了一个空格,会被当成字符串的结束符
例如
3)两个%s%s是连在一起,一次性输入,可以通过空格的方式来分割这两个字符串
例如
3.4.2scanf里出现类似精度控制的形式
        1)%xs
等于读取x个字符作为这个字符串的成员.
嵌入式单片机C语言学习交流QQ群:195723435
5
9.png
10.png
分享淘帖 显示全部楼层
· 2020-1-22 15:53:37
这是给大家普及C语言啊,挺好的,坚持,谢谢!
· 2020-1-31 22:00:52
不错,很好的经验分享,辛苦麻烦了,欠缺这方面的资料,非常感谢
· 2020-2-5 13:09:41
普及C语言啊,挺好的
· 2020-2-8 11:34:30
看都看不懂  怎么能记住啊?

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发资料
关闭

站长推荐 上一条 /5 下一条

快速回复 返回顶部 返回列表