当前位置: 首页 > news >正文

c语言笔记 格式化输出函数的使用

目录

printf函数是什么?

printf函数是如何的使用?

常数.

变量.

常数+变量(整型,float,char等).

函数返回值.

三目运算符.

字符.

字符串.

指针类型:

复合类型:

特殊用法:参数数量与格式符不匹配(不推荐,但需了解)

关键特性:格式化输出

格式字符串中的 “特殊元素”


printf函数是什么?

  printf 是 C 语言中最核心的格式化输出函数,用于向控制台(终端)打印文本和数据,需包含头文件 #include<stdio.h> 才能使用。

printf函数是如何的使用?

        printf函数的基本格式如下

printf("格式字符串",参数1,参数2);

         那么这些参数1,参数2是什么呢?我将其总结参数有下面几种类型:

  • 常数.

printf("%d\n",10+20);//打印30
  • 变量.

int x =10;
printf("%d\n",x);//打印10
  • 常数+变量(整型,float,char等).

int x = 10;
printf("%d\n",x+20);//打印30
  • 函数返回值.

#include<stdio.h>
int add(int x,int y)
{return x+y;
}int main()
{int x = 19;int y = 2;printf("x+y = %d\n",add(x,y));return 0;
}
  • 三目运算符.

#include<stdio.h>int main()
{   //这个是输入成绩反馈等级的代码int score = 0;scanf("%d",&score);//格式化输入//嵌套式三目运算符printf("成绩:%s\n",score>85&&score<=100?"优秀":score>=70&&score<=85?"中等":score>=60&&score<70?"良好":score>=0&&score<60?"不合格":"无分数");return 0;
}
  • 字符.

char x = 'c';
printf("%c\n",'c');
printf("%c\n",x);
  • 字符串.

char str[] = "hello world";
printf("%s\n",str);
  • 指针类型

  • 字符串本质是 char* 指针,用 %s 输出(需以 \0 结尾)。
    char* str = "hello";
    printf("%s", str);  // 输出:hello
    
  • 其他指针(如 int*)通常用 %p 输出其内存地址(十六进制形式)。
    int x = 10;
    printf("x的地址:%p", &x);  // 输出:x的地址:0x7ffdxxxx(具体地址因系统而异)
    
  • 复合类型

    • 结构体、数组等不能直接用单个格式符输出,需逐个成员 / 元素输出。
      struct Student {char name[20];int age;
      } s = {"Alice", 18};
      // 需分别输出成员
      printf("姓名:%s,年龄:%d", s.name, s.age);  // 输出:姓名:Alice,年龄:18
      
  • 特殊用法:参数数量与格式符不匹配(不推荐,但需了解)

若参数数量或类型与格式符不匹配,编译器可能不报错,但会输出错误结果(未定义行为):

关键特性:格式化输出

“格式化” 是 printf 的核心能力,通过格式控制符指定数据的输出形式,常见控制符如下:

格式字符串中的 “特殊元素”

        格式字符串不仅包含普通文本和格式控制符,还可以包含:

  1. 转义字符:用于输出特殊符号(如换行、制表符等)

  2. 格式修饰符:用于精细化控制输出格式(与格式控制符配合使用

  3. 宽度控制%5d 表示输出宽度为 5 位,不足补空格(右对齐);%-5d 表示左对齐。
    printf("|%5d|", 123);  // 输出:|  123|(宽度5,右对齐)
    printf("|%-5d|", 123); // 输出:|123  |(宽度5,左对齐)
    
  4. 精度控制%.2f 表示浮点数保留 2 位小数;%.3s 表示字符串只输出前 3 个字符。
    printf("%.2f", 3.1415);  // 输出:3.14
    printf("%.3s", "hello"); // 输出:hel
    
  5. 类型长度修饰符:如 %ld 用于输出 long 类型整数,%lld 用于 long long 类型。
    long num = 1000000;
    printf("%ld", num);  // 必须用%ld,否则可能输出错误

http://www.dtcms.com/a/549533.html

相关文章:

  • 网络营销网站建设哪家好北京发布重磅消息
  • 网站设计说明书范文WordPress表情包插件
  • 力扣1. 两数之和
  • Trait 对象与动态分发的权衡:Rust 多态性的代价与收益
  • 基于element-ui二次封装后的组件如何在storybook中展示
  • 零基础新手小白快速了解掌握服务集群与自动化运维(十六)集群部署模块——LVS负载均衡
  • C++面向对象与类和对象之旅(上)----C++重要基础入门知识
  • MR30系列分布式I/O在造型机产线的应用
  • 网站建设优化网站排名河北百度seo点击软件
  • 杭州做网站模板网络搭建基础教程
  • 虚拟机的未来:云计算与边缘计算的核心引擎(一)
  • ​​比亚迪秦新能源汽车动力系统拆装与检测实训MR软件介绍​
  • 仓颉编程(21)扩展
  • 网站建设方案书php做旅游网站
  • 强化网站建设和管理东莞企业建站程序
  • [人工智能-大模型-112]:用通俗易懂的语言,阐述代价函数Cost Function(误差函数、偏差函数、距离函数)
  • 跨平台矩阵如何高效排期?
  • 吴中区网站建设wordpress页面点赞
  • 网站建设需求文案案例html情人节给女朋友做网站
  • MATLAB频散曲线绘制与相速度/群速度分析
  • LeetCode:204. 计数质数
  • MySQL 更新(UPDATE)语句的执行流程,包括 存储引擎内部的文件写入 和 主从复制的同步过程
  • HarmonyOS 系统分享功能概述
  • [crackme]033-dccrackme1
  • PNP机器人将要亮相2025 ROS中国区大会|发表演讲、共探具身智能新未来
  • 寻找大连网站建设企业建站公司是干嘛的
  • Slicer模块系统:核心继承架构解析
  • Mahony姿态解算算法解读
  • Nginx前端配置与服务器部署详解
  • 上海设计网站青岛航拍公司