13.2 C语言的基本结构
考点5 格式输入与输出
1.printf()用于格式化输出数据
格式:printf(格式控制,输出列表);
其中,格式控制是用“”引起来的部分,它包括两种信息:格式转换说明和原样输出的字符。输出列表是需要输出的一些数据,可以是常量、变量或表达式。
printf("HelloWorld!!"); 原样输出字符串HelloWorld!!
printf("%5d",123); 输出□□123,即123前面还有两个空格,5表示格式输出长度
printf("%2d",123); 输出123,即如果格式长度不足,则按实际长度输出
printf("%c",c); 输出字符型变量c,其中c一定被赋值过
printf("%s","string"); 输出字符串string
printf("%f",a); 输出单精度数a
printf("%2.2",1.2); 输出“□1.20”,即前面一个空格,小数点后两位有效数字
2.scanf()用于格式化输入数据
格式:scanf(格式控制,地址列表);
其中,格式控制与printf()函数相同,只是没有位数的设置。
值得注意的是,格式化输入字符的时候,空格也是被当做一个字符输入的,所以连续输入多个字符的时候,中间一定不能添加空格,例如:
#include<stdio.h>
void main(){
char a,b,c;
scanf("% c% c% c",&a,&b,&c);
/* 容易忽略的地方是输入时候的空格以及这里的取地址符* /
scanf("% c % c % c",&a,&b,&c);
}
可以看到,如果在格式控制中添加空格,那么连续输入字符的时候添加空格就是合法的。
3.putchar()用于向终端输出一个字符
格式:putchar();
putchar('a'); 将字符a输出在屏幕上
putchar(65); 将ASCII码为65的字符输出在屏幕上
char a= 'c';putchar(a);将字符型变量a的值输出在屏幕上
4.getchar()用于从终端获得一个字符
格式:getchar();
题型剖析:输入输出是基本知识点,其他的功能往往通过输入输出来体现。考点主要有以下3个方面。
(1)格式控制,根据输出列表判断格式控制的形式。
(2)输出列表,根据题目要求不同,输出不同结果。
(3)地址列表,根据题目要求,输入不同的数据。
该知识点通常会在填空题和改错题中出现。填空题中会要求根据格式控制、输出列表或地址列表的部分内容补充另外部分的内容,从而符合语法要求。而改错题则是要求判断格式控制、输出列表、地址列表之间的对应关系是否正确,如小数点后有效位数的保留情况,小数点之前整数位数预留情况,输入输出的格式中空格的作用,等等。
另外,应用scanf()函数接收终端输入的时候,带入的待赋值变量参数一定要是加上取址符号&,以传值引用的方式调用,否则,可能出现未初始化,或者计算错误等问题。
考点6 条件与分支(if,switch)
1. if语句
if条件语句可以有两种形式:if(exp){}或者if(exp){} else{}。在嵌套结构中,else只与其前面最近的且未匹配的if匹配,或者,在嵌套结构中直接应用{}将if…else搭配关系表示清楚。
例如:
inta=0;
if(1)a=3;
if(0)a=4;
elsea=5;
得到的答案是5,而下面的代码:
inta=0;
if(1){
a=3;
if(0)a=4;
}
elsea=5;
得到的答案是3。
if语句的另外一种表达方法是三目运算符,即(exp1)?exp2:exp3;,等价于if(exp1)exp2;elseexp3;,同样的三目表达式也可以嵌套。
$,8A469B语句
分支语句switch是支持多分支的选择语句,用来实现多分支选择结构。
格式:
switch(exp){
caseconstexp1:exp1;
caseconstexp2:exp2;…
default:expn;
}
如果想在执行某条case语句后直接跳出分支判断,则在exp后面添加break;即可。每个case的值应该不同,否则会出现冲突。
题型剖析:if语句作为条件判断必不可少的语句,考查广泛分布在填空题、改错题、编程题中,尤以编程题中居多。考查方式主要有如下。
(1)if语句的表达式,一般根据题目要求填入判断的条件,如if(______)。语句的表达式有很多种,可以是简单的算术表达式、逻辑表达式,也可以是带有指针、数组等变量的表达式。
(2)if语句体,根据题目要求填入判断后应执行的语句,如if(a==0){______}。
(3)if的嵌套形式,应该注意if语句的配对,在填空题中可以考查根据嵌套形式写出结果,也可以在改错题中判断所应用的嵌套形式中某个条件是否正确,是否满足算法的判断要求。
switch语句的考查主要涉及填空题中语句的书写形式。一般根据题目要求填入表达式,如switch(______),或选择条件及执行语句,如case ______:______;,或考查break语句。
考点7 循环
1.常用的循环语句
while(exp) {} 当exp为真时,执行语句
do{}while(exp); 先执行语句,然后判断exp是否为真,若为真则继续执行
for(exp1;exp2;exp3){} 应用exp1初始化,满足条件exp2则执行,变化为exp3
其中{}表示要执行的语句块。
循环是可以嵌套的,其实质是对应语句块的嵌套,也就是{}的配对。
考试中,循环的考查方式往往是给出一段程序,然后让考生填写循环表达式。循环表达式包括:循环变量的出始化,循环变量的取值范围及以循环的结束条件等。
2.跳出循环的语句(continue,break)
continue:表示跳过本次循环,而直接继续执行下一次循环。
break:表示跳出整个循环体,直接执行该循环的后继语句。
题型剖析:
(1)while语句中条件表达式的考查。一般根据题目要求填入循环条件,如while(______)。while与if语句的表达式一样有很多种,可以是简单的算术表达式、逻辑表达式,也可以是带有指针、数组等变量的表达式。
(2)while结构语句的考查,根据题目要求填入循环执行语句,如while(a>5&&a<10){______}
(3)do…while循环是经常考查的知识点,其考查形式如下:
①循环条件。即while语句的表达式的考查,与while语句考查形式基本相同。
②循环体。根据题目要求填写,基本与while循环体语句的考查形式相同。但是要注意do…while循环先执行循环体,再进行循环判断,而while循环是先进行循环判断,再执行循环体。
③与迭代算法一起考查,如求级数,或者求阶乘。
(4)for语句是C语言中最常用的循环体语句
①考查循环起始条件,继续条件,循环变量。如:for(______;______;______);
②for语句的执行语句部分的考查,根据题目要求写出循环执行语句,如:for(i=0;i<100;i++){______;______}。
(5)循环嵌套多出现在复杂的算法中,常见的考查形式有以下两种。
①循环嵌套的形式:6种基本嵌套形式。
②for循环的嵌套,执行的过程,内循环的执行以及循环语句的结束条件。