c语言总结(二数据类型)

本文主要介绍了C语言中的数据类型,包括常量数据(如整形、浮点型、字符型和字符串)、变量定义、变量赋值及类型转换的规则。此外,还详细讲解了算术运算符、关系运算符、逻辑运算符以及赋值运算符的用法,并阐述了运算符的优先级和结合性。
摘要由CSDN通过智能技术生成

2.1常量数据

(1)整形常量:

十进制:日常生活使用的数据。

八进制:以0开头,后面位数没有要求。

十六进制:以0X开头,后面位数没有要求。

注意:八进制里数值最高是7,十六进制最高是F

(2)实型常量:又叫浮点型,分为单精度和双精度,所谓精度是指所表达精确程度的大小。指数会在选这题中遇到,其需注意的是e(不分大小写)前必须有数字,且e后必须是整数。

(3)字符常量:用单引号括起来的一个字符,例如 ’ a ’, ’ 1 ’等这些都叫字符常量。

(4)字符串常量:用双引号括起来的字符,例如a”,“china”等等。

注意:a”和‘a’完全不一样!

2.2变量定义

类型说明符 变量名:

类型说明符顾名思义就是你要定义的类型是什么,而变量名就是通过这个名字去找到这个变量。

为了减小奇异性,编程要求变量名不应是C语言预设名,例如intfor,等等。(编译器通常会把他们变成别的颜色)

类型说明符有:

类型

名称

储存空间(单位字节)

char

字符型

1

int

整形

2

float

单精度浮点数

4

double

双精度浮点数

8

变量定义实例:

char a;//a定义成字符型,它用来储存字符。

int  a;//a定义为整形,它用来储存整形数。

2.3变量的赋值

变量赋值时要使用赋值符号=”,就是将右边的值传给左边,赋值符号(最好)左右两边类型相同,如果不相同就类型转换了,数组与变量不可以转换。

实例:

int a=5;

char b=’a’ ;

错误赋值:

char b=”a”;

因为将b定义为字符型,而赋值为字符串型。字符串只能储存在数组或指针中,将在后面提及。

注:变量赋值可能会出现溢出,每个数据类型都有其表示范围,其表示范围就是2^[(字节个数)*8-1],如果有特殊要求可以使用类型修饰符,但是不太常用,自己了解。

2.4类型转换

类型转换有两种形式,一个是自动类型转换,一个是强制类型转换。

听名字也知道自动类型转换是系统进行自动的转换,强制类型转换是编程人员强制将类型转换成所需要的类型,

(1)自动类型转换

     就是在计算时先将类型转换成相同类型,再计算,那么如何转换成相同类型成为关键,规律就是字节小的像字节大的转换(依旧满足类型修饰符),例如intchar进行计算,那么结果就是int型的。唯一不满足这个规律的就是float,这个就是将它单拿出来记忆,float与除了float类型就行计算结果都是double

(2)强制类型转换

     (类型说明符)表达式;

例如:

(int )a;//就是将a强制类型转换为整形。有可能编译器下方会出现警告,提示精度缺失。

 

2.5运算符和表达式

运算符就是一个符号,表达式是一个式子,切记无“;”,例如a+b这就是一个表达式,但是a+b;这就不是一个表达式。

算术运算符

就是日常生活中的四则运算,但多了一个%,这个是取余运算,就是结果是余数,例如9%2结果就是1,其他的与小学的算法没有什么不一样的,但运算时候应该注意两边的运算的类型,比如9/2结果4,如果这个例子你还想要思考的话,那就应该看看数据类型转换那地方啦,两边都是int型结果依旧是四,但是有时候我们要的是带有小数的,那就进行类型转换。

关系运算符

关系运算符说白了就是两个数或表达式的关系,结果无非就是真和假,在系统看来,非0就是真,所以负数也是真,这是系统识别是的数时的判断,但机器反馈给我们的就是固定的了,真为1,假为0。(函数返回值除外,因为他们有固定的返回值,返回值是有固定的含义的)。

关系运算符有<=”,“>=”,“<”,“>”,“==”,“!=”这几个,有人总是把“!”和“!=”弄混淆,分不清,其实很好区分的,就看!后有没有=,所以看见!,一定要看他后面是什么。符号用途应该也不用说,就是怎么写怎么读,就像的一个“小于等于”,当然最后一个不是“感叹等于”啦,它是不等号。

注:==”在判断时很常见,很多人都会少个等号,导致变成赋值的,那么判断结果就是恒为真或假。

逻辑运算

逻辑运算就是我们高中学过的逻辑判断,就三个符号&&”“||”“!”,与,或,非。

与:就是和嘛,也就是两个都得意思,所以是两个都满足才为真。

或:同上,就是它或它满足即可,所以是两个其中一个瞒住就可以。

非:没啥说的,就是真变假,假变真。(变真就是变为1

赋值运算

分为基本赋值和复合赋值,基本就是=”,复合就是“算数运算符+基本赋值”,遇见它就可以把它换成一个表达式。例如“a+=b”它就可以转化为“a=a+b”就是说ab加完,赋值给a

自增自减运算

一共有四个,可以分成两种a++”,“a--”,“++a”,“--a”就是符号在前面就先计算,符号在后面就把这个语句执行完在计算,尽管这样对这个语句无影响,但对那个值自身有影响。

逗号运算符

就是在“,”赋值时候很常见比如:int a,b;这样就是a,b都是int型。如果在题中,就是将最后一个赋值给=左边的那个数,但,前的表达式依旧执行,所以值依旧会变。

条件运算符

表达式1?表达式2:表达式3

几乎没用,就是可以类比成if...else

优先级比价

一共有十五个优先级: 

1   ()  []  .  ->

2   !  ~   -(负号) ++  --   &(取变量地址)*   type(强制类型)    sizeof 

3   * / %

4   + - 

5   >> <<  

6   > >= < <= 

7   == !=   

8   &  

9   ^   

10  |   

11  &&

12  ||

13  ?:

14   =  +=  -=  *=  /=   %=  |=   ^=   &=   >>=   <<=

15  ,

就着多吧   结合性:2   13  14  是从右至左  

口诀
括号成员第一;        //括号运算符[]() 成员运算符.  ->

全体单目第二;        //所有的单目运算符比如++-- +()-() 、指针运算*&乘除余三,加减四;   //这个""是指取余运算即%

移位五,关系六;    //移位运算符:<< >> ,关系:> < >= <=

等于()不等排第七;    //== !=

位与异或和位或;    //这几个都是位运算: 位与(&)异或(^)位或(|)    

"三分天下"八九十;  

逻辑或跟与;            //逻辑运算符:|| &&

十二和十一;            //注意顺序:优先级(||)  底于 优先级(&&) 

条件高于赋值,        //三目运算符优先级排到13 位只比赋值运算符和","

逗号运算级最低!    //逗号运算符优先级最低 

优先级是考试常考计算,没什么窍门就是先算优先级高的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值