3.3 C语句
一、C语句的作用和分类
一个函数包含声明部分和执行部分
执行部分是由语句组成的,语句的作用是向计算机系统发出操作指令,要求执行相应的操作
C语句分为以下5类
1、控制语句:
- if () ... else ... ——条件语句
- for () ... ——循环语句
- while () ...——循环语句
- do ... while () ——循环语句
- continue ——结束本次循环语句
- break ——中止执行switch或循环语句
- switch ——多分支选择语句
- return ——从函数返回语句
- goto ——转向语句,在结构化程序中基本不用goto语句
2、函数调用语句:函数调用语句由一个函数调用加一个分号构成
例如:printf("This is a c statement.");
3、表达式语句:由一个表达式加一个分号构成(其中最经典的是:由赋值表达式构成一个赋值语句)一个表达式的最后加一个分号就成了一个语句
例如:a = 3;
4、空语句:只有一个分号,它什么也不做,可以用来作为流程的转向点,也可以用来作为循环语句中的循环体
例如:;
5、复合语句:可以用{ }把一些语句和声明抬起来成为复合语句(又称语句块),复合语句中最后一个语句中最后的分号不能忽略不写
例如:{
float pi = 3.14159, r = 2.5, area ;
area = pi * r * r ;
printf("area = %f", area) ;
}
二、最基本的语句——赋值语句
最常用的语句:赋值语句和输入输出语句,最基本的是赋值语句
赋值语句大部分是对值给出数值
赋值运算符:赋值运算符 = 就是赋值运算符,它的作用是将一个数据赋给一个变量
复合的赋值运算符:在赋值符 = 之前加上其他运算符,可以构成复合的运算符
C语言采用这种复合运算符:一是为了简化程序,使程序精炼,二是为了提高编译效率,能产生质量较高的目标代码
赋值表达式:由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式,其一般形式形式为:变量 赋值运算符 表达式
赋值表达式的作用是将一个表达式的值赋给一个变量,因此赋值表达式具有计算和赋值的双重功能
ps:凡是程序中要用到数学函数库中的函数都应包含math.h头文件
区分赋值表达式和赋值语句:赋值表达式的末尾没有分号,而赋值语句的末尾必须有分号。在一个表达式中可以包含一个或多个赋值表达式,但绝对不能包含赋值语句
3.4 数据的输入和输出
scanf函数输入 printf函数输出
输入输出是以计算机主机为主体而言,C语言本身不提供输入输出的语句
用printf函数输出数据
printf函数的一般格式:printf(格式控制,输出表列)
格式控制:是用双撇号括起来的一个字符串,简称格式字符串
格式字符串包括两个信息:
- 格式声明:由“%”和格式字符组成,作用是将输出的数据转换为指定的格式然后输出
- 普通字符:即需要在输出时原样输出的字符 输出表列:是程序需要输出的一些数据
printf函数的一般形式可以表示为:printf(参数1,参数2,参数3,... ,参数n)
格式字符:
(1)d格式符:用来输出一个有符号的十进制整数
(2)c格式符:用来输出一个字符
(3)s格式符:用来输出一个字符串
(4)f格式符:用来输出实数 (包括单/双精度,长双精度),以小数形式输出
①基本型,用%f,实数中整数部分全部输出,小数部分输出6位
②指定数据宽度和小数位数,用%m,nf
③输出的数据向左对齐,用%m,nf
(5)e格式符:用格式声明%e指定以指数形式输出实数
用scanf函数输入数据
scanf函数的一般形式:scanf(格式控制,地址表列)
scanf("a = %f , b = %f, c = %f", &a,&b,&c);
使用scanf函数时应注意的问题:
①scanf函数中的“格式控制”后面应当是变量地址,而不是变量名
②scanf("a = %f , b = %f , c = %f",&a,&b,&c);
输出:a = 1, b = 2, c = 3 其中"a = %f , b = %f , c = %f"这中间的符号规定了输出时的间隔符号
③在用“%c”格式声明输入字符时,空格字符和“转义字符”中的字符都作为有效字符输入
④在输入数值数据时,如输入空格,回车,Tab键或遇非法字符(不属于数值的字符),认为该数据结束
字符数据的输入输出
用putchar函数输出一个字符
其一般形式为:putchar(c)
作用:是输出字符变量c的值,c可以是字符常量,整型常量,字符变量或整型变量
用getchar函数输入一个字符
其一般形式为:getchar() —— getchar函数没有参数
作用:是从计算机终端输入一个字符,getchar函数只能接收一个字符