| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> c语言入门笔记 -> 正文阅读 |
|
[C++知识库]c语言入门笔记 |
目录一、初识c语言1、什么是C语言?C语言是一门面向过程的计算机编程语言,广泛应用于底层开发,与C++、java等面向对象的编程语言有所不同。Cyuyan的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。 2、第一个C语言程序
3、数据类型
? ? ? ?注:打印八进制数(%0),打印十六进制数(%0x) 4、变量、常量(1)变量的作用域和生命周期
a、局部变量作用域为变量所在的局部范围。 b、全局变量作用域为整个工程。
变量对应的生命周期为该变量的作用域。 (2)C语言中常量分类
5、转义字符
6、注释
注:几个常用快捷键 Ctrl+k+f? ? ? ? ?//整理代码格式 Ctrl+k+c?? ? ? ?//整体注释 Ctrl+k+u? ? ? ? //取消注释 二、选择与循环语句1、选择语句(if和switch语句)(1)if语句 “=”表示赋值,“==”判断相等,“!=”判断不相等。
如果表达式为真,则语句执行。 注:在C语言中如何表示真假呢? 0表示真,非0表示假。 (2)switch语句(常用于多分支情况)
如果用if语句的话会显得很麻烦,我么们可以用switch语句来实现。
2、循环语句(while、for、do while)(1)while循环
while循环里的break和continue
(2)for循环
表达式一用于初始化循环变量。表达式二条件判断部分,用于判断循环是否终止。表达式三用于循环条件的调整。
注:1、不可在for循环内修改循环变量,防止for循环失去控制。 ? ? ? ?2、建议for语句的循环控制变量的取值采用前闭后开区间写法。 (3)do……while()循环
特点:循环至少执行一次,适用的场景有限,所以不是经常使用。 三、函数C语言函数分类:库函数、自定义函数 1、C语言常用库函数
注: 但是库函数必须知道的一个秘密就是:使用库函数,必须包含 #include 对应的头文件。 2、自定义函数
举一个例子:
3、函数参数形式参数(形参):
实际参数(实参):
上面代码x、y为形参,num1、num2为实参。形参实例化之后其实相当于实参的一份临时拷贝。 4、函数的声明和定义(1)函数声明
test.h放置函数声明
(2)函数定义:交待函数的功能实现。
5、函数递归(1)什么是递归? 把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。 递归的主要思考方式在于:把大事化小 (2)递归的两个必要条件
代码在运行时存在以下问题:
在调试 factorial 函数的时候,如果你的参数比较大,那就会报错:stack overflow(栈溢出这样的信息)。 系统分配给程序的栈空间是有限的,但是如果出现了死循环,或者(死递归),这样有可能导致一直开辟栈空间,最终产生栈空间耗尽的情况,这样的现象我们称为栈溢出。 注: 1. 许多问题是以递归的形式进行解释的,这只是因为它比非递归的形式更为清晰。 四、数组1、一维数组(1)数组创建
注:数组创建, [] 中要给一个常量才可以,不能使用变量。数组在创建的时候如果想不指定数组的确定的大小就得初始化。数组的元素个数根据初始化的内容来确定。 (2)一维数组的使用、在内存中的存储 a、数组是使用下标来访问的,下标是从0开始。?数组的大小可以通过计算得到。 ?随着数组下标的增长,元素的地址,也在有规律的递增。 由此可以得出结论:数组在内存中是连续存放的。 2、二维数组(1)二维数组初始化
注: 二维数组行标可以省略,列标不能省略;数组计算长度只有在定义时使用有效。 (2)二维数组在内存中的存储 二维数组在内存中也是连续存在的。二维数组是特殊的一维数组。 注:数组名代表数组首元素地址。 (两个例外,sizeof(arr)、&arr) 五、操作符1、操作符分类算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式 2、移位操作符
(1)左移操作符
(2)右移操作符
3、位操作符
0异或任何数为数字本身;两个相同的数字异或为0。 4、逻辑操作符逻辑操作符有哪些?
区分逻辑与和按位与 区分逻辑或和按位或
5、条件操作符
6、逗号表达式
逗号表达式,就是用逗号隔开的多个表达式。 逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。 六、指针1、指针是什么?
总结:
2、野指针
(1)野指针成因
如何规避野指针?
七、结构体1、结构体的声明
结构体成员的类型: 结构的成员可以是标量、数组、指针,甚至是其他结构体。 2、结构体变量的定义和初始化
3、结构体传参
上面的 print1 和 print2 函数哪个好些?
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:30:03- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |