一.局部和全局变量补充
局部变量和全局变量可以重名;作用域遵循就近原则
二.输入输出
2.1按字符输出输入
getchar |
putchar | |
man手册查看 | man getchar | man putchar |
功能 | 向终端输入一个字符 | 终端输出一个字符 |
参数 | 无 | 字符的ASCII码值 |
返回值 |
终端输入的字符的ASCII码值
| 字符的ASCII码值 |
putchar没有换行的效果,需要额外添加
2.2按格式输出输入
printf |
scanf | |
功能 |
按指定的格式向终端输出
| 按指定的格式向终端输入 (输入完毕时以回车结束) |
参数 |
多个
|
多个
|
返回值 |
正确输出字符个数
|
正确输入的字符个数
第一个字符输入格式错误,直接返回0 |
格式 | 式必须和终端输入格式一一对应,不能加'\n' 变量名前边加&(取地址符),表示取变量的地址 |
printf格式:
%c char
%f float
%lf double
%s 字符串
%p 指针
%o 八进制 %#o
%x 十六进制 %#x
三.垃圾字符的处理
3.1通过空格回收
3.2 %*c *抑制符
3.3getchar
scanf输入结束时,会在终端输入'\n';
解决'\n'对程序造成的影响:
四.分支语句
4.1if 基本结构:
1.if(常量值或表达式)
{
//代码块;
}
2.if(常量值或表达式)
{
//代码块1;
}
else
{
//代码块2;
}
3.多层分支
if(表达式1)
{
代码段1;
}
else if(表达式2)
{
}
else
{
}
4.2which
switch(常量值或表达式)
{
case 常量值1:
代码块1;
break;
case 常量值2:
代码块2;
break;
default:
代码块n;
break;
}
五.课堂习题:
1.普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。
世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)
终端输入一个年份,判断平年或闰年:
2.终端输入大写,输出小写
终端输入小写,输出大写
输入其他,打印"error"
![](https://img-blog.csdnimg.cn/direct/b67fe4815c08454ea91e3fae7a039560.png)
![](https://img-blog.csdnimg.cn/direct/8d53ac38bb8a49aeab876db0e6929ff2.png)
注意:
1. if后边可以没有else, else前边必须有if
2. 分支语句代码块只有一句时,可以省略{ }
六.课后习题
2. 终端输入一个日期,判断是这一年的第几天
scanf("%d-%d-%d",&y,&m,&d);
闰年2月29天,平年2月28天
运算结果: