自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 自定义类型

enum Color //枚举类型 {//枚举常量 RED , GREEN , BLUE };枚举常量默认从0开始,一次递增1,在定义的时候也可以赋初值。enum Color//颜色RED=1,GREEN=2,BLUE=4int main()return 0;枚举变量的赋值的可能取值来自于枚举常量(不能是其所对应的枚举常量默认值,原因在于存在类型差异)//联合类型的声明union Unchar c;int i;

2023-11-20 15:04:50 57

原创 内存操作函数

设置arr数组的前20个字节,每个字节设置成1。内存拷贝函数(可以处理内存重叠的情况)内存拷贝函数(内存空间不能重叠)以字节为单位设置内存。

2023-11-16 17:44:51 55

原创 字符操作函数

大写字母转换小写字母。小写字母转换大写字母。

2023-11-16 16:36:11 58

原创 字符串库函数

4.strtok函数的第一个参数不为NULL,函数将找到str中的第一个标记,strtok函数将保存它在字符串中的位置。2.第一个函数指定一个字符串,它包含了0个或者多个由 sep 字符串中一个或者多个分隔符分割的标记。5.strtok函数的第一个参数为NULL,函数将在同一个字符串中被保存的位置开始,查找下一个标记。2.查找空字符串:需查找的子串是空字符串,返回str1的地址。1.第一个字符串大于第二个字符串,则返回大于0的数字。3.第一个字符串小于第二个字符串,则返回小于0的数字。

2023-11-16 15:58:25 66

原创 C语言:指针进阶练习

注意二维数组a中存放的是括号表达式(a,b),所以a存放的数据应该是 :a[0]等价于*(a+0);p[0]等价于*(p+0)p储存二维数组第0行首元素的地址(对二维数组某一行的地址解引用得到该行首元素的地址)

2023-10-24 13:46:03 33

原创 C语言练习

i与arr作为局部变量,存放在栈上,栈的使用遵循先使用高地址再使用低地址,i存放高地址栈空间,arr数组位于低地址栈空间。arr数组随下标增长,地址由低到高变化,所以数组下标在增长的过程中有可能越界访问到高地址空间i,形成死循环。2,一个人住在30楼,只有在下雨天或者电梯有人的时候才会坐电梯到30楼回家,其他时间到15楼,爬楼梯回家,为什么?1,存在一根香,材质不均匀,燃烧完一支需要1小时,现在有两支这样的香,请确认一个15分钟的时间段。A选手说:B第二,我第三;C选手说:我第一,D第二;

2023-09-18 18:52:15 46

原创 算术转换练习

求Sn = a +aa + aaa + aaaa + aaaaa的前n项之和(不考虑溢出),其中a是一个数字。“水仙花数”指一个n位数,其各位数字的n次方之和等于该数本身。求出0~100000之间的所有“水仙花数”并输出。

2023-09-16 19:54:36 31

原创 C语言:指针进阶

/&arr - 取出整个数组的地址。//arr - 取出元素的地址 - arr[0]的地址。1:sizeof(数组名)- 数组名表示整个数组,计算这个数组的大小,单位是字节。arr与&arr指向位置皆为数组首元素地址,但是他们的类型是不一样的!2:&数组名 - 数组名表示整个数组,取出的是整个数组的地址。parr就是一个数组指针,存放了arr整型数组的地址。//二级字符指针的数组。double也是一个数组指针,存放了d指针数组的地址。//一级字符指针的数组。数组名是数组首元素的地址。

2023-09-16 12:02:00 67

原创 C语言:浮点数在内存中的储存

结论:浮点数和整型在内存中存储的方式一定是有区别的!

2023-09-13 14:51:35 37

原创 C语言:整型在内存中的储存

1.使用这个类型开辟内存空间的大小(大小决定了使用范围)2.如何看待内存空间的视角。

2023-09-12 10:53:35 36

原创 C语言题目

将一句话的单词进行倒置,标点不导致。如I like beijing. 经过函数后变为:beijing. like I。设计一个算法,求输入a和b的最小公倍数。

2023-09-09 10:22:52 24

原创 操作符优先级

(复合赋值)+= -= *= /= &= ^= |=(比较操作符)==!= > < >= <=sizeof 强制类型转化 (四则运算)+ - * / %(位操作符)& | ^++(后置) --(后置)(前置)++ (前置)--(逻辑操作符)&& ||(三目条件操作符):?

2023-09-08 15:35:01 37

原创 操作符练习

【代码】操作符练习。

2023-08-23 12:16:35 34

原创 【C语言】结构体初阶

已经创建好了结构体类型struct man,那如何定义与初始化变量?

2023-07-11 10:52:43 30

原创 【C语言学习】指针初阶

对于32位机器,假设有32根地址线,那么通电后每根地址线会产生一个电信号正电 / 负电,电信号转化为数字信号后,即32个1 / 0组成的2进制序列。所以在一个平台上,任何变量的地址都可以存放在不同类型的指针中。标准规定:允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针比较,但是不允许与指向第一个元素之前的那个内存位置的指针进行比较。指针变量也是变量,是变量就有地址,那指针变量的地址存放在哪里?概念:野指针就是指针指向的位置是不可知的(随机的,不正确的,没有明确限制的)

2023-05-01 13:31:50 55

原创 【C语言学习】表达式求值——隐式类型转换

C的整型算术运算总是至少以缺省整型类型的精度来进行的。为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为。整型提升的意义:表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器(ALU)的操作数的字节长度一般就是int的字节长度,同时也是CPU的通用寄存器的长度。因此,即使两个char类型的相加,在CPU执行时实际上也要先转换为CPU内整型操作数的标准长度。

2023-04-24 13:57:41 76

原创 【C语言学习】操作符

2,对于 || 操作符,若操作数都为0,则结果为0;若操作数任意为1,则结果为1,且从第一个为1的操作数(此操作数进行计算)开始,后面的操作数将不再进行计算。1,对于&&操作符,若操作数都不为0,则结果为1;若操作数任意为0,则结果为0,且从第一个为0的操作数(此操作数进行计算)开始,后面的操作数将不再进行计算。缺点:整型变量具有上限,a,b合法,但是a+b可能超出整型变量最大值(溢出),部分二进制位抛弃,无法得出理想值。2,对于%操作符,两个操作数必须为整型,返回的是整除之后的余数。

2023-04-23 16:32:04 65

原创 【C语言学习】数组作为函数参数(冒泡排序)

由上图看出,&arr,&arr[0],arr三者取出的地址是一样的,但是&arr[0],arr取出的是数组首元素的地址,所以+1后跳0x4个字节。而&arr取出的是整个数组的地址,所以+1后跳0x28(40)个字节。2,&数组名——数组名表示整个数组——取出整个数组的地址。两个例外:1,sizeof(数组名)——数组名表示整个数组——计算整个数组的大小(字节)一趟冒泡排序只能确定一个数字的位置,若进行n个数字的排序,则需要n-1趟冒泡排序。第1趟冒泡排序:10个数字待排序,进行了9对比较。

2023-04-16 12:27:13 442 1

原创 【C语言学习】二维数组

二维数组arr[3][4]可以看作由arr[0],arr[1],arr[2]3个一维数组所组成的,每个一维数组包含4个元素。打印二维数组int arr[3][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };等价于:int arr[][4] = { {1.2},{3,4},{5,6}};//整型数组3行4列。

2023-04-15 14:13:22 232

原创 【C语言学习】一维数组

向后打印ch1时,从首元素'a'开始打印(数组名相当于首元素地址),当打印完'c'后,未遇到字符串结束标志'\0' ,继续向后打印,直到在内存中找到'\0' ,停止打印,而"烫烫烫烫烫烫烫烫烫烫烫烫烫烫蘟bc"就是该过程中打印出的随机值。//数组存放 {'a','b','c'},剩余空间以/0即0(\0的ASCII值)填充。字符串ch2默认添加'\0'。向后打印ch2时,从首元素'a'开始打印,当打印完'c'后,遇到字符串结束标志'\0' ,停止打印。//数组存放 {'a','b','c'}

2023-04-14 17:02:45 189

原创 【C语言学习】递归的题目

题目内容:编写一个函数reverse_string(char*string)(递归实现)写一个递归函数DigitSum(n),输入一个非负整数,返回组成它的数字之和。实现:将参数字符串中的字符反向排列,不是逆序打印。要求:不能使用C函数库中的字符串操作函数。编写一个函数实现n的k次方,使用递归实现。2,计算一个数的每一位之和(递归实现)1,字符串逆序(递归实现)3,递归实现n的k次方。

2023-04-13 16:54:25 68

原创 【C语言学习】递归之汉诺塔问题

2.若有n个碟子(n>1),把n-1只碟子按大小递减的次序从叉杆经Z杆移动到Y杆;然后再将n-1只碟子按大小递减的次序从Y杆经X杆移到Z杆。移动n一1只碟子和移动n只碟子的过程是相似的。3. 把所有碟子从X杆经Y杆全部移到Z杆上。1.若只有一只碟子,直接将它从X杆移到Z杆。2.每次移动一块碟子,小的只能叠在大的上面。将X杆上的n-1个盘子经过Z杆移到Y杆。将Y杆上的n-1个盘子经过X杄移到Z杆。将X杆上第n只碟子移到Z杆;只剩下一个碟子,直接移动到z杆。将第n个盘子从X杆移到Z杆。

2023-04-05 15:08:05 101

原创 【C语言学习】函数递归与栈溢出与迭代

内存使用时主要划分为栈区(局部变量,函数形参),堆区(动态内存分布,如malloc,free,calloc,realloc等),静态区(全局变量,静态变量)三块空间使用。一个过程或函数数在其定义或说明中有直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。1,不能死递归,设置跳出条件,当满足这个跳出条件的时候,递归便不再继续。迭代练习1:求n的阶乘(不考虑溢出)

2023-04-03 17:53:47 302

原创 【C语言学习】函数的声明和定义

解决方案一中sub项目使用分装创建了一个函数,若不想泄漏源文件,则可以通过修改sub项目的配置类型使之成为静态库 (包含头文件与源文件,内容为乱码,但可以通过项目中引入相应头文件,从而调用静态库中对应源文件所创造的函数功能),将sub静态库和相应头文件导入解决方案二文件夹中,项目中引入该头文件,即可实现函数功能。函数的声明与定义常常分装于不同的文件中,函数的声明放于头文件(.h)中,函数的定义放于对应的源文件(.c)中,调用函数时引用头文件(#include "文件名.h" )。

2023-04-03 12:30:36 418

原创 【C语言学习】函数的嵌套调用和链式访问

注意函数不可以嵌套定义,但是函数可以嵌套调用。将一个函数的返回值作为另一个函数的参数。函数和函数之间可以有机的结合的。

2023-04-02 16:38:33 84

原创 【C语言学习】自定义函数:一些简单的题目

4,写一个函数,每调用一次这个函数,就会将num的值增加1。2,写一个函数判断1000~2000之间的闰年。3,写一个函数,实现一个整型有序数组的二分查找。1,打印100~200之间的素数。

2023-03-31 16:25:29 101

原创 【C语言学习】自定义函数传值调用与传址调用

函数(子程序),由于库函数有限,所以需要大量自定义函数。自定义函数组成:ret_type fun_name(para) { statement;//语句项,整个大括号包括内容为函数体。 } //ret_type 返回类型 //fun_name 函数名 //para 函数参数(形式参数)例子1,写一个函数可以找出两个整数中的最大值。#include <stdio.h>int get_max(int x, int y)//形式参数(形参)x,y,只有函数被调

2023-03-30 16:31:20 171

原创 【C语言练习】关机程序与goto语句

goto语句可以滥用但容易导致代码混乱,理论上可以取缔(本次使用while循环代替goto语句)。goto语句通常用于终止程序在某些深度嵌套的结构的处理过程,例如一次跳出两层或多层循环。

2023-03-29 13:30:20 75 1

原创 【C语言】简单的一些题目

4,打印1000到2000年之间的闰年。1,写代码将三个整数按从大到小输出。3,输入两个数,求两个数的最大公约数。2,打印1~100间所有三的倍数。5,打印100~200之间的素数。

2023-03-28 17:49:28 93 1

原创 【无标题】【C语言练习】猜数字游戏

【代码】【无标题】【C语言练习】猜数字游戏。

2023-03-27 17:50:28 51 2

空空如也

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

TA关注的人

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