第三章 顺序结构
-
定义:从main()开始,由上往下一条一条地执行
-
语句:
三大类语句→执行语句:5类
控制语句(9条)
函数调用语句;
表达式语句:
空语句;
复合语句{}
标准函数/库函数使用前必须:#include<头文件名>在包含的程序文件中
printf()
格式1:printf(“格式控制”);
功能:按格式控制指定的格式输出数据
双引号是字符串标志,永远不输出
格式2:printf(“普通/占位符”,输出列表的值);
功能:按格式将值输出
注意:
“占位符”以%开始的,被替换
(1)d 带符号十进制整数
(2)u 无符号十进制整数
(3)o 无符号的进制整数
(4)X或x 无符号十六进制整数
(5)c 输出一个字符,不输出单引号
(6)s 输出一个字符串,输出时不输出双引号
(7)f 输出一个实型数,隐含输出6位小数
(8)E或e 输出指数形式的实型数
“普通字符”将原样输出
输出值,先计算后输出
scanf()
格式:scanf(“普通/占位符”,地址列表);
“普通/占位符”,输入时普通字符必须原样输入
“%d”,输入时4种输入:空格、Tab、回车、前三个混合用
“%c”,一旦连续出现,就要连续输入
%d,%c一起出现时,连续输入
地址列表,输入时&
字符数据的输入输出
putchar()
格式:putchar(字符常量或字符变量)
功能:输出一个字符但不输出单引号(类似于printf)
输出
如果是变量,就会输出该变量,如putchar(‘a’); 输出a
如果是整型,就会输出改整型的ASCII码,如putchar(100); 输出d
getchar ()
功能:接收一个从键盘输入的字符(类似于scanf)
注:getchar()没有任何参数,函数的返回值就是输入的字符
第四章 选择结构
-
定义:从main()开始,由上往下有些语句执行有些不执行
-
语句:
两类语句→执行语句:控制语句
不标定义语句,直接标执行语句
找配对,找控制,标语句
1、两类表达式
关系运算符及关系表达式 {结果是逻辑值,即不是0(假)就是1(真)}
< <= > >= (6级,从左往右)
= = != (7级,从左往右)
逻辑运算符与逻辑表达式{结果是逻辑值,即不是0(假)就是1(真)}
&& (11级(从左往右) 一假则假
&&的短路:第一个操作数的逻辑值为0则直接输出结果为0(后续操作数不会再计算了)
|| (12级 ,从左往右) 一真则真
||的短路:第一个操作数的逻辑值为1则直接输出结果为1(后续操作数不会再计算了)
!(单目)(2级,从右往左) 非真即假
三要素:功能、优先级、结合性
2级的都是单目,单目的都是从右往左
3-12级都是双目,双目的都是从左往右
表达式计算步骤
先看表达式合不合法
然后看有没有短路
计算优先级高的,同级情况下再看结合性
2、if 语句(三种格式)
格式1:if语句
格式2:if else语句
一个else都要和一个if配对
如果 则if不加 {},那么只控制下面的第一句话;else不加 {},那么只控制下面的第一句话。
如果if没有加 {},并且和else中间不止有一句话,那么程序就会报错:else无法找到与之匹配的if
复合语句 {}算一条语句
格式3:if的嵌套
else总是在它上面、离它最近的、未与其他else配对的那个if配对
形式一
形式二:多选一
if(条件) { 代码块 } else if(条件) { 代码块 } else { 代码块 }
多选1
不能随便加分号,不能将结构分离
else跟同层的,上边最近的else if匹配
嵌套
对比多个if并列的写法
3、switch语句
| default可有可无
执行过程:表达式里的值和case后面的常量表达式的值进行匹配,如果匹配成功就会执行该case之后的子句以及该case下面所有的case的子句;若表达式里的值和case后面的常量表达式的值都不匹配,才会执行default后面的子句(没有的话直接跳出),若default下面还有case语句,则依然会执行 ;若default在最 上面,并不会先执行default的,还是依旧先寻找与表达式值相匹配的常量表达式的值,如果找不到,就会执行default语句,然后再执行下面所有的case语句(除非遇到break)
switch后面的表达式必须是个值,要和下面case后的相互匹配
switch后必须用小括号将表达式括起
case后常量整型或字符型,不能有变量和逗号运算符
各case后常量不能出现相同的值
case和default 只是一个入口标号,不起中断作用。它们的顺序可以任意颠倒
case 和default必须出现在switch语句中
char类型数据输入的时候系统会自动给你加上''的,比如你输入a,系统识别为‘a’