3.程序结构
3.程序结构
目录
{{" - [程序结构](#%E7%A8%8B%E5%BA%8F%E7%BB%93%E6%9E%84) - [算数运算符](#%E7%AE%97%E6%95%B0%E8%BF%90%E7%AE%97%E7%AC%A6) - [范围判断要点](#%E8%8C%83%E5%9B%B4%E5%88%A4%E6%96%AD%E8%A6%81%E7%82%B9) - [逗号运算符](#%E9%80%97%E5%8F%B7%E8%BF%90%E7%AE%97%E7%AC%A6) - [除 /](#%E9%99%A4-) - [取余 %](#%E5%8F%96%E4%BD%99-%25) - [三目运算符 的原理和应用情况](#%E4%B8%89%E7%9B%AE%E8%BF%90%E7%AE%97%E7%AC%A6-%E7%9A%84%E5%8E%9F%E7%90%86%E5%92%8C%E5%BA%94%E7%94%A8%E6%83%85%E5%86%B5) - [](#) - [运算符优先级](#%E8%BF%90%E7%AE%97%E7%AC%A6%E4%BC%98%E5%85%88%E7%BA%A7) - [类型转换](#%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2) - [程序流程结构](#%E7%A8%8B%E5%BA%8F%E6%B5%81%E7%A8%8B%E7%BB%93%E6%9E%84) " | markdownify }}程序结构
算数运算符
范围判断要点
if(10<a<15)
- 先判断 10<a ;若不成立 ,10<a 结果为0
- 在判断 0<15 ;成立,结果为1 即真
- 不等价于 判断 a 是否在该范围内
- 应用 && 运算符来实现
逗号运算符
**逗号运算符,最终结果是最后一个表达式的结果
例:int c = (a++,b++,a+b,10,200,a+b); —— c = a+b;
除 /
- 两数相除,若要得到小数,必有一个是 double 类型 或 float类型 。
- 转换double类型方法 例:7*1.0;
取余 %
三目运算符 的原理和应用情况
三目运算符是 if else 的简写
- example:
- if (a>b)
{
c=a;
}
else
{
c=b;
}
等价于 c=a>b?a:b;
- if (a>b)
#
运算符优先级
优先级 | 运算符 | 名称或含义 | 使用形式 | 结合方向 | 说明 | ||
1 | [] | 数组下标 | 数组名[常量表达式] | 左到右 | -- | ||
1 | () | 圆括号 | (表达式)/函数名(形参表) | -- | |||
1 | . | 成员选择(对象) | 对象.成员名 | -- | |||
1 | -> | 成员选择(指针) | 对象指针->成员名 | -- | |||
2 | - | 负号运算符 | -表达式 | 右到左 | 单目运算符 | ||
2 | ~ | 按位取反运算符 | ~表达式 | ||||
2 | ++ | 自增运算符 | ++变量名/变量名++ | ||||
2 | -- | 自减运算符 | --变量名/变量名-- | ||||
2 | * | 取值运算符 | *指针变量 | ||||
2 | & | 取地址运算符 | &变量名 | ||||
2 | ! | 逻辑非运算符 | !表达式 | ||||
2 | (类型) | 强制类型转换 | (数据类型)表达式 | -- | |||
2 | sizeof | 长度运算符 | sizeof(表达式) | -- | |||
3 | / | 除 | 表达式/表达式 | 左到右 | 双目运算符 | ||
3 | * | 乘 | 表达式*表达式 | ||||
3 | % | 余数(取模) | 整型表达式%整型表达式 | ||||
4 | + | 加 | 表达式+表达式 | 左到右 | 双目运算符 | ||
4 | - | 减 | 表达式-表达式 | ||||
5 | « | 左移 | 变量«表达式 | 左到右 | 双目运算符 | ||
5 | >> | 右移 | 变量>>表达式 | ||||
6 | > | 大于 | 表达式>表达式 | 左到右 | 双目运算符 | ||
6 | >= | 大于等于 | 表达式>=表达式 | ||||
6 | < | 小于 | 表达式<表达式 | ||||
6 | <= | 小于等于 | 表达式<=表达式 | ||||
7 | == | 等于 | 表达式==表达式 | 左到右 | 双目运算符 | ||
7 | != | 不等于 | 表达式!= 表达式 | ||||
8 | & | 按位与 | 表达式&表达式 | 左到右 | 双目运算符 | ||
9 | ^ | 按位异或 | 表达式^表达式 | 左到右 | 双目运算符 | ||
10 | ** | ** | 按位或 | 表达式 | 表达式 | 左到右 | |
11 | && | 逻辑与 | 表达式&&表达式 | 左到右 | 双目运算符 | ||
12 | ** | ** | 逻辑或 | 表达式 | 表达式 | ||
13 | ?: | 条件运算符 | 表达式1?表达式2: 表达式3 | 右到左 | 三目运算符 | ||
14 | = | 赋值运算符 | 变量=表达式 | 右到左 | -- | ||
14 | /= | 除后赋值 | 变量/=表达式 | -- | |||
14 | *= | 乘后赋值 | 变量*=表达式 | -- | |||
14 | %= | 取模后赋值 | 变量%=表达式 | -- | |||
14 | += | 加后赋值 | 变量+=表达式 | -- | |||
14 | -= | 减后赋值 | 变量-=表达式 | -- | |||
14 | «= | 左移后赋值 | 变量«=表达式 | -- | |||
14 | >>= | 右移后赋值 | 变量>>=表达式 | -- | |||
14 | &= | 按位与后赋值 | 变量&=表达式 | -- | |||
14 | ^= | 按位异或后赋值 | 变量^=表达式 | -- | |||
14 | ** | =** | 按位或后赋值 | 变量 | =表达式 | -- | |
15 | , | 逗号运算符 | 表达式,表达式,… | 左到右 | -- |
类型转换
类型的转换 — 所需要的类型和给的类型不匹配,需要转换 强制转换 — *(需要转的类型)原来的数据类型 **强制转换宗旨:
- 数据不丢失。
- 大的数据类型转小的数据类型时 ,只会保留低位 的数据。
- 为了数据不丢失,一般是小的数据转大的**
int a = 3;
double b =(double)a;
printf(“%d\n”,(int)3.14);
printf(“%lf\n”,(double)a);
程序流程结构
C 语言支持最基本的三种程序运行结构分别是:
- 顺序结构
- 选择结构 if else… switch
if 条件里面 建议 数字写前面
- 循环结构 for whlie…
### 跳转语句 break continue goto
- break 跳出switch 或者离 break 最近的循环
- continue 跳过本次循环
- goto 无条件跳转
- 例:
1 2 3 4 5 6 7 8
#include <stdio.h> int main() { goto End; printf("aaa\n"); End: printf("bbb\n"); }
- 例:
This post is licensed under CC BY 4.0 by the author.