• 【基础语法】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( )        获取字符串,包含空格,按回车结束.(必须先创建好字符串对象)

     

  • 相关阅读:
    2022到2023的基于java的毕业设计课题参考
    Klotski: Efficient Obfuscated Execution against Controlled-Channel Attacks
    二维数组的动态创建和释放
    @requestBody与@RequestParam
    一文了解大模型工作原理——以ChatGPT为例
    Ansys Zemax | 大功率激光系统的STOP分析2:如何进行光机械设计准备
    redis非关系型数据库(缓存型数据库)——中间件
    3.4向量范数与矩阵范数&3.5线性方程组的迭代解法
    Webrtc Rtp包解密
    【附源码】计算机毕业设计SSM商品测试应用管理系统
  • 原文地址:https://blog.csdn.net/m0_63235356/article/details/126477269