一、逻辑运算符
&& 逻辑与
表达式1 && 表达式2
1 1 1
1 0 0
0 1 0
0 0 0
口诀:与0为0,与1不变
特点:当表达式1结果为真的时候,会继续判断表达式2的结果,但如果表达式1的结果为假,则不会去判断表达式2是否成立
|| 逻辑或
表达式1 || 表达式2
1 1 1
1 0 1
0 1 1
0 0 0
口诀:或0不变,或1为1
特点:当表达式1不成立时,继续判断表达式2的结果,当表达式1成立时,则不会判断表达式2是否成立
! 逻辑反
真变成假 假变为真
!0 1
!非0值 0
!250 0
二、位运算符
1、& 按位与 将两个数值进行按位与运算
2、| 按位或
3、~ 按位取反 不用管符号位,直接取反
4、^ 异或 相同为0,不同为1
注意:最好不要拿自身和自身异或
数据交换
int a = 15 , b = 20;
1、中间变量
int c;
c = a;
a = b;
b = c;
2、算术运算
a = a + b;
b = a - b;
a = a - b;
3、异或
a = a ^ b;
b = a ^ b;
a = a ^ b;
5、左移(逻辑左移) << 不需要关心符号位,后面补0
6、>> (算术右移)需要考虑符号位,前面补符号位 如果原来是正数,则补0
如果原来是负数,则补1
快速置0
将第n位置0
a = a & ~(1 << n)
将第n位快速置1
a = a | (1 << n)
三、特殊运算符
四、逗号运算符
a = (表达式1,表达式2,表达式3);
a = (x = 1,y = 2,x + y);
结果为最后一个表达式的结果
sizeof运算符
计算数据或者数据类型所占内存空间大小
五、条件运算符(三目运算符)
? :
表达式1?表达式2:表达式3
判断表达式1的结果,如果表达式1成立,则输出表达式2的结果,如果不成立,则输出表达式3的结果
六、输入输出
输入:input 写 输入设备--》内核---》用户
输出:output 读 用户---》内核---》输出设备
三大手册
info
help
man 1 Executable programs or shell commands shell 命令
2 System calls (functions provided by the kernel) 系统调用
3 Library calls (functions within program libraries) 库函数
七、二制前导符 0b
八进制前导符 0
十六进制前导符 0x
八、1、格式化输出函数
printf
#include <stdio.h>
int printf(const char *format, ...);
功能:打印格式控制串
参数:1、格式控制串
格式控制符
d 有符号的十进制整数
o 八进制数
x 十六进制数
u 打印无符号十进制数
f 输出浮点型数据
e 以科学计数法的方式打印浮点型数据
g 自动匹配
c 打印单个字符
s 打印字符串
2、输出表
% 修饰符 格式控制符
m 提供m个字符的空间存放输出结果,默认右对齐
.n 保留小数点后n位
- 将默认右对齐改为左对齐
l 修饰d,o,x的时候会将数据转化为long类型,修饰f,e,g则会转化为double类型
# 原型输出
返回值:成功返回打印的字符个数,失败返回一个负值。
&:取地址符
格式化输入函数
scanf
#include <stdio.h>
int scanf(const char *format, ...);
功能:从键盘获取一个数据
参数:1、格式控制串
2、地址表
分隔符:空格 tab 回车
返回值:输入数据正确的个数
修饰符:抑制符
*
2、输出单个字符
putchar
功能:输出单个字符
参数:字符对应的ascii值
返回值:返回输出字符对应的ascii值
获取单个字符
getchar
功能:从键盘获取单个字符
参数:无
返回值:返回获取到的字符对应的ascii码值
3、输出字符串
puts
int puts(const char *s);
功能:输出字符串
参数:字符串首地址
返回值:成功返回一个非负值,失败返回EOF(-1);
puts:自带换行
输入字符串
gets
char *gets(char *s);
功能:从键盘获取字符串
参数:存放字符串的空间
返回值:字符串首地址
printf的“%s”以及puts都是遇到‘\0‘截止
原文地址:https://www.cnblogs.com/epll/p/11386103.html