C语言基础知识回顾 %超适用于计算机二级%
第二章 三种基本结构
本章回顾最基本的顺序、条件、循环语句的语法结构,对于非初学者来说,这一部分内容想必早就信手拈来. 因此,回顾的侧重点都是一些需要注意的书写规则与五花八门的错误,而非基本的理论介绍.
2.1 #include<stdio.h>
-
#include 是C语言预编译命令之一;stdio.h是C语言库文件的头文件之一,包含了常用的标准输入输出.
-
printf:输出格式包括:%c、%d、%o(八进制)、%x(十六进制)、%f、%s.
输出数据所占宽度:e.g. %4d、%12.4f(小数点前宽度12,小数点后宽度4)、%-4d(左对齐).
-
scanf:
e.g.
int x; float y; double z;
scanf(“%d%f%lf”, &x, &y, &z);
scanf(“%3d%5f%5lf”, &x, &y, &z);
//当输入123456.789.123 打印出:123 456.700000 89.120000(小数点也算宽度).
scanf(“%d%*d%d%d”,&x, &y, &z);
//当输入12 34 56 78 打印出:12 56 78.
2.2 if语句
-
语法1:
if (表达式) 语句;
// 多条语句一定要加花括号,if语句的嵌套也要用花括号表明级别. -
语法2:
if (表达式) 语句1;
else 语句2;
// else子句总是与前面最近的不带else的if相结合,与书写格式无关. -
e.g.
#include <stdio.h>
main( )
{ int a=2, b=-1, c=2;
if (a<b)
if (b<0) c=0;
else c+=1;
printf (“%d\n”,c);
}
// 输出结果:2 (第一个if不满足,就进不去下一个if)
2.3 switch语句
-
switch后括号内只能是整形、字符型、布尔型表达式.
-
e.g.
#include <stdio.h>
void main ()
{ int g;
scanf (“%d”, &g);
switch(g/10)
{ case 10:
case 9: printf(“优秀”);
/*case 10和case 9执行同一条语句*/
case 8: printf(“良好”);
case 7: printf(“中等”);
case 6: printf(“合格”);
default: printf(“不合格”);
}}
//若输入8,输出:良好中等合格不合格.
//应该结合break使用,遇到一个满足的case就跳出.
2.4 while语句
-
语法:
while(表达式) {循环体;} -
while (1) 表示无条件循环.
-
迭代问题,要在while前给初值.
2.5 do-while语句
-
语法:
do {循环体;}
while(表达式); -
循环体至少被执行一次.
2.6 for语句
-
语法:
for (表达式1; 表达式2; 表达式3) {循环体;}
等价于→表达式1; while (表达式2) {循环体; 表达式3;} -
for语句中的表达式可以部分或全部省略,但两个“;”不能省略.
2.7 break和continue
-
break语句可以使流程跳出switch语句体,也可以用break语句在循环结构中终止本层循环体,从而提前结束本层循环.
-
continue语句的作用是跳过本次循环中余下尚未执行的语句,立刻进入下一次的循环条件判定.