当前位置:网站首页>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
如果修饰全局变量,则会 对其他源文件隐藏该全局变量
- 头文件(
六、数组
七、指针
八、字符串
九、结构体
十、联合体与枚举类型
十一、位运算
十二、预处理器
十三、文件
十四、存储管理
十五、标准函数库
边栏推荐
- Dc-7 target
- 云加速,帮助您有效解决攻击问题!
- 外设驱动库开发笔记43:GPIO模拟SPI驱动
- 为不同类型设备构建应用的三大更新 | 2022 I/O 重点回顾
- 话说SQLyog欺骗了我!
- Introduction to the extension implementation of SAP Spartacus checkout process
- Loss function and positive and negative sample allocation in target detection: retinanet and focal loss
- Change the original style of UI components
- yarn入门(一篇就够了)
- PTA ladder game exercise set l2-002 linked list de duplication
猜你喜欢
Ideas of high concurrency and high traffic seckill scheme
JVM command - jmap: export memory image file & memory usage
@pathvariable 和 @Requestparam的详细区别
Add salt and pepper noise or Gaussian noise to the picture
Go语学习笔记 - gorm使用 - 原生sql、命名参数、Rows、ToSQL | Web框架Gin(九)
Rk3399 platform development series explanation (WiFi) 5.52. Introduction to WiFi framework composition
[cloud native] what is the microservice architecture?
[SQL practice] a SQL statistics of epidemic distribution across the country
Say sqlyog deceived me!
From "running distractor" to data platform, Master Lu started the road of evolution
随机推荐
Talking about reading excel with POI
PTA 天梯赛练习题集 L2-002 链表去重
Opensergo is about to release v1alpha1, which will enrich the service governance capabilities of the full link heterogeneous architecture
PTA 天梯赛练习题集 L2-004 搜索树判断
蚂蚁庄园安全头盔 7.8蚂蚁庄园答案
980. Different path III DFS
Flask1.1.4 Werkzeug1.0.1 源碼分析:啟動流程
【GNN】图解GNN: A gentle introduction(含视频)
vim映射大K
绕过open_basedir
进程间通信之共享内存
Apple CMS V10 template /mxone Pro adaptive film and television website template
Why does the data center need a set of infrastructure visual management system
JVM command - jmap: export memory image file & memory usage
解决pod install报错:ffi is an incompatible architecture
Ctfshow-- common posture
SubGHz, LoRaWAN, NB-IoT, 物联网
3428. 放苹果
MySQL performance_ Schema common performance diagnosis query
牙齿干细胞的存储问题(未完待续)