C语言
文章平均质量分 73
步轻歌
这个作者很懒,什么都没留下…
展开
-
C语言部分总结
原创 2021-08-30 15:35:26 · 51 阅读 · 0 评论 -
从零开始学C语言(16)
复习:结构:结构是一种由程序员自己设计的数据类型,用于描述一个事物的各项数据,由若干个基础的数据类型组成设计:struct结构体名{类型成员名;...};定义结构变量struct结构体名结构体变量;注意:也可以在设计结构体时直接定义结构体变量访问成员:结构体变量.成员名结构体指针->成员名...原创 2021-08-02 18:57:55 · 94 阅读 · 0 评论 -
从零开始学C语言(15)
结构:结构是一种由程序员自己设计的数据类型,用于描述一个事物的各项数据,由若干个不同的基础类型组成。设计:struct结构体名{类型1成员名1;类型2成员名2;...};定义结构变量:struct结构体名变量名;注意:在定义结构变量时,struct不能省略结构体变量初始化:st...原创 2021-08-02 18:57:27 · 209 阅读 · 0 评论 -
从零开始学C语言(13)
复习:1、文件包含#include把一个头文件导入到当前文件中#include<>#include""系统是通过环境变量指定头文件的加载路径还可以通过编译参数-I/path指定头文件的加载路径2、宏常量#define宏名字面值数据如果在代码中使用了宏,在预处理时会把所有的宏替换为宏名后面的字面值数据优点:提高代码可读性、提高可扩展性、提高安全性、...原创 2021-08-02 18:56:37 · 103 阅读 · 0 评论 -
从零开始学C语言(12)
复习:1、输出缓冲区程序输出的数据并没有立即写入到"文件",而是先存储到了缓冲区中,当满足一定条件时才会写入到文件中1、遇到\n2、遇到输入语句3、缓冲区满4k4、程序结束5、手动刷新fflush2、输入缓冲区在终端输入的数据此时由终端保管,当按下回车后,数据由终端写入到程序的输入缓冲区,scanf函数再从缓冲区中读取数据到给变量赋值1、当想要输入的是整型、浮点型数据,而缓冲区的数据是字符或符号时,此时...原创 2021-08-02 18:56:02 · 58 阅读 · 0 评论 -
从零开始学C语言(11)
复习:字符串:由字符组成的串型结构,'\0'是它的结束标志存在形式:字符数组:栈内存可以修改要为'\0'预留位置字符串字面值:代码段只读修改就会产生段错误末尾隐藏一个'\0'地址constchar*str="hehe";sizeof("hehe")结果是5末尾有'\0'sizeof(str)结果是4str是指针...原创 2021-07-25 22:55:03 · 109 阅读 · 2 评论 -
从零开始学C语言(10)
复习:指针数组与数组指针:指针数组:成员是指针的数组int*arr[10];数组指针:专门用于指向数组的指针int(*arr)[10];指针与数组名区别:数组名就是数组的首地址,数组名与数组的内存之间是映射关系,相当于一个特殊的指针,是常量,是不能修改的数组作为函数参数时蜕变成指针,所以长度才丢失,因此需要额外传递长度参数所以数组名可以解引用,如果指针指向数组,指针可以使用中括号来使用,也就是指针也可以当做数...原创 2021-07-25 22:54:34 · 99 阅读 · 0 评论 -
从零开始学C语言(9)
什么是指针:类型定义指针变量整型内存编号为什么要使用指针:1、函数之间共享变量时、输出参数2、提高传参效率(指针变量4|8字节)3、使用堆内存时如何使用指针:定义:类型*变量名_p;变量名以p结尾,与普通变量以示区分一个*不能连续定义指针变量初始化为NULL类型决定了能访问的字节数赋值:变量名_p=&变量名|m...原创 2021-07-25 22:54:07 · 73 阅读 · 0 评论 -
从零开始学C语言(8)
什么是指针:指针是一种特殊的数据类型,使用它可以定义指针变量,指针变量中存储的是整型数据,代表了内存的编号,通过这个编号可以访问对应的内存为什么要使用指针:1、函数之间相互独立,但有时候需要共享变量传参是单向值传递全局变量容易命名冲突使用数组还需要传递长度命名空间是独立的,但是地址空间是同一个,所以指针可以解决这个问题2、由于函数之间传参是值传递(内存拷贝),对于字节数较多的变量,值传...原创 2021-07-25 22:53:27 · 60 阅读 · 0 评论 -
从零开始学C语言(7)
复习:自定义函数:1、函数声明告诉编译器函数的格式,方便它检查调用者的参数、返回值2、隐式声明当调用函数时如果没有函数声明、定义,编译器会猜测函数的格式,函数的参数按照调用者提供的实参猜测,返回值默认猜测为int类型C89:完全猜对,没有警告C99:完全猜对,也会警告3、函数定义函数的定义出现在调用之前,可以省略声明4、函数传参值传递:...原创 2021-07-25 22:52:51 · 59 阅读 · 0 评论 -
用C语言写五子棋
五子棋:需要的数据:(全局)1、定义棋盘二维数组15*15空位置'*'2、定义棋子角色变量白棋'#'黑棋'$'3、定义变量用于记录下棋的位置业务逻辑:(实现成一个个函数)是否需要初始化for(;;){1、清理屏幕、打印棋盘2、落子输入坐标,...原创 2021-07-19 21:02:47 · 539 阅读 · 0 评论 -
从零开始学习C语言之作业1
0.1练习1:定义各种类型的变量并初始化,使用printf来显示练习2:定义各种类型的变量并初始化,使用scanf输入,printf输出0.2练习1:输入三个整数,从大到小显示?练习2:输入一个年份,判断是闰年还是平年?四闰百不闰,四百闰练习3:输入一个年份和月份,判断该月有多少天?练习4:输入一个三位整数,判断是否是水仙花数?练习5:输入一个成绩,判断等级[100,90]...原创 2021-07-16 19:36:34 · 162 阅读 · 0 评论 -
从零开始学习C语言(6)
复习:进制转换:十进制转二进制:求余,直到商为0为止,过程中产生的余数就是二进制(逆序)二进制转十进制:2^(n-1)每位相加二进制转八进制:每三位二进制位对应一位八进制二进制转十六进制:每四位二进制位对应一位十六进制超过10用ABCDEF表示代码中0开头的是八进制数据,0x/0X开头的是十六进制数据printf%o以八...原创 2021-07-16 19:35:44 · 531 阅读 · 0 评论 -
从零开始学习C语言(5)
进制转换:为什么要使用二进制、八进制、十六进制?因为现在的CPU只能识别高低两种电流,只能对二进制数据进行计算二进制数据虽然可以直接被CPU识别计算,但是不方便书写、记录,所以把二进制数据转换成八进制是为了方便记录到文档中随着CPU的不断发展位数不停增加,由早期的8位逐渐发展到现在的64位,因此八进制不再能满足需求,所以发展出了十六进制,由于历史原因八进制还不能完全地退出历史舞台。十进制转二进制:(转其他进制...原创 2021-07-16 19:35:05 · 443 阅读 · 0 评论 -
从零开始学习C语言(4)
二维数组:一维数组相当于把变量排成一排,通过编号访问二维数组相当于把变量排成矩阵,通过行号和列号访问定义:类型数组名[行数][列数];intarr[3][5];[0,0][0,1][0,2][0,3][0,4][1,0][1,1][1,2][1,3][1,4][2,0][2,1][2,2][2,3][2,4]使用:数组名[行下标][列...原创 2021-07-16 19:34:26 · 70 阅读 · 0 评论 -
从零开始学习C语言(3)
复习:1、C代码变成可执行程序的过程预处理:查看宏函数的替换结果,检查宏函数gcc-E编译:理解C代码的底层原理,函数重载gcc-S汇编:生成代码库,静态库、共享库gcc-c链接:是多文件编程的基础gcca.ob.oc.o...2、gcc编译器常用参数-E-S-c-std=gnu99-o-I-l-Wall-Werror-D(命...原创 2021-07-16 19:33:45 · 67 阅读 · 0 评论 -
从零开始学习C语言(2)
一、常量什么是常量:程序运行期间数值不能变化的叫常量100默认int100uunsignedint100luunsignedlong100lluunsignedlonglong100llong100lllonglong3.14默认double3.14ffloat3.14llongdouble问题:...原创 2021-07-16 19:33:01 · 91 阅读 · 0 评论 -
从零开始学习C语言(1)
C语言简介:BCPL->newB->C->UNIX->Minix->Linux->gccC语言诞生于1970-1973年,在肯.汤普逊和丹尼斯.里奇的主导编写下完成,归属于美国贝尔实验室。C语言专门为了编写操作系统而诞生的语言,所以天生适合硬件编程,以运行速度快著称,也非常适合实现数据结构与算法。由于出现的时间过早,C语言是存在非常多缺陷,也没想到普通人也能使用C语言编程,因此就存在陷阱,但是前辈们总结了一些避免的经验《C语...原创 2021-07-16 19:31:30 · 262 阅读 · 0 评论 -
部分C语言经典问题代码(1)
输入两个日期,计算相差多少天法1#include<stdio.h>#include<stdlib.h>int func(int n,int y,int r);int main(int argc,const char* argv[]){ int n,y,r,nd,run,yd=0,dd,a,b,c; printf("输入:\n"); scanf("%d-%d-%d",&n,&y,&r); scanf("%d-%d-%d",&原创 2021-07-16 19:14:14 · 364 阅读 · 0 评论