开始的时候顺带提一嘴:①在编译器中写一个小数,默认是double类型(就是字符数比float类型多) 后面加一个f就变成float类型的了
3.14(double类型)、3.14f(float类型)
②int a = 3.14这种的会报错,但能打出来3
int a = (int)3.14 这样就可以了,强制类型转换,一般不用
printf()函数和scanf()函数使用要包括头文件<stdio.h>
printf()函数
printf()函数的作用
printf()函数就是在屏幕上打印东西的函数,就是在内存里打到屏幕上,例如我想打印一句话:你好
占位符(就是需要打出来的类型)
%d:整数 %ld:十进制的long int %hd:十进制的short int
%lu:unsigned long int %lld:十进制的long long int
%o:八进制整数打印 %u:无符号整数(unsigned int)
%x:十六进制整数
%s:字符串
%f:小数(浮点数) %Lf:long double类型浮点数(F一定要大写)
%c:字符
%p:指针
%zd / %zu:size_t类型(sizeof)
%%:输出一个%
打印规律
右对齐
一般默认右对齐(其中%5d中的5,是限制最少是5个字符的意思要是打的是123456,他就会打出123456)
左对齐
要想打印出来时左对齐,也可以,在%和之间加一个负号
补充
另外你要是打印什么固定的东西,可以在%d这种占位符前后加东西,举个例子
浮点数
小数一般打印出来是默认打印小数点后六位,举例
你要是想小数点后就保留两位或者三位,有办法的兄弟,有的有的,你可以%.2f %.3f(记得%和数之间有个点)举例,他还细心的给你约分了
要想限制总宽度,跟%d一样的就是例如%6d这种的在%和f之间加一个限制数
其中的小数点也算一个字符
另外这两种还可以一块以另一种方式表达出来就是 “ *.* ”,举例
字符串
你要只想要前半部分的abc,那么好,在%和s之间加一个“ .3 ”,只输出后面的不知道,现在还不了解
scanf()函数
scanf()函数的作用
就是通过编译器将东西输入到内存(所谓的变量),如图
但是这个scanf()函数不是VS里面自带的,VS里面用这个函数会报错,你需要在代码的一开始
加
scanf()函数的定义
就是程序运行到这个语句时,会停下来,等待用户从键盘输入,用户输入数据,按下回车键后,scanf()函数就会处理用户的数据,将其存入变量
占位符
与printf()函数基本一致
输入规律
一、
scanf()函数中不要使用\n
二、
输入数字的时候,若要输入多个数字,需要用空格区分
三、
scanf()处理数值占位符时,会自动过滤空白字符,包括空格、制表符、换行符等等
四、
scanf()函数是有返回值的,但一般被忽略
五、读取字符
字符就是c,你想要读取字符,但是空白字符也算字符,怎么办,不想要空格被读取,有办法的,你可以在%c前面加一个空格,举例对比
其中第二行就是打出来的东西,可以看到是空白,就是他打印的那个第一个空白字符
六、赋值忽略符
在%和c之间加上*(其中的这个c可以是d等等)举例
printf()函数和scanf()函数对浮点数的区别
printf()
:float、double数据打印的时候都可以使用%f
scanf()
float——%f
double——%lf
long double——%Lf
为了让他们统一,也为了更好的看懂,就全都按照这个细分的来