C语言博客分享
本次分享内容为C语言的基础内容,包含一些基础知识如数据类型、符号、数据的输入与输出,还包含一些我认为较难的内容如%f与%lf、自增(自减)运算符、域宽。
一:%f与%lf的区别
1.代表的数据类型不同,*%f代表单精度浮点型数据(float),%lf代表双精度浮点型数据(double)*
2.有效数字类型不同,单精度浮点数保证6位,部分7位,双精度浮点数有效数字保证15位,部分16位
3.所能表示数的范围不同,单精度浮点的表示范围:-3.40E+38+3.40E+38,双精度浮点的表示范围:-1.79E+308+1.79E+308
二:C语言中的符号如\n等
转义字符 |
意义 |
ASCLL码值(十进制) |
\a |
响铃(BEL) |
007 |
\b |
退格(BS),将当前位置移到前一列 |
008 |
\f |
换页(FF),将当前位置移到下页开头 |
012 |
\n |
换行(LF),将当前位置移到下一行开头 |
010 |
\r |
回车(CR),将当前位置移到本行开头 |
013 |
\t |
水平制表(HT)(跳到下一个TAB位置) |
009 |
\v |
垂直制表(VT) |
011 |
\\ |
代表一个反斜线字符“\‘ |
092 |
\‘ |
代表一个单引号(撇号)字符 |
039 |
\“ |
代表一个双引号字符 |
034 |
\? |
代表一个问号 |
063 |
\0 |
空字符(NULL) |
000 |
\ooo |
1到3位八进制所代表大的任意字符 |
三位八进制 |
\xhh |
1到2位十六进制所代表的任意字符 |
二位十六进制 |
三:域宽
在C语言中,域宽指的是用于存放输出数据的宽度。当使用格式化输出时,如果域宽大于被打印数据的宽度,数据通常会在域内右对齐。如果输出值的宽度大于域宽,域宽会自动增长以适应输出的数据宽度。域宽通常位于百分号和转换说明符之间。当实际输出宽度小于域宽时,会根据具体要求用空格或者0填充,以确保输出的数据完整地显示在指定的域宽内。此外,域宽也涉及到输出内容的总宽度,包括浮点数的小数点部分。如果域宽小于输出内容的总宽度,数据仍然可以正常输出。
四:数据类型
1.基本类型:
1)整型类型:基本整型(int),短整型(short int),长整型(long int),双长整型(long long int),字符型(char),布尔型(bool)
2)浮点类型:单精度浮点型(float),双精度浮点型(double),复数浮点型(float_complex,double_complex,long long_complex)
2.枚举类型(enum)
3.空类型(void)
4.派生类型:
指针类型(*),数组类型([ ]),结构体类型(struct),共用体类型(union),函数类型
五:数据的输入和输出
printf函数中用到的格式字符
格式字符 |
说明 |
d,i |
以带符号的十进制形式输出整数(正数不输出符号) |
o |
以八进制无符号形式输出整数(不输出前导符0) |
x,X |
以十六进制无符号输出整数(不输出前导符0x),用x则输出十六进制数的a~f时以小写形式输出,用X时,则以大写字母输出 |
u |
以无符号十进制形式输出整数 |
c |
以字符形式输出,只输出一个字符 |
s |
输出字符串 |
f |
以小数形式输出单、双精度数,隐含输出6位小数 |
e,E |
以指数形式输出实数,用e时指数以“e“表示(如1.2e+02),用E时指数以”E“表示(如1.2E+02) |
g,G |
选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0。用G时,若以指数形式输出,则指数以大写表示 |
printf函数中用到的格式附加字符
字符 |
说明 |
l |
6长整型整数,可加在格式符d、o、x、u前面 |
m(代表一个正整数) |
数据最小宽度 |
n(代表一个正整数) |
对实数,表示输出n位小数;对字符串,代表截取的字符个数 |
— |
输出的数字或字符在域内向左靠 |
scanf函数中用到的格式字符
格式字符 |
说明 |
d,i |
输入有符号的十进制整数 |
u |
输入无符号的十进制整数 |
o |
输入无符号的八进制整数 |
x,X |
输入无符号的十六进制整数(大小写作用相同) |
c |
输入单个字符 |
s |
输入字符串,将字符串送到一个字符数组中,在输入时以非空白字符开始,以第一个空白字符结束。字符串以串结束标志’\0’作为其最后一个字符 |
f |
输入实数,可以用小数形式或指数形式输入 |
e,E,g,G |
与f作用相同,e与f、g可以互相替换(大小写作用相同) |
scanf函数中用到的格式附加字符
字符 |
说明 |
l |
输入长整型数据(可用%ld,%lo,%lx,%lu)以及double型数据(用%lf或%le) |
h |
输入短整型数据(可用%hd,%ho,%hx) |
域宽 |
指定输入数据所占宽度(列数),域宽应为正整数 |
* |
本输入项在读入后不赋给相应的变量 |
六:自增(++)、自减(–)运算符
++i,–i(在使用i之前,先使i的值加(减)1)
i++,i–(在使用i之后,使i的值加(减)1)
希望以上内容能对你有所帮助