导图社区 C语言学习内容
C语言
语法
数据类型
字符
char
ASCII表
大写字母小写字母如何转换
数字和字符的区别
1字节
内存中存储的是ASCII表对应的数字
整数
int
系统不同,内存size不同,一般4字节
unsigned
无符号
有符号无符号数值范围不同
short
一般2字节
long
一般4字节
浮点数
float
单精度
double
双精度
数值精度比float更高
输入输出
scanf
后面的参数是变量地址
取地址符 &
printf
后面的参数是变量
格式控制字符串
%d
%c
%f
%lf
%04.1f
宽度控制
负数:左对齐
正数:右对齐
不足补0
小数点位数控制
字符串
结构体
数组
指针
表达式
赋值
等号右边赋值给等号左边
计算表达式
+-*/
整数除法,结果是整数
%
计算两个数是否能整除
把数字限制在某个范围内
++,--
++x 和 x++的区别
优先级
逻辑表达式
比较
>, >=, <, <=
是否相等
==,!=
和赋值语句的区别!
取反
!
关系
&&, ||
计算结果
是数字
0 - 假
非0 - 真
所有表达式都有计算结果
语法是正确的,但不一定是想要的结果
3<a<5
先计算 3<a,再计算3<a得到的结果(逻辑表达式的结果,0或1)是否小于5,结果必然为真(1)
注意和 (3<a) && (a<5) 有区别
if (a=0)
a=0 赋值表达式,结果是0,逻辑结果为假
语句
表达式语句
末尾加分号
选择分支语句
if (逻辑值) 子语句A else 子语句B
switch (变量) { case 常量1: 子语句A 常量2: 子语句B default:子语句C }
循环语句
while (逻辑值) 子语句A
当逻辑值为真,执行子语句A
当逻辑值为假,结束循环,不执行子语句A
for (子语句A 子语句B 子语句C) 子语句D
子语句A
进入循环之前执行的语句(只执行一次)
子语句B
是否继续执行循环的判断条件(每次循环之前执行)
子语句C
每次循环之后执行的语句
子语句D
每次循环执行的语句(循环体)
do 子语句 while (逻辑值);
执行子语句
当逻辑值为真,继续循环(再次执行子语句)
当逻辑值为假,结束循环
末尾有分号
复合语句
{子语句1 子语句2 ... 子语句N }
顺序逐条执行子语句
子语句可以是任意语句
表达式
选择分支
循环
复合语句
语句是顺序执行的
流程控制
break 可跳出当前的循环语句或选择分支语句(switch)
continue 跳过循环内后面的语句,继续执行下一次循环
goto 直接跳转到任意位置继续执行
exit(数值) 立即结束程序
函数
算法
穷举法