其他分享
首页 > 其他分享> > 光天化日学C语言(05)- 格式化输入 | 恭喜你,你应该可以做一款独立游戏了

光天化日学C语言(05)- 格式化输入 | 恭喜你,你应该可以做一款独立游戏了

作者:互联网

????博客主页:https://blog.csdn.net/WhereIsHeroFrom
????欢迎各位 ????点赞 ⭐收藏 ????评论,如有错误请留言指正,非常感谢!
????本文由 英雄哪里出来 原创,转载请注明出处,首发于 ???? CSDN ????
作者的专栏:
  ????C语言基础专栏《光天化日学C语言》
  ????算法进阶专栏《夜深人静写算法》
  ????C/C++大厂面试专栏《C/C++ 面试 100 例》
  ????奇奇怪怪的专栏《学姐教我写代码》

文章目录

一、前言

  本文作者是从 2007 年开始学 C语言 的,不久又接触了C++,基本就是 C/C++ 技术栈写了 14 年的样子,不算精通,但也算差强人意。著有《夜深人静写算法》系列,且承诺会持续更新,直到所有算法都学完。主要专攻 高中 OI 、大学 ACM、 职场 LeetCode 的全领域算法。由于文章中采用 C/C++ 的语法,于是就有不少读者朋友反馈语言层面就被劝退了,更何况是算法。
  于是,2021 年 06 月 12 日,《光天化日学C语言》 应运而生。并且作者在此承诺,这个系列全部文章均免费且开源,主要服务于高中生、大学生以及职场上想入坑C语言的志同道合之人,希望能给祖国引入更多编程方面的人才,并且让自己的青春不留遗憾!
  这一章我们将介绍标准输入,有了输入输出,我们就可以做一款最简单的游戏啦!
在这里插入图片描述

二、人物简介 三、概念简介

1、输入的含义

2、标准输入

在C语言中,有三个函数可以用来在键盘上输入数据,它们分别是:
  1)gets() :用于输入一行字符串;
  2)getchar() :用于输入单个字符;
  3)scanf():可以输入各种类型的数据,作为最灵活、最复杂、最常用的输入函数,虽然无法完全替代前面两者,但是却是必须掌握的,今天我们就来全面了解一下这个函数。

3、格式化

四、整数的格式化输入

1、单个数据的输入

#include <stdio.h>
int main() 
{
    int a;
    scanf("%d", &a);
    printf("%d\n", a);
    return 0;
}
1314↙
1314

其中代表回车,即我们通过键盘输入1314,按下回车后,在屏幕上输出1314

类比输出,我们发现,输入和输出的差别在于:
   ( 1 ) (1) (1) 函数名不同;
   ( 2 ) (2) (2) 输入少了换行符 \n
   ( 3 ) (3) (3) 输入多了取地址符&

2、多个数据的输入

#include <stdio.h>
int main() 
{
    int a, b;
    scanf("%d", &a);
    scanf("%d", &b);
    printf("%d %d\n", a, b);
    return 0;
}
520↙
1314↙
520 1314

其中代表回车,即我们通过键盘输入520,按下回车,再输入1314,按下回车后,在屏幕上输出520 1314

#include <stdio.h>
int main() 
{
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d %d\n", a, b);
    return 0;
}
520 1314↙
520 1314

其中代表回车,即我们通过键盘输入520空格1314,按下回车后,在屏幕上输出520 1314

3、空格免疫

#include <stdio.h>
int main()
{
    int a, b;
    scanf("%d %d", &a, &b);
    printf("%d %d\n", a, b);
    return 0;
}
520    1314↙
520 1314

其中代表回车,即我们通过键盘输入520n个空格1314,按下回车后,在屏幕上输出520 1314

#include <stdio.h>
int main()
{
    int a, b;
    scanf("%d       %d", &a, &b);
    printf("%d %d\n", a, b);
    return 0;
}
520 1314↙
520 1314

其中代表回车,即我们通过键盘输入5201个空格1314,按下回车后,在屏幕上输出520 1314

在这里插入图片描述

4、回车结算

五、输入缓冲区
#include <stdio.h>
int main()
{
    int a, b, c, d;
    scanf("%d %d %d %d", &a, &b, &c, &d);
    printf("%d %d %d %d\n", a, b, c, d);
    return 0;
}
1 2 3 4↙
1 2 3 4

1、少输入

1 2 3↙
4↙
1 2 3 4

2、多输入

1 2 3 4 5↙
1 2 3 4

3、再次尝试

#include <stdio.h>
int main()
{
    int a, b, c, d, e;
    scanf("%d %d %d %d", &a, &b, &c, &d);
    printf("%d %d %d %d\n", a, b, c, d);
    scanf("%d", &e);
    printf("%d\n", e);
    return 0;
}
1 2 3 4 5↙
1 2 3 4
5

【例题1】给定一段代码,如下,并且给出一个输入,请问输出是什么。

#include <stdio.h>
int main()
{
    int a = 9, b = 8, c = 7, d = 6, e = 5;
    scanf("%d %d %d %d", &a, &b, &c, &d);
    printf("%d %d %d %d\n", a, b, c, d);
    scanf("%d", &e);
    printf("%d\n", e);
    return 0;
}
1 2b 3 4 5↙

六、其他数据类型的格式化输入

1、字符串的输入

#include <stdio.h>
int main()
{
	char str[100]; 
    scanf("%s", str);    // (1)
    printf("%s\n", str);
    
    scanf("%s", &str);   // (2)
    printf("%s\n", str);
    return 0;
}

2、做个简单的游戏吧

在这里插入图片描述

#include <stdio.h>
int main()
{
	char str[100]; 
	int height;
	
	printf("请大侠输入姓名:");
    scanf("%s", str);
    
    printf("请大侠输入身高(cm):");
	scanf("%d", &height);
	
	printf("%s大侠,身高%dcm,骨骼惊奇,是百年难得一遇的人才,只要好好学习C语言,日后必成大器!\n", str, height);
    return 0;
}


????博客主页:https://blog.csdn.net/WhereIsHeroFrom
????欢迎各位 ????点赞 ⭐收藏 ????评论,如有错误请留言指正,非常感谢!
????本文由 英雄哪里出来 原创,转载请注明出处,首发于 ???? CSDN ????
作者的专栏:
  ????C语言基础专栏《光天化日学C语言》
  ????算法进阶专栏《夜深人静写算法》
  ????奇奇怪怪的专栏《学姐教我写代码》

标签:1314,格式化,05,int,scanf,C语言,520,printf,输入
来源: https://blog.51cto.com/u_15239535/3009737