Linux C语言基础 day4

目录

学习目标:

学习内容:

1.输入输出

1.1 按字符输入输出

1.1.1 putchar()

1.1.2 getchar()

1.2 按格式输入输出

1.2.1 printf()

1.2.2 scanf()

2. 垃圾字符回收

2.1 通过空格回收

2.2 %*c  *抑制符 (了解)

2.3 getchar

3. 分支语句

3.1 if

3.1.1格式

3.2 switch

课堂练习:

课外作业:


学习目标:

例如:

  • 一周掌握 C 入门知识

学习内容:

1.输入输出

1.1 按字符输入输出

1.1.1 putchar()

        功能:向终端输出一个字符

        头文件:#include 

        函数的原型:int putchar(int c);

        参数:要输出的字符

        返回值:字符ASCII

例如:

1.1.2 getchar()

        功能:在终端获取一个字符

        头文件:#include 

        函数的原型:int getchar(void);

        返回值:终端输入的字符ASCII

例如:

1.2 按格式输入输出

1.2.1 printf()

        头文件:#include 

        原型:int printf(const char *format, ...(arg));

        功能:按照格式向终端输出指定内容  ----格式化输出

        format:要输出的内容     

        格式字符:     

        %d 有符号的十进制整数     

        %u 无符号的十进制整数     

        %o 无符号八进制数     

        %x 无符号十六进制数     

        %c 字符     

        %s 字符串     

        %f 浮点型数据

        %e 指数形式

        %% 输出%本身

        附加格式说明符(是在%和指定字符中间添加的)

        #   输出八进制和十六进制时输出前导符

1.2.2 scanf()

        头文件:#include 

        函数原型:int scanf(const char *format, ...);

        功能:按照格式从终端读取指定内容

        参数:

                format:指定读取内容的格式

        格式字符:%d, %c, %s, %f

        返回值:读取到的字节数(注意:第一个字符输入格式错误直接返回0)

2. 垃圾字符回收

2.1 通过空格回收

        可以回收一个 多个 空格 t a b 回车
例如:

2.2 %*c  *抑制符 (了解)

例如:

2.3 getchar

例如:

3. 分支语句

3.1 if

3.1.1格式

1.简化格式

2.阶梯格式

3.嵌套格式

注意

        1. if后边可以没有else, else前边必须有if

        2. 分支语句代码块只有一句可以省略{ }

例如:

3.2 switch

格式

例如:

注意:
  1. case后边常量值是整型字符型不能是浮点型字符串
  2. case分支遇到break结束; 后边可以没有break,会从符合条件的分支开始一直运行到整个switch语句执行完结束

课堂练习:

1. 终端输入一个年份判断平年闰年

2. 终端输入大写小写

终端输入小写出大写

输入其他打印"error"

3. 

100-90: A

89-80: B

79-70: C

<70: 补考


课外作业:

  1. 终端输入一个日期判断这一年的第几天

        提示:scanf("%d-%d-%d",&y,&m,&d);

解析:

  1. #include <stdio.h>
  2. int main(int argc, const char *argv[])
  3. {
  4.     int year=0,month=0,day=0,days=0;
  5.     scanf("%d-%d-%d",&year,&month,&day);
  6.     int leap=0;
  7.     if(((year % 4 ==0) && (year % 100 !=0)) || (year % 400 ==0))
  8.     {
  9.         leap=1;
  10.     }
  11.     switch (month)
  12.     {
  13.     case 1:days=0;break;
  14.     case 2:days=31;break;
  15.     case 3:days=59;break;
  16.     case 4:days=90;break;
  17.     case 5:days=120;break;
  18.     case 6:days=151;break;
  19.     case 7:days=181;break;
  20.     case 8:days=212;break;
  21.     case 9:days=243;break;
  22.     case 10:days=273;break;
  23.     case 11:days=304;break;
  24.     case 12:days=334;break;
  25.     }
  26.     days+=day;
  27.     if(leap==1 && month >2)
  28.     {
  29.         days++;
  30.     }
  31.     printf("%d年%d月%d日是%d年的第%d天",year,month,day,year,days);
  32. }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值