一.输入输出
1.按字符输入输出
1)getchar
int getchar(void)函数从屏幕读取下一个可用的字符,并把它返回为一个整数。
这个函数在同一个时间内只会读取一个单一的字符。
2)putchar
int putchar(int c) 函数把字符输出到屏幕上,并返回相同的字符。
这个函数在同一个时间内只会输出一个单一的字符。
2.按格式输入输出
1)pritnf
int printf(const char *format, ...) 函数把输出写入到标准输出流 stdout ,并根
据提供的格式产生输出。
2)scanf
int scanf(const char *format, ...) 函数从标准输入流 stdin 读取输入,并根据提
供的 format 来浏览输入。
二.垃圾字符回收
1.通过空格回收
scanf("%c %c",&a,&b);
2.*抑制符
scanf("%c*%c",&a,&b);
3.getchar()
scanf("%c",&a);
printf("%c",a);
getchar();
三.分支语句
语句 | 描述 |
if语句 | 一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。 |
if...else语句 | 一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。 |
嵌套if语句 | 可以在一个 if 或 else if 语句内使用另一个 if 或 else if 语句。 |
switch语句 | 一个 switch 语句允许测试一个变量等于多个值时的情况。 |
嵌套switch语句 | 可以在一个 switch 语句内使用另一个 switch 语句。 |
练习题:
终端输入一个日期,判断是这一年的第几天
scanf("%d-%d-%d",&y,&m,&d);
闰年2月29天,平年2月28天
#include <stdio.h>
int main()
{
int y=0,m=0,d=0;
char exit;
while (1)
{
int n=0;
int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};
printf("请输入日期:");
scanf("%d-%d-%d",&y,&m,&d);
getchar();
if ((y%4==0 && y%100!=0) || y%400==0)
days[1]=29;
if (m<=12 && m>0 && d>0 && d<=days[m-1])
{
for (int i = 0; i < m-1; i++)
{
n=n+days[i];
}
printf("%d-%d-%d是这一年的第%d天\n",y,m,d,n+d);
}
else
{
printf("请输入正确的日期!\n");
}
printf("按任意键继续,输入q退出:");
scanf("%c",&exit);
getchar();
if (exit=='q')
break;
}
return 0;
}
运行结果: