7.3补充:局部变量和全局变量可以重名;作用域采用就近原则
一、输入输出
(1)按字符输入输出
getchar: VM查看方法:man getchar
功能:向终端输入一个字符
参数:无
返回值:终端输入的字符的ASCII码值
putchar: int putchar(int c);
功能:终端输出一个字符
参数:字符的ASCII码值
返回值:字符的ASCII码值
(2)按照格式输入输出
格式:
%d | int |
%c | char |
%f | float |
%lf | double |
%s | 字符串 |
%p | 指针 |
%o | 八进制 %#o |
%x | 十六进制 %#x |
scanf:变量名前加&(表示取地址)
二、垃圾字符回收
(1)通过空格回收 :可以回收一个或多个空格 tab 回车
(2)%*c *抑制符 :可以回收任意一个字符
(3)getchar :解决‘\n’对程序的影响
三、分支语句
(1) if
基本结构:if{ } ; if { } else{ }
多层分支:if{ }else if{ }else{ };
嵌套结构:if{ if{ } };
注意:if后面可以没有else,else前面必须有if!!!
(2)switch
基本结构:
switch(常量或表达式)
{
case 常量值1:
代码块1;
break;
case 常量值2:
代码块2;
break;
default:
代码块n;
break;
}
注意: 1. case后面的常量值不能是浮点型和字符串,可以是整型或字符串
2.break:case分支遇到break就结束,可以没有break,会从符合条件的分支开始执行直到整个switch语句执行完才结束