09 2022 档案
摘要:概念: 即调用其他文件写好的函数 工作原理图: 原理图例子(xx代表文件名,最好头文件和源文件一致,方便维护): 首先声明一个xx.h的头文件 1 int myCal(int n1, int n2, char oper); //声明函数 再定义一个xx.c的源文件 1 #include <stdio
阅读全文
摘要:作用: 减少代码冗杂,便于代码的维护 概念: 函数也可以叫做方法 函数的基本语法: 例子: 3.形参列表为(int n1, int n2, char oper) 4.在函数中,我们使用的变量名要和形参列表中的变量名称的一致 一个非常简单的函数调用例子: 1 #include <stdio.h> 2
阅读全文
摘要:基本语法: 基本介绍: 例子: 其中:enum DAY为枚举类型,里面有七个枚举元素,day是枚举变量 区分!! enum DAY是枚举类型,day是枚举变量(如int a,int是类型,a是变量,这里enum DAY是类型,day是变量) day = WED; //给枚举变量day赋值,day只能
阅读全文
摘要:1 #include <stdio.h> 2 3 void main(){ 4 int a = 0; 5 int i, j, k; 6 i = j = k = 0; 7 printf("请输入一个三位数:"); 8 scanf("%d", &a); 9 if (0 <= a & a <= 999)
阅读全文
摘要:用于结束本次循环,继续执行下一个循环 碰到continue后直接执行循环条件,不再执行后续的内容 注意区分break和continue的区别 continue只能配合循环使用,break可以和switch或是if(if要在循环体里面)使用,但是continue不可以 例子:
阅读全文
摘要:执行某些循环时,当满足了某个条件,使其提早退出循环,便可以使用break跳出循环 流程图如下: 其他循环均可以以此类推 例子:
阅读全文
摘要:采用for循环打印*,结合if输入空格 代码如下: 1 #include <stdio.h> 2 3 void main(){ 4 int a; //行数 5 int i; //项数变量 6 int j; //*的数目 7 int k; //空格 8 printf("请输入空心菱形的层数:"); 9
阅读全文
摘要:打印九九乘法表 采用for循环: 注意换行的问题,缺少printf("\n"); 的话,会输出非我们所要的输出样子。 靠左金字塔 采用while循环: 注意i变量赋值的位置。 居中金字塔 采用while循环: 首先,分析 空心金字塔 采用for循环: 首先我们先弄一个实心的金字塔 通过考虑和分析得出
阅读全文
摘要:基本语法 不要忘记while()后还需要加分号!!! 例(输出五句hello): int i = 1; //循环变量初始化 int max = 5; //循环的最大次数 do{ printf("hello!"); //循环体 i++; //循环迭代变量 }while(i<=max); //循环条件
阅读全文
摘要:位移(涉及到二进制中的原码,反码,补码) ⭐必记↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓: 对于有符号的数而言,有以下几点 1.二进制的最高位是符号位:0表示正数,1表示负数(区别1为真,0为假) 2.正数的原码,反码,补码都相同(三合一) 3.负数的反码=他的原码符号位不变,其余位取反(0变1
阅读全文
摘要:基本语法 例(输出五句hello): int i = 1; //循环变量初始化 while(i<=5){ //循环条件 printf("\n hello!"); //循环语句 i++; //变量迭代 } 流程图: 细节和注意 练习例子: 注意引入新的标准库 strcmp函数如下: 此次输入exit后
阅读全文
摘要:基本语法和定义: 例: int i; for (i = 1; i<=5; i++){ printf("\n hello!"); } 实现打印五行hello 以下是流程图: 注意事项 2)的例子如下(上面的变种): int i = 1; for (; i<=5; ){ printf("\n hello
阅读全文
摘要:说明: 当表达式的值等于case中的常量,则会执行其中包含的语句块 break用于跳出循环,如果不写,则直接执行下一个常量的语句块,不再去判断表达式的值是否等于下一个case的常量(case穿透) 最后的default表示,如果表达式的值都不匹配case的常量,则执行default带有的语句块,再自
阅读全文
摘要:单分支 if 双分支 if-else 多分支 if-else if-else if.....-else/不填 嵌套分支 if内又包含if单/双/多/嵌套分支(套娃) 注意嵌套分支要整体考虑,并且建议嵌套分支不超过三层(降低代码可读性) if-else if要注意,哪个分支符合条件执行后,就直接跳出多
阅读全文
摘要:有些语言用0b111来表示二进制数111。但至少C没有二进制常数表示方法,高版本的编译器支持0b表示二进制数 例子: int num1 = 210; //十进制 int num2 = 01010; //八进制 int num3 = 0x1010; //十六进制 进制转换: 1.其他进制转十进制(小数
阅读全文
摘要:接收用户输入数据/从键盘获取数据 需要调用标准库stdio.h 使用scanf函数 //由于我用的vscode,初次使用有很多问题,比如GBK和UTF-8的编码问题,默认不显示终端等,百度自行解决即可。。。 下面是一个例子: 注意!!! 接收字符那儿,由于上面的回车字符会被接收,所以我多做了一个sc
阅读全文
摘要:能自己起名字的地方都叫标识符 注意事项: 1.不能以数字开头,但是可以包含 2.不能使用关键字和保留字开头,但是可以包含 3.字母区分大小写 例子: hello //√ hello12 //√ 1hello //× h-b //× x h //× h$4 //√ int //× double //×
阅读全文
摘要:1)只有三个运算符的结合方向是从右向左,其余均为从左向右。 2)双目运算符只有赋值运算符的结合方向是从右向左。 3)单目运算(例如++自增、&取地址等)和三目运算(例如?:)的结合方向也是从右向左。 4)逗号运算符的优先级最低。 5)大致优先级为: 算术运算符 > 关系运算符 > 逻辑运算符(其中的
阅读全文
摘要:位:bit 三元表达式! 条件表达式?表达式1:表达式2; 若为真,执行表达式1 若为假,执行表达式2 例子:↓ int a = 10; int b = 99; int res = a > b ? a++ : b--; 运算结果: 10<99,为假 执行b--; 先把b返回res,再执行b-- 最终
阅读全文
摘要:交换数,借助临时变量 int c = 3; c+ = 4; //等价于c = c + 4; ==> c = 7; 特点: 1.运算顺序从右到左 2.赋值运算符的左边,只能是变量;;右边可以是变量、表达式、常量值。 3.注意:c = 1; c+ = 4; c = c + 4; c = 5; //c+
阅读全文
摘要:假设变量A=1,变量B=0,则存在途中实例。 切记:真为1,假为0。 练习题 注意短路现象!!!!
阅读全文
摘要:非零为真(true),零为假(false) 关系运算符的结果要么是1要么是0。 区分“=”赋值 “==”等于 a>b:称为关系表达式。 例子: #include <stdio.h> void main(){ int a = 8; int b = 9; //真则输出1,假则输出0 printf("\n
阅读全文
摘要:6.说明: 表达式若为真,执行表达1,表达式若为假,执行表达2。 1.算术运算符 注意自增和自减前后运算顺序。 特别注意10/4=2而非2.5(整数运算结果只保留整数,或者运算中加入小数点提升精度) a%b = a - a/b * b j = i++; ==> j=i; i = i+ 1; k =
阅读全文
摘要:定义常量的方法 //均要在调用前(区别全局变量!!) 1.使用#define预处理器 2.使用const关键字 1.#define #define 常量名 常量值 //定义形式,常量名不可以是数字开头 2.const const 数据类型 常量名 = 常量值; //定义形式 const和#defin
阅读全文
摘要:常量在定义后不可被修改 int a = 0213 //表示八进制的213--》对应十进制的139 int b = 0x4b //表示十六进制的4b--》对应十进制的75 区分单引号和双引号的作用
阅读全文
摘要:值传递: 传递值,创建新变量,分配新空间,复制一份值保存过来。 注意,在函数问题中,值传递的函数内存在形参和实参互不影响,修改形参的值不会影响实参的值。。。 地址传递: 只要指针变量存的地址都一样,他们表示的变量都一样,但是每个指针都有自己的变量名和内存空间。
阅读全文
摘要:int num = 90; 定义一个整型变量num int* ptr = # 定义一个整型指针变量ptr,指针变量ptr的类型取决于他所需要指向的变量,如这里,ptr要指向int类型变量num,所以定义为int*变量,如果是 float类型变量num,则指针需要被定义为float * ptr
阅读全文