| |
|
|
开发:
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语言 |
|
??????????????????? 1、认识C语言? ? ? C语言是底层开发语言,C 语言是1972年由美国的Dennis Ritchie设计发明的,二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。C语言是一门计算机语言,硬件(正电/负电)---汇编语言(助记符)----B语言---C语言(高级语言),出现ANSIC---出现国际标准(来判断这个语言好不好) 2、数据类型整型 int?4字节 ??长整型long?4/8个字节 ?短整型2字节 字符型char?1字节 ??? 单精度浮点型 float 4字节 ?双精度浮点型 double 8字节 Windows X86 是4字节 ?X64 是8个字节
1、?单位换算 1bit:只能存放一个二进制位,范围是1-2^32 1byte=8bit ?1kb=1024byte 1mb=1024kb ?1gb=1024mb ? 1tb=1024gb ?1pb=1024tb 3、变量变量分为局部变量与全局变量,当局部变量与全局变量名称相同时,局部变量优先。变量定义时应当在在当前代码块前面。
?1、作用域(变量在哪里使用,哪里就是作用域) 全局变量在任意地方都可以使用,作用域是整个工程。 2、 变量生命周期 局部变量生命周期是进入作用域开始,出作用域结束。 全局变量生命周期是整个程序。 作用域与生命周期有关。 4、常量字面常量 ‘W--字符 ??“abc”---字符串 ?3,3.0 Const修饰的常变量 Const修饰的常变量不能被改变
?#define定义标识符常量 例如:#define?MAX?100; 枚举常量(enum)
5、字符串字符串的结束标志是\0,字符无结束标志,自己申请内存不够用占用别人内存,不知道他人代码,所以就出现烫烫这种。
?strlen求字符串长度,因为是函数,所以要有#include<string.h>
?6、转义字符%d--打印整形 %s--打印字符串 ?%f--打印浮点数float型%c--打印字符 %lf--打印双精度浮点数double%zu--打印sizeof返回值特殊字符的打印:三字母词??)---】? ? ? ? ???(---【? ? ? ? ? ? ?所以打印时应该\?\?)
/* ?*/注释不可以嵌套使用 8、选择语句(if else语句、switch语句)??? ?9、循环语句(while、for、do ?while)while需要判断语句 ? ? ? ?10、函数(简化代码,使代码复用)????? 11、?数组(存储一组相同元素集合)数组表示形式: Int arr[10]; 开辟10个元素空间 Int arr1[]={1,2,3}; 3个元素 ‘0’字符---ASCII值为48 ?‘\0’字符----ASCII值为0 不完全初始化: Int arr[8]={1,2,3}; ?前面默认初始化1,2,3,剩余部分默认不完全初始化为0. 打印数组所有元素:
?C99标准之前,数组大小都用常量或者常量表达式来指定,但C99之后,支持变常数组,允许数组大小为变量,但这种数组不可初始化。VS对C99一些语法支持不是很好,不支持变常数组。 12、操作符算数操作符? ? ?+ - * / % /:两端可以是整数也可以是浮点数 %:两端必须是整数
?移位操作符? ? ? ?>> ?<< 位操作符 & 按位与 ,同真才为真 ? ^按位异或,对应二进制位相同则为0,相异则为1. ? |按位或,只要有一个真就为真 赋值操作符? ? ? ? ? ??= += -= *= /= 单目操作符 !逻辑反操作 ?? Sizeof 单目操作符
?(类型)强制类型转换
?关系操作符 ==判断是否相等 ??=赋值 逻辑操作符 &&必须都为真才可 ???||一个为真就可 三目操作符 Exp1? a:b Exp1为真,结果为表达式1 ?a Exp1为假,结果为表达式2 ?b 逗号表达式,从左向右依次计算,整个表达式结果为最后一个表达式结果 【】:下标引用操作符
13、关键字(C语言本身就具有的,不是自己创建的)Typedef(类型定义)--类型重命名
?Static 静态变量(局部、全局、函数) 修饰局部改变的是变量存储位置
?局部变量进入作用域创建,出作用域销毁,所以每次都要重新创建。Static 修饰局部变量,局部变量出作用域是不销毁的,本质上static修饰局部变量时改变了变量存储位置。
存储位置改变了生命周期,变量生命周期变长,与程序生命周期一样。
全局变量是具有外部链接属性,static修饰全局变量时,全局变量外部链接属性就变成内部链接属性,其他源.c文件就不能在使用这个全局变量。使用时感觉作用域变小了
函数是具有外部链接属性,被static修饰时,外部连接属性就变成内部链接属性,其他源文件.c就不能使用。 Register寄存器关键字
?
Cpu:中央处理器,早期在内存里执行,随着技术发展,cpu处理器越来越快,但是内存造价跟不上,所以需要更快设备来处理。 define定义常量与宏 定义常量? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 定义宏 ?
?14、指针
内存会划分成一个个内存单元,并标上对应的编号(地址,也被称为指针),一个内存单元大小为一个字节。
?地址存储,需要用到指针变量 int *p=&a; ?*说明p为指针变量,p指向对象是int类型 *p解引用操作符,指的是p所指的对象。 指针变量大小:
?不管是什么类型的指针,都在创建指针变量,1个指针变量的大小取决于一个地址存放的时候需要多大的内存空间。 32位机器地址,32bit----4个字节 64位机器地址,64bit----8个字节 15、结构体如果需要描述复杂的成员,比如人、图书等,需要用自定义类型struct来描述。
?结构体初始化:
?结构体指针变量——>成员名
? |
|
|
| 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年11日历 | -2025/11/29 4:06:11- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |