| |
|
开发:
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语言初阶]初识C语言(上) |
?????????????? 目录 ? ? ? ? ?一.作用域和生命周期 关于C的基本了解
初学者了解一下C是一门面向过程的语言,广泛应用于底层开发即可。 回顾计算机语言发展,大概经历了这样一个过程: ?计算机的基本单位:? ? ? ? bit(比特位):是最小的单位; byte(字节):1byte=8bit,这个比较重要,下面会讲到; 再往下依次有KB,MB,GB,TB,PB 它们满足后者是前者的1024倍,如1KB=1024byte,1MB=1024KB,依次类推。 字节(byte)怎么理解呢? 我们通常会提到内存,它是计算机中的重要部件之一,计算机中所有程序的运行都在内存中运行,所以它决定了计算机整体运行快慢的程度。 而1个字节的大小就是一个内存单元的大小,把内存分隔成一块块,就像楼房里一个个住间,彼此分隔开来,互不干扰。 正文来了~
1.局部变量作用域:局部变量所在局部范围
本程序中a是打印不出来的,a虽是在主函数中定义的,但它作为局部变量出了它的作用域(主函数内部)就没用了。 全局变量作用域:整个工程,但要注意:定义在本源文件的全局变量,在本工程的其他源文件用时,需要声明,即在前面加上关键字extern。(C语言关键字会在后面讲到) 2.生命周期:变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。
本程序第一个a能打印,而第二个不可。第一个a所在代码块(即其所在{}内)内是a的生命周期,出了这个代码块便没用了。 对于全局变量,其生命周期是整个程序。
1.字面常量 顾名思义,就是从字面上就能知道其值的常量,如字符串“abcdef”,数字“1”,“3.14”等等。 2.const修饰的常变量
本程序无法运行。因为n被const修饰后就具有了常属性,不可被修改,但是n本质上还是个变量,所以称为常变量。 3.#define定义的标识符常量
可以打印出结果10. 4.枚举常量(枚举关键字:enum)
以上为例,其中MALE,? FEMALE,SECRET为枚举常量,是Sex的内容。若对其中内容进行打印,可分别打出0,1,2三个数字。(如果想改变数字,可在内部进行初始化)
1.字符串的结束标志是"\0" 即字符串默认尾部自带一个'\0' 举个栗子理解一下,如有以下字符串arr1和字符数组arr2
对它们进行打印,arr1是这样的:
而arr2的画风可能会像这样(?):
由此,大概就能看出'\0'的重要性了吧(结束字符串,避免画风跑偏) 2.转义字符及释义
3.字符串长度(易错)
上面程序打印值分别为6,随机值,7,6 strlen用来计算字符串长度,对于arr2,其在f后的字符是未知的,故无法确定; sizeof是计算数组所占空间大小,arr1后面默认跟了个'\0',而arr2只存了a~f这6个字符。 再结合转义字符来个栗子:
分析一下:一个转义字符作为一个整体算作一个字符(\t),注意这里的\628可不是个\ddd转义字符,ddd作为八进制数,所有d必须小于8,故这里的\62算作一个转义字符,8是下一个字符。 你算出来了吗? 答案是。。。14
1.算式操作符:? ??*? ? ?/? ? +? ? - float a=10/3;? ? ? ? ? ?打印结果为3.0000? ? ?? float a=10/3.0;? ? ? ? 打印结果为3.333333 2.移位操作符: <<? ? ? ?>> 移动的是二进制位,故用前要将数转换为二进制数 3.位操作符: &? ?/\? ?| 4.赋值操作符
5.单目操作符: !:逻辑非运算符 ? ? ? 举个栗子:
打印结果为0.因为C语言中0为假,非0为真,a=10不等于0为真,非a就为假。 条件语句中if(a)等价于if(a!=0);if(!a)等价于if(0==a) ~ :对一个二进制数进行按位取反 ++(--):前置:先++(--),后使用 ? ? ? ? ? ? ? ? ? 后置:先使用,后++(--) 话不多说,上个栗子:
?上面打印的a和b是11,11;下面为11,10. (类型):强制类型转换 如int a=int(3.14) 对a进行打印的结果为3 6.逗号表达式:从左向右计算,整个表达式结果是最后一个表达式结果
d的结果就是表达式c=a-b的值,对d进行打印,结果为4。 ? ? ? ? ? ? ? |
|
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 10:42:12- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |