设为首页 加入收藏

TOP

C语言入门教程-(5)格式化输入输出(一)
2019-01-05 12:08:42 】 浏览:165
Tags:语言 入门教程 格式 输入 输出

1.输入和输出

在程序的使用中,我们经常可以看的这么一个场景:用户需要输入数据,经过程序运算,得到结果后输出。在C语言中,输入数据和输出数据都是由库函数完成的,通过语句来输入/输出。

2.格式化输出—printf()函数

C语言程序运算的结果在内存中,我们需要将其输出到指定设备中,我们才可以看到数据。printf是print format的缩写,意思是“格式化打印”。“打印”的意思就是在屏幕上显示内容,所以我们称printf是格式化输出。

2.1 printf()函数

在前面我们有简单的使用过printf()函数,printf()函数的一般语法格式如下:

printf("<格式化字符串>",<输出列表>);
  • 格式化字符串:用双引号括起来的字符串,字符串包含的普通字符,printf()函数将其原样输出到屏幕上;以"%"开头的格式字符,printf()函数将数据转换为指定的格式输出到屏幕上。
  • 输出列表:需要输出到屏幕的数据,数据可以是常量、变量或者表达式。

【实例5.1】printf()函数输出“C语言入门教程”。

#include <stdio.h>

int main()
{
    printf("关注公众号:程序员基础知识");  
    return 0;
}

执行以上程序,输出结果为:
关注公众号:程序员基础知识

实例解析:
printf()函数用于格式化输出到屏幕,在头文件(标准输入输出头文件)中声明。当编译器调用printf()函数时,如果没有头文件,会发生编译错误。实例中,printf()函数只有“格式化字符串”,省略了“输出列表”。该语句字符串只包含的普通字符,printf()函数将其原样输出到屏幕上。

2.2 printf()函数的字符格式

格式化字符串中如果包含以“%”开头的格式字符,printf()函数将数据转换为指定的格式输出到屏幕上。格式化字符串中包含三部分,即原样输出文字、控制字符、转义字符。如果输出列表有两个变量或者多个组成,变量之间需要用逗号隔开,多个变量与格式字符串的控制字符一一对应。

输出不同的类型需要使用不同的控制符,这里汇总了一些常见的控制符,如下表所示。

格式字符 意义
%d 输出十进制整数,一般对应int类型
%i 输出十进制整数,与%d相同
%c 输出字符,一般对应char类型
%f 输出十进制实数,一般对应float类型,也可以是double类型
%lf 输出十进制实数,一般对应double类型,也可以是float类型
%% 输出百分号(%)

C语言中定义了一些字母前加"\"来表示那些不能直接显示的ASCII字符,称为转义字符。汇总了几个常用的转义字符,如下表所示。

转义字符 意义
\n 换行,将当前位置移到下一行开头
\t 水平制表,跳到下一个Tab位置
\\ 代表一个反斜线字符'\'

【实例5.2】通过格式化输出盖伦属性。

#include <stdio.h>

int main()
{
    char garenName = 'G';
    printf("名字:%c\n", garenName);

    int garenHp = 455;
    int garenMoveSpeed = 340;
    printf("生命值:%d\t移动速度:%d\n", garenHp, garenMoveSpeed);

    float garenAttackSpeed = 0.625;

    printf("攻击速度:%f\n", garenAttackSpeed);
    printf("攻击速度:%lf\n", garenAttackSpeed);

    return 0;
}

执行以上程序,输出结果为:
名字:G
生命值:455 移动速度:340
攻击速度:0.625000
攻击速度:0.625000

实例解析:
控制字符%c输出一个字符G,转义字符\n代表换行。生命值和移动速度之间有一个Tab的间隔,这是因为中间有转义字符\t。float型的控制字符既可以用%f也可以用%lf。在printf()中,%f或者%lf控制字符既可以输出float型又可以输出double型。但在输入的时候则需要注意,float型对应%f,double型对应%lf,本节后面会讲到。

3.格式化输入—scanf()函数

输入的意思是向程序填充一些数据,scanf()函数用于从标准输入(比如键盘)读取并格式化。scanf是scan format的缩写,意思是“扫描格式化”。我们称scanf是格式化输入。

3.1 scanf()函数

scanf()函数也是一个标准库函数,在头文件中。scanf()函数的一般语法格式如下:

scanf("<格式化字符串>",<地址列表>);
  • 格式化字符串:用双引号括起来的字符串,一般只有"%"开头的格式字符。
  • 地址列表:各个变量的地址,变量的地址通过取地址符号"&"和变量名得到。比如,&a代表变量a的地址。我们不需要关心具体的地址是什么,只需要在变量名前加上取地址符号"&"即可。我们需要注意,scanf()函数要求给出地址,如果只有变量名则会报错。scanf()函数也可以和printf()函数一样可以接受多个值,变量之间需要用逗号隔开,需要一一对应。

【实例5.3】通过格式化输入并且输出盖伦属性。

#include <stdio.h>

int main()
{

    char garenName;
    printf("Please input garenName:");
    scanf("%c", &garenName);
   
编程开发网
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇顺序表的基本操作 下一篇搞懂C语言函数指针

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

array(4) { ["type"]=> int(8) ["message"]=> string(24) "Undefined variable: jobs" ["file"]=> string(32) "/mnt/wp/cppentry/do/bencandy.php" ["line"]=> int(214) }