C语言—printf函数

printf函数

1)基本概念

printf函数是由C的编译系统提供的库函数,作用是向输出缓冲区输出内容

具体 stdio.h  -- 标准的输入(scanf)输出(printf)的头文件

printf("xxxx");/  scanf("%d",&a);

2)使用

格式:printf("格式控制的字符串",变量列表);

int a,b,c;

a = b = c = 10;

printf("a = %d,b = %d,c = %d",a,b,c);

注意:格式控制的字符串中有多少个占位符,后面的变量列表个变量数就得有多少个

3)格式控制符(占位符)的问题

%d    输出一个整形变量值(默认的是10进制)

%f    实数型(单精度和双精度)

%lf

%c    字符型

%s    字符串类型

%x    以16进制的形式输出变量

%o    以8进制的形式输出

(1)输出的时候加修饰符

*1)%md   m表示位数(域宽)

%5d

<m为正数>:

如果说要输出的数的实际的位数> m , 原样输出这个数

实际的尾数< m , 左侧开始补空(补差值得个数)

int a=2000;//位数=4

prinf("a=%3d",a);-->|2000|

prinf("a=%5d",a);-->| 2000|

<m为负数>:

如果说要输出的数的实际的位数> m , 原样输出这个数

实际的尾数< m , 右侧补空

int a=2000;//位数=4

prinf("a=%3d",a);-->|2000|

prinf("a=%5d",a);-->|2000 |

*2)%0md  m表示位数----这个用途还可以

0 表示补的内容

for(int i=0;i<81;i++){

NSString *str = [NSString stringWithFormat:@"xxxx_%02d.jpg",i];

}

xxxx_00.jpg

xxxx_01.jpg

....

xxxx_10.jpg

*3)%f 输出一个实数型数据

默认打印小数点后六位(小数点后六位,并不代表有效数字就是后六位,

0.123456--小数点后六位都是有效数字

10.123456--小数点后面的只有5位是有效的,第6位输出的时候可能是乱码,10.123450,10.12345x)

(1)%m.nf

m 表示总位数,如果不足位数(m为正,左侧补空白,否则右侧补空白)

m是可以省略的 %.2f  保留小数点后2位(常用)

n 表示小数点后的位数

(2)%f的精度问题

float 类型的数据 默认有7位有效数字。但是小数点后,默认的出现六位,即->3.000000;

double 双精度的, 默认的有16位有效数字。但是小数点后,默认的出现六位,即->3.000000;

时间: 2024-11-08 18:55:07

C语言—printf函数的相关文章

C语言 -- printf函数参数类型和打印格式不匹配

C语言中,变量在运算或者赋值时会存在类型的自动转换.很一般的情况这里不再讨论,下面只说一下赋值和利用printf函数打印时的情况 1.赋值时的自动转换 int a = 1.5; printf("%d", a); 输出值为1  因为1.5是一个double类型,但是在赋值为a时,由于a是一个int类型,所以将小数部分舍去,a为1 2.printf函数中不涉及自动转换 他只按照固定的格式打印,如果解析失败,就输出对应格式下的0 例如: int a = 1; printf("%f&

C语言printf()函数具体解释和安全隐患

一.问题描写叙述 二.进一步说明 请细致注意看,有例如以下奇怪的现象 int a=5; floatx=a; //这里转换是没有问题的.%f打印x是 5.000000 printf("%d\n",a); printf("%f\n",a); //输出为什么是0.000000? -----问题1 printf("%f\n",x); printf("%d\n",x); //输出为什么是0? -----问题2 printf("

C语言printf()函数详解

printf函数称为格式输出函数,其关键字最末一个字母f即为"格式"(format)之意.其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上.在前面的例题中我们已多次使用过这个函数. printf函数调用的一般形式 printf函数是一个标准库函数,它的函数原型在头文件"stdio.h"中.但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件.printf函数调用的一般形式为: printf("格式控制字符串",

C语言printf()函数详解和安全隐患

一.问题描述 二.进一步说明 请仔细注意看,有如下奇怪的现象 int a=5; floatx=a; //这里转换是没有问题的,%f打印x是 5.000000 printf("%d\n",a); printf("%f\n",a); //输出为什么是0.000000? -----问题1 printf("%f\n",x); printf("%d\n",x); //输出为什么是0? -----问题2 printf("%f,%

C语言printf函数转换说明表及其修饰符表

ANSI C标准为printf( )提供的转换说明 原文地址:https://www.cnblogs.com/yyy6/p/8994656.html

MFC 中的 “printf” 函数

还念C语言的我,MFC没法使用的C语言printf函数,于是: int MFCprintf(const char* m_data, ...){ CString str; char printf_buf[1024]; va_list args; /* args为定义的一个指向可变参数的变量,va_list以及下边要用到的va_start,va_end都是是在定义 可变参数函数中必须要用到宏, 在stdarg.h头文件中定义 */ int printed; va_start(args, m_data

【C语言】浅谈可变参数与printf函数

一.何谓可变参数 int printf( const char* format, ...); 这是使用过C语言的人所再熟悉不过的printf函数原型,它的参数中就有固定参数format和可变参数(用"-"表示). 而我们又可以用各种方式来调用printf,如: printf( "%d ",value); printf( "%s ",str); printf( "the number is %d ,string is:%s ",

黑马程序员--C语言基础之--printf函数

------- IOS培训期待与您交流! ---------- 上一篇介绍了C语言中scanf函数的用法,接下来让我们来进一步地认识了解一下printf函数. 一.printf函数的用法: 首先让我们来看一下其定义的格式: int printf(const char *format,[argument]) (一).一般格式 printf(格式控制,输出表列); 如: printf("i=%d,ch=%c/n",i,ch); 说明: (1)."格式控制"是用双撇号括起

对于printf函数和C语言编程的初步拓展

前面说过了,任何程序都要有输出,所以printf函数是一个很重要的函数,所以有必要在学变量之前先拓展一下. 其实编程就是用计算机语言说话,一句一句地说,只要语法没错就能运行,至于能实现什么功能,就看编程者的水平了. 那么看一下下面的代码 #include<stdio.h> int main(void) { printf("hello world"); printf("hello world"); return 0; } 你觉得运行的结果在屏幕上会显示什么