目录
1. 运算符
1.1 位运算符
1.1.1 位运算 ~
1.1.2 位逻辑与 &
1.1.3 位逻辑或 |
1.1.4 位逻辑异或 ^
1.1.5 位移位运算
1.1.6 将无符号位的某位快速置 1
1.2 三目运算符
1.3 逗号运算符
1.4 运算符优先级
2. 输出
2.1 字符输出函数
2.2 格式输出函数
2.3 字符串输出函数
3. 输入
3.1 字符输入函数
3.2 格式输入函数
3.3 垃圾遗留
3.4 字符串输入函数
1. 运算符
算术运算符 关系运算符 逻辑运算符老生常谈
需要记住:
算术运算符 :float 与 double 数据类型的变量不可以进行取余操作
逻辑运算符:&&(与)都为真才为真(数字 1 表示真,0 表示假);|| (或)有一个为真便为真
1.1 位运算符
嵌入式开发中使用 C 语言的位运算符
其运算效率比算术运算符的效率要高;
涉及硬件时离不开寄存器,可以借助位运算对数据进行修改
1.1.1 位运算 ~
以下测试中,char 声明为无符号型,取反时符号位也要参与计算
1.1.2 位逻辑与 &
1.1.3 位逻辑或 |
1.1.4 位逻辑异或 ^
1.1.5 位移位运算
1.1.6 将无符号位的某位快速置 1
1.2 三目运算符
表达式1 ? 表达式 2 :表达式 3
即表达式 1 成立,执行 表达式 2 ,表达式 1 不成立,执行 表达式 3
1.3 逗号运算符
作用:按从左到右的顺序依次执行每个子表达式,并返回最后一个子表达式的值。
1.4 运算符优先级
2. 输出
2.1 字符输出函数
格式:putchar( c )
c 为字符常量,变量或表达式
2.2 格式输出函数
格式:printf ( “%m.nd/x/o”,a )
按指定格式向显示器输出数据
%md:m < 该数的位数,按实际输出;若大于,输出数前面有空格;
%m.nf:保留小数点后 n 位,域宽为 m ;
0:左边空格补 0 ;
+:有符号的正整数前显示正号;
2.3 字符串输出函数
格式:puts ()
说明:使用其会自动换行
3. 输入
3.1 字符输入函数
格式:getChar( ) ;
从键盘读一个字符,返回读取的代码值,出错或结束返回 -1
3.2 格式输入函数
格式:scanf (”格式控制串“,地址表 ) ;
scanf 使用时记得使用取地址符:&
以空格作为字符串输入结束的标志
输入十六进制,输出 十进制;
获取 scanf 输入数据的个数:
scanf 中 %md 的使用:自动划分输入的数据
抑制符:*
字符型变量输入:用 “ %c ” 格式符时,空格和转移字符作为有效字符输入
(对于整数:输入时按空格,tab 键,回车都不影响最后的输出)
3.3 垃圾遗留
如下,输入整数之后,遗留的“回车”会输入到 scanf ("%c",&x) ,成为垃圾符号
影响下一次字符的输入
方法一:添加 getchar( ) ;
方法二:scanf ("%c",&x) 格式串加上空格或者 %*c;
3.4 字符串输入函数
一般使用字符数组存储字符串
格式:gets( );
输入串长度应小于字符数组长度(字符串默认以" \0" 结尾)
不会以空格作为输入结束的标志
若用 scanf( )输入字符串,不能有空格
空格相当于结束符
若要输入空格,可以使用 for 循环