自定义博客皮肤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)
  • 收藏
  • 关注

原创 算术及移位操作符以及彻底明白计算机的数据存储方式

正数的原码,反码,补码都是相同的,但是负数的原码,反码,补码就要遵循上图的规则了。(1)当要相除的两个数均为int型的时候,那么相除之后仍然为int型,具体比如,有了上述概念之后我们就能很好的理解

2024-05-20 23:47:31 321

原创 如何实现程序的模块化执行(创建一个简易的计算器为例)

这里可能有人会疑问写起来比在一个源文件中的要复杂,但是一般在开发一个软件或者写一个比较复杂的程序的时候会有好几个人一同负责,printf("这两个数的相乘的结果是:%.2f\n", i * j);printf("这两个数的相除的结果是:%f\n", m);printf("*******1是加法******\n");printf("*******2是减法******\n");printf("*******3是乘法******\n");printf("*******4是除法******\n");

2024-05-17 20:10:51 916

原创 如何使用函数去处理字符串

/指的是将两个字符串从左到右的每一个字符比较ASCII码值,知道出现'\0'或者不相等为止。//需要保证str1的长度足够大,其真实的含义是:将str2中的字符串内容(包含‘\0’)复制到到str1中,返回的是str1的地址值。//在连接的时候arr1会自动覆盖arr2后面的‘\0’//值得注意的是,使用gets函数的时候可以输入任意的字符,需要注意的是,在输入字符串的时候,空格和回车都相当于字符串的分隔符,不能被读入。(2)整个字符串的输入,输出:可以使用 %s 来输入。函数,gets 函数的。

2024-05-15 20:58:04 608

原创 使用函数来实现冒泡排序

也是一次外循环的演示,五个数的排序。不难看出,就是 刚开始为 5 1 23 11 40,然后用5和1比较之后变为1 5,再继续1和23比较位置不变,再1和11比较位置不变,再1和40比较位置不变。原本为 3 8 7 5 9,一次循环后为 3 7 5 8 9;同理再比一次之后就是3 5 7 8 9...可以看出只需要比较两次就可以,但是按照上述代码还得继续运行,这就需要我们想办法来改进了。五个数一次比较的结果,可以看出就是每次两个相邻的数比较,比较完之后大的在后面,小的放在前面。

2024-05-09 20:56:37 605

原创 普通人也能理解的数组作为函数参数

但是当数组名称作为函数参数时,所使用的形参数组实际上是不存在的,所以也就不占有空间。这是因为数组名称作为函数参数的时候实际上就是数组首元素的地址,所以。(本质上是一样的,就是指针所指向的数组地址)具体如下。由于数组元素就是带下标的变量,与普通变量无区别,所以将其作为函数实参本质上与变量是完全相同的。如下:设计一个函数,判别一个整形数组中各元素的值,若大于0输出该值,如果小于等于0,则输出0值。(1)数组名称作为函数参数的时候,必须要求形参和对应的实参数组是相同类型的数组。作为实参的数组元素的值传送给形参。

2024-05-07 20:58:26 466

原创 一维和二维数组

(1)可以分行对数组内的所有元素进行初始化,如:int a[3][3] = { {1,2,3},{3,4,5},{4,5,6} };(2)按照上述赋初值,可以省略常量表达式,如:int a[] = { 1,2,3 };),如:int a[][3] = { {1,2,3},{3,4,5},{4,5,6} };(1)可以对数组内的所有元素进行初始化,如:int a[3] = { 1,2,3 };其中,常量表达式可以包含数据常量和符号常量,且C语言不允许对数组的大小进行动态定义。int a[n];

2024-05-02 11:24:29 430 1

原创 递归的思想来求解“兔子数列”

具体如下:可以看出仅仅第20个3就被计算了上千次,所以效率是不高的,可以自己试一试,输入n=40~50,会需要一定的时间才会出结果。也就是定义a,b,c,初始化a=1,b=1,c=a+b。然后使用循环交换a,b,c的值。两个方法的选择:应该择优而选,总的来说各有优势。比如使用迭代会简化代码的数量,但是。可以看出此代码的缺点很明显,就是进行了大量的重复计算。会加大计算,迭代计算效率会高很多。如下求斐波那契数列的第n项数。如求”hello”的长度。,具体可以加一些代码来验证。

2024-04-28 21:41:36 536

原创 函数递归和练习

所以上述代码所描述的意思就是,首先最里面的printf函数打印出43,两个字符所以返回值为2;再到n=12,调用print函数之后打印出1后执行12%10打印出2;当n=1234进入print函数之后会再一次以n=123进入一次print函数,之后又以n=12进入一次print函数,最后n=1进入一次print函数。思考:printf(“%d”,printf(“%d”,printf(“%d”,43)));练习一:输入无符号1234,依次打印1,2,3,4。1.函数是不可以嵌套定义的,但是可以嵌套调用。

2024-04-27 10:19:22 518

原创 函数调用以及声明

一般当我们写简单的代码的时候都是从上往下写,那么自定义的执行体函数也就一般写在主函数的上面,所以在执行程序的时候就可以直接调用执行体函数。在实际应用中,一个复杂的程序一般都是一个团队来完成的,如果按照上述声明效率就会很低。将函数实参的值传给形参,但实参和形参分别占有不同的内存块,对形参进行修改不会影响实参。一般都是先在主函数中确定需要执行体函数返回值的类型然后在确定执行体函数的类型和返回数值。步骤一:为自己的函数取一个响亮的名字,比如判断素数就写成 is_prime。步骤二:在函数中写上执行该功能的语句。

2024-04-24 21:40:41 463

原创 初学函数之后“变量交换函数”的一个坑

所以有了上述概念之后我们就能清楚的知道,在自定义的函数中进行变量的数值交换的时候就是将两个变量的地址交换。定义的函数就会有形参(int x,y),也会在计算机中开辟一块空间作为形参x和y的地址分别为&x和&y。主函数中定义变量的时(比如定义上述的int a,b )就会。实际参数:在主函数中的参数,可以为常量,变量,表达式甚至函数。形式参数:在自定义的函数里面的参数,在不使用该函数的时候不占内存空间。此时当我们在主函数中调用的时候就会发现无法交换函数值,如下。,并且函数没有返回值,主函数的。

2024-04-23 21:42:40 527

原创 函数的概念和自定义一个函数

输入和输出函数(printf,scanf...);字符串操作函数(strcpy...);字符操作函数(toupper...);内存操作函数(memcpy...);时间/日期函数(time...);数学函数(sqrt...)等其它函数。函数是C语言的功能单位,实现一个功能可以封装一个函数来实现。定义函数的时候一切以功能为目的,根据功能去定函数的参数和返回值。ret_tupe fun_name (paral) //从前往后分别代表。statement;strcpy函数:常用于交换两个数组中的数据。

2024-04-21 19:38:21 619

原创 while(n++)和while(++n)的区别 以及二分查找。

tip:二分查找就是在一个一直序列的数组中找出一个特定的值 k,原理就是先取出中间的与k比较,如果中间值偏大那么k就在数组的左边(反之就在右边),从而缩小范围,然后再一次取出左边的中间数与k再一次比较...如此循环几次过后就能将范围缩到很小。n++)类似,但不同的是for是在执行完循环体后才进行n++的。while(n++) , while(1)等 都是合法的表达。第一步判断n是否满足循环条件,第二步是让n进行一次自加 ,第三步执行循环体中的语句。2.while(n++)和while(++n)的区别。

2024-04-17 20:49:06 350

原创 初学者也能会的金字塔打印

4.使用for循环来打印一些特殊的图形如下代码:比如金字塔,漏斗,菱形。2. for(表达式1;表达式3)//表达式2省略代表。菱形与漏斗差异不大,此处不再赘述。表达式1一般是给变量赋值。等同于while(1)

2024-04-14 21:11:55 245

原创 循环语句while

在C语言中,一般可以通过 scanf 和 getchar 来输入数据,但 scanf 和 getchar 并不是直接从键盘获取字符的。当键盘输入字符的时候,先会存储到缓冲区,然后被 scanf 和 getchar 提取。上述代码如果没有while循环去清理缓冲区,那当用户输入一串密码并且回车后,缓冲区就会保留回车键并将其当作一个字符存储下来,然后就会被后面的getchar直接提取,从而无论用户输入什么密码只要回车就会打印出失败。2.continue语句则是跳过之后的语句再一次从开始执行while语句。

2024-04-09 20:50:50 286

原创 switch语句

(2)default语句的作用是用来提示用户输入的格式不对,如果上述代码没有default语句,那么当用户输入8或者不是1~7的数字,当运行程序时什么都不会打印,但程序仍能进行。简单的来讲,就是对于上述代码,如果没添加break语句,比如用户输入4,那么执行结果就是星期四到星期天。(1) 上述代码中出现了break语句,其作用就是在执行完之前的语句后,其后的语句将不在执行。switch语句在执行的时候如果没有break的限制是从选择开始的某条语句开始执行以下所有的语句。(case 常量表达式:语句:)

2024-04-05 20:22:01 224

原创 分支语句之 if 语句

注意:在使用if语句的时候,可以添加一个大括号将所需要执行的语句括起来,如果没有大括号,那就会默认只执行if后的一条语句。//表达式1如果为真就执行语句1,如果为假,就判断表达式2,为真执行语句2,否则执行语句3。(tip:上述代码中年纪小于26,大于16的写法与数学中的表达式有所差异,需注意)if(表达式)//表达式为真就执行下面的语句,表达式为假不执行。if(表达式) //表达式为真就执行语句1,否则就执行语句2。//注意,这个代表的是一个空语句。(2).if分支语句(选择结构)

2024-03-31 21:02:03 262

原创 初始指针和结构体

其中pa就是自定义的指针变量名,* 是指针标识符,前面的int是指指针的内型,&a是指访问变量a的在内存中的地址。在了解指针之前我们首先需要去了解计算机中内存到底是如何存储数据的。1. 32位计算机就代表该计算机有32根地址线,该地址线是一种。综上所述,指针的本质就是内存的地址,指针变量就是专门存储地址的变量。排序如下:每一个方格代表一个内存存储单元(左侧),编号(右侧)如下,我们以32位计算机为例来说明内存的存储形式。这样,我们就可以了解内存单元是如何编号的了。2. 一个内存单元的大小是一个。

2024-03-27 20:29:48 120

原创 初步认识几个常见的关键字

static的作用就是将这个全局变量限制在所处的源文件中运行,无法被其他的源文件引用。也就是static会保留局部变量a,让其在范围之外不会销毁,而是随着程序一直进行。3.函数:函数在通过static的修饰后,和上述所讲的局部变量一样。上图表述的是如何去将一个源文件中的全局变量引用在别的源文件中。寄存器>高速缓存>内存>硬盘>网盘。1.修饰局部变量,如下。2.修饰全局变量,如下。

2024-03-23 10:53:35 205

原创 初识函数及math.h中的两个函数

【代码】有参函数的定义及“math.h”里两类函数。

2024-03-18 20:38:50 224

原创 初步认识“选择语句”,“循环语句”,“函数”和“数组”

数组访问时应该是下标来访问:例如arr[0]代表第一个元素。当{}中的元素总量与[]中不一样的数组称为“利用函数来进行两个数的求和。2.while 循环语句。如下计算1到100的求和。,[10]代表数组中有。”,其余元素为默认为0。

2024-03-16 17:19:38 137

原创 四位数倒序,大小写字母的转换,以及时分秒

【代码】四位数倒序,大小写字母的转换,以及时分秒。

2024-03-15 17:11:53 151

原创 初识c语言及变量求和

小技巧:在VS中,可以使用快捷键先Ctrl+k再Ctrl+c的方式来屏蔽掉选中的已写代码。也可在菜单中找到“对所选行进行注释”如果在上图所示的xuexi.c中定义一个全局变量,那么该如何在hg.c中使用?局部变量的作用域也就是在主函数的{}之内;全局变量的作用域就是整个工程。这样就可以在hg.c中使用xuexi.c中的变量a。变量具体可分为:整型变量,实型变量和字符型变量。1.作用域:也就是变量起作用的范围。1.变量可分为局部变量和全局变量。全局变量从整个工程开始到结束。注:局部变量优先于全局变量。

2024-03-10 09:49:50 274

原创 c语言数据类型

2.区分数据的原因:是根据需要,节约内存,如果都统一起来,会浪费内存,毕竟每个变量分配的内存是不一样的,也就是字节数。1.从语言数据类型大致可分为基本类型,构造类型,指针类型,空类型四种。1.基本数据类型分为三类:整数型(定点型)、实数型(浮点型)和字符型。如何去区分数据的类型,为什么要区分数据的类型?如图,可以通过sizeof来计算所占空间的大小。而如何去计算每个类型所占空间的大小?作为初学者,首先要掌握基本类型数据。

2024-03-06 21:37:53 169

原创 我学习的第一个C语言程序

切记新建的源文件改名为xxx.c。

2024-03-03 20:29:14 173

原创 C语言开发环境的选择

作为一个初学着,什么样的C语言开发软件才更适合呢?十年前就已经停止更新,编写的代码不好看。太过老套,兼容性不太好。1.是一个集成开发环境。

2024-03-02 19:32:46 188

空空如也

空空如也

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

TA关注的人

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