基本输入输出

若需要使用输入输出函数,则需要包含<stdio.h>头文件。


输出


printf

printf是最常用的输出函数,可以格式化输出任意的基本数据类型的变量。

int printf(const char*format,...)
复制代码

  • format:"格式控制符"是用双引号括起来的字符串(格式控制符,也叫占位符)
  • ...:"输出列表"中的数据可以是合法的常量、变量和表达式,要与“格式控制字符串”中的格式一一对应。

格式控制符表:

5aa0c792f8514f34a8c635a42406d0c4?from=pc.jpg

格式控制符可选格式:

%[-][0][m][l]*

%d 按整型数据的实际长度输出
  • %[0]md以m指定的字段宽度输出,若数据的位数小于m,则左端补空格;若m前面有“0”,则左端补以0。
  • %-md以m指定的字段宽度输出,左对齐
  • %ld输出long int
  • 复制代码

    示例:

    //一般
  • printf("hello world");
  • printf("圆周率为:%lf", 3.1415);
  • printf("一周有%d天", 7);
  • //使用可选格式
  •   printf("%d\n", 52);
  •   printf("%3d\n", 52);  //输出的内容占3个字符宽度,默认右对齐,用空格填充
  •   printf("%03d\n", 52);  //同上,只不过填充字符从空格换成了0
  •   //只需要在%后面加上负号即可表示左对齐
  •   printf("%-3d\n", 52);
  • 复制代码

    注意事项:

    很多同学在输出的时候,会遇到很多的问题,大概就是以下几点:


    • 格式字符中,除了X、E、G外,其他均用小写字母,如“%d”不能写成“%D”。
    • 不同类型的数据应使用相应类型的格式字符说明其输出形式。
    • 如需输出双引号,应在“格式控制”中表示为转义字符的形式并用单引号引起来,即“\””。
    • 如需输出字符“%”,在“格式控制”中用连续两个“%”即可。 如:printf(“%d%%”,s);
    • 当“格式控制”中格式符个数少于输出表中的输出项时,多余的输出项不予输出。
    • 当“格式符”多于输出项时,结果为不定值。

    putchar

    有些时候,仅仅为了打印一个字符在显示器屏幕上,此时动用功能强大的printf函数,则颇有高射炮打蚊子之嫌,C提供了一个库函数putchar来完成这个简单的任务。

    int putchar(int ch);
  • //使用
  • putchar('A');
  • putchar(65);
  • 复制代码
    puts

    而有些时候仅仅是为了输出一个字符串,使用printf函数也稍显麻烦,可以使用C提供的一个库函数puts,而且puts函数会在输出字符串之后,自动进行换行。

    int puts(const char*str);
  • //使用
  • puts("hello world");
  • 复制代码
    输入

    scanf

    scanf是最常用的输入函数,可以格式化输入任意基本数据类型的变量。

    int scanf(const char* format,...);
    复制代码

    • format:"格式控制符"是用双引号括起来的字符串
    • ...:"输入列表"中的数据必须是合法变量的地址表(即变量前面加&符),要与“格式控制字符串”中的格式一一对应。
    • 如果输入的输入不止一个,在format格式控制字符串中,必须以空格间隔。

    示例:

    const double PI = 3.1415;
  • int  radius = 0;
  • printf("请输入半径:\n");
  • scanf("%d", &radius);
  • printf("圆的面积为:%lf", PI * radius * radius);
  • 复制代码

    scanf函数注意事项

    scanf函数的格式字符串由以下三类字符组成:


    • 1>格式符(也叫占位符)和printf函数类似,scanf函数的格式字符串以%开始,以一个格式字符结束,中间可以插入附加的字符。格式符告诉了scanf函数该读取什么样的数据。
    • 2>空白符空白符可以是空格(用空格键输入)、制表符(用Tab键输入)和新行符(用回车键输入)。
    • 3>非空白符除去格式说明符合空白符之外,就是非空白符。非空白符在用户输入的时候,也必须一并输入。

    getchar

    可以非常方便的输入一个字符。

    int getchar();
  • //使用
  • int ch =getchar();
  • putchar(ch);
  • 复制代码
    gets_s

    可以非常方便的输入一个字符串。

    char* gets_s(char*  _Buffer,size_t _Size);
  • //使用
  • char name[50]="";
  • gets_s(name,50);
  • puts(name);
  • 复制代码
    内容转载自 网络,仅供学习交流使用,如有侵权,请联系删除。