c语言基础 - printf函数

一 printf函数的介绍

  printf函数是一个标准库函数,能够以精确的格式输出程序运算的结果。

    printf函数的调用格式为:
    printf("格式控制字符串",输出项列表); 如:printf("%d,%d",a,b);

  格式字符串

   是由格式字符(包括:转换说明符、标志、域宽、精度)和普通字符组成,转换说明符和百
分号(%)一起使用,用来说明输出数据的数据类型、标志、长度和精度

  输出项列表

    可以是常量、变量和表达式,也可以没有输出项,这些输出项必须与格式控制字符串在类型
和数量上完全对应,否则,结果将不可预测。当有多个输出项时,各个输出项之间用逗号
‘,’分隔

思考:
  int main()
{

  printf(“hello”);

  printf(“world!”);

  return 0;

}

  输出结果仍为:helloworld!

二 格式控制符使用说明

  printf的格式控制的完整格式:
    % - 0 m.n l或h 格式字符
   下面对组成格式说明的各项加以说明:
    %:表示格式说明的起始符号,不可缺少。

    -:有-表示左对齐输出(右侧补空格),如省略表示右对齐输出(左侧补空格)。

    0:有0表示指定空位填0,如省略表示指定空位不填。

    m.n:m指域宽,即对应的输出项在输出设备上所占的字符数。N指精度。用于说明输出的实型
数的小数位数。对数值型的来说,未指定n时,隐含的精度为n=6位。

    l或h:l对整型指long型,对实型指double型。h用于将整型的格式字符修正为short型。

  格式字符

    格式字符用以指定输出项的数据类型和输出格式。

  d格式:用来输出十进制整数。有以下几种用法:
%ld:输出长整型数据。

  o格式:以无符号八进制形式输出整数。对长整型可以用"%lo"格式输出。同样也可以指定字段宽
度用“%mo”格式输出。
  例:
    main(){

    int a = -1;

    printf("%d, %o", a, a);

    }
运行结果:-1,177777
程序解析:-1在内存单元中(以补码形式存放)为(1111111111111111)2,转换为八进制数为
(177777)8。

  x格式:以无符号十六进制形式输出整数。对长整型可以用"%lx"格式输出。同样也可以指定字段 宽度用"%mx"格式输出。

  u格式:以无符号十进制形式输出整数。对长整型可以用"%lu"格式输出。同样也可以指定字段宽 度用“%mu”格式输出。

  c格式:输出一个字符。

  s格式:用来输出一个串。有几中用法
    %s:例如:printf("%s", "CHINA")输出"CHINA"字符串(不包括双引号)。

    %ms:输出的字符串占m列,如字符串本身长度大于m,则突破获m的限制,将字符串全部输出。若串
长小于m,则左补空格。
    %-ms:如果串长小于m,则在m列范围内,字符串向左靠,右补空格。

    %m.ns:输出占m列,但只取字符串中左端n个字符。这n个字符输出在m列的右侧,左补空格,注
意:如果n未指定,默认为0。

三 实型精度问题

  对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位.

  对于双精度数,使用%lf格式符输出时,前15位是有效数字,小数6位

  float double 二进制有效位数 24位 53位

  十进制有效位数 7位 15位

  有效数字的位数与指定输出的小数位数(%.7f)是两码事。

  “有效数位为7”:是指此数据从第一个非零数字开始,误差不超过本数位半个单位的、精确可信 的数位是7位(包括小数点前的非零数位)。

  %.7f:是指输出此数据的时候,小数点之后要显示7位数字(但是如果小数点前还有一些非零数 位,那么小数点后的这7位并不能保证都是精确可信的有效数位,)

  

  

  

时间: 2024-07-29 21:56:59

c语言基础 - printf函数的相关文章

Go语言基础之函数

函数是组织好的.可重复使用的.用于执行指定任务的代码块.本文介绍了Go语言中函数的相关内容. 函数 Go语言中支持函数.匿名函数和闭包,并且函数在Go语言中属于“一等公民”. 函数定义 Go语言中定义函数使用func关键字,具体格式如下: func 函数名(参数)(返回值){ 函数体 } 其中: 函数名:由字母.数字.下划线组成.但函数名的第一个字母不能是数字.在同一个包内,函数名也称不能重名(包的概念详见后文). 参数:参数由参数变量和参数变量的类型组成,多个参数之间使用,分隔. 返回值:返回

7.Go语言基础之函数

1.函数 1.1函数定义 Go语言中定义函数使用fun关键字,具体格式为 func 函数名(参数)(返回值){ 函数体 } 其中: 1.函数名:由字母,数字,下划线组成.但函数名的第一个字母不能是数字.在同一个包内,函数名不能重名. 2.参数:参数由变量名和变量类型组成. 3.返回值:可以只写返回值类型,多个返回值必须用()包裹,并用,分隔. 4.函数体:实现指定功能的代码块. 定义一个求两个数和的函数: func intSum(x int, y int) int { return x + y

魏兆辉的IOS基础学习笔记之四 C语言基础-04 函数

1. 数组作为函数参数 函数是我们学习程序设计语言最基本的东西了,我在此不再赘述.只讨论一种特殊情况,就是数组作为函数的参数传递. 我们都知道,其实在传递数组的时候,实际上是传递了数组首元素的指针.明确了这一点之后,我们就可以思考下面的问题. 既然他只是传递了数组首元素的指针,那么他必然无法知道整个数组的大小,因此,我们如果希望在函数中用到数组的长度,必须要进行显式传递. int Sum(int a[],int size){ int i ,sum=0; for(i=0;i<size;i++) {

C语言基础(13)-函数

一. 函数的原型和调用 在使用函数前必须定义或者声明函数. double circle(double r); int main() { double length = circle(10); printf("length = %f\n", length); return 0; } double circle(double r) { return 2 * 3.14 * r; } 二. 函数的形参和实参 在调用函数的时候,函数大多数都有参数,主调函数和被调用函数之间需要传递数据. 在定义函

C语言基础之函数和流程控制

函数和流程控制也是每个编程语言的基本概念,函数是划分模块的最小单位,良好的函数规划能直接提升软件的质量,C语言的流程控制主要由以下几个语句组成,条件分支语句.选择语句.循环语句.goto语句.return语句等. 函数的定义 一个函数包含返回值.函数名和参数列表,如下定义了一个返回值为 int 函数名为show拥有一个int类型参数的函数 int show(int param) {     printf("这是一个名为show的函数");     return 0; } 再来定义个没有

C语言基础_函数指针

一.函数  实现某特定功能的代码 1)函数名与数组名一样是地址 2)函数指针 指向函数的指针 可以通过函数指针调用指向的函数 3)返回值类型 (*函数指针名)(参数类型)  = 函数名 int maxValue(int a,int b){ return a > b ? a : b; } int (*p)(int,int) = maxvalwe; printf("%d\n",p(3,4)); //用指针去调用函数 4) 示例代码 int maxValue(int a,int b){

黑马程序员&mdash;&mdash;【黑马视频笔记】OC语言基础之函数与方法

方法 1.对象方法都是以减号 - 2.对象方法的声明必须写在@interface和@end之间    对象方法的实现必须写在@implementation和@end之间 3.对象方法只能由对象来调用 4.对象方法归类\对象所有 函数 1.函数能写在文件中的任意位置(@interface和@end之间除外),函数归文件所有 2.函数调用不依赖于对象 3.函数内部不能直接通过成员变量名访问某个对象的成员变量   1: #import <Foundation/Foundation.h> 2:   3

iOS开发之c语言基础Lesson-11 函数指针 上课笔记 与 试题练习

main.m 文件 9 #import <Foundation/Foundation.h> 10 #import "Pointer.h" 11 ////////////////Lesson 11 函数指针 课堂笔记 与 习题练习//////////// 12 13 14 //函数指针:指向函数的指针叫做函数指针,用来存储函数的地址 15 //函数名代表函数的入口地址 16 17 18 //回调函数; 函数指针变量,存储对应的函数的地址 19 //给函数指针类型,取一个新的名

黑马程序员&mdash;&mdash;【黑马视频笔记】C语言基础之函数

.   1.什么情况下定义函数: 添加一个常用的新功能   2.函数的定义格式 返回值类型  函数名(形式参数列表) {    函数体 }   3.定义函数需要明确的东西 1> 起一个有意义的函数名 2> 函数参数与返回值的选用   4.参数的注意点   1: 1.形式参数:定义函数时函数名后面中的参数,简称形参 2: 2.实际参数:调用函数式传入的具体数据,简称实参 3: 3.实参个数必须等于形参个数 4: 4.函数体内部不能定义和形参一样的变量 5: 5.如果是基本数据类型作为函数形参,纯