MENU

基本的输入和输出函数的用法

April 4, 2020 • 原创文章,C语言

printf() 用法详解

printf()是什么

printf() --将变量的内容输出到显示器上

printf()的四种用法

1.printf("字符串")

例子:

#include <stdio.h>

int main(void)
{
    printf("哈哈\n");
    return 0;
}
2.printf("输出控制符",输出参数)

例子:

#include <stdio.h>

int main(void)
{
    int i = 10;//i里面放的是二进制
    printf("%d\n",i);//d是十进制
    return 0;
}
3.printf("输出控制符1 输出控制符2",输出参数1,输出参数2)

例子:

#include <stdio.h>

int main(void)
{
    int j = 1;
    int k = 3;
    printf("%d %d\n",j,k);
    //printf("%d\n".j.k);//这样是错误的
    //输出控制符和输出参数的个数必须一一对应
    return 0;
}
4.printf("输出控制符 非输出控制符",输出参数)

什么是输出控制符?
%号开头的基本上都是输出控制符
输出控制符都有哪些?
%d -- int
%ld -- long int
%c -- char
%f -- float
%lf -- doible
%x(或者%X后者%#X(这个很重要))  -- int 或 long int 或 short int
例子:

int main(void)
{
    int x = 47;

    printf("%x\n", x);//输出结果是:2f
    printf("%X\n", x);//输出结果是:2F
    printf("%#x\n", x);//输出结果是:0x2f
    printf("%#X\n", x);//输出结果是:0X2F
}

%o -- 同上
%s -- 字符串

为什么需要输出控制符?

1.01组成的代码可以表示数据也可以表示指令。
2.如果01组成的代码表示的是数据的话,那么同样的01代码组合以不同的格式输出就会有不同的输出结果。

scanf() 用法详解

scanf()是什么

scanf() --通过键盘将数据输入到变量中

scanf()的三种用法

用法一:scanf("输入控制符",输入参数)

功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入已输入参数的值为地址的变量中
例子:

#include <stdio.h>

int main(void)
{
    int i;

    scanf_s("%d", &i);//&i 表示i的地址 & 是一个取地址符
    printf("i = %d\n", i);

    return 0;
}

用法二:scanf("非输入控制符 输入控制符",输入参数)

功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入已输入参数的值为地址的变量中,非输入控制符必须原样输入
例子:

#include <stdio.h>

int main(void)
{
    int i;

    scanf_s("m%d", &i);//&i 表示i的地址 & 是一个取地址符
    printf("i = %d\n", i);

    return 0;
}

用法三,多控制符输入:scanf("输入控制符 输入控制符 输入控制符",输入参数 输入参数 输入参数)

例子:
注意:空格属于非输入控制符

#include <stdio.h>

int main(void)
{
    int i, j, k;

    scanf_s("%d %d %d", &i, &j, &k);//&i 表示i的地址 & 是一个取地址符
    printf("i = %d j = %d k = %d\n", i, j, k);

    return 0;
}

如何使用scanf编写出高质量代码

1.使用scanf之前最好先用printf提示用户以什么样的方式来输入
2.scanf中尽量不要使用非输入控制符,尤其是不要用n
3.应该编写代码对用户输入的非输入控制符做适当的处理【非重点】

while ((ch = getchar()) != '\n')
    continue;
Last Modified: April 6, 2020
Archives QR Code
QR Code for this page
Tipping QR Code

感谢以下平台提供云加速支持