1.用scanf 时在括号里面的( “)里不用乱加什么直接写相应的占位符即可否则你要输入相应括号里的内容才能正确![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/3a5e5bc90319420da3cc2ae13e6d6920.jpeg#pic_center输出.scanf(”%d,%d, a,b)scanf(“%d%d\n” ,a,b)以上两种写法都是多此一举的到时候得输入相应的符号才能 实现相应的输出图片正确的输入才能得到正确的输出很麻烦图片错误的输入会导致输出有误最合适轻松的写法是scanf(“%d %d”,a,b)2.编写代码时有题目要显示时要注意前后顺序例如下面的图片题目的打印应该放在scanf 的前面如果调换则要先输入才能显示题目图片3.全局变量和局部变量1.写在 main 函数外面全局变量作用域整个程序都能访问生命周期从程序启动到程序结束。2.写在 main 大括号里面局部变量作用域只在 main 函数内部有效函数执行完就销毁。C语言语法允许在函数外部文件作用域定义变量所以全局变量不需要放进 main{} 里面语法合法。例子*#include stdio.h// 全局变量定义在所有函数外面整个程序都能访问int num 100;void test(){// 局部变量只在test函数内部有效int num 20;printf(“函数内部局部变量 num %d\n”, num);}int main(){printf(“main中访问全局变量 num %d\n”, num);test(); // main函数内也可以定义同名局部变量 int num 50; printf(main内部局部变量 num %d\n, num); return 0;}*4.核心区分声明定义 vs 执行语句int num 10;这是变量定义带初始化属于声明类语句C语言允许写在函数外部文件作用域。全局变量的初始化是由操作系统/程序启动代码在 main 运行前自动完成的不是运行时执行的代码。num 20;这是赋值表达式语句属于运行时执行语句。它的含义是程序运行起来之后执行这条指令修改num的值。C语言规定只有数据声明、变量定义、函数声明、宏、结构体定义这类静态描述性代码可以放在函数外面所有需要运行时执行的操作赋值、printf、if、循环等必须写在函数的大括号 {} 内部。通俗理解int num10; 告诉编译器“我要一块内存名字叫num初始值10”属于静态描述编译阶段就安排好了num20; 告诉CPU“程序跑起来之后把20放进num这块内存”这是一条要CPU执行的指令外面没有函数包裹没有执行时机编译器不允许。例子*#include stdio.h// 这是变量定义可以写在函数外面int a 5;// a 10; // 取消注释就会报错// 原因a10 是运行时赋值语句不能放在函数外面int main(){printf(“a的值%d\n”, a);a 10; // 赋值语句写在大括号里面合法printf(“修改后a的值%d\n”, a);return 0;}*图片5.%8d 里数字8的含义%d 是输出整数中间的 8 是最小输出宽度域宽。规则如果数字本身的字符个数 小于8左边自动补空格凑够一共8个字符的宽度如果数字本身长度 超过8位宽度限制失效完整输出数字。你这里的数字 123456 一共6位。8 - 6 2所以会在数字左边补2个空格整体占8个字符位置123456 前面2个空格 6位数字合计8字符拓展写法%-8d 负号代表左对齐数字靠右补空格空格加在数字右边例 printf(“%-8d”,123456); → 123456%08d 用0填充空位而不是空格例 printf(“%08d”,123456); → 00123456图片正数右对齐图片输入数字超出规定完整输出6.if、else if 带条件else 不带条件负责兜底else 可以不写不满足就啥也不干例子不写else兜底#include stdio.hint main(){int num 5;if (num 10){printf(“数字大于10\n”);}else if (num 3){printf(“数字小于3\n”);}// 结尾没有else数字3~10之间不会执行任何输出printf(“程序结束\n”);return 0;}图片例子写else兜底#include stdio.hint main(){int num 5;if (num 10){printf(“数字大于10\n”);}else if (num 3){printf(“数字小于3\n”);}else // else后面不能写条件负责剩下所有情况{printf(“数字在3到10之间\n”);}return 0;}图片错误例子if(num10){}else(num3){} // 编译报错else不能加条件