C语言程序设计课堂总结3

这个系列是用来解决学校C语言课程的,并不适用于ACM和OI

本系列博客分为2部分,分别是 C语言程序设计笔记(网课) 和 课堂总结(线下课)

欢迎转载ssw02的博客: https://www.cnblogs.com/ssw02/p/15994555.html


C语言程序设计课堂总结3

笔记里面大多数都有了,有需要可以到寻路贴自取,这次主要补充一些知识

转义字符

什么是转义字符?反斜线后面跟一个字符或者一个代码值表示,用于表示常见的那些不能显示的ASCII字符

常见的转义字符如下:

image

强制类型转换

我们可以在一定范围和规则内进行数据类型的强制转换(和隐性转换相对)

例如

int a , c = 5 ; double b = 3.1415
a = (int)b ; // a = 3  强制把b转换为Int类型的值赋给了a,但b本身不变
b = (double)c // b = 5.000000

几个易混点:

  1. (int)a+b 和 (int)(a+b) 不一样,强制转换成的数据类型名称一定要打括号,不然报错

  2. double强制转换给int时会直接舍去小数部分,其他的可以类推

  3. 转换时注意数据范围大小,long long 转给 float 就可能会爆(溢出)

  4. 强制转换时注意有符号转为无符号会出现一定的问题如下图

image

转换高低级的表格如下:double为我们所接触到的最高的数据类型

image

这里补充一个我三年前跳过的坑,今天上课老师居然单独提了,出现下图情况时按右侧存储变量的类型存储

image

常见运算符以及表达式

这里补个图当做总结,其他的可以参考笔记那个系列上的内容

image

解释一下单目运算符、双目运算符和三目运算符:

单目,就是只对一个变量或者常量进行操作

双目,就是把一个表达式分为左右两部分来看

三目运算符,但就是把表达式分为三部分来看

优先级问题

这里附上一个优先级表格,基本够解决C语言程序设计里面所有涉及优先级的问题了

image

做运算的时候一定要遵循优先级,看清楚是从左到右 还是 从右到左

短路问题

image

位运算由于不属于表达式,并不会像例如&&这类逻辑运算符一样出现短路问题

一些习题

image

image

posted @ 2022-03-15 20:21  蓝银杏-SSW  阅读(64)  评论(0编辑  收藏  举报
//结束