一.printf
1.打印非输出控制符:
printf(“Hello World!”);
\n 换行符
\t 横向制表符
\v 纵向制表符
\b 退格符
\r 回车符
\\ \字符
\" "字符
2.打印单个输出控制符:
int Num = 0;
double f = 3.14;
printf("Num = %d\n", Num);
%d 按照十进制打印
%o 按照八进制打印
%x 按照十六进制打印
%c 按照字符打印
%f 按照浮点数类型打印
%s 按照字符串打印
%p 按照指针类型打印
%u 按照无符号类型打印
%e 按照科学计数法打印浮点数类型
%% 打印%号
int %d
unsigned %u
char %c
float double %f
3.打印多个输出控制符
int Num1 = 100;
int Num2 = 200;
printf("Num2 = %d, Num1 = %d\n", Num2, Num1);
注意:
输出控制符的个数必须与后面的表达式个数一一匹配
4.printf格式化打印
%nd n:域宽,数据不足域宽,高位用空格补齐
%0nd 0:数据不足域宽,高位用0补齐
%-nd -:左对齐
%.mf m:保留小数点后m位有效数字
练习:
设a,b为int型变量,x,y为float型变量,c1,c2为char型变量,
且设a = 5, b = 10, x = 3.5, y = 10.8, c1 = ’A’, c2 = ’B’。
为了得到以下的输出格式和结果,请写出对应的printf语句。
(1)a = 5, b = 10, x + y = 14.3
(2)x - y = -7.3, a - b = -5
(3)c1 = ’A’ or 65(ASCII) c2 = ’B’ or 66(ASCII)
二.scanf
2.scanf
注意:
1.scanf如果输入数据与想要接收的数据不匹配,从不匹配的位置开始不再向后读取
2.scanf除了%s形式外,都需要加 &
3.scanf除了%c形式外,均无法接收’ ‘和’\n’字符
4.scanf中_%c可以接收非’ ‘和’\n’字符
5.scanf中严禁\n
1.接收非输入控制符
scanf("m");
非输入控制符需要原封不动的从终端输入
2.接收输入控制符
%d 按照有符号十进制接收数据
%c 按照字符接收数据
_%c 接收一个' '和'\n'的字符
%f 按照float接收数据
%lf 按照double接收数据
%s 按照字符串接收数据
练习:
从终端接收圆的半径,打印圆的周长和面积
3.接收多个输入控制符:
int Num1 = 0;
int Num2 = 0;
float f = 0;
scanf("%d %d", &Num1, &Num2);
scanf("%d %f", &Num2, &f);
练习:
从终端接收两个数,打印出这两个数四则运算的结果
三.puts
puts
功能:在终端打印一行字符串
示例:
puts("Hello World!");
注意:
1.puts会在字符串末尾多打印一个\n字符
四.gets
gets
功能:从终端接收一行字符串
hello world\n
hello world\0
注意:
1.gets会去掉从终端接收的\n字符
2.gets可以接收带' '的字符串,scanf无法接收带' '的字符串
五.流程控制
1.顺序结构
从main函数开始执行,执行到main结束
2.分支结构
1. if
1.简单分支:
if (逻辑表达式)
{
语句块1;
}
else
{
语句块2;
}
注意:
1.if后面必须加判断条件 else不能加判断条件
2.if可以脱离else单独使用,但是else不能脱离if单独使用
3.if和else不加括号,默认控制一句代码,为了保证程序不出错,
一句代码也要加括号
2. 逻辑表达式:
1.关系运算符
> 大于
< 小于
>= 大于等于
<= 小于等于
== 等于
!= 不等于
3 > 5 假
3 < 5 真
5 >= 3 真
Num <= 5
3 == 5 假
5 == Num
Num != 5
2.逻辑运算符:
&& 逻辑与 一假为假,全真为真 既..又..
|| 逻辑或 一真为真,全假为假 要么..要么..
! 逻辑非 真取非得加,假取非得真
Num >= 0 && Num <= 100
Num < 0 || Num > 100
截断特性:
1.逻辑与左边为假值,右边不再计算
2.逻辑或左边为真值,右边不再计算