自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 第20集 栈的基本概念

(1)线性表是一个抽象的数据结构;而数组是一种实现线性表的具体数据结构。(2)栈只能从一端进行输入或删除操作(如 肉只能从上面串起来或开始吃)

2024-03-30 13:43:44 150

原创 第85集 结构体下

2.传参时一般选择传地址,因为地址的大小要么4个字节要么8个字节(取决于计算机是几位),而形参是复制实参后重新申请一个独立的空间来存储的参数,因此,传地址可以是占用的空间降低,从而提升计算效率。1.函数传参时,参数是需要压栈的。

2024-03-30 13:04:30 126

原创 第83集 结构体(上)

(3)在下面的p3,p4,struct peo p5,p6是创建结构体变量(两种都为全局变量)的两种方式。(2)输出结构体里嵌套的结构体时,要指明所有的结构体(s.p.name)(1)结构体中可以再嵌套结构体,在初始化嵌套里面的结构体时要注意加。结构体是一些值的集合,这些值称为成员变量。结构的每个成员可以是。1.两种打印结构体变量的方式,取决于形参是指针还是变量。

2024-03-30 10:49:00 111

原创 写代码的一些tips

总结

2024-03-29 21:50:49 93

原创 第67集 前半部分没看 后半部分移位操作符

三码则为:00000000000000000000000000000111(符号位又数的符号算出,然后加上整数的二进制,最后其余部分补0)原码为:10000000000000000000000000000111 (符号位又数的符号算出,然后加上整数的二进制,最后其余部分补0)反码为:111111111111111111111111111111111000(原码的符号位不变,其余的0变1,1变0)1.整数的二进制表示有3种(原码,反码,补码),3码在32位计算机里就有32位,64位计算机里就是64位。

2024-03-29 20:24:17 275

原创 第9集 顺序表的定义

2.访问顺序表直接访问最后一个元素是不正确的(Maxsize);应该访问当前实际存储的最后一个元素(用length)。(2)Elemtype指的是该数组存放的数据类型(创建时用类型(int char等)替换Elemtype)5.如果后续的表存满了是不能改变表长的,因为表长一旦确定就不能修改。1.程序给顺序表分配的内存会残留一些其他的数据(“称之为脏数据”)4.length的值(顺序表的初始长度)设为0,这一步是必不可少的。2.顺序表的实现的基本语法之静态分配(表长确定后就不能更改)

2024-03-29 13:35:54 164

原创 第24集 结构体

概要:结构体的作用可以将多个数据类型组合在一起从而创建一个新的数据类型。(2)方法二 (当函数的形参是变量的指针时)(1)方法一(当函数的形参是变量本身时)访问结构体成员的两个方法。

2024-03-29 11:18:03 190

原创 题目一

c选项: 整数和一个字符进行运算时,会将字符转换为对应的整数值进行运算(因为字符在内存里的存储就是对应的ascll值)。在这种情况下, 'd' 被转换为它的 ASCII 值,然后与整数 2 进行加法运算。d选项:c语言中不能存在同名的函数,否则会出错。

2024-03-28 13:07:14 113

原创 题目二

一种常见的做法是使目标字符数组的长度至少比源字符串的长度多 1,以容纳结尾的 '\0' 字符。在这个示例中,我们定义了一个长度为 16 的目标字符数组 destination ,以确保有足够的空间来容纳源字符串 source。需要注意的是,如果目标字符数组的长度小于源字符串的长度,那么超出目标字符数组长度的部分将不会被复制,可能会导致未定义的行为或潜在的错误。例如,如果源字符串的长度为 n ,那么目标字符数组的长度可以设置为 n+1。

2024-03-28 13:04:28 232

原创 第17集 操作符

牛客题。

2024-03-28 12:52:46 307

原创 第5集 局部变量和全局变量

牛客题(1)

2024-03-28 12:30:16 77

原创 第7集 常量

解析:第一个默认常量‘’my‘’ 的值为0;第二个默认常量为‘’his‘’并不是在0的基础上加1,而是在它前面的常量的值的基础上加1(即在常量your的基础上加1),所以his的值为9+1=10。每个枚举常量都被分配了一个。,默认情况下(即没有赋值的常量),第一个枚举常量(这里指的是第一个没有赋值)的值为 0,后续的枚举常量(根据前一个常量的值的基础上)依次递增 1。(1)在 C 语言中, enum (枚举)是一种用户自定义的数据类型,用于定义一组具有特定值的常量。知识点一(enum枚举常量)

2024-03-28 12:21:07 163

原创 第五十七集 数组名

比如,如果是第一个元素的地址,那么此时arr+1就指的是下一个元素的地址;如果是第一组的元素的地址,那此时arr+1就指的是下一组元素的地址。需要注意的是,对指针进行加法运算并不意味着访问到了实际的元素值,而是得到了指向后续元素的地址。(1)此时需将二维数组看成一维数组的数组,此时的首元素不是数组中的一个元素,而是二维数组中第一行的所有元素,其二维数组的数组名表示第一行数组的地址。此外,在使用指针进行数组操作时,要确保指针的类型与数组元素的类型相匹配,并注意越界访问的问题,以避免出现未定义的行为或错误。

2024-03-26 21:08:31 198

原创 第55集 二维数组

这种写法可以打乱顺序,将赋值指定在某一行,如{1,2}是指定赋值在第一行(第一行剩余 的部分则默认为0)其中x表示数组的行数,而y则表示每一行元素的个数。1.一维数组是一行,而二维数组是多行(注意虽然多行,但每一行存储的元素数量是相同的)(2)由(1)可知二维数组元素的访问类似于一维数组,只不过需要多说明一个行数的下标。2.二维数组的创建(注意:创建二维数组时,x可以省略,但y必须说明具体值)第二个问题:由于输出的格式没有空格,这就导致输出的元素都是紧凑的。

2024-03-25 23:28:19 212

原创 第8集 线性表的定义和基本操作

线性表是具有相同数据类型n个数据元素的有限序列,其中n为表长,当n=0时线性表是一个空表,假设L命名一个线性表;则L=(a1,a2,a3...)表中的第几个表示线性表的位序 位序是从1开始 而代码中数组是从0开始。3.第15分10秒有一张图片概括了基本操作的类型(要看)操作对参数的修改结果需要“带回来”时,要传入引用"&"记忆口诀 创销,增删改查。2.线性表的基本操作。

2024-03-24 23:47:49 125

原创 第53集 函数习题课

1.在子函数里访问主函数的数组里的元素有两种方法,一种是通过之前学习的指针;还有一种则是该题所用的下标(这也是数组的特殊之处,之前学习的都是子函数访问主函数里变量是通过指针)return 0是无法返回两个数的,只能返回一个数。

2024-03-24 23:34:06 108

原创 第54集 数组 _一维数组

int sz=sizeof(arr)/sizeof(arr[0]) 解释:sizeof(arr)是整个数组的内存大小;在编译器不知道变量(数组大小)具体是多少的时候对数组初始化是没有意义的。所以,即使在支持 C99标准的编译器中,变长数组也不能初始化。是变量,所以无法在定义数组时对数组内的元素初始化。5.随着数组下标的递增,元素的地址,也是有规律的递增,因此数组在内存中是连续存放的。1.数组的大小可以是常量表达式或常量,也可以是变量或变量表达式。3.数组是使用下标访问的,下标是从0开始。

2024-03-24 21:51:55 208

原创 第49集 学习笔记

习题二if语句中 0表示假 非0表示真else 总是与最靠近它的、没有与别的 else 匹配过的 if 语句进行匹配,而不是与对齐的 if 语句进行匹配。所以,不能靠对齐的方式来判断 else 与哪个 if 进行匹配。习题三b选项是对的(case后表达式只能是整型常量表达式);char也属于整型家族,因为字符存储时,存储的是ASCII码值switch语句中的case和default语句对于顺序没有要求 但为了容易理解 还是按顺序写最好习题四自己作答:与case 1匹配,执行b=30。

2024-03-24 15:27:52 119

原创 解答问题之交换两个变量的值 描述:输入a=x b=y后 输出为a=y b=x

就比如一瓶可乐(瓶子一)和一瓶雪碧(瓶子二) 要相互交换瓶子 得先将其中一瓶饮料倒入别的空瓶子(瓶子三)中,比如先将瓶子一倒入瓶子三中,将瓶子二倒入瓶子一后,再将瓶子三倒入瓶子二,才完成操作。那可以通过指针来建立联系,即将a和b的内存地址传递到子函数中,子函数中就可以通过*解引用符,就可以引用到外部变量a和b与其建立联系,从而修改实参(a和b)主函数里的值为实参 子函数里的值为形参,当实参传递到子函数时,形参为实参的一份临时拷贝,各自具有独立的空间,所以修改形参不会影响实参。

2024-03-19 00:30:39 347

原创 一个笔试题(p33 结尾)

解释:k==0是判断 而此判断为真 因此循环执行,但后面执行调整语句后使k==2,判断为假,故不执行,因此总计1次。解释:k=0是赋值而不是判断,因为k被赋值为0,而0为假,因此循环不执行。反一 : 如果k=0改成k==0则循环几次。

2024-03-17 00:20:29 294

原创 第 20集 例题 解释下列代码

【代码】第 20集 例题 解释下列代码。

2024-03-11 23:39:47 468

原创 题目四 字符矩阵

问题二 增加打印数据的次数 不仅要修改打印数据类型的次数,还要修改变量次数。问题一 %s是打印字符串的,打印字符是用%c。一行读入一个 char 类型的字符。输出这个字符组成的 3*3 矩形。

2024-03-09 19:28:57 393

原创 题目三 输出整数

由于数组的空间大小没有输入 因此程序根据数组里的数据自动向内存申请空间大小,而上面代码只申请了一个字符的空间 而注释2代码要插入3个字符 ,故程序会报错。在创立数组时输入三个字符 此时程序自动申请了三个字符的空间 后续插入也不会报错,但此为下策,因为自动申请的空间 可能会导致出现内存溢出的问题 导致程序报错。scanf插入数据时 每一个数据都要表面插入地址 不能直接囊括整个数组。规定具体的数据空间大小(最好),这样插入3个字符 就有足够的空间。一行输入 3 个整数,用空格隔开。请输出第二个整数的值。

2024-03-09 17:28:33 385

原创 题目二 字符

内存溢出:内存溢出是指程序在运行过程中,分配给程序的内存超出了计算机系统的可用内存,导致程序无法继续运行,出现崩溃或异常。建立数组是应该输入向内存申请空间的大小 不输入就会自动根据数据申请 从而可能导致内存溢出使程序出错。vs中 scanf输入函数不要输入换行转义字符\n,不然程序输出要输入两次数据。格式说明符只能输出一个字符,因此在循环中需要使用多个。''引号里至少含有一个字符 正确:' '%c是用来打印字符 为什么以下代码不行?输入一个字符,范围在ascii范围内。

2024-03-09 14:06:41 488

原创 题目一 浮点数

输入描述:输入一个浮点数。

2024-03-09 11:44:36 341

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除