输入与输出_C语言快速入门与计算机二级备考
基本输入输出
占位符
-
使用占位符可以进行格式占位,以向此位置输入输出数据
-
常见的占位符
- %d 整数int
- %f 浮点数float
- %lf 双精度浮点数double
- %x 十六进制的数
- %c 字符
-
如果输入的数据与占位符的类型不符将报错,例如%d不能输入"hello"
-
整数的输入输出
-
整数的输入输出只有两种类型:int 与 long long
int: %d;无符号数unsigned: %u
long long: %ld;无符号数unsigned long long: %lu
-
%o用于八进制数, %x用于十六进制数
-
-
浮点数的输入输出
-
float:输入: %f;输出:%f;(%e输出科学计数法,使用%E时输出的e也变大写)
需要使用后缀f来表明浮点数身份,例如:
a=1.23f
,不带f的字面量即表示double -
double:输入: %lf;输出:%f,%e
-
当需要精确到小数点后?位时,用% .?f,这样的输出是四舍五入的
-
输出
-
输入所用的函数是
printf
printf("在双引号中的内容是字符串,大多情况下会被原封不动地输出"); printf("%d",24+6); //%d这个占位符说明后面有一个整数要输出到这个位置上,该代码的结果将是输出30
逃逸字符/转义字符
-
使用反斜杠\开头,用来表达无法打印的控制字符或特殊字符
\b 回退一格(不删除,但新的输出将盖住原来的输出);
\t 到下一个表格位;\n 换行;\r 回车
\ " 双引号;\ ' 单引号;\ 反斜杠本身;
-
\后的数字是八进制,不是常数,而是代表ASCII码
输入
-
输入所用的函数是
scanf
输入以行为单位:在按下回车前程序不会读取到任何东西
需要在变量前写一个取地址符
&
占位符之间的空格决定了是否混合输入
scanf("%d",&a); //这行代码表示将输入的结果赋值给a这个变量(不要忘记写&) //%d用于存放整数,如果输入的不是整数会出错 scanf("%lf %lf",&a,&b); //这行代码演示输入多个数字 scanf("%d%c",&a,&c); //输入"12 a",a=12,c=' ',因为c读取到的是空格,如果%d与%c之间有空格,才会得到正确的结果
-
注意:在Visual Studio中由于安全问题,
scanf
被禁用,解决方法是在代码的最开头处添上一行#define _CRT_SECURE_NO_WARNINGS 1
格式化输入输出
格式化输出
-
对于
printf
:%[flags][width][.prec][hlL]type
-
flag
- 左对齐
+ 使得输出的数字带有正负号
空格 整数留空
0 用零填充空位
+与-可以组合使用(同时左对齐而有正负号),但-与0不行(左对齐后无地方填0)
-
width
数字 表示输出所占据的字符空间(在没有 - 时靠右对齐,前面出现补位空格,而数字超过时按原来数字位数输出)
.数字 小数点后的位数
"%9.2f",123.0
这将输出9个字符,并且小数点后有两位*使下一个参数是字符数 例如
printf("%*d",6,123)
,参数6用于*,参数123用于d;会输出___123
三个空格加三个数字总共6个字符.* 组合使用同理,使得下一个参数是小数点位数
-
.prec
用于修饰数据类型
hh表单个字节;h表short
l表示long;ll表示long long;L表示long double
例如
%hhd
所输出的将是一个char
长度(一个字节)的整数 -
type
表示所输出数据的类型
%n
是一个特别的类型,它表示所输出的字符数,示例如下int num; printf("%dABC%n",12345,&num);//输出结果是12345ABC printf("%d",num);//num输出的结果是8,因为输出了8个字符 //VS因为安全问题禁用了%n
-
格式化输入
-
对于
scanf
:%[flag]type
-
flag
- * 表示跳过
scanf("%*d%d",&num);
当输入两个数字时(如123 456),将只读456 - 数字表示允许输入的最大字符数
- hh表示读入时作为char类型;h,l,ll,L与输出同理
- * 表示跳过
-
type
表示输入数据的类型
-
%i
在输入时通过0前缀来录入八进制,0x前缀录入十六进制 -
[…]
在其中是允许输入的字符,使用例:输入为:ABC,124,A,,,30 scanf("%*[^,],%[^,],%[^,]",s); //*跳过 配合[^,] 表示从开头到第一个逗号都跳过不读 //第二个%[^,] 表示读第一个逗号到第二个逗号之间的124 //注意,单独的逗号表示输入时应该带有逗号,其它字符同理
-
-
本文来自博客园,作者:无术师,转载请注明原文链接:https://www.cnblogs.com/untit1ed/p/18547811
本文使用知识共享4.0协议许可 CC BY-NC-SA 4.0
请注意: 特别说明版权归属的文章以及不归属于本人的转载内容(如引用的文章与图片)除外
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了