一、C语句概述
1、控制语句。
控制语句用于完成一定的控制功能。C只有9种控制语句,它们是:
①
i
f
()
…
e
l
s
e
…(条件语句)
② fo
r
()
…(循环语句)
③
w
h
i
l
e
(
)
…(循环语句)
④
d
o
…
w
h
i
l
e
()(循环语句)
⑤ co
n
t
in
u
e(结束本次循环语句)
⑥
b
re
a
k(中止执行switch或循环语句)
⑦ swi
t
c
h(多分支选择语句)
⑧
g
o
t
o(转向语句)
⑨ ret
urn(从函数返回语句)
2、函数调用语句。
函数调用语句由一个函数调用加一个分号构成,例如:
pr
i
n
t
f
(
"
Th
is
is
a
C
s
t
a
t
eme
n
t
.
"
)
;
3、表达式语句。
表达式语句由一个表达式加一个分号构成,最典型的是,由赋值表达式构成一个赋值语句。
例如:a=3;
4、空语句。
下面是一个空语句: ;
5、复合语句。
可以用()把一些语句括起来成为复合语句(又称分程序)。例如下面是一个
复
合
语
句
:
{
z
=
x+
y
;
t
=
z
/
1
00
;
p
r
i
n
t
f
(
"
%
f
”
,
b
)
;
}
(注:复合语句中最后一个语句中最后的分号不能忽略不写)
二、赋值语句
C语言的赋值语句具有其他高级语言的赋值语句的一切特点和功能。但也应当注意到它们的不同。
(1)C语言中的赋值号“=”是一个运算符,在其他大多数语言中赋值号不是运算符。
(2)关于赋值表达式与赋值语句的概念,其他多数高级语言没有“赋值表达式”这一概念。作为赋值表达式可以包括在其他表达式之中,例如:
i
f
((
a
=
b
)
>
0
)
t
=a
;
三、数据输入输出的概念及在C语言中的实现
(1)所谓输入输出是以计算机主机为主体而言的。从计算机向外部输出设备(如显示器、打印机等)输出数据称为输出,从输入设备(如键盘、鼠标、扫描仪等)向计算机输入数据称为输入。
(2)C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数来实现的。在C标准函数库中提供了一些输入输出函数,例如,printf函数和scanf函数。printf和scanf不是C语言的关键字,而只是函数的名字。
(3)在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中。
四、字符数据的输入输出
1、putchar函数
putchar函数(字符输出函数)的作用是向终端输出一个字符。其一般形式为: put
c
h
a
r
(
c
)
它输出字符变量c的值,c可以是字符型变量或整型变量。
2、getchar函数
getchar函数(字符输入函数)的作用是从终端(或系统隐含指定的输入设备)输入一
个字符。getchar函数没有参数,其一般形式为:
g
e
t
c
h
a
r
(
)
函数的值就是从输入设备得到的字符。
五、格式输入与输出
1、 printf函数
printf的一般格式为:
printf(格式控制,输出表列)
(1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括两种信息。
①格式说明。格式说明由“%”和格式字符组成,如%d、%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%”字符开始的。
②普通字符。普通字符即需要原样输出的字符。例如上面printf函数中双撇号内的逗号、空格和换行符。
(2)“输出表列”是需要输出的一些数据,可以是表达式。
由于printf是函数,因此,“格式控制”字符串和“输出表列”实际上都是函数的参数。
printf函数的一般形式可以表示为:
printf(参数1,参数2,参数3,…,参数n)
printf函数的功能是将参数2~参数n按参数1给定的格式输出。
2、格式字符
在输出时,对不同类型的数据要使用不同的格式字符。常用的有以下几种格式字符。
(1)d格式符。用来输出十进制整数。有以下几种用法:
①%d。按十进制整型数据的实际长度输出。
②%md。m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。
③%ld。输出长整型数据。
(2)o格式符。以八进制整数形式输出。由于是将内存单元中的各位的值(0或1)按八进制形式输出,因此输出的数值不带符号,即将符号位也一起作为八进制数的一部分输出。
(3)x格式符。以十六进制数形式输出整数。同样不会出现负的十六进制数。
(4)u格式符。用来输出unsigned型数据,即无符号数,以十进制整数形式输出。
(5)c格式符。用来输出一个字符。
(6)s格式符,用来输出一个字符串。有几种用法:
①%s
。
②%ms,输出的字符串占m列,如字符串本身长度大于m,则突破m的限制,将字符串全部输出。若串长小于m,则左补空格。
③%-ms,如果串长小于m,则在m列范围内,字符串向左靠,右补空格。
④%m.ns,输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格。
⑤%-m.ns,其中m、n含义同上,n个字符输出在m列范围的左侧,右补空格。如果n>m,则m自动取n值,即保证n个字符正常输出。
(7)f格式符。用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法。
①%f,不指定字段宽度,由系统自动指定,使整数部分全部输出,并输出6位小数。
②%m.nf,指定输出的数据共占m列,其中有n位小数。如果数值长度小于m,则左端补空格。
③%-m.nf与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。
(8)e格式符,以指数形式输出实数。可用以下形式。
①%e,不指定输出数据所占的宽度和数字部分的小数位数,有的C编译系统自动指定给出数字部分的小数位数为6位,指数部分占5位(如e+002),其中“e”占1位,指数符号占1位,指数占3位。数值按规范化指数形式输出(即小数点前必须有而且只有1位非零数字)。
②%m.ne和%-m.ne,m、n和“-”字符的含义与前相同。此处n指拟输出的数据的小数部分(又称尾数)的小数位数。
(9)g格式符,用来输出实数,它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。
3、scanf函数
(1)、一般形式: scanf(格式控制,地址列表)
(2)、格式说明:
(3)、使用scanf函数时应注意的问题
1)、scanf函数中的“格式控制”后面应当是变量地址,而不应是变量名。
2)、如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时在对应位置应输入与这些字符相同的字符。
3)、在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入。
4)、在输入数据时,遇以下情况时认为该数据结束。
①遇空格,或按“回车”或“跳格”(Tab)键;
②按指定的宽度结束;
③遇非法输入。