“C语言部分-Day02”
一、格式化输入和输出
1.1 格式化输出
格式化输出代码
其中%d
代表以整型形式解释这篇内存空间,并以十进制方式输出
1.1.1 格式化输出的转换说明
格式:%m.pX
X:以何种方式解释这片内存空间,如%d, %f
m:最大字段宽度,可以省略不写
p:精度,用于控制浮点数的小数位
1.2 格式化输入
使用scanf
格式化输入的代码
对于字符串:
- 普通字符:精确匹配
- 空白字符:可以匹配任意多个【前置】空白字符,包括0个
测试
1.2.1 格式化输入的练习
练习一:了解分割
练习二:空格的影响
为什么j的值会异常?因为scanf只匹配前面的空白字符,空5空/空96
在第二个空
时已经没有匹配上了,此时scanf函数已返回,后面的字符也不会匹配
二、数据类型
2.1 整数类型
整数类型分为:
有符号整数:short、int、long、long long 等
无符号整数:unsigned short、unsigned int、等
注意事项:
1、在C语言中不明确规定个类型的字节大小,跟随机器不同有所变化
2、但C语言规定了各种类型的最小大小,如int类型,最小2字节
3、正常整型类型的大小排序符合基本规则:short < int < long < long long
在C语言中定义一个整数的代码:
2.1.1 整数编码(重要)
编码:1001 0011
对于无符号(unsigned)整数,该编码代表147
对于有符号整数,该编码代表-109
为什么有符号整数会采用补码的方式?有利于CPU计算
2.1.2 整数的读写
读写整数:
- %u 无符号十进制整数
- %o 无符号八进制整数
- %x 无符号十六进制整数
- %d 有符号十进制整数
读写短整数:
读写长整数:
读写长整数:
2.2 浮点数类型
浮点类型分为:
- float 单精度
- double 双精度
- long double 用于高精度计算,一般用不到
2.2.1 浮点常量
浮点数有多种表示方式,要么包含小数点,要么包含字母,如
浮点常量默认是double类型,如需要表示float,需要在后面加上f
2.2.2 浮点数的读写
- %f float类型读写
- %lf double类型读写
2.3 字符类型
字符类型的定义
char类型大小为1字节,并采用ASC码表示
注意事项:
C语言把字符类型当做整型来使用,因此可以进行算术计算,如
2.3.1 转义序列
转义序列,是不能直接输入的字符,带有特殊功能,分为两种:
字符转义序列:
- \a alert
- \n newline
- \b backspce
数字转义序列:
- 八进制表示形式,以
\
开头,后面最多接3个8进制数
- 十六进制表示形式,以
\x
开头,后面接十六进制数
2.3.2 读写字符
方法一:使用scanf
和prinf
函数输入输出
字符的读写使用%c
,使用的时候注意它默认不会忽略空格
方法二:使用getchar
和putchar
函数输入输出
一般使用:
惯用法:
2.4 布尔类型
布尔类型从C99开始定义,放在<stdbool.h>
头文件中
注意事项:
bool类型赋值,如赋值非零数,则为true,只有当赋值为0时,才是false