当前位置:网站首页>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如果修饰全局变量,则会 对其他源文件隐藏该全局变量
- 头文件(
六、数组
七、指针
八、字符串
九、结构体
十、联合体与枚举类型
十一、位运算
十二、预处理器
十三、文件
十四、存储管理
十五、标准函数库
边栏推荐
- Jmeter自带函数不够用?不如自己动手开发一个
- 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]
- 从“跑分神器”到数据平台,鲁大师开启演进之路
- Experience of Niuke SQL
- cf:C. Column Swapping【排序 + 模拟】
- 解决pod install报错:ffi is an incompatible architecture
- Crudini 配置文件编辑工具
- JVM命令之 jstack:打印JVM中线程快照
- 测试开发基础,教你做一个完整功能的Web平台之环境准备
- 改变ui组件原有样式
猜你喜欢
Interview questions and salary and welfare of Shanghai byte

可极大提升编程思想与能力的书有哪些?

JMeter's own functions are not enough? Why don't you develop one yourself
![[daily training -- Tencent selected 50] 235 Nearest common ancestor of binary search tree](/img/4c/16bb943e517c7b703996715632e6ca.png)
[daily training -- Tencent selected 50] 235 Nearest common ancestor of binary search tree

jmeter 函数助手 — — 随机值、随机字符串、 固定值随机提取

From "running distractor" to data platform, Master Lu started the road of evolution

Rk3399 platform development series explanation (WiFi) 5.53, hostapd (WiFi AP mode) configuration file description

jvm命令之 jcmd:多功能命令行

The boss always asks me about my progress. Don't you trust me? (what do you think)

Jstat pour la commande JVM: voir les statistiques JVM
随机推荐
JVM command - jmap: export memory image file & memory usage
CTFshow--常用姿势
Qt多线程的多种方法之一 QThread
POI excel export, one of my template methods
Apple CMS V10 template /mxone Pro adaptive film and television website template
Personal imitation SSM framework
The boss always asks me about my progress. Don't you trust me? (what do you think)
Interview questions and salary and welfare of Shanghai byte
Dc-7 target
绕过open_basedir
Change the original style of UI components
基于ADAU1452的DSP及DAC音频失真分析
Flask 1.1.4 werkzeug1.0.1 analyse du code source: processus de démarrage
Mac version PHP installed Xdebug environment (M1 version)
PTA ladder game exercise set l2-004 search tree judgment
PTA 天梯赛练习题集 L2-004 搜索树判断
Oracle迁移中关于大容量表使用数据泵(expdp、impdp)导出导入容易出现的问题和注意事项
Crudini 配置文件编辑工具
cf:C. Column Swapping【排序 + 模擬】
Senior programmers must know and master. This article explains in detail the principle of MySQL master-slave synchronization, and recommends collecting