【入门C++语法】第13章 格式化输入输出

张开发
2026/6/7 13:04:46 15 分钟阅读
【入门C++语法】第13章 格式化输入输出
第13章 格式化输入输出一、 printf函数格式化输出printf用于将数据按照指定格式输出到控制台支持多种数据类型的格式化显示。1 基本语法printf(格式控制字符串,输出项1,输出项2,...);格式控制字符串包含普通字符直接输出和格式说明符以%开头指定输出项的类型和格式。输出项要输出的变量或常量数量和类型需与格式说明符一一对应。2 常用格式说明符格式说明符含义适用类型示例%d十进制整数intprintf(“%d”,123); →输出123%f浮点数floatprintf(“%f”,3.14); →输出3.140000%lf双精度浮点数doubleprintf(“%lf”,3.1415926535); →输出3.141593%c单个字符charprintf(“%c”,‘A’); →输出A%s字符串char[]printf(“%s”,“Hello”); →输出Hello%lld长整型整数longlongprintf(“%lld”,10000000000LL); →输出10000000000%%输出百分号%-printf(“占比%d%%”,50); →输出占比50%3 格式控制的扩展用法指定小数位数%.2f表示保留2位小数如printf(“%.2f”,3.1415); →输出3.14。指定输出宽度%5d表示输出宽度为5不足则补空格如printf(“%5d”,123); →输出 123前有2个空格。4 示例1 多种类型数据输出示例#includestdio.hintmain(){intage20;floatheight1.75;chargenderM;charname[]Alice;printf(姓名%s\n,name);printf(年龄%d岁\n,age);printf(身高%.2f米\n,height);printf(性别%c\n,gender);return0;}2 string类型输出示例#includecstdio#includestringusingnamespacestd;intmain(){string cpp_strHello from C;printf(%s\n,cpp_str.c_str());// 正确必须用 .c_str()// printf(%s\n, cpp_str); // 错误类型不匹配return0;}5 控制输出宽度与对齐示例printf(%5d\n,42);// 右对齐占5位 42printf(%-5d\n,42);// 左对齐占5位42 printf(%05d\n,42);// 补前导零00042二、 scanf函数格式化输入scanf用于从键盘读取用户输入的数据并存储到指定变量中。1 基本语法scanf(格式控制字符串,变量1,变量2,...);符号表示 “取地址”必须加在要存储输入的变量前否则无法正确赋值。格式控制字符串与printf类似包含格式说明符需与输入的变量类型一一对应。2 常用格式说明符与 printf 一致格式说明符含义适用类型%d读取十进制整数int%f读取浮点数float%lf读取双精度浮点数double%c读取单个字符char%s读取字符串遇空格 / 回车停止char[]%u读取无符号十进制整数unsigned int%lld读取长整型整数long long3 示例读取用户输入#includestdio.hintmain(){intnum;floatprice;charinitial;charpassword[20];printf(请输入一个整数);scanf(%d,num);printf(请输入商品价格);scanf(%f,price);printf(请输入你的姓氏首字母);scanf(%c,initial);printf(请输入密码);scanf(%s,password);printf(你输入的整数是%d\n,num);printf(商品价格是%.2f\n,price);printf(姓氏首字母是%c\n,initial);printf(密码是%s\n,password);return0;}三、 换行符\n\n是C语言中的转义字符表示换行用于控制输出格式。常见转义字符还有\t制表符、单引号、双引号、\反斜杠等。示例代码如下。#includestdio.hintmain(){printf(这是\t制表符效果\n);printf(输出单引号\\n);printf(输出双引号\\n);printf(输出反斜杠\\\n);return0;}四、 实用的ctype.h库C标准库的ctype.h头文件提供了一些函数可用于测试和转换字符这些函数主要用于检查字符的类型如字母、数字、空白字符等以及进行字符大小写转换。ctype.h提供了一组方便的函数用于处理字符的分类和转换操作是C标准库中处理字符操作的重要工具。下面列出了头文件ctype.h中定义的函数。这些函数用于测试字符是否属于某种类型这些函数接受int作为参数它的值必须是EOF或表示为一个无符号字符。如果参数c满足描述的条件则这些函数返回非零true。如果参数c不满足描述的条件则这些函数返回零。序号函数描述1int isalnum(int c)该函数检查所传的字符是否是字母和数字。2int isalpha(int c)该函数检查所传的字符是否是字母。3int iscntrl(int c)该函数检查所传的字符是否是控制字符。4int isdigit(int c)该函数检查所传的字符是否是十进制数字。5int isgraph(int c)该函数检查所传的字符是否有图形表示法。6int islower(int c)该函数检查所传的字符是否是小写字母。7int isprint(int c)该函数检查所传的字符是否是可打印的。8int ispunct(int c)该函数检查所传的字符是否是标点符号字符。9int isspace(int c)该函数检查所传的字符是否是空白字符。10int isupper(int c)该函数检查所传的字符是否是大写字母。11int isxdigit(int c)该函数检查所传的字符是否是十六进制数字。示例1判断字母#includestdio.h#includectype.hintmain(){charc1A,c23,c3m;printf(A是字母吗%d\n,isalpha(c1));// 输出非0是printf(3是字母吗%d\n,isalpha(c2));// 输出0否printf(m是字母吗%d\n,isalpha(c3));// 输出非0是return0;}示例2判断数字charc15,c2x,c30;printf(5是数字吗%d\n,isdigit(c1));// 输出非0是printf(x是数字吗%d\n,isdigit(c2));// 输出0否printf(0是数字吗%d\n,isdigit(c3));// 输出非0是致读者的一段话【以代码筑基用思维破局学遍有用新知】告别枯燥啃书和我一起轻松学 C加入知识星球【编程思维社】解锁✅从基础语法到算法入门手把手带你学✅专属答疑通道学习难题不再卡壳✅持续更新的干货资料 专属练习目前您觉得学习 C 最头疼的是哪部分最想获得什么学习资料或服务您的反馈将直接决定我接下来的内容规划欢迎在知识星球【编程思维社】中与我分享或者在评论区留言我会尽快回复您。

更多文章