![](https://img-blog.csdnimg.cn/20190927151053287.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言基础
文章平均质量分 67
C语言基础知识介绍
卫橙
这个作者很懒,什么都没留下…
展开
-
[笔记]ASCLL码表(48 “0”,65 “A”,97 “a”)2022.3.12
ASCLL表格 ASCLL码 ASCLL值 对应字符 0 NUT 1 SOH 2 STX 3 ETX 4 EOT 5 ENQ 6 ACK 7 BEL...原创 2022-03-22 12:25:04 · 1758 阅读 · 1 评论 -
8月23日笔记C语言基础(补5)内存管理2
内存管理: 变量的生命周期: 1.自动存储期 2.静态存储期 3.自定义存储期 1.自动存储期: 在栈空间分配变量,系统自动分配空间,内存大小为8M 1.自动变量 auto a1 = 3; printf("%d\n",a1); 2.局部变量 demo: ...原创 2021-08-24 09:26:47 · 68 阅读 · 0 评论 -
8月22日笔记C语言基础(补5)内存管理1
C进程内存布局任何一个程序,正常运行都需要内存资源,用来存放诸如变量、常量、函数代码等等。这些不同的内容,所存储的内存区域是不同的,且不同的区域有不同的特性。因此我们需要研究财经处内存布局,逐个了解不同内存区域的特性。每个C语言进程都拥有一片结构相同的虚拟内存,所谓的虚拟内存,就是从实际物理内存映射出来的地址规范范围,最重要的特征是所有的虚拟内存布局都是相同的,极大地方便内核管理不同的进程。例如三个完全不相干的进程p1、p2、p3,它们很显然会占据不同区段的物理内存,...原创 2021-08-24 09:19:36 · 88 阅读 · 0 评论 -
8月22日笔记C语言基础(补4)联合体与枚举2
1.联合体问题引入? 如果一个学生选修课,选择了美术,就不能选择音乐 如何描述这些互斥的场景呢?用结构体?当然不合适,还有就是空间问题? 答案是联合体(共用体) 2.联合体的基本概念? 联合体和结构体的结构非常相似,但是有一个本质的区别: 结构体的每一个成员都是相互各自独立的,而联合体的每个成员都是共用一块内存 因此联合体又称为共用体。 3.联合的定义 union 联合体名 { 成员类型1 成员1; ...原创 2021-08-23 20:02:26 · 116 阅读 · 0 评论 -
8月22日笔记C语言基础(补4)联合体与枚举1
联合体基本概念联合体的外在形式跟结构体非常类似,但它们有一个本质的区别:结构体中的各个成员是各自独立的,而联合体中的各个成员却共用同一块内存,因此联合体也称为共用体。联合体内部成员的这种特殊的“堆叠”效果,使得联合体有如下基本特征:整个联合体变量的尺寸,取决于联合体中尺寸最大的成员。 给联合体的某个成员赋值,会覆盖其他的成员,使它们失效。 联合体各成员之间形成一种“互斥”的逻辑,在某个时刻只有一个成员有效。联合体的定义:union联合体标签{成员1;...原创 2021-08-23 19:51:33 · 115 阅读 · 0 评论 -
8月22日笔记C语言基础(补3)宏定义与条件编译2
1.预处理 程序在编译之前,是由预处理器CC1先检查c文件有没有以#号开头的符号称为宏 如果有,CC1是不会做任何的逻辑判断直接将里里面的内容替换出来,或者拷贝出来 我们把这种方式称为宏展开 预处理指令(宏)包括 1.头文件 #include 2.定义宏 #define 3.取消 #undef 4.条件编译 #if #ifdef #ifndef #else #elif #endif 5.向编译器发送指令 #pragma ...原创 2021-08-23 19:40:50 · 361 阅读 · 0 评论 -
8月22日笔记C语言基础(补3)宏定义与条件编译1
预处理在C语言程序源码中,凡是以井号(#)开头的语句被称为预处理语句,这些语句严格意义上并不属于C语言语法的范畴,它们在编译的阶段统一由所谓预处理器(cc1)来处理。所谓预处理,顾名思义,指的是真正的C程序编译之前预先进行的一些处理步骤,这些预处理指令包括:头文件:#include 定义宏:#define 取消宏:#undef 条件编译:#if、#ifdef、#ifndef、#else、#elif、#endif 显示错误:#error 修改当前文件名和行号:#line 向...原创 2021-08-23 19:29:58 · 279 阅读 · 0 评论 -
8月22日笔记C语言基础(补2)const 关键字
const 关键字与const指针 const关键字的作用是不能改变变量里面的内容 1.const变量 定义: const 数据类型 变量名 const int a; a = 10; 2.const指针 1.常指针,用的比较少 const修饰指针本身,表示指针变量无法修改 demo: const char a =...原创 2021-08-23 19:14:05 · 96 阅读 · 0 评论 -
8月22日笔记C语言基础(补1)结构体2
1.结构体概念的引入 c语言提供了众多的数据类型,但是这些数据类型远远达不到我们的需求 比如描述学生,学生信息 : 姓名,性别,年龄。。。。,那么我们通过 什么数据类型描述学生信息呢?答案是自定义数据类型,结构体。 结构体其实是一种复合数据类型 什么是结构体?为什么要用结构体 结构体其实就是自定义数据类型,方便我们更好的管理数据2.结构体的定义 struct 结构体名 { 成员类型1 成员名1; int a;...原创 2021-08-23 19:01:46 · 193 阅读 · 0 评论 -
8月22日笔记C语言基础(补1)结构体1
1. 结构体基本概念C语言提供了众多的基本类型,但现实生活中的对象一般都不是单纯的整型、浮点型或字符串,而是这些基本类型的综合体。比如一个学生,典型地应该拥有学号(整型)、姓名(字符串)、分数(浮点型)、性别(枚举)等不同侧面的属性,这些所有的属性都不应该被拆分开来,而是应该组成一个整体,代表一个完整的学生。在C语言中,可以使用结构体来将多种不同的数据类型组装起来,形成某种现实意义的自定义的变量类型。结构体本质上是一种自定义类型。结构体的定义:struct ...原创 2021-08-23 16:41:09 · 183 阅读 · 0 评论 -
7月30日笔记C语言基础指针1
目录1.什么是指针(存放地址的变量)?指针是一个变量,是用于存放地址的变量,我们称之为指针 cpu往往对地址处理的效率较高,仅次于汇编,能不能通过指针来操作 对应存放地址的变量呢?可以通过指针操作 2.如何获取对应数据存放的内存所对应的地址,是通过&(取地址符)获取对应变量的地址 int a;//&a 获取a的地址 printf("%p\n",&a); 3.指针的定义4.地址偏移量字节序 1.大端模式:高位数...原创 2021-07-31 16:43:43 · 271 阅读 · 0 评论 -
7月27日笔记C语言基础指针0
内存地址字节:字节是内存的容量单位,英文称为 byte,一个字节有8位,即 1byte = 8bits 地址:系统为了便于区分每一个字节而对它们逐一进行的编号,称为内存地址,简称地址。基地址单字节数据:对于单字节数据而言,其地址就是其字节编号。 多字节数据:对于多字节数据而言,其地址是其所有字节中编号最小的那个,称为基地址。取址符每个变量都是一块内存,都可以通过取址符 & 获取其地址%p 例如:inta = 100;printf("整型变量 a 的地址是: %p\...原创 2021-07-27 16:20:19 · 278 阅读 · 0 评论 -
7月27日笔记C语言基础数组(字符数组)
字符数组 用于存储字符的数组,它可以是一维数组或者二维数组 1.一维字符数组 char a[4] = {'j','a','c','k'} char a[] = {'j','a','c','k'} // 存储字符串的数组,因为字符串默认有一个'\0'结尾,所以需要5字节空间 char a[5] = {"jack"}; char a[5] = "jack"; char a[] = "jack";...原创 2021-07-27 16:08:15 · 82 阅读 · 0 评论 -
7月26日笔记C语言基础数组(基本概念,一维数组,二维数组)
基本概念逻辑:一次性定义多个相同类型的变量,并存储到一片连续的内存中 示例:inta[5]; 语法释义: a 是数组名,即这片连续内存的名称 [5] 代表这片连续内存总共分成5个相等的格子,每个格子称为数组的元素 int 代表每个元素的类型,可以是任意基本类型,也可以是组合类型,甚至可以是数组 初始化:在定义的时候赋值,称为初始化// 正常初始化inta[5] = {100,200,300,400,500};inta[5] = {100,200,300,4...原创 2021-07-26 19:37:03 · 351 阅读 · 0 评论 -
7月23日笔记C语言函数2
1.函数 function 某个功能模块 c语言,函数是完成某个特定的任务函数的名字可读性要强(比如英文名) 函数的定义 返回值类型 函数名(函数的参数) { return 返回值; }int func(int a,int b,int c){ return a;} int func(void){ return 1;}int main(){ func();// 可以不接收f...原创 2021-07-24 14:53:57 · 317 阅读 · 0 评论 -
7月22日C语言基础函数
函数入门在C语言中,函数意味着功能模块。一个典型的C语言程序,就是由一个个的功能模块拼接起来的整体。也因为如此,C语言被称为模块化语言。对于函数的使用者,可以简单地将函数理解为一个黑箱,使用者只管按照规定给黑箱一些输入,就会得到一些输出,而不必理会黑箱内部的运行细节。黑箱的输入和输出日常使用的电视机可以被理解为一个典型的黑箱,它有一些公开的接口提供给使用者操作,比如开关、音量、频道等,使用者不需要理会其内部电路,更不需要管电视机的工作原理,只需...原创 2021-07-24 14:21:27 · 102 阅读 · 0 评论 -
7月20日C语言基础控制流
什么是控制流?控制流的作用有时候我们运行程序时候,程序工作过程需要某些判断程序设计分成顺序结构,选择结构,循环结构二路分支(if语句不能使用break否则报错)逻辑:程序中某段代码需要在满足某个条件时才能运行 判断条件可为任意表达式 :算术运算符表达式,逻辑运算符表达式,位运算符表达式, 形式: if 语句:表达一种 如果-则 的条件执行关系 if(判断条件){ ....} //小括号表示判断条件,大括号表示满足此条件运行的范围 if-else 语句:表达一种 如果...原创 2021-07-21 19:36:20 · 84 阅读 · 0 评论 -
7月16日笔记C语言基础数据类型
1. 整型概念:表达整数类型的数据 语法:inta = 123; // 定义了一个专门用来存储整数的变量a 需要注意的地方:int 的本意是 integer,即整数的意思 int a 代表在内存中开辟一块小区域,称为 a,用来存放整数,a 一般被称为变量。 变量 a 所占内存大小,在不同的系统中是不一样的,64位系统典型的大小是4个字节。 变量 a 有固定的大小,因此也有取值范围,典型的范围是:-2147483648到2147483647整型修饰符 short:用来缩短整型变...原创 2021-07-16 20:14:44 · 231 阅读 · 0 评论 -
7月16日笔记C语言基础类型转换
类型转换概念:不一致但相互兼容的数据类型,在同一表达式中将会发生类型转换。 转换模式: 隐式转换:系统按照隐式规则自动进行的转换 强制转换:用户显式自定义进行的转换 隐式规则:从小类型向大类型转换,目的是保证不丢失表达式中数据的精度 char->short->int->long->float->double->long double 隐式转换示例代码chara = 'a';intb = 12;floatc = 3.1...原创 2021-07-16 19:58:02 · 832 阅读 · 0 评论 -
7月16日笔记C语言基础运算符(算术,关系,逻辑,位,特殊,逗号,条件,sizeof ,return,优先级与结合性)
1. 算术运算符 运算符 功能说明 举例 + 加法,一目取正 a+b - 减法,一目取负 a-b * 乘法 a*b / 除法 a/b % 取模(求余) ..原创 2021-07-16 19:50:31 · 273 阅读 · 0 评论 -
7月15日c语言基础数据类型
数据类型 整型 浮点 字符 布尔类型 bool 常量 int a = 2; //定义一个专门用来存储整数的空间,将此空间命名为a 注意地方: a是开辟一块空间只能用于存放整数 变量a所占用的内存空间是4字节 变量a的最大值为 2^31-1 = +0 .......... + 2147483647 变量a的最小值为 2^31-1 = -0 ......... -2147483647 ===》因为-0和也...原创 2021-07-16 09:12:12 · 96 阅读 · 0 评论 -
7月15日笔记C语言基础main printf输入的类型
程序基本架构 在c语言程序中,任何符号(包括变量,函数都需要声明) 头文件 // 提前和编译器声明 #include <stdio.h> // 将stdio.h里面的内容拷贝一份出来到此文件 #include <stdlib.h> // 主函数,在c语言都是从main()开始执行程序 //主函数的名字是固定叫main,只能在这个程序出现一次 // 主函数是一个程序的入口地址 // 主函数的()里面可以写vo...原创 2021-07-15 14:44:13 · 202 阅读 · 0 评论