(一)C语言 您所在的位置:网站首页 c语言printf输出错误的数据 (一)C语言

(一)C语言

2023-07-18 02:01| 来源: 网络整理| 查看: 265

(一)C语言——数据的输出printf()函数**

数据的输入和输出是程序设计中使用最普遍的基本操作。程序运行所需的数据通常要从外部输入设备(如键盘、文件、扫描仪等)输入,程序的运行结果通常也要输出到外部设备(如打印机、显示器、绘图仪、文件等)。

一个程序通常缺少不了数据的输入和输出,如果没有输入,数据的处理只能固定写在程序中,要想改变数据,必须通过修改源程序才能实现,非常不方便;如果没有输出,程序的运行结果就无法告知用户。因此,输入、输出是用户与程序之间交互的主要手段。

C语言本身并没有直接提供用于输入和输出的语句,但提供了输入和输出标准库函数,例如 printf(格式输出)、sacnf(格式输入)、putchar(输出字符)、getchar(输入字符)等。这些函数都包含在C语言的标准函数库中,通过对他们的调用。可以实现数据的输入和输出。

由于标准输入/输出函数的原型放在头文件stdio.h中,因此在编写程序时,要用编译预处理命令 “#include”将头文件stdio.h 包括到用户源文件中。格式为 #include 或 #include“stdio.h”

1、printf()函数 printf函数是标准的格式输出函数,使用该函数可以灵活地向外部输出设备以各种格式输出变量、常量和表达式的值。 printf()函数的一般格式 printf(格式控制字符串 ,输出项表); 函数功能:将各输出项的值按指定格式显示在标准输出设备(如屏幕)上。例如: printf(“sum is %d\n”,sum); (1)调用printf()函数时必须至少给出一个实际参数。即格式控制字符串。格式控制字符串使用双引号括起来的字符串,包括普通字符和格式说明两类字符。

**普通字符,作为输出提示的文字信息,将会进行原样输出**。如: printf(“This is my book!”); 其输出结果为: This is my book! 格式说明,用于指定输出格式,其形式为: %[格式修饰]格式字符 其作用是将内存中需要输出的数据由二进制形式转换为指定的格式输出。其中 [格式修饰]包括标志、类型修饰、输出最小宽度和精度等,可根据需要取舍。

(2)输出项表是要输出的数据对象,可以是变量、常量和表达式。输出项表中的各输出项要用逗号隔开。printf()函数的一般格式还可以表示为: printf(格式控制字符串,输出参数1.输出参数2,…,输出参数n); 输出数据项的数目任意,但是格式说明的个数要与输出项的个数相同,使用的格式字符也要与它们一一对应,且类型匹配。例如 int x=1; float y=2.0; printf(“x=%d,y=%d\n”,x,y); 这个语句中的"**x=%d,y=%d\n"**是格式控制字符串,x、y是输出项表。格式字符d与输出项x对应,格式字符f与输出项y对应。 输出过程是:在当前光标位置处先原样输出"x=",接下来用“%d”格式输出变量x的值, 再原样输出",y=",接下来用“%f "格式输出变量y的值,最后输出转义字符“\n”(换行),使输出位置移到下一行的开头处。上述语句的输出结果为: x=1,y=2.000000

2.printf()函数的格式字符 *不同的数据类型输出所用格式也是不同的,每个格式控制说明都必须用“%”开头,以一个格式字符作为结束,在其间可以根据需要插入格式修饰符。下表列出了C语言中常用的格式字符

在这里插入图片描述 3.格式修饰符 为了使程序的输出结果更加整齐美观,可以在格式字符的前面加上格式修饰符。格式修饰符有以下四种类型: (1)标志。标志字符主要有-、+、#三种。-表示输出值左对齐。+表示输出结果右对齐,输出符号位(数据为正时输出正号,为负时输出负号)。#对c、s、d、u格式无影响;对o格式输出时加前缀0;对x格式输出时加前缀0x;对于e、g、f格式,当结果有小数部分时才输出小数点。 (2)输出宽度m。m表示一个十进制整数。 通常所用的%d、%c、%f等格式,都是按照数据实际宽度输出显示的,并采用右对齐形式。可以根据需要,用十进制整数限定输出数据的位数。 例如:“printf("%5d",24);”表示整数24以5位宽度右对齐输出显示,即输出为: 24。实际数据若超过定义宽度,则按实际位数输出;若少于定义宽度,则补空格。 (3)精度。 对于float或double类型的实型数,可以用“m.n”的形式指定数据的输出宽幅和小数位数(即精度)。m、n为正整数,其中,m指数据输出的总宽度(包括小数点),n对e、f格式符而言,指小数位数。当小数位数大于n时,自动四舍五入截去右边多余的小数;当小于指定宽度时,在小数部分最右边自动补0。例如:“printf("%8.1f",123.45);"输出结果为 123.5。 对%s格式符,也可用“m.n”的形式修饰。按照m指定的宽度进行输出,但是只输出字符串从左端开始的n个字符。如果n小于m,则左端补空格;如果n大于m,则突破m的限制,保证n个字符正常输出。 (4)类型修饰。有h和l两种。h表示输出短整型(short)数据,l表示输出项是(long)或双精度实型(double)。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有