day3(c语言)

C语言

int scanf(const char *format, …);
scanf()
功能:按照某种格式向终端输入一串信息
参数:一个或者多个,一个字符串,用于填写想要呈现的信息内容,
后续参数由前期字符串中的格式的个数决定
返回值:正确输入的个数,如果第一个参数输入错误,返回0

int a=10,b=10;
scanf("%d %d", &a, &b);
printf("a=%d,b=%d\n",a,b);

垃圾字符回收机制

int不受影响
在这里插入图片描述

char:空格也是字符

char a=0,b=0;
scanf("%c%c", &a, &b);
printf("a=%c,b=%d\n",a,b);

在这入图片描述
空格的ascii码为32;

解决方案

通过空格回收一个或者多个空格、Tab

char a=0,b=0;
scanf("%c %c", &a, &b);//两个%c之间添加了一个空格
printf("a=%c,b=%c\n",a,b);

*抑制符(了解)
回收任意一个字符

char a=0,b=0;
scanf("%c%*c%c", &a, &b);//两个%c之间添加了一个空格
printf("a=%c,b=%c\n",a,b);

getchar()回收

char a=0;
scanf("%c", &a);
printf("a=%c\n",a);
char b=0;
scanf("%c", &b);
printf("b=%c\n",b);

在这里插入图片描述
原因是sanf输入‘q’和‘\n’,‘q’赋值给变量a,‘\n’进入暂存区,下次遇到输入输出时,优先从暂存区读取数据,‘\n’被赋值给了变量b。

char a=0;
scanf("%c", &a);
printf("a=%c\n",a);
getchar();
char b=0;
scanf("%c", &b);
printf("b=%c\n",b);

强制转化

float a = (float)5 / 2;  // 强制转换只在当前这一行生效
printf("%f\n",a);
float b = 5 / 2;
printf("%f\n",b);

分支语句

顺序结构,分支结构,循环结构

switch语句

switch (变量或表达式)
{
case 常量1:
语句块;
break;
case 常量2:
语句块;
break;
default:
语句块;
break;
}

float a = 0;
    scanf("%f",&a);
    switch (a)
    {
    case 'A':
        printf("AAA\n");
        break;
    case 'B':
        printf("BBB\n");
        break;
    default:
        printf("输入格式错误\n");
        break;
    }

注意:1.case对应的常量值不能为浮点数
2.每个case对应的分支需要加break,如果不加break,程序会从符合条件的分支语句开始一直执行,直到switch执行结束
或遇到break为止。执行完语句执行最后一条默认的命令

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值