『C语言教程』1. 变量、输入输出¶
T09:02:00+08:00
一、输出¶
使用 printf("xxx")
来输出 xxx
,比如打印 "Hello World":
C | |
---|---|
1. 转义字符(Escape character)¶
\
符号会把其后的一个字符 转义 为特殊含义:
- \t
制表符(tab)
- \n
换行符LF 光标移到下一行开头
- \r
回车符CR 光标移到本行开头
Windows 下常说的换行为
\r\n
,而 Linux 为\n
对于一些如 "
\
的符号,直接写在 printf 中是无法打印出来的,因为它们本身有特殊含义,这时候需要使用转义字符使他们回归平凡:
C | |
---|---|
2. 格式化输出(Formatted Output)¶
printf 的由来其实是 print format,它提供了一些功能使我们能够方便地控制打印内容的整齐格式。
我们可以通过诸如 %d
%f
%s
的符号来在打印的内容中“占位”,并在之后以逗号分隔提供数值:
C | |
---|---|
%d
用来打印整数,%f
用来打印小数,%s
用来打印字符串,%c
用来打印字符。
不仅如此,我们还可以控制它的长度:
%xd
如果整数不够x位则会在左侧补空格,若够就原样输出。
输出结果为:
如果x前写个 0
,就是用0补齐。
也可以控制左对齐,在右侧补空格,只要在x前写个 -
(0
与 -
二选一,可以思考一下为什么):
C | |
---|---|
对于小数则是分为两部分 %x.yf
表示一共长 x ,小数点后长 y超出不显示:
C | |
---|---|
比如我们想打印出这样的表格:
Text Only | |
---|---|
C | |
---|---|
二、C语言中的基础数据类型¶
1. 整形(存储整数)¶
类型 | 大小 | 存储范围 |
---|---|---|
short |
16bit = 2Byte | -32768 ~ 32767 |
int |
32bit = 4Byte | -2147483648 ~ 2147483647 |
long |
32bit = 4Byte | |
long long |
64bit = 8Byte | -9223372036854775808 ~ 9223372036854775807 |
大小取决于编译器,不过现今大部分编译器大小均如此。
long
较为不常用。
称 long
或 long long
为 长整型。
2. 浮点型(存储小数)¶
类型 | 大小 |
---|---|
float |
32bit = 4Byte |
double |
64bit = 8Byte |
long double |
128bit = 16Byte |
称 float
为 单精度浮点型, double
为 双精度浮点型。
3. 字符型(存储字符)¶
类型 | 大小 |
---|---|
char |
8bit = 1Byte |
三、变量¶
顾名思义,值可以改变的量,像是一个盒子,可以往里放不同的球。
1. 声明 —— 告诉计算机,有这么个变量¶
2. 赋值 —— 改变值¶
3. 其实也可以在声明时提供初始值¶
C | |
---|---|
四、输入¶
就像是输出,不过用 scanf
。
要输入什么类型的数据就用对应的格式符:
c
int x;
float y;
scanf("%d%f", &x, &y);
& 是取址运算符,这里与 printf 不同的是要求提供要存储进内存位置的地址。
而且格式符之间没有字符的话,默认是以空格、制表符、换行符分割。(%c除外,是直接取读入缓冲区内下一个字符见[[还没写]])
例1:
输入 8|9.2,8被读入到了x中,|被匹配、剔除,9.2被读入到了y中。
例2:
输入 8 9.2 或 8<回车>9.2 或8\<tab>9.2 都可以。