信息从计算机的外部设备流入计算机称为输入。printf格式换行

从计算机主机流向外部设备称为输出。

C语言中没有输入输出语句,而是由输入输出函来实现的输入/输出的。

C标准函数库中包含的常用输入输出函数有:

格式输出函数printf()

格式输入函数scanf()

单个字符输出函数putchar()

单个字符输入函数getchar()

使用标准输入输出库函数时,要用编译命令“#include”将有关头文件“stdio.h”包括到用户的源文件当中。即:

#include或

#include“tdio.h”

stdio是standard input & output(标准输入与输出)的缩写。

一般格式:

printf(格式控制”,输出列表);

例如:printf(“a=%d,b=%c\n”,a,b)

功能:向默认输出设备(一般是显示器)输出“输出列表”中各数据项。

1.格式控制

格式控制也称“控制字符串”,是由双引号括起来指定输出格式的字符串。他由格式说明、控制字符和普通字符三部分组成:

(1)格式说明

构成:由“%”字符开始后面跟有各种格式字符。

作用:以说明输出数据的类型、形式、长度、小数位等格式。

C语言提供的常用printf()函数格式说明如表3.1所示:

表3.1 printf()函数格式说明及应用举例

(2)控制字符

控制字符用于控制设备的动作,如下表中制表符“\t”、换行符“\n”等。

常见控制字符

例如:

printf(“x=%d\n”,x);

(3)普通字符

除格式说明和控制字符之外,其他字符均属普通字符,打印时按原样输出。例如:

printf(“x=%d,%c”,12,6*8);

其中“x=”和“,”都是普通字符。

输出结果是:x=12,48

2.输出列表

输出列表:就是需要输出的各数据项表达式,表达式之间用逗号分隔。

3.附加说明符

在%与格式字符间插入附加说明符,组成:

“% ”输出格式来达到更高输出格式要求。

常用附加说明符如表3.2所示:

表3.2 printf()函数附加格式说明

数据输出的最小宽度,当数据实际宽度超过m时,则按实际宽度输出,如实际宽度短于m,则输出时前面补0或空格。

【例3.1】输出整型、长整型、无符号整型数据

#include “stdio.h”

void main()

{

int y=20;

long a=1024;

unsigned b=54321;

printf(“%d,%ld,%u\n”,y,a,b);

printf(“%+8d,%+8ld,%+8u\n”,y,a,b);

printf(“%08d,%08ld,%08u\n”,y,a,b); /

printf(“%-8d,%-8ld,%-8u\n”,y,a,b);

printf(“%o,%lo,%o\n”,y,a,b);

printf(“%#x,%#lx,%#x\n”,y,a,b);

printf(“%8o,%8lo,%8o\n”,y,a,b);

printf(“%-8x,%-8lx,%-8x\n”,y,a,b);

}

运行结果如下:(ㄩ代表空格)

20,1024,54321

ㄩㄩㄩㄩㄩ+20,ㄩㄩㄩ+1024,ㄩㄩㄩ54321

00000020,00001024,00054321

20ㄩㄩㄩㄩㄩㄩ,1024ㄩㄩㄩㄩ,54321ㄩㄩㄩ

24,2000,152061

0x14,0x400,0xd4321

ㄩㄩㄩㄩㄩㄩ24,ㄩㄩㄩㄩㄩ2000,ㄩㄩ152061

14ㄩㄩㄩㄩㄩㄩ, 400ㄩㄩㄩㄩㄩ, d4321ㄩㄩㄩ

【例3.2】输出字符和字符串

#include “stdio.h”

void main()

{

char ch=’a’;

printf(“%c\n”,ch);

printf(“%-3c\n”,ch);

printf(“%3c\n”,ch);

printf(“%s\n”,”programing”);

printf(“%15s\n”,”programing”);

printf(“%-15s\n”,”programing”);

printf(“%10.5s\n”,”programing”); /

printf(“%-10.5s\n”,”programing”);

}

运行结果如下:

a

aㄩㄩ

ㄩㄩa

programing

ㄩㄩㄩㄩㄩprograming

programingㄩㄩㄩㄩㄩ

ㄩㄩㄩㄩㄩprogr

progrㄩㄩㄩㄩㄩ

【例3.3】输出实型数据

#include “stdio.h”

void main()

{ float x,y;

double a;

x=111111.111;y=123.468;

a=333333333.33333;

clrscr();

printf(“%f\n”,x);

printf(“%f\n”,a);

printf(“%10f,%10.2f,%.2f,%-10.2f\n”,x,x,x,x);

printf(“%e\n”,x);

printf(“%e\n”,a);

printf(“%10e,%10.2e,%.2e.%-10.2e\n”,a,a,a,a);

printf(“%f,%e,%g”,y,y,y);

}

程序运行结果如下:

111111.109375

333333333.333330

111111.109375, ㄩ111111.11,111111.11,111111.11ㄩ

1.11111e+05

3.33333e+08

3.33333e+08, ㄩㄩㄩ3.3e+08,3.3e+08.3.3e+08ㄩㄩㄩ

123.468002,1.23468e+02,123.468

4.在使用printf()函数时,还应注意以下问题

(1) 调用printf()函数时,格式式转换说明符与输出项必须顺序和数据类型上一一对应一致。

(2) VC6.0++ 规定:当格式说明符明个数少于输出项个数时,多余的输出项不予输出。当格式说符明个数多于输出项个数时,而输出不定值。

(3) 当printf()函数中多个输出项为表达式时,VC6.0++ 规定先从右到左的顺序计算各表达式的值,然后再从左到右的顺序输出结果。

(4) 在使用“f”格式符输出实数时,并非全部数字都是有效数字,单精度实数的有效位数一般为7位,双精度数的有效位数一般为16位。

例如:

① #include “stdio.h”

void main()

{ float x=111111.111,y=222222.222;

printf("%f",x+y);

}

输出结果为:

333333.328125 /*前7位是有效数字,后面数字无意义*/

② #include “stdio.h”

void main()

{ double x=111111.11111,y=222222.22222;

printf("%lf",x+y);

}

输出结果为:

333333.333330 /*可达16位是有效数字,小数点保留6位*/

一般形式:

scanf("格式控制",地址列表);

功能:从键盘向程序中的变量输入一个或若干个任意类型的数据。

例如:

scanf("%d,%d",&a,&b);

1.格式控制

格式控制与printf基本相同,由格式说明、附加说明字符和普通字符三部分组成。printf格式换行

"% "

格式字符如表3.3所示,附加说明字符如表3.4所示。

表3.3 scanf函数格式说明及作用

表3.4 scanf函数附加格式说明及作用

用在格式字符d、o、x、u的前,表示输入长整型数据,用在f或e前,表示输入double型数据。

2.地址列表

地址列表:用逗号分隔的若干接收输入数据的变量地址。各变量地址间用逗号“,”分隔。

变量地址组成:由地址运算符“&”后跟变量名组成。

例如:

#include

void main()

{

int a,b, c;

/*%d%d%d”表示要按十进制整数形式输入3个数*/

scanf(“%d%d%d”,&a,&b,&c);

printf(“a=%d,b=%d,c=%d\n”,a,b,c);

}

运行时按以下方式输入a,b,c的值:

3ㄩ4ㄩ5↙ (输入a,b,c的值,用空格间隔)

a=3,b=4,c=5 (输出a,b,c的值)

注:输入数据时,在两个数据之间以一个或多个空格间隔,也可以用Enter键、Tab键分隔,不能用逗号作为两个数据的分隔符。

下面输入均为合法:

①3ㄩ4ㄩ5↙

②3↙

4 5↙

③3(按Tab键)4↙

5↙

如下面的输入不合法:

3,4,5↙

3.使用scanf()函数时应注意的问题

(1)地址列表中的各个参量都是变量地址,而不是变量名。

例如:设a 、 b 分别为整型变量和浮点型变量,则

scanf("%d %f",&a,&b);

是合法的。而

scanf("%d %f",a,b);

是非法的。

(2)普通字符在输入数据时,在对应位置上输入相同字符。

例如:

scanf("%d,%d",&a,&b)

输入时应用如下形式:

3,4↙

以下输入格式是不对的:

3ㄩ4↙

3:4。

又如:scanf(”%d:%d:%d”,&x,&y,&z);

输入形式应为:12:13:14。

(3)对于实型数据,输入时不能规定其精度。

例如:

scanf(“%6.3f”,&x);

是不合法的。

(4)在用“%c”格式输入字符时,空格字符和“转义字符”都将作为有效的字符输入。

例如:

scanf("%c%c%c",&c1,&c2,&c3);

如果输入:

aㄩbㄩc↙

则字符'a'→c1,字符'ㄩ'→c2,字符'b'→c3。

正确输入方法是:

abc↙(中间没有空格)

(5)在输入数据时,遇到下列情况时,输入数据认为结束:

遇空格或按“回车”或“跳格”(Tab)键;

遇宽度结束,如“%3d”,只取3列;

遇非法输入;

例如:

scanf("%d%c%f",&a,&b,&c);

若输入

123a456o.26↙

¯ ¯ ¯

a b c

123→a ,字符a→b,456→c

注:第3个数4560.26错打成456o.26,由于456后面出现了英文字母“o”,就认为此数据结束,则将会把456送给c,后面的数据将不被接受。

(6)当使用多个scanf()函数连续给多个字符变量赋值时,例如:

#include

void main()

{

char c1,c2;

scanf(“%c”,&c1);

scanf(“%c”,&c2);

printf(“c1 is %c,c2 is %c”,c1,c2);

}

运行该程序时如果输入:

A↙

输出结果为:

c1 is A,c2 is ↙ (即C2接收了一个回车符↙,而没有被赋值)

如果输入:

AB↙

输出结果为:

c1 is A,c2 is B。

(7)对于unsigned型变量所需的数据,可以用%u,%d或%o,%x格式输入。

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/ruanjian/article-26176-1.html

c语言输出换行字符,float_printf格式换行_c语言printf里如何换行相关推荐

  1. C语言--输出三角形字符阵列

    输入 输入在一行中给出一个正整数n(1≤n<7). 输出 输出n行由大写字母A开始构成的三角形字符阵列.格式见输出样例,其中每个字母后面都有一个空格. #include<stdio.h&g ...

  2. C语言---输出三角形字符阵列

    输出三角形字符阵列 本题要求编写程序,输出n行由大写字母A开始构成的三角形字符阵列. 输入格式: 输入在一行中给出一个正整数n(1≤n<7). 输出格式: 输出n行由大写字母A开始构成的三角形字 ...

  3. C语言 输出一个字符

    类型转换字符%c的使用. main() {char c='A';int i=65;printf("c=%c,%5c,%d\n",c,c,c);printf("i=%d,% ...

  4. java的格式控制符_C语言的格式控制符

    1.         格式控制符 格式输出printf 作用是向终端输出若干个类型任意的数据. 格式:printf (格式控制符,输出列表) 1)         格式控制符 l          % ...

  5. c语言输出字符串显示在屏幕上,C语言输出printf

    C语言输出printf教程 在 在我们使用 printf 函数时,格式占位符的格式个数一定要与后面的需要输出的变量或者字面量的个数匹配,否则程序报错. printf函数详解 语法 int printf ...

  6. 由于c语言是由字符流组成的,C语言试题及答案

    大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的. A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束. ...

  7. c语言谭浩强ppt课件,编程_C语言学习课件_谭浩强_PPT~1216F.ppt

    编程_C语言学习课件_谭浩强_PPT~1216F.ppt ,第一章,C语言概述本章要点,C语言的特点 C程序的结构 在计算机上运行C程序的方法主要内容,1.1 语言出现的历史背景 1.2 程序的特点 ...

  8. R 语言怎么保存工作目录到当前路径_C语言探索之旅 | 第二部分第七课:文件读写...

    内容简介 前言 文件的打开和关闭 读写文件的不同方法 在文件中移动 文件的重命名和删除 第二部分第八课预告 1. 前言 上一课 C语言探索之旅 | 第二部分第六课:创建你自己的变量类型 之后,我们来学 ...

  9. c语言不会可以学好java吗_C语言一定要学好吗?

    编程语言其实是一个很初级的工具,但是你又必须熟练的掌握它,学懂一门编程语言就好像学会了写字,但是会写字的人不见得会写文章,而会写文章又不见的写得好.可是如果你不会写字,那就一定写不出文章来. 首先,在 ...

最新文章

  1. 面试官:Java中 serialVersionUID 的作用是什么?举个例子说明
  2. fatal error C1900: Il mismatch between 'P1' version '20060201' and 'P2' version '20050411'
  3. 深入了解Mybatis架构设计
  4. 牛客 - 合约数(树上启发式合并)
  5. 为什么不用小驼峰也能查到数据库数据_为什么不用驼峰命名创建表名和字段?...
  6. 共享单车的定位,应该是利用手机实现
  7. python中不包不包括_Python文件部分(不包括数据)
  8. ios6.x 插件介绍及常用源
  9. python 应用程序无法正常启动 000007b_Win7应用程序无法正常启动0x000007b怎么办?...
  10. 使用display和fadin(),fadeout发现的问题(待解决)
  11. JavaEE_Swagger
  12. matlab 提取谐波,用MATLAB采用MUSIC法进行谐波提取出现问题
  13. VBA提高篇_12_1 VBA判断奇偶数的方法
  14. 《操作系统导论》第37章课后答案
  15. 腾讯开源 Kotlin 高性能特效动画组件!
  16. 如何成为一名合格的Apache项目Committer,参与Apache开源贡献的正确姿势
  17. mysql的check约束怎么设置_MySQL怎么使用check约束
  18. 自制PLC—木牛流马PLC V1.1发布
  19. C语言数据结构应用(图书借阅系统)
  20. 深度学习 - 模型的优化和过拟合问题

热门文章

  1. 登录令牌JWT — JSON WEB TOKEN
  2. IO流趣味练习题之答题
  3. 【MZ】CF 359C - 359E #209 (Div. 2)
  4. jaxb java_jaxbapi的java8到java11迁移问题
  5. c语言为什么除法会四舍五入,C语言学习(2)
  6. NOC大赛-加码未来小码编程赛项模拟题丨Scratch第一、二套
  7. 第一篇,就随便说说。
  8. spring boot 生成初始和销毁对象方法的三种方式
  9. SpaceVim+NeoVim
  10. 马老师的PQ/SQL学习笔记