C语言学习
程序员文章站
2022-07-15 09:05:47
...
文章目录
基本数据类型、运算符及表达式
基本数据类型
- 基本类型
- 整型
- 实型
- 字符型
- 枚举型
- 构造类型
- 数组类型
- 结构体类型
- 共用体类型
- 指针类型
- 空类型
常量
- 整型常量:十进制(不能以0开头)八进制(0开头)十六进制(0x 0X开头)
- 实型常量:十进制小数or指数形式
- 符号常量:标识形式 PI
- 字符型常量:字符常量‘\’转义字符标识 字符串常量“ ”
变量
变量名 变量类型 变量值(初始化)
运算符及其表达式
-
运算符(单目、双目、三目)目➡️对象
- 优先性
- 结合性 单目三目 赋值—右结合 双目—左结合
- 表达式
-
算术运算符与算术表达式
- 基本算术运算符
- 自增自减运算符:++ –
- 算术表达式
-
赋值运算符与赋值表达式
- 赋值运算符(=)
- 赋值表达式(=)
- 类型转换(以=左边数据类型为准)
- 复合的赋值运算符(-= **+= ** *= **%=)
-
逗号运算符和逗号表达式:用逗号连接多个表达式
-
不同类型数据间的混合运算与数据转换
算法
- 算法概念
- 有穷性 确定性 可行性 有输入 有输出
- 算法的评价标准
- 正确性 可读性 健壮性(对非法输入的抵抗能力)高效率和低存储量的需求
- 算法的表示
- 流程图
- N-S结构流程图
结构化程序设计的方法
- 自顶向下:先全局后细节(自顶向下,逐步细化)
- 模块化:将大任务分成较小的部分 模块内部联系要紧密,关联程度要高 模块之间的接口要简单 模块间数据传递要少
- 限制使用goto语句:清晰第一,效率第二
程序的基本结构
- 顺序结构
- 选择结构
- 循环结构
- 当型循环:先判断条件再执行程序➡️假时输出
- 直到型循环:先执行程序再判断条件⤴️
顺序结构程序设计
- 表达式语句:即 ;
- 空语句:直接由;构成
- 函数调用语句
- 复合语句:即{}
- 控制语句:条件判断语句(if、switch)循环语句(for、while、do-while)转移语句(goto、continue、break、return)
数据的输入和输出
-
数据的输入与输出
- I/O函数 即stdio.h
-
字符数据的输入与输出
-
字符输出函数putchar() 输入没有“” 而是(‘/n’)a='c’putchar(a)
-
字符输入函数getchar(输一个字符按一个回车) getch(一次输入)不将输入的字符回显 getche(一次输入) 输入不是
getchar(“ ”)
而是getchar(‘/n’)
a='c';getchar(a)
-
字符串的输入输出函数:
gets()
puts()
没有(“”)
可以字符串数据包括(字符串常量、字符指针、字符数组)
-
-
格式的输入与输出
- scanf()格式穿原样输入格式说明d(十进制)、o(八进制)、x(十六进制)、c(字符)、s(字符串)、f(实数小数形式或指数形式)、e(=f)附加格式说明符l(长整型)、h(短整型)、n(域宽 正整数 指明截取位数)、*****(跳过
scanf("%2d% *3d%d",&a,&b
123456a=12,b=6
) - printf() 格式说明d/i(带符号的十进制整数)、o(八进制无符号)、e/E(标准指数形式输出 e小写or大写)、x(十六进制无符号小写or大写ABCD)、u(无符号十进制)、c(字符)、s(字符串)、f(小数默认小数点后6为)、g(自动选择f or e 不输出无意义的0) 附加格式说明符l(长整型or长双精度)、m(域宽 十进制)、n(附加域宽 指定小数部分 十进制)、-(数据左对齐)、+(输出+号)、#(作为o ox的前缀输出结果前加前导符0 0x)
- scanf()格式穿原样输入格式说明d(十进制)、o(八进制)、x(十六进制)、c(字符)、s(字符串)、f(实数小数形式或指数形式)、e(=f)附加格式说明符l(长整型)、h(短整型)、n(域宽 正整数 指明截取位数)、*****(跳过
- 算法概念
选择分支结构程序设计
关系运算
-
关系运算符
大于 小于 等于 小于等于 大于等于 不等于
-
关系表达式
- 逻辑值是 0 or 1
- 字符数据可以转换成ASCII码
- 区别于数学表达式
- =vs==
逻辑运算
- 逻辑运算符 && || ! 自左至右 得出结果后不用继续算
- 逻辑表达式 结果只有两种真或假
二路分支-if语句
- 简单if语句 记得加{}
- if-else语句
- if-else-if
- if语句的嵌套
条件运算符与表达式
表达式1?表达式2:表达式3
- 单目>双目>三目>赋值>逗号
多路分支-switch语句
switch(表达式)
{
case 常量1:语句1;break;
case 常量2:语句2;break;
case 常量3:语句3;break;
default:语句n+1;break;
}
-
switch语句的嵌套
循环结构程序设计
while语句
while(条件表达式){循环体语句}
do-while语句
do {循环体语句} while 条件表达式
for语句
-
for(循环控制变量赋初值;循环控制变量<=终值;循环控制变量增值)
循环体语句
goto语句
- 跳转语句
循环的嵌套
-
for循环
for( ; ; ) { ... for( ; ; ) {...} ... }
-
do-while循环
do { ... do {...} while(); ... } while();
-
while循环多层嵌套
while() { ... while() {...} ... }
-
不同类型的循环的相互嵌套
while() { ... for( ; ; ) { ... do {...}while(); ... } ... }
break和continue语句
-
continue语句(只在循环体中)
- 对于while do-while:跳过循环体中continue后面的 去判断下次的条件
- 对于for语句:是跳过continue后面的 去执行语句3
-
break语句(只在switch语句或循环体中)
- 结束整个循环不在判断条件成立与否
}
…
}
```
break和continue语句
-
continue语句(只在循环体中)
- 对于while do-while:跳过循环体中continue后面的 去判断下次的条件
- 对于for语句:是跳过continue后面的 去执行语句3
-
break语句(只在switch语句或循环体中)
-
结束整个循环不在判断条件成立与否
-
只能跳出一层循环体
-
上一篇: 使用 Nacos 作为服务注册中心
下一篇: printf格式化输出