| |
|
开发:
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图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 5:47:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |