C语言与C++的学习
文章平均质量分 83
C与C++学习知识
明明真系叻
这个作者很懒,什么都没留下…
展开
-
嘉明的C++学习(2)之类与对象
嘉明的C++学习(2)之类与对象类与对象的概念对象是现实世界中实际存在的事物,是构成世界的一个独立单位,它由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一个独立整体。我们看待事物的方法就是面向对象的,比如人具有姓名、性别、年龄、身高等属性,也具有吃饭、睡觉、说话等行为,这种把属性和操作方法放在一起而形成的一个相互依存又不可分割的整体,再找出同类型对象的共有属性和行为的过程称...原创 2020-03-27 00:25:16 · 328 阅读 · 0 评论 -
嘉明的C++学习(3)之继承与多态
嘉明的C++学习之继承与多态原创 2020-04-14 10:11:04 · 319 阅读 · 2 评论 -
嘉明的C++学习(1)之C++语言基础
嘉明的C++学习(1)C++的语言基础cin是输入流对象,代表标准输入设备原创 2020-03-09 00:22:54 · 197 阅读 · 0 评论 -
嘉明的C学习之Day14--typedef的使用、C++引用
typedef的使用在我们使用结构体的时候比如:struct student s要打一大串字符,感觉特别的繁琐。那么typedef其实主要作用就是起别名,方便我们使用变量和看懂程序#include<stdio.h>//定义结构体的别名typedef struct student { int num; char name[20]; char sex;}stu, * pstu;typedef int Integer;//定义int的别名int main() { stu s原创 2022-03-02 12:20:07 · 708 阅读 · 0 评论 -
嘉明的C学习之Day13--结构体与结构体指针
递归的作业讲解假如有n个台阶,一次只能上1个台阶或2个台阶,请问走到第n个台阶有几种走法?为便于读者理解题意,这里举例说明如下:假如有3个台阶,那么总计就有3种走法:第一种为每次上1个台阶,上3次;第二种为先上2个台阶,再上1个台阶;第三种为先上1个台阶,再上2个台阶。输入为n,输出为走到第n个台阶有几种走法思路:1层台阶 1种走法 (1)2层台阶 2种走法 (11 2)3层台阶 3种走法 (111 12 21)4层台阶 5种走法 (1111 22 112 211 121)因为我们一次原创 2022-03-01 02:20:42 · 898 阅读 · 0 评论 -
嘉明的C学习之Day12--指针与数组的初始化问题、二级指针、函数(定义、递归)、全局变量(全局变量的概念、全局变量与局部变量的区别)
指针与数组的初始化问题我们看看接下来的程序,说明一下数组和指针初始化中的问题#include<stdio.h>int main() { char* p = "hello";//把hello字符常量的首地址赋值给p char c[10] = "hello";//等同于strcpy(c,"hello"); //p[0] = 'H';//非法的,因为p[0]所对应的是字符常量h,常量不可以改变值 puts(p[0]); c[0] = 'H'; puts(c[0]); p = 'wo原创 2022-02-28 00:48:21 · 584 阅读 · 0 评论 -
嘉明的C学习之Day11--指针与一维数组以及malloc动态空间申请、进程地址空间的了解、栈空间与堆空间的区别
指针与一维数组malloc动态空间申请原创 2022-02-26 02:53:34 · 783 阅读 · 0 评论 -
嘉明的C学习之Day7--选择循环
回顾上一个博客的知识一般来说0为假、非零为真单目运算符: !(逻辑非)算术运算符:加、减、乘、除、取模关系运算符:>、<、==、>=、<= 、!=逻辑运算符:&&(逻辑与)、||(逻辑或)优先级:!>算术>关系>逻辑关系表达式与逻辑表达式if与else我们的if既可以嵌套又可以else if嵌套就是if里面套if,else if更为常用。他们各有各的使用场景。例如筛选就要用if嵌套一层层筛选。根据不结果件执行不同的内容就要用els原创 2022-02-23 12:23:22 · 293 阅读 · 0 评论 -
嘉明的C学习之Day10-指针的传递与偏移
指针的传递与偏移为了理解指针的传递,我们来看看下面这个程序#include<stdio.h>void change(int j) { j = 5;}int main() { int i = 123; printf("before:%d\n", i); change(i); printf("after%d\n",i); return 0;}原创 2022-02-23 01:29:36 · 404 阅读 · 0 评论 -
嘉明的C学习之Day9--字符数组的传递、gets与puts函数、str系列字符串操作函数、指针(指针的本质+取地址操作符与取值操作符)
字符数组的传递#include<stdio.h>void print(char c[]) { int i = 0; while (c[i]) { printf("%c", c[i]); i++; }}int main() { char c[10] = "hello"; print(c);//这里的参数是实参,而print里的参数叫做形参}主方法通过传参给print方法执行语句。主方法main中print©的c是实参,而print方法里的参数叫做形参。while原创 2022-02-22 00:59:45 · 1188 阅读 · 0 评论 -
嘉明的C学习之Day8--数组
知识点回顾整形 int 大小:4个字节浮点型 float 大小:4个字节字符型 char 大小:1个字节数组数组是什么?举个例子:小明是一个球鞋爱好者且是一名编程爱好者。为了收藏鞋子,他买了很多个独立的小鞋箱子放置他心爱的球鞋。他把鞋箱放成一排(一维数组),其中一排有十个鞋箱(数组表示为a[10])。有一天小明叫妈妈帮他拿鞋子,妈妈问:“你那么多鞋,我怎么知道拿那一对?”小明说:“从左到右的第三个箱子的鞋子。”(a[2])于是妈妈便很快找到了小明的鞋子。随着时间的流逝,小明的鞋子越来原创 2022-02-17 19:38:43 · 383 阅读 · 0 评论 -
嘉明的C学习之Day6--运算符与表达式
C语言运算符一般来说最常用的三个运算符有:算术运算符关系运算符逻辑运算符优先级为:算术>关系>逻辑下面来写一个小程序来熟悉一下运算符需求:输入1234输出4321思路:我们只通过while循环实现,当变量不等于0时,模10然后再除以10就可以了。例如1234%10=4然后除以10为123123%10=3以此类推即可#include<stdio.h>int main() { int i; scanf("%d", &i); whil原创 2022-02-11 12:27:24 · 636 阅读 · 0 评论 -
嘉明的C学习之Day5--内存地址原理解析、scanf循环读取、多种数据类型混合输入、printf输出格式
内存地址原理解析下面我们来了解一下内存地址原理。众所周知我们电脑有32位和64位(现在普遍64位,因为一次可以传输8个字节效率飞快)原理图如下:我们可以把cpu和内存看成买家和卖家,在交易中,买家需要的商品告诉给卖家,卖家才能找出商品给买家。在电脑中就是cpu通过控制32根总线高低电频的传输某个地址给内存,内存通过地址找到数据然后通过控制数据总线的高低电频把数据给到CPU的寄存器中。注意:1.我们内存中的地址是用16进制表示,因此计算机读取时会转化为二进制,这样才能控制电频的高低2.其中内存原创 2022-02-07 23:25:25 · 1194 阅读 · 0 评论 -
嘉明的C学习之Day4--混合运算scanf读取标准输入原理
字符串型常量字符串型常量是由一对双引号括起来的字符序列。例如,“How do you do.”、“CHINA”、 “a"和”$123.45"是合法的字符串型常量,我们可用语句 printf(“How do you do.”)输出 一个字符串。但要注意的是,'a’是字符型常量,而"a"是字符串型常量,二者是不同的。注意:1. 如果先用语句 char c 定义字符型变量 c,后令 c="a"或 c=“CHINA”,那么这样的 赋值都是非法的,原因是不可以将字符串型常量赋值给字符型变量。C 语言中没有定义原创 2022-02-05 14:57:39 · 893 阅读 · 0 评论 -
嘉明的C学习之Day3--进制转换、浮点型与字符型
进制转换重点:1个二进制位为一个bit (存储0或1)1个字节(byte)为8个二进制位,即8个bit两个字节为一个字(word),即16bit1byte = 8bit1KB = 1024byte1MB =1024Kb1GB =1024Mb例如我们的操作系统32位或者64位cpu,都是按二进制位数来说的,其中32位的设备通常可以访问4GB的物理内存。那么问题来了,2的32次方不是0.5GB吗为什么是4GB呢?一开始学的时候就有上面这个疑惑,32位不是2^32 bit = 2^29 by原创 2022-01-29 16:29:31 · 1254 阅读 · 0 评论 -
嘉明的C学习之Day2--数据类型与运算符
数据类型C语言的数据类型如下:注意: 语言中有许多关键字,这里罗列它们的目的是让大家知道 C 语言中的关键字有哪些,以避免命名变量时与关键字重名。表 列出了 C 语言中的关键字。变量与常量#include<stdio.h>#define PI 3int main() { int a = 3; a = 5; printf("%d\n", PI); }这里PI是常量值为3,a是变量值为5。常量定义后不可以改变,变量则可以改变。进制转换二进制 只有0和1八进制 0-7原创 2022-01-28 10:52:04 · 717 阅读 · 0 评论 -
嘉明的C学习之Day1--了解C的编译过程
首先编写源程序 f.c。编写完毕后,通过编译器进行编译, 这里的编译包括预处理、编译、汇编。 f.c 经过编译后,得到 f.obj 文件,f.obj 文件中均是 0/1 类 型的机器码,即 CPU 能够识别的微指令(英特尔的机器指令)。 f.obj 文件并不能执行,因为我们调用的标准库函数的代码并不在 f.obj 文件中。 这时经过链接就得到可执行文件 f.exe。 了解这个编译过程后,后面在编写程序遇到编译错误时,就可以分析错误,进而区分是编译错误还是链接错误。原创 2022-01-26 15:41:59 · 524 阅读 · 0 评论