☰
C语言03:输入输出和占位符
2026/10/10 5:50:22 网站建设 项目流程

文章目录

  • 前言
  • 1.输入和输出
    • 1.1输出(printf)
    • 1.2输入(scanf)
  • 2.常用占位符
    • 2.1限定宽度
    • 2.2限定小数位数

前言

刚学 C 语言时,printf 和 scanf 是最早碰到的两个函数,但别小看它们——很多人写了好几年,偶尔还会在 scanf 的 & 和 %c 上栽跟头
这篇文章把输入输出的常见用法和易错点都梳理了一遍,适合刚入门的朋友快速上手,也适合随手翻出来复习



1.输入和输出

1.1输出(printf)

printf是C语言stdio.h这个库函数中的输出函数,将变量或者文本打印到屏幕上

示例

#include<stdio.h>intmain(){inta=10;intb=20;printf("Hello world!\n");printf("a = %d\n",a);printf("b = %d\n",b);return0;}

printf: 可以打印双引号中的内容,也可以通过占位符打印变量的值

1.2输入(scanf)

scanf是C语言stdio.h这个库函数中的输入函数,是从键盘读取数据然后给变量

示例1

#include<stdio.h>intmain(){intscore=0;printf("请输入成绩:\n");scanf("%d",&score);printf("成绩:%d",score);return0;}

⚠️注意:
要输入的变量前面一定一定要加上 &,我在写的有时候也很容易忘记

❌错误写法:scanf(“%d”, score);
✅正确写法:scanf(“%d”, &score);

示例2

#include<stdio.h>intmain(){inta=10;scanf("wd %d",&a);printf("a = %d\n",a);return0;}

scanf:双引号的内容会成为“匹配模板”,输入时必须完全照搬这些内容,否则匹配失败,变量不会被赋值

❌错误写法:20
✅正确写法:wd 20

示例3

#include<stdio.h>intmain(){charc1=0;charc2=0;scanf("%c",&c1);scanf(" %c",&c2);printf("c1 = %c\n",c1);printf("c2 = %c\n",c2);return0;}

💡原理与避坑:
特性:%c 是唯一一个不会跳过空格和换行的占位符(空格和换行符也属于字符)
踩坑:所以我们在输入一个字符然后按下回车的时候,就直接打印了,回车(换行)直接被当成第二个字符了
解决:在%c 前面加上一个空格,就可以避免这种情况

推荐写法:scanf(" %c", &c2); (%c 前留一个空格)




2.常用占位符

占位符从名字上来看就是占位子的,事实也确实如此
在printf和scanf用了占位符,就是代表这个位置可以由其他值替代

占位符对应的数据类型
%dint
%ldlong
%lldlong long
%ffloat
%lfdouble
%cchar
%s字符串
%uunsigned int
%zusize_t

💡提示:
size_t是一种无符号整数类型,sizeof的返回值就是size_t类型的

2.1限定宽度

#include<stdio.h>intmain(){inta=100;intb=100;printf("a = %5d\n",a);printf("b = %-5d\n",b);return0;}

关于 %5d 和 %-5d 的规则:

1.限定宽度
在 % 后面加上数字,可以限定最小输出的宽度
如果实际宽度更长,会完整输出(不会截断)

2. 对齐方式
默认情况下是右对齐(前面补空格)
如果加上负号(-),就是左对齐(在后面补空格)

2.2限定小数位数

#include<stdio.h>intmain(){floatf1=10.55;floatf2=5.445;printf("f1 = %f\n",f1);printf("f2 = %.2f",f2);return0;}

关于 %f 的小数位控制:

限定小数位: 在 %f 中加入 . 和数字,即可限定小数位数
四舍五入: %.2f 会对数字进行四舍五入,而不是直接截断



如果这篇文章对你学习 C 语言有帮助,麻烦动动手指点赞,关注,加收藏,你的支持是持续更新干货的最大动力!


需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询