C语言之数据类型与运算符

总结用于复习C语言,主要是根据浙大翁恺老师的慕课总结的

数据类型:

1、整数:
char、short、int、long、long long
2、浮点数:
float、double、long double
3、逻辑:
bool
4、指针
5、自定义类型
前面四种是基础类型

大小:

可以通过 sizeof() 来判断(sizeof() 不会对括号中的表达式进行计算,sizeof是静态运算符,结果在编译时就决定了)
下面是在我的机器上运行检查各种数据类型大小的结果:
sizeof(char)=1
sizeof(int)=4
sizeof(short)=2
sizeof(long)=8
sizeof(float)=4
sizeof(double)=8
sizeof(long double)=16

整型讲解:

计算机内部整型主要是补码运算
一般情况 int 表达的就是机器寄存器的字长
类型选择:现代计算机,若没有特殊要求整型就选int

浮点数讲解:

要点:
1、并不是所有的浮点数都可以计算机被表示出来
所以两个浮点数直接判断相等是可能失败的:
f1 == f2 可能失败
应该使用差来判断两个浮点数是否相等:
fabs(f1-f2)<1e-8
2、格式化输出浮点数:
%.3f,保留小数点后3位(会四舍五入)
%e,科学计数法输出
3、浮点数的选择:没有特殊需要就选double

字符类型讲解

要点:
1、char 也是一种整数,所以两个字符也可以相减,比如:'Z'-'A'得到25(码距)
2、输入输出字符用 %c,也可以以%d输出,对应以ASCII码表
3、转义字符

类型转换:

自动类型转换:

当运算符两边出现不一致类型时,自动转换成较大的类型
char -> short -> int -> long -> long long
int -> float -> double
printf ,任何小于int的类型会转成int;float会转成double
scanf不会,要输入short,需要%hd

强制类型转换:

格式:(类型)值
如:(int)10.2
注意,可能会转换后数值可能会改变成你不认识的,如int32768转成char是0;而转成short会变成 -32768
他做的只是截取,然后辨认输出,不会改变那个量

逻辑类型讲解:

要点:
1、要 #include <stdbool.h> 引入这个头文件之后,就可以使用bool和true、false
2、C语言的bool类型实际上也是一个整型,没有一种特殊的格式化让printf输出true或false比如:
bool b = 6>5;
printf("%d\n",b); //输出1
b = 2; //编译可以通过

运算符:

逻辑运算:

!:逻辑非
&&:逻辑与
||:逻辑或
例子:
c>='A'&&c<='Z' //判断c是否是大写字母
优先级:
!> && > ||
注意点:
&&和||有短路的特性,这个有利于程序快速判断出结果,但是如果后面的表达式含有赋值操作,那么这个操作也不会做了
如:a == 6 && a++==7
如果前面a==6为假,后面不会执行,a也不会+1,所以不要吧赋值组合进逻辑表达式

条件运算符: ... ? ... : ...

例: m<n ? x : a+5 //如果m<n为真,表达式值为x,否则值为a+5
注意点:不要使用嵌套的条件表达式,否则程序可读性太差

逗号运算符:连接两个表达式,用右边的表达式的值作为整个表达式的值

表达式1 , 表达式2
计算过程是:先算表达式1,再算2,整个表达式的值是2的值
没有特别多的用处主要是用在for语句中
要注意:C中逗号运算符的优先级最低

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,817评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,329评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,354评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,498评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,600评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,829评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,979评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,722评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,189评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,519评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,654评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,329评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,940评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,762评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,993评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,382评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,543评论 2 349

推荐阅读更多精彩内容