gets、puts
1.puts
1.功能在终端打印一行字符串
2.示例:
puts("hello world");
char str[32] = {"hello world"};
puts(str);
注意:
puts会自动在字符串末尾多打印一个\n字符
2.gets
1.从终端接收一行字符串
2.示例:
char str[4096] = {0};
gets(str);
注意:
1.gets会去掉从终端接收的\n字符
2.gets可以接收' '字符
3.scanf不能接收' '字符
=================================================================================
流程控制:
1.顺序结构:
main函数第一句开始执行,执行到main函数结束
2.分支结构:
1.判断使用if
2.同一类数据执行不同操作
1.if分支:
1.简单分支:
if (表达式)
{
语句块1;
}
else
{
语句块2;
}
注意:
1.if后面加条件,else后面不能加条件
2.if可以脱离else单独使用,else不能脱离if单独使用
3.if和else默认控制一句代码,但是一句代码也需要加{}
4.if括号后不能加;
2.阶梯分支:
if (表达式1)
{
语句块1;
}
else if (表达式2)
{
语句块2;
}
else if (表达式3)
{
语句块3;
}
else
{
语句块4;
}
注意:
1.if后面必须加条件,else后面不能加条件
2.if可以脱离else if else单独使用,else if else不能脱离if单独使用
3.嵌套分支
if (表达式1)
{
语句块1;
if (表达式2)
{
}
}
else
{
语句块2;
if (表达式3)
{
}
}
最多嵌套3-5层,避免深层次的嵌套
'a' - 'y' +1
'A' - 'Y'
'z' -25
'Z'
'a' - 'z'之外 输出输入有误
'A' = 'Z'之外
2.switch分支:
1.基本形式:
switch (整形表达式)
{
case 常量1:语句块1;break;
case 常量2:语句块2;break;
case 常量3:语句块3;break;
default:
语句块4;
}
注意:
1.switch后面的表达式必须为整形表达式
2.case后面必须为常量,不能为变量,变量表达式,常量表达式
3.switch只与case后面的值比1次,然后顺序向下执行,直到遇到break或switch结束
4.default可以省略
2.嵌套形式:
双层switch,里层调用完毕如果没有break,外层switch会继续向下执行
3.循环结构:
1.重复执行一段代码使用循环
2.有规律的代码
1.for循环
1.基本形式:
for (A; B; C)
{
D1;
D2;
}
A:在for循环前执行,变量赋初值操作
B:在循环过程中作为循环是否执行的判断条件,如果满足条件循环继续执行,如果不满足循环截止
C:在每一次循环结束后都会执行C
D:循环内部的代码,满足条件就会执行D