行末加反斜杠\表示这一行还没有写完,编译器在运行时会把这一行和下一行放在一起使用后再编写,但是注意下一行一定要顶格写。
%c 是字符的占位符
%11.9f ,11的意思是数据总共占的宽度,包括小数点
符号常量 格式:#define 标识符 常量
通常我们使用大写来定义符号常量,而定义普通变量时用小写,便于区分。
标识符就是c语言里出现的所有的名字
每一个字符串的结束位置都是None '\0'
布尔类型跟别的类型长得不一样 _Bool 前面有下划线且为大写
short int <= int <= long int <= long long int
sizeof运算符 sizeof(int) sizeof a 后面是类型时需要加括号,是对象时可加可不加
unsigned 就是只能存放正数或0 无符号数的占位符是 %u
signed 可以存放负数
int 如果没有声明是unsigned 默认情况就是 signed,但是char 没有默认
char 其实是一种特殊的 int 类型,通过查ascii 码表来对应
longlong %lld
字符串的两种声明方式
- char a[6] = {'F','i','s','h','C','\0'}; \\6可加可不加
- char[] = "FishC"
5/3 =1 不是四舍五入,是直接舍弃小数
5.0/3.0 = 1.66667
5.0%3.0 出错,求余运算符要求左右两边都是整数
当运算符两边的操作数类型不同时,通常将占用内存小的数据类型转换为占用内存较大的数据类型。
1+2.0 转换成1.0+2.0
强制类型转换 直接在操作数前用括号包裹数据类型如 (int)2.6
if else 遵循就近匹配,所以为了避免匹配错误,我们在写if语句时无论几行代码都建议加上大括号
scanf("%d %d",&a,&b);
输入时也是输入一个int,然后按空格,再输入一个int,要对应上。
如果代码中有上下两行都有scanf,则考虑是否用getchar()吞掉回车键
do while 语句在while表达式后面有个分号哦!
初始化计数器;循环退出条件判断;更新计数器 之间使用 ; 隔开 。
初始化计数器和更新计数器可以用逗号语句。
C99标准中 可以直接在初始化计数器的部分声明变量。但是如果是在for语句内部声明的,那么在外部不能访问i 和 j。
putchar 只可以打印单个的字符 即 'A'
但是printf 可以打印各种类型 单个字符(%c),字符串(%s) 十进制整数(%d)
%-2d -表示左对齐,默认为右对齐。 2表示转换后的参数输出宽度至少要达到2。
在for循环中continue会跳转到更新计数器的部分。
getchar() 返回值:如果函数调用成功,返回获取的字符(用整型表示其 ASCII 码)。