• 【基础语法】C语言、python、Java的输入(仅限控制台)


    前言:

    前阵子响应学校号召参加了某比赛,为此学习练习了算法,在力扣里苦苦挣扎。当我信心满满的参加去参加比赛时,直接被干趴了,倒在了第一关——我不懂怎么进行参数的输入!!!(被力扣惯坏了),所以写下这篇博客复习一下如何进行输入。

    C语言:

    #include 

    scanf:

    几乎可以获取各种类型的数据.

    scanf(“格式控制符……”,变量地址);

    常用(自认为的)格式控制符
    %d整数(int)
    %ld长整型(long int)
    %lld长长整型(long long int)
    %f浮点数(小数)(float)
    %lf双精度浮点数(double)
    %s字符串
    %c字符
    1. //例:
    2. int x=0;
    3. scanf("%d",&x);

    需要注意的几个点:

    1、数组不用取地址(&),因为数组的变量名本身就是该数组的首地址。

    2、使用%s输入字符串时只有按下回车才会结束,但是一旦按了空格之后,空格后面的内容不再输入。可以使用正则表达式来获取包含空格的字符串,当初在C语言课上用了下,老师都没见过,让我小小装了一下

    1. char x[100]={0};
    2. scanf("%[^\n]",x);

    getchar:

    获取一个字符

    变量=getchar()

    1. //例:
    2. char x;
    3. x=getchar();

     需要注意的几个点:

    1、getchar不会等待用户输入,而是直接从控制台缓冲区获取一个字符,所以比如说我先用scanf获取了字符串,按下回车结束输入,scanf后面接了个getchar,那么那个回车会被getchar获取,所以getchar也常用于吸收回车(\n)

    2、可以利用getchar来获取包含空格的字符串

    1. //例:
    2. #include
    3. #pragma warning(disable:4996)
    4. int main()
    5. {
    6. char x[100] = { 0 };
    7. char temp = getchar();
    8. int index = 0;
    9. while (temp != '\n') {
    10. x[index++] = temp;
    11. temp = getchar();
    12. }
    13. printf("%s",x);
    14. return 0;
    15. }

    gets:

    获取包含空格的字符串.

    gets(字符数组变量名)

    1. //例:
    2. char x[100]={0};
    3. gets(x);

    Python:

    input:

     python貌似就这一种输入的方法(貌似……),还挺万能的。

    变量名=input(“请输入”)

     需要注意的几个点:

    1、input输入获取的数据是字符串类型的,所以有其他需要的话可以进行强制转换类型。

    2、如果要获取多个数,并且用空格分隔,输入在同一行的话,可以用字符串分割来一一获取数据。

    1. #例:
    2. string=input(“这是一串用空格分隔的数”)
    3. arr=string.split(' ')

    Java:

    import java.util.Scanner;

    Scanner:

    在Java中获取输入数据需要创建一个对象Scanner

    Scanner sc=new Scanner(System.in)

    int 变量=sc.nextInt( )        获取一个整数,可以是long类型.

    float 变量=sc.nextFloat( )        获取一个小数,必须是float类型.

    double 变量=sc.nextDouble( )        获取一个小数,必须是double类型.

    字符串对象=sc.next( )        获取字符串,遇空格停止获取.(必须先创建好字符串对象)

     字符串对象=sc.nextLine( )        获取字符串,包含空格,按回车结束.(必须先创建好字符串对象)

     

  • 相关阅读:
    echarts折柱混线图根据后台数据动态刷新显示数据
    学校图书馆管理系统
    01.前后端分离中台框架后端 Admin.Core 学习-介绍与配置说明
    目标检测YOLO实战应用案例100讲-基于YOLOv3多模块融合的遥感目标检测
    解决跨域的三种方案
    linux12企业实战 -- 56 zabbix常规监控错误汇总
    通用NPU与针对自动驾驶系统NPU的差异点和挑战
    视频剪辑软件Corel VideoStudio 会声会影2023新功能介绍及安装激活教程
    Linux 驱动开发:USB无线wifi驱动开发(MT7601)、完成WIFI管理工具安装
    Flink Yarn Per Job - 提交应用
  • 原文地址:https://blog.csdn.net/m0_63235356/article/details/126477269