当前位置:网站首页>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
如果修饰全局变量,则会 对其他源文件隐藏该全局变量
- 头文件(
六、数组
七、指针
八、字符串
九、结构体
十、联合体与枚举类型
十一、位运算
十二、预处理器
十三、文件
十四、存储管理
十五、标准函数库
边栏推荐
- win系统下安装redis以及windows扩展方法
- mac版php装xdebug环境(m1版)
- jvm命令之 jcmd:多功能命令行
- Interview questions and salary and welfare of Shanghai byte
- 从“跑分神器”到数据平台,鲁大师开启演进之路
- 一名普通学生的大一总结【不知我等是愚是狂,唯知一路向前奔驰】
- Say sqlyog deceived me!
- 如何在Touch Designer 2022版中设置解决Leap Motion不识别的问题?
- 3531. 哈夫曼树
- EMMC print cqhci: timeout for tag 10 prompt analysis and solution
猜你喜欢
软件测试知识储备:关于「登录安全」的基础知识,你了解多少?
Nvisual network visualization
You don't know the complete collection of recruitment slang of Internet companies
cf:C. Column Swapping【排序 + 模擬】
Jmeter自带函数不够用?不如自己动手开发一个
蚂蚁庄园安全头盔 7.8蚂蚁庄园答案
jmeter 函数助手 — — 随机值、随机字符串、 固定值随机提取
693. 行程排序
Opensergo is about to release v1alpha1, which will enrich the service governance capabilities of the full link heterogeneous architecture
Go语学习笔记 - gorm使用 - gorm处理错误 | Web框架Gin(十)
随机推荐
When we talk about immutable infrastructure, what are we talking about
Introduction to yarn (one article is enough)
Jstat of JVM command: View JVM statistics
Senior programmers must know and master. This article explains in detail the principle of MySQL master-slave synchronization, and recommends collecting
JVM监控及诊断工具-命令行篇
Ideas of high concurrency and high traffic seckill scheme
jmeter 函数助手 — — 随机值、随机字符串、 固定值随机提取
C note 13
Bypass open_ basedir
当我们谈论不可变基础设施时,我们在谈论什么
Question 102: sequence traversal of binary tree
980. Different path III DFS
SubGHz, LoRaWAN, NB-IoT, 物联网
[solved] record an error in easyexcel [when reading the XLS file, no error will be reported when reading the whole table, and an error will be reported when reading the specified sheet name]
Industrial Finance 3.0: financial technology of "dredging blood vessels"
Reading notes of Clickhouse principle analysis and Application Practice (6)
改变ui组件原有样式
SAP Spartacus checkout 流程的扩展(extend)实现介绍
Dc-7 target
绕过open_basedir