![](https://img-blog.csdnimg.cn/cc69681eb1784845b679c4caec865684.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
33的C语言之路
933的C语言学习之路
任重道远
i98.
挣钱养家
展开
-
177节完结---------3月28日
枚举把一个事物所有可能的数值一一列举出来算法通俗定义:解题的方法和步骤 狭义定义:对存储数据的操作。对不同的存储结构,要完成某一功能所执行的操作是不一样的。这说明算法是依附于存储结构的,不同的存储结构,所执行的算法是不一样的。 广义定义:广义的算法也叫泛型,无论数据是怎样存储的,对该数据的操作都是一样的我们至少可以通过两种结构存储数据数组优点:存取速度快缺点:需要一个连续的很大的内存,插入和删除元素的效率很低链表...原创 2022-03-28 10:27:31 · 271 阅读 · 0 评论 -
161节---------3月26日
结构体什么叫结构体?把一些基本类型数据组合在一起形成的一个新的复合数据类型,就叫结构体。为什么需要结构体?为了表示一些复杂的事物,而普通的基本类型无法满足实际要求如何定义结构体(3种)第一种(推荐)struct student{ int age; float score; char sex;}第二种struct student{ int age; float score; char sex;}st1;定义后直原创 2022-03-26 18:34:08 · 50 阅读 · 0 评论 -
152节---------3月25日
malloc函数malloc是memory(内存) allocate(分配)的缩写int*p=(int *)malloc(4)要是用malloc函数,需要添加malloc.h这个头文件。即#include<malloc.h> malloc函数只有一个形参,而且形参是整数类型 malloc函数只能返回第一个字节的地址 4表示请求系统为本程序分配4的字节 共分配了8个字节,P变量占4个字节,P所指向的内存也占4个字节 P本身所占的内存是静态分布的,P所指向的内存是动态分配的f原创 2022-03-25 20:19:41 · 44 阅读 · 0 评论 -
143节---------3月23日
动态内存分配【难点】传统数组(静态数组)的缺点数组长度必须事先制定,且只能是常整数,不能是变量传统形式定义的数组,该数组的内存无法手动释放。在一个函数运行期间,系统为该函数中数组分配的存储空间就会一直存在,除非该数组所在的函数停止运行。数组的程度一旦定义,其长度就不能再改变数组的程度不能在函数运行的过程中动态的扩充或缩小A函数定义的数组,在A函数运行期间可以被其它函数调用,但A函数运行完毕之后,...原创 2022-03-23 20:18:10 · 44 阅读 · 0 评论 -
135节---------3月22日
*的含义:乘法 定义指针变量,如int*p//定义了一个名为P的变量,int*表示P只能存放Int变量的地址。 指针运算符:该运算符放在已经定义好的指针变量的前面。*p表示以p的内容为地址的变量如何通过被调函数修改主调函数普通变量的值实参必须为该普通变量的地址 形参必须为指针变量 在被调函数中通过 “ * 形参名=......” 的方式修改主调函数相关变量的值如:void g (int*p,int*q){ *p=1; *q=2;} int mai...原创 2022-03-22 20:20:15 · 64 阅读 · 0 评论 -
126节---------3月21日
指针#include<stdio.h>int main(){ int *p //p是变量的名字,int*表示p变量存放的是int类型变量的地址 int i=3; p=%i; /* p保存了i的地址,因此p指向i; p不是i,i也不是p。修改p的值不会影响i的值。就像是,房间i里存放有东西,p是房间号。 */...原创 2022-03-21 17:30:39 · 1134 阅读 · 0 评论 -
122节---------3月8日
函数格式:函数的返回值 函数的名字(函数的形参列表){函数的执行体}例如void max(int i, int j){ if (i>j) printf("%d\n",i); else printf("%d\n",j);}max是函数的名字,i和j是形式参数(简称形参),void表示函数没有返回值函数返回值的类型也称为函数的类型,因为如果函数名前的返回值类型和函数执行体中的return表达式;中表达式类型不同的话,则原创 2022-03-08 20:44:05 · 46 阅读 · 0 评论 -
105节---------3月7日
数组用于解决大量同类型数据的存储和使用问题如:int a[5]={1,2,3,4,5}a是数组的名字,5是数组的个数,这五个元素分别为a[0],a[1],a[2],a[3],a[4]int a[m][n]:表示a为m行n列一维数组为n个变量连续分配存储空间 所有变量数据类型必须相同 所有变量所占字节必须相同应用1.初始化初始化:完全初始化 int a[5]={1,2,3,4,5}; 不完全初始化:(未被初始化的元素为0) int a[5]={1,2,3}; 不初始原创 2022-03-07 21:30:01 · 135 阅读 · 0 评论 -
94节---------3月6日
运算符补充1.自增自减:前自增 ++i 后自增 i++前自增和后自增的异同:相同:最终都使i的值加1 不同:前自增整体表达式的值是i加1之后的值,后自增整体表达式的值是i加1之前的值如:i=j=3k=i++m=++j则i=j=4,k=3,m=42.三目运算符格式A?B:C等价于if(A)B;elseC;3.逗号表达式格式A,B,C,D功能:从左到右执行,最终表达式的值是最后一项D的值while循环...原创 2022-03-06 18:35:26 · 51 阅读 · 0 评论 -
76节---------3月5日
循环for(a,b,c)d;顺序为:a-b-d-cforfor (i=3; i<=10; ++i){if(i%3 == 0) Csum =sum +i ; D printf (" sum = %d\n", sum) ; E}顺序为:a-b-C-D-E-c(若c不成立,则跳过5执行E和c)for的范围问题:控制括号内所有的程...原创 2022-03-05 20:25:53 · 115 阅读 · 0 评论 -
66节---------3月4日
郝斌C语言《郝斌C语言自学教程》_哔哩哔哩_bilibiliprintf作用printf("字符串\n"),只有字符串可以是中文,别的都是英文。 printf("输出控制符",输出参数),输出控制符可以用来输出指定进制的数 printf("输出控制符1,输出控制符2....",输出参数1,输出参数2......),输出控制符和输出参数的个数要一致 printf("输出控制符 非输出控制符")scanf用法scanf("输入控制符",输入参数):将键盘输入的字符转化为输入控制符所规定的原创 2022-03-04 21:34:11 · 393 阅读 · 0 评论 -
2月7日---------91节课字符串输入输出
跳过指针从89节开始字符数组如:字符串如:以0(整数O)结尾的一串字符 0或'\0'是一样的,但是和'0'不同 0标志字符串的结束,但它不是字符串的一部分,计算字符串长度的时候不包含这个0 字符串以数组的形式存在,以数组或指针的形式访问,更多的是以指针的形式 string.h里有很多处理字符串的函数字符串变量指针型 char *str =“Hello"; 字符数组型,内容是hello char word...原创 2022-02-07 16:01:59 · 253 阅读 · 0 评论 -
2月6日---------84节课指针的使用
指针:是保存地址的变量同常用p表示 格式如 int*P=&i; 意思是*p是i的指针,类型是int变量的值是内存的地址普通变量的值是实际的值 指针变量的值是具有实际值的变量的地址当指针作为参数时void f(int*p); 在被调用的时候得到了某个变量的地址: int i=O; f(&i); 在函数里面可以通过这个指针访问外面的这个i指针的特点*是一个单目运算符,用来访问指针的值所表示的地址上的变量可以赋值也可以被赋值int k =*p;...原创 2022-02-06 18:07:06 · 603 阅读 · 0 评论 -
2月5日---------82节课取地址运算
数组的大小sizeof给出整个数组所占据的内容的大小,单位是字节数组的赋值不可以直接赋值给另外一个数组 要把一个数组的所有元素交给另一个数组,必须采用遍历遍历数组通常都是使用for循环,让循环变量i从0到<数组的长度,这样循环体内最大的i正好是数组最大的有效下标 常见错误是:循环结束条件是<=数组长度,或; 离开循环后,继续用i的值来做数组元素的下标数组作为函数参数时,往往必须再用另一个参数来传入数组的大小数组在作为函数的参数时:不能在[]中给出数组的大小 不能原创 2022-02-05 16:30:32 · 483 阅读 · 0 评论 -
2月4日---------79节数组运算
本地变量函数的每次运行,就产生了一个独立的变量空间,在这个空间中的变量,是函数的这次运行所独有的,称作本地变量 定义在函数内部的变量就是本地变量 参数也是本地变量 变量的生存期和作用域 生存期:什么时候这个变量开始出现了,到什么时候它消亡了 作用域:在(代码的)什么范围内可以访问这个变量(这个变量可以起作用) 对于本地变量,这两个问题的答案是统一的:大括号,大括号内叫做块 本地变量是定义在块内的它可以是定义在函数的块内 也可以定义在语句的块内 甚至可以随便原创 2022-02-04 18:45:00 · 317 阅读 · 0 评论 -
2月3日---------72节课函数原型
函数定义:函数头(以‘;’结尾),函数体(包括函数名和返回类型,参数表)调用函数格式:函数名(参数值) 注意:如果有参数,就需要给出正确的数量和顺序,参数类型也要标明 即使没有参数也要有() 从函数中返回值 return停止函数的执行,并送回一个值 格式:“return 表达式;” 不可以同时有多个return 可以把返回值赋给变量,再传递给函数 没有返回值的函数 格式“void 函数名(参数表)” 不能使用带值的retu.原创 2022-02-03 19:43:26 · 298 阅读 · 0 评论 -
1月30日---------六十八节课条件运算与逗号运算
浮点%e是输出科学计数法下图为科学计数法在%和f之间加上.n可以指定保留小数点后几位,这样的输出是做4舍5入的如:printf("%.3fn",-0.0049)保留三位小数。浮点运算的精度带小数点的字面量是double而非float所以float需要用f或F后缀来表明身份,即a=1.234ffl== f2可能失败可以两数相减然后让绝对值小于一个数,即fabs(fl-f2)< 数选择浮点类型:没有特殊需要就用double逃逸字符\b:回退一格(不一定.原创 2022-01-30 16:54:00 · 886 阅读 · 0 评论 -
1月29日---------60节课没有特殊需要就用int
C语言的变量:在使用前定义 一定要确定类型类型包括:整数char、short、int、long、long long 浮点数float、double、long double 逻辑bool 指针 自定义类型类型不同点:类型名称:int、long、double 输入输出时的格式化: %d、%ld、%lf 所表达的数的范围: char < short < int < float <double 内存中所占据的大小:1个字节到16个字节 内存中的表达形式:二进原创 2022-01-29 18:12:47 · 527 阅读 · 0 评论 -
1月28日---------四十七节课求最大公约数
FOR循环:for(a;b;c){.....} A初始条件,B循环继续的条件,C循环每一轮要做的动作 运行时就像一个计数器 可以这样理解for循环:将其理解为对于for循环的每一个表达式都是可以省略的,但是要留下;以表示省略了该表达式for 与whlie 与do-while :如果有固定次数,用for 如果必须执行一次,用do-whlie 其他情况都用whilebreak与continuecontinue:跳过循环剩下的语句,进入下一轮循环 break:跳出当.原创 2022-01-29 10:58:40 · 322 阅读 · 0 评论 -
1月26日---------三十九节课整数逆序
多路分支:swith-case(-default)语句模板: 例子:注意:控制表达式只能是整数型的结果 case执行后,会一直顺延下去,直到遇到break。所以需要在case后加上break循环:while(条件){a; b; c;} do-while循环:在进入循环的时候不检查条件,执行完一轮循环之后再检查条件是否满足。满足则继续循环,不满足则终止循环。while后一定要有分号。例如:...原创 2022-01-26 17:38:13 · 194 阅读 · 0 评论 -
1月25日---------31节课if-else常见错误
调试:✔,调试前要打断点(点左侧数字)复合赋值:+=,-=,*=,/=,%=,运算符之间不可以有空格递增递减运算符:‘++’,‘--’,是单目运算符,算子必须是变量。 作用是给变量+-1。例如count++就是count=count+1。 该运算符放在变量前是前缀形式,放后面是后缀形式,前缀后缀的运算方式相同但结果不同,前缀形式是加1以后的值,后缀形式是加1以前的值。例如a=10,++a为11,a++为10,但是此时a变成了11。如果:if (条件){。。。}else{。。。} ()原创 2022-01-25 17:43:06 · 257 阅读 · 0 评论 -
1月24日---------17节课运算符优先级
学习视频:B站【C语言】翁恺C语言程序编程全系列_哔哩哔哩_bilibili学习工具:DEV C++输出:printf(" ")赋值变量:变量类型+变量名 ,如int price =a+c。读整数:scnaf(“%d”,&price),读取整数,并赋值给price。注意&。可以同时输入多个变量修饰符const:放在int前,用来确定一个变量的初始化。常用于定义常量,定义的变量 一旦加上const,就无法进行赋值。定义的变量名常常用全大写,如AMOUNT。两个整原创 2022-01-24 17:44:03 · 394 阅读 · 0 评论