今日份学习日常(3)[习题+梳理]

[1]输入输出

按字符输入输出

getchar

用法格式:

#include <stdio.h>

int getchar(void);

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

参数:无

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

int res=getchar();

printf("%d\n",res);

putchar

用法格式:

#include <stdio.h>

int putchar(int c);

功能:终端输出一个字符

参数:字符的ASCII码值

返回值:字符的ASCII码值

putchar没有换行的效果,需要额外添加

int res=getchar();

putchar(res);

int num=putchar('\n');//putchar(10);

// printf("%d\n",num);

 按格式输入输出

printf

#include <stdio.h>

int printf(const char *format, ...);

功能:按指定的格式向终端输出

参数:多个

返回值:正确输出字符个数

格式:

%dint
%cchar
%ffloat
%lfdouble
%s字符串
%p指针
%o八进制【%#o】
%x十六进制【%#x】

 scanf

#include <stdio.h>

int scanf(const char *format, ...);

功能:按指定的格式向终端输入 (输入完毕时以回车结束)

参数:多个

返回值:

正确输入的字符个数

第一个字符输入格式错误,直接返回0

scanf格式必须和终端输入格式一一对应,不能加'\n'

变量名前边加&(取地址符),表示取变量的地址

int a=0;

scanf("%d",&a);

printf("a:%d\n",a);

--------------------------

int a=0,b=0;

scanf("%d %d",&a,&b);

printf("a:%d b:%d\n",a,b);

[2]垃圾字符回收

通过空格回收

可以回收一个多个空格 tab 回车

char c = 0,d = 0;

scanf("%c  %c",&c,&d);

printf("c:%c  d:%d\n",c,d);

%*c      *抑制符 (了解)

可以回收任意一个字符

char c = 0,d=0;

scanf("%c%*c%c",&c,&d);

printf("c:%c  d:%c\n",c,d);

getchar

scanf输入结束会在终端输入'\n';

解决'\n'程序造成的影响

while(1)

{

        char a;

        scanf("%c\n",&a);

        printf("%c\n",a);

        getchar();
}

[3]分支语句

if

基本结构:

if(常量值或表达式)

{

//代码块

}

if(常量值或表达式)

{

//代码块1;

}

else

{

//代码块2;

}


多层分支:

if(表达式1)

{

代码段1

}

else if(表达式2)

{

}

else

{

}


嵌套结构:

if(表达式1)

{

if(表达式2)

{

}

}

注意:

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

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

switch

基本结构:

switch(常量值或表达式)

{

case 常量值1

代码块1

break;

case 常量值2:

代码块2;

break;

default:

代码块n;

break;

}


例:

int a=4;

switch (a)

{

case 1:

printf("aaaa\n");

break;

case 4:

printf("bbb\n");

break;

case 5:

printf("ccc\n");

break;

default:

break;

}

习题:

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

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

闰年229平年228

程序如下:

运行结果如下:

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值