千里之行,始于足下。基础还是得老老实实打好。基础要是不扎实,越往后学越麻烦。
C语言基础知识表
预处理 | ||
数据类型 | ||
运算符和表达式 | ||
控制流 | ||
函数,变量 | ||
数组 | ||
指针 | ||
结构,联合,枚举 |
数据类型是基本到不能再基本的东西,就像盖房子里面的砖头,基础的不能再基础的东西。盖一座漂亮豪华的房子是很麻烦的,就和学习C++一样麻烦。需要基础的材料,需要整个房子框架的设计,需要房间的具体结构,需要买家具等摆设物件,需要安装线缆等等。
盖房子需要丰富的材料,比如,老砖,瓷砖等很多材料。C语言中也提供了丰富的数据类型数据类型,以便可以完成不同的需求和功能。可以分为以下几个类型:
数据类型 | 功能说明 | 表示形式 |
布尔型 | 就是逻辑运算的“是”和“否” | |
整型 | 就是整数,包括正数,0,负数 | 十进制:129,-129,不能以0开头 八进制:012,-012,以0开头 十六进制:0x18F,-0x18f,以0x开头 |
浮点型 | 就是带小数点的 | 一般形式:12.5,-12.5 指数形式:0.12E+2,-23.2E-3 |
double型 | 双精度浮点型 | |
字符型 | 用单引号‘’括起来的字符 | 转义字符: 可以用ascii来表示 |
字符串 | 用双引号“”括起来的字符序列, 字符串每个字符占一个字节,并在末尾添加/o作为结束标识 | 例如:要输出 Please enter “yes” or “no” “please enter /”Yes/” or /”no/”” ”要转义才能显示 |
上面的一些数据类型,就是C++提供的基本的数据类型,像不同的砖块,各有各的用途,故宫的宫殿,用的琉璃瓦,用的大理石,普通家庭用的红砖,瓷砖, 等等,都是为了不同的需求。C++提供的丰富的数据类型,也是为了尽可能的满足需要。
另外,C++还提供符号常量,比如Pi=3.1415926,可以直接使用Pi来代替3.1415926这个输入比较麻烦,经常使用的数字
const float pi=3.1415926;注意符号常量声明时要赋初值,程序中不能被改变
相应于各种数据类型,产生了各种运算符和表达式,由什么运算符连接的表达式就叫什么表达式
运算符 | 说明 | |
算数运算符 | 加,减,乘,除,自增,自减 | i++,运行完后i自增1,++i,i先自增1,再运行 |
赋值运算符 | 等于(=) +=,—=,*=,/=,%= <<=,>>=,&=,^=,|=, | 从右向左结合 a+=3,表示a=a+3 x*=y+8,表示x=x*(y+8) a+=a-=a*a表示a=a+(a=a-a*a) |
逗号运算符 | 表达式1,表达式2 | 先求解表达式1,再求解表达式2,最终结果为表达式2的值 |
逻辑运算 | 关系运算符,用来比较,判断 逻辑运算符,用来逻辑分析 结果都为布尔型 | 关系运算符:<,<=,>,>=,==,!=,等于和不等于的运算优先级低 优先级从高到低,!(非),&&(与),||(或) |
条件运算符 | C++中唯一的三元运算符 表达式1?表达式2:表达式3 | 先求解表达式1,若为真,则求解表达式2,表达式2的结果为最终 结果,若为假,则求解表达式3,表达式3的值为最终结果 优先级:赋值运算符 <条件运算符> <逻辑运算符,> 结合方向:自右向左 |
sizeof操作符 | 用来计算某种类型的对象在内存中所占的字节数。 | 语法如下:izeof(类型名) sizeof(表达式) |
位运算 | 与 或 异或 取反 左移位 右移位 | 按位与,的目的是将操作数中的若干位 置0 按位或,可以将操作数的若干位 置1 按位异或,可以将指定位翻转 按位取反,每一位取反 左移位,移位后,低位补0,高位舍弃 按指定的位数对一个数的二进制右移,低位舍弃,高位补0或符号位 |
混合运算时数据有时候需要转换,包括隐含转换和强制转换,隐含转换是安全的,精度没有损失。强制转换是不安全的,一次性的。
以上是盖一座自己的漂亮的房子,所需要的基础材料。有了这些材料,才可以开始盖房子。所以说,盖房子是件挺麻烦的事情。