| |
|
|
开发:
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语言(1) -> 正文阅读 |
|
|
[C++知识库]C语言学习-初识C语言(1) |
|
目录 本文适合C语言入门的人群阅读,读下去,你一定会有所收获。 本文重点:对C语言进行一个大致介绍。(不会讲的很详细,大致了解即可) 问:“?什么是C语言?” C语言是一种编程语言,几十年来经久不衰,依旧适合初学者作为人生的中第一门编程语言。 我推荐使用visual studio2019/2022编译器,进行C语言学习。
1. 一个C语言程序
程序运行时会从主函数进入,即箭头指向位置。 2. 数据类型
? ? ? ?C语言中,sizeof 可以用于计算数据类型大小,数据类型大小是当你运行程序时,编译器向内存申请的空间大小,单位是字节。 3. 变量与常量定义变量的方法:
注意: ? 变量的使用: ? ?局部变量与全局变量:
?例
? ?有关常量: 常量无法被改变。
? ?注:枚举常量默认从0开始,一次向下递增1。 4. 字符串与转义字符字符串:
我们发现arr2的字符串长度是一个随机值,因为没添加 \0告诉编译器该停下了,编译器就一直往后找,知道在某一个位置找到 \0了,才会停下。 那为什么arr1没加 \0编译器也能算对呢?
?我们发现arr1四个字符却占用了五个内存,F11开始调试,打开监视窗口。
?发现arr1这个字符串自动添加了 \0。 总结:创建字符串时会自动添加 \0,而单个创建字符时不会添加。 常用转义字符:
重要转义字符: \ddd? ? ?ddd表示1~3个八进制数字 \xdd? ? ?dd表示1~2个十六进制数字 例:
\t 和 \62 被视作一个字符。 5. 注释?当你想要删除一行代码时,也可以选择注释掉它 当代码比较晦涩时,可以通过添加注释便于理解 注释的两种风格:
也可以通过右上角的快捷键进行注释。 6. 选择语句?例: if 语句的应用
?运行之后,输入1:
输入0:? ? ?7. 循环语句例:
?只有达成while循环的条件,才会跳出循环。
?8. 函数函数的特点就是简化代码,代码复用。 例: 如果你想计算两个数相加的值:
如果使用函数: ? ?注:返回值z的类型int要与函数Add的类型相同。 创建函数后,如果再想进行两数相加,只需再调用此函数即可。 9. 数组我们该如何存储(1~10)的数字?
如下图: ? ?c语言规定:数组每一个元素都有一个下标,下标从零开始。 创建数组 int arr[10]={0};
数组可以通过下标访问。 例: ?利用下标,能够打印数组的内容。 ?10. 操作符我会对个别常用的操作符进行简单介绍,大致了解操作符的作用即可。
有关算术操作符 / 与 %:
? 单目操作符? ? 有关操作符++与--:
? 操作符--也是同理。
? 有关逻辑操作符:
在C语言中,0表示假,非0的数表示真。if语句中,判断为真时执行语句,判断为假时不执行。 所以上述代码仅输出b的值。 有关&&的应用:
????????? 有关操作符?的应用: 当我们想比较两个数的最大值时,可以使用if语句
也可以使用操作符?简化代码
?还有逗号表达式、下标引用、函数调用和结构成员等操作符。 11. 常见关键字
?大致了解,避免在创建变量名称时发生冲突。 关键字typedef(类型重命名)介绍:
?你可能觉得这个unsigned int类型名字太长了,想要简便一点,这时候就可以用typdef。
?重命名后与原名意义是相同的。 关键字static(静态的)介绍: //修饰局部变量
?如果使用static修饰:
?就会发现 int n 不再离开作用域后销毁,这是为什么呢? 在内存中有三个区:栈区、堆区、静态区: 栈区中存放临时的变量,例:局部变量、函数变量; 堆区用于动态内存分配; 静态区存放:全局变量、静态变量。 普通的局部变量是放在栈区上,进入作用域创建,出了作用域释放, 但是局部变量被static修饰后,这种变量被放在静态区,创建好后,直到程序结束才释放。 本质上:static的修饰改变了局部变量的存储位置。 //修饰全局变量
注:?全局变量本身具有外部链接属性, 在A文件中定义的量,在B文件中可以通过链接使用。
但是如果全局变量被static修饰,外部链接属性就会变成内部链接属性, 那这个全局变量就只能在自己所在的源文件内部使用。 //修饰函数
?同理,函数本身具有外部链接属性。
static修饰函数后,外部链接属性变成内部链接属性, 使得这个函数只能在自己的源文件内部使用。? 12. #define定义常量和宏#define定义常量上文已经展示,现在仅展示定义宏如何实现。
13. 指针想了解指针,必须先了解内存是什么? 内存是计算机上的一种存储空间,程序运行时会载入内存,存储数据时也会申请内存。 而一个内存单元的大小是一个字节,每个内存单元都有自己的编号,而内存单元的编号被称为地址 在C语言中,地址也被称为指针。 总结:内存单元的编号 = 地址 =?指针
关于指针的应用:
关于指针的大小:
14. 结构体结构体在C语言中一般用于描述复杂对象,比如人、书,C语言中没有这样的类型, 但是结构体能让我们创建新的类型。 例:
?以上就是本篇文章的内容了,感谢你的阅读。 如果喜欢本文的话,欢迎点赞和评论,写下你的见解。 如果想和我一起学习编程,不妨点个关注,我们一起学习,一同成长。 之后我还会输出更多高质量内容,欢迎收看。 |
|
|
| 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图书馆 购物 三丰科技 阅读网 日历 万年历 2025年10日历 | -2025/10/21 4:54:51- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |