基本输入输出
基本输出
原样输出
- #include<stdio.h>标准输入输出头文件
- printf(“要输出的内容”);
- puts(“要输出的内容”);——自带换行
输出转义字符
- 调整输出格式
- 打印特殊字符
- 数字表示字符只能用ASCII表示
- 表示特殊字符
输出变量
占位符
输出格式控制
占位一致
printf("整数%d,小数%f,字符%c",1, 1.1f, 'A');
精度控制(小数)
%a.bf
%-a.bf
默认的和+号 ,都是右对齐
a代表输出数据宽度
b代表小数位
a带0则进行补零,不是默认的补空格
putchar
- 专门用来写一个字符
puts
- 打印字符串(自带换行)
C语言输入
输入分析
-
键盘输入都是暂存缓冲区
-
输入缓冲区:暂时存储输入的数据
-
地址概念:存储在计算机的某个地方
-
scanf:类似快递员(右击项目属性,C/C++,把SDL检查改为否)
- vs里要加_s
- 编辑器有波浪线提醒,定义个变量接受返回值(或者宏定义)
- 默认可以用空格做间隔或者回车
- scanf里无空格
- 输入是没有精度控制的
- &:取地址符号
int scanf(const char *format, ...)
scanf("%d%d%d",&a,&b,&c);
字符输入
getchar:专用字符输入函数
字符或者字符串之前进行过输入,可能会把\n当做字符(产生跳过现象)
清空缓冲区函数
setbuf(stdin,NULL)不建议,会影响文件
while(getchar()!=\n)循环,结束条件是非\n
增强版(vs改进标准库函数)
- 对数字类无影响
- 不需要接受返回值
- 字符类要增加一个参数作为尺寸限制
特殊字符输入
getch:不需要回车键确认
#include<conio.h>
vs使用_getch();
类型转换
隐式转换
默认转换,短的可以转长的,反之可能丢失数据
强制类型转换
(要转换的类型)要转换的目标
int a=(int)1.33;
错误代码
(int)“sdf”;相当于指针转换成整数,不被允许
ASCII整数与字符的转换
int s ='A’会把ASCII码65给到整数
大写字母与小写之间差32
‘A’+32=‘a’;