1.输入:scanf函数、getchar()函数、gets()函数。
输出:printf函数、putchar()函数、puts()函数。
2.相互的区别和作用:(这里只以输入函数举例)
一:scanf函数:
scanf可以用来输入一个字符:scanf("%c",&a);
scanf可以用来输入多个字符:scanf("%s",&a);
二:getchar()函数:
只能用于输入一个字符:getchar(s);
三:gets()函数:
用来输入多个字符。
gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符不属于这个字符串。其调用格式为:gets(s);其中s为字符串变量(字符串数组名或字符串指针)。
3.注意:gets(s)函数与scanf("%s", s)相似, 但不完全相同, 使用scanf("%s", s)
函数输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束,
空格后的字符将作为下一个输入项处理, 但gets() 函数将接收输入的整个字符
串直到回车为止。
4.gets()函数总结:
(1)gets() 从标准输入设备读取字符串,以回车结束读取,使用’\0’结尾,回车符’\n’被舍弃没有遗留在缓冲区
(2)可以用来输入带空格的字符串。
(3)可以无限读取,不会判断上限,因此使用gets不安全,可能会造成溢出
5.scanf()函数总结:
(1)scanf() 以 空格 或 回车符 结束读取,空格 或 回车符 会遗留在缓冲区。
(2)不能直接输入带空格的字符串。
二.格式输入与输出
(1) d格式符。用来输出十进制整数。几种用法:
1.% d:按十进制整型数据的实际长度输出。
2.%md: m为指定的输出字段的宽度。如果数据的位数小于m, 则左端补以空格,若大于m,则按实际位数输出。
例: printf("%4d,%4d", a; b);
若a=123,d=12345,则输出结果为口123,123 45
3.% 1 d:输出长整型数据。
例: 10ng a=135790;/定义a为长整型变量/
printf("%ld" ,a);
(2) f格式符。用来以小数形式输出实数(包括单双精度)有以下几种用法:
1.% f。不指定字段宽度,由系统自动指定字段宽度,使整数部分全部输出,并输出6位小数。应当注意,在输出的数字中并非全部数字都是有效数字。单精度实数的有效位数一~般为7位。
2.%m. n f。指定输出的数据共占m列,其中有n位小数。如果数值长度小于m,则左端补空格。
3.%- m.nf与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。
(4)s格式符 输出字符串
1.%s。例如:
p rintf("%s", ”CHINA" )输出字符串“CHINA” (不包括双引号)。
2.%ms, 输出的字符串占m列,若串长大于m,则全部输出,若串长小于m,则左补空格。
3.%-ms,若串长小于m,字符串向左靠,右补空格。、
4.%m. ns,输出占m列,只取字符串中左端n个字符,输出在m列的右侧左补空格。
5.%-m.ns, n个字符输出在m列的左侧,右补空格,若n> m, m自动取n值。
c语言中用于实现分支结构的控制语句主要有:if语句、switch语句。
关系运算符
运算符 含义
> 大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于
关系表达式:
用关系运算符将两个表达式链接起来的式子称为关系表达式,关系表达式的一般形式为:
表达式1 关系运算符 表达式
功能:比较两个表达式的大小,返回一个逻辑值。
“=”是赋值运算符,“==”是关系运算符
由于c语言中没有逻辑类型的数据,因此用“1”表示“真”,用“0”表示“假”
逻辑运算符
运算符 ! && ||
名称 逻辑非 逻辑与 逻辑或
结合性 右结合 左结合 左结合
优先级 高 > 低
逻辑运算符
x y !x x&&y x||y
0 0 1 0 0
0 非0 1 0 1
非0 0 0 0 1
非0 非0 0 1 1
各种运算符的优先级从高到低的顺序
运算符 ! 算术运算符 关系运算符 &&和|| 赋值运算符
结合性 右结合 左结合 左结合 左结合 右结合
优先级 高 > > > 低
条件运算符和条件表达式
条件运算符:由"?"和":"两个符号组成,用于条件求值,它是一个三目运算符,需要三个操作数。
条件表达式:将三个表达式连接起来的式子称为条件表达式,其一般形式为:
表达式1?表达式2:表达式3
if-else语句
1.双分支if语句 其一般形式为:
if(表达式)
语句1;
else
语句2;
2.单分支if语句 其一般形式为:
if(表达式)
语句;
3.多分支if语句
if(表达式1)
语句1;
else if(表达式2)
语句2;
...
else if(表达式n-1)
语句n-1;
else
语句n;
switch语句的一般形式:
switch(表达式)
{ case常量表达式1:语句1;break;
case常量表达式2:语句2;break;
....
case常量表达式n:语句n;break;
default:语句n+1;break;
}