当前位置:网站首页>C语言整理(待更新)
C语言整理(待更新)
2022-07-07 01:26:00 【王小希ww】
C语言整理(待更新)
Note:根据 CSDN C语言技能树 整理的题目;初衷是因为C语言相对于Java,Python更加简洁,没有那么多花里胡哨的语言特性,用来练习算法题再合适不过了。
文章目录
一、C语言的发展
二、数据类型
- 变量类型, 生命周期 和 作用域
- 常量2种类型(数值和字符) 和 定义(#define和const)
Note:常量也可以是函数表达式,比如#define MAX(a,b) ((a > b) ? a : b)
,参考关系运算符(判断区间是否重叠) - 数据类型分类(原生,派生,用户自定义)
Note:- C语言没有bool,string类型;基本类型包括字符型,浮点型,整型 和 空类型;派生类型包括数组,指针和函数类型;用户自定义类型包括枚举,结构体和联合体类型。
- C++的基本类型则在C语言基本类型基础上,增加了bool类型。
三、运算符与表达式
- 赋值运算符(注意多个变量同时赋值的问题)
- 算数运算符(++i < 100 和 i++ < 100 的区别)
- 关系运算符
- 逻辑运算符(判断是否为闰年,||和&&的使用)
- 逗号运算符,运算符优先级与求值顺序(逗号运算符),可参考C语言逗号表达式在for循环语句中的使用
Note:逗号运算符常用在for循环头部初始化或递增多个变量- 注意变量的处理顺序
- 从左往右开始算
- 整个逗号表达式的值为其中最后一个子表达式的值。
- sizeof运算符(输出 操作数所占空间 的 字节大小),可参考c语言数据类型字节大小 和 精度
Note:sizeof在使用的时候看上去像是一个函数(因为其后面有一对小括号),但他却是一个运算符。他的使用方法有以下3种:- a)
sizeof(变量名)
。 - b)
sizeof(数据类型名)
。 - c)
sizeof 变量名
。
- a)
四、语句与控制流
- 三个数从小到大排序输出(swap原地交换)
- 判断三角形的类型(注意判断条件的先后次序)
- switch-case分数评级
- 九九乘法表打印(9行9列)
- 最大公约数(m)和最小公倍数(q)(ab = mq),可参考辗转相除法求最大公约数
五、函数与程序结构
- 函数的声明和定义(C语言 关注方法的定义相对于调用语句的位置)
Note:其实 python 也一样关注方法的定义相对于调用语句的位置,只不过没有函数声明,只有函数定义。 - 形参与实参(注意swap时实参是引用类型,即传入地址,而形参是指针类型)
- 打印函数调用顺序(C语言(编译)必须通过main函数入口才可以执行程序,python(解释)则不需要)
- 上楼梯问题(C语言模块化设计),可参考C语言模块化编程
- 内部函数(static)和外部函数(extern),可参考C语言中 static 和 extern 的用法详解,C语言关键字static与extern的详细解释
Note:- 头文件(
.h
)需通过#define
和#endif
定义变量和函数 - 源文件可以分成多个
.c
文件,每个.c
文件可以对应一个.h
文件,该.h
文件包含.c
文件的变量或函数声明。 - 全局变量默认是带
extern
,即在整个源程序中 所有 源文件 里都可以访问和修改 static
如果修饰全局变量,则会 对其他源文件隐藏该全局变量
- 头文件(
六、数组
七、指针
八、字符串
九、结构体
十、联合体与枚举类型
十一、位运算
十二、预处理器
十三、文件
十四、存储管理
十五、标准函数库
边栏推荐
- 牙齿干细胞的存储问题(未完待续)
- VScode进行代码补全
- k8s运行oracle
- Bbox regression loss function in target detection -l2, smooth L1, IOU, giou, Diou, ciou, focal eiou, alpha IOU, Siou
- 软件测试的几个关键步骤,你需要知道
- PTA ladder game exercise set l2-004 search tree judgment
- 可极大提升编程思想与能力的书有哪些?
- Senior programmers must know and master. This article explains in detail the principle of MySQL master-slave synchronization, and recommends collecting
- Go语学习笔记 - gorm使用 - 原生sql、命名参数、Rows、ToSQL | Web框架Gin(九)
- Talking about reading excel with POI
猜你喜欢
你不知道的互联网公司招聘黑话大全
Bbox regression loss function in target detection -l2, smooth L1, IOU, giou, Diou, ciou, focal eiou, alpha IOU, Siou
Mac version PHP installed Xdebug environment (M1 version)
搞懂fastjson 对泛型的反序列化原理
mac版php装xdebug环境(m1版)
【GNN】图解GNN: A gentle introduction(含视频)
为不同类型设备构建应用的三大更新 | 2022 I/O 重点回顾
外设驱动库开发笔记43:GPIO模拟SPI驱动
Rk3399 platform development series explanation (WiFi) 5.53, hostapd (WiFi AP mode) configuration file description
Apple CMS V10 template /mxone Pro adaptive film and television website template
随机推荐
Flask 1.1.4 werkzeug1.0.1 analyse du code source: processus de démarrage
Go语学习笔记 - gorm使用 - gorm处理错误 | Web框架Gin(十)
A freshman's summary of an ordinary student [I don't know whether we are stupid or crazy, but I know to run forward all the way]
Qtthread, one of many methods of QT multithreading
postgresql 数据库 timescaledb 函数time_bucket_gapfill()报错解决及更换 license
Interview skills of software testing
Rk3399 platform development series explanation (interruption) 13.10, workqueue work queue
JVM command - jmap: export memory image file & memory usage
Reading notes of Clickhouse principle analysis and Application Practice (6)
Chain storage of stack
可极大提升编程思想与能力的书有哪些?
苹果cms V10模板/MXone Pro自适应影视电影网站模板
JVM监控及诊断工具-命令行篇
蚂蚁庄园安全头盔 7.8蚂蚁庄园答案
Flask1.1.4 Werkzeug1.0.1 源碼分析:啟動流程
[SQL practice] a SQL statistics of epidemic distribution across the country
DC-7靶机
Deep clustering: joint optimization of depth representation learning and clustering
PTA 天梯赛练习题集 L2-004 搜索树判断
Sequential storage of stacks