
一、程序基础结构标准模板#includestdio.h// 标准输入输出头文件intmain(void)// 程序入口int代表返回整数{// 代码写这里printf(Hello C);return0;// 正常退出返回0}#include引入头文件使用printf/scanf必须加stdio.hmain()唯一入口函数程序从这里开始执行二、数据类型与变量1. 常用基础类型类型作用示例int整型整数int a 10;float单精度小数float b 3.14;double双精度小数double c 2.5678;char单个字符char ch ‘A’;2. 变量规则先定义后使用命名字母/数字/下划线不能数字开头不能关键字区分大小写#includestdio.hintmain(){intnum66;floatpi3.14f;charcx;printf(整数%d\n小数%f\n字符%c,num,pi,c);return0;}3. 常量const修饰不可修改constintMAX100;三、输入输出 printf / scanf输出 printf格式符%d整数、%f小数、%c字符、%s字符串、\n换行printf(数字%d,10);输入 scanf读取键盘#includestdio.hintmain(){inta;printf(请输入数字);scanf(%d,a);// 取地址不能漏printf(你输入%d,a);return0;}四、运算符1. 算术运算符 - * / %注意整数相除5/22取模%只能用于intinta5,b2;printf(%d,a/b);// 2printf(%d,a%b);// 12. 自增自减i先使用再加1i先加1再使用inti1;printf(%d,i);// 输出1i变成23. 关系运算符返回0假/1真 !31// 125// 04. 逻辑运算符与、||或、!非inta1,b0;ab// 0a||b// 15. 赋值运算符 - * /intm0;m5;// m m 5五、分支判断语句1. if else#includestdio.hintmain(){intscore80;if(score60){printf(及格);}else{printf(不及格);}return0;}2. if else if 多分支intscore90;if(score90)printf(优秀);elseif(score60)printf(及格);elseprintf(差);3. switch 匹配固定值intnum2;switch(num){case1:printf(一);break;case2:printf(二);break;default:printf(其他);}不加break会穿透执行后续case六、循环结构1. for循环已知循环次数格式for(初始化;条件;更新)// 打印0~9for(inti0;i10;i){printf(%d ,i);}2. while循环未知次数inti0;while(i5){printf(%d,i);i;}3. do while先执行一次再判断inti0;do{printf(%d,i);i;}while(i3);循环控制关键字break直接跳出整个循环continue跳过本次进入下一轮循环// 只打印偶数for(inti0;i10;i){if(i%2!0)continue;printf(%d,i);}七、数组1. 一维数组#includestdio.hintmain(){intarr[5]{1,2,3,4,5};// 遍历数组for(inti0;i5;i){printf(%d ,arr[i]);}return0;}下标从0开始arr[0]是第一个元素2. 字符数组字符串字符串末尾自带\0结束符charstr[]hello;printf(%s,str);八、函数1. 自定义函数基础#includestdio.h// 函数声明intadd(intx,inty);intmain(){intresadd(3,5);printf(%d,res);return0;}// 函数定义intadd(intx,inty){returnxy;}返回值类型 函数名(参数)return带回结果无返回用void2. void无返回函数voidprintHi(){printf(hi);}九、指针基础取变量地址*解引用访问地址里的值#includestdio.hintmain(){inta10;int*pa;// p存a的地址printf(a的值%d,*p);// 通过指针取值return0;}十、结构体自定义复合类型#includestdio.hstructStudent{intid;charname[20];};intmain(){structStudents{1001,张三};printf(学号%d 姓名%s,s.id,s.name);return0;}十一、预处理基础#include导入头文件#define宏定义常量#definePI3.14printf(%f,PI);十二、常见易错点汇总scanf变量前必须加for循环三段用分号;分隔不是逗号大括号内定义的变量外部无法访问作用域赋值判断相等不要写混整数除法会舍去小数要小数需乘1.0字符串数组末尾必须存在\0才能用%s打印