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

原创 十、函数递归

什么是递归?程序调用自身的编程技巧称为递归( recursion)。递归做为一种算法在程序设计语言中广泛应用。一个过程或函数在其定义或说明中有直接或间接调用自身的 一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。递归策略:只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的主要思考方式在于:把大事化小递归的两个必要条件 :存在限制条件,当满足这个限制条件的时候,递归便不再继续。每次递归调用之后越来越接近这个限制条件。

2024-07-05 17:02:16 393

原创 九、函数的声明和定义

include "add.h" - 头文件的包含,其实就是把头文件的内容拷贝过来。编译文件,在代码文件下Debug文件里有一个add.lib,就是静态库。2. 函数的声明一般出现在函数的使用之前。这种分文件的书写形式,在三字棋和扫雷的时候,再来分模块来写。如何将写的.c文件编译成静态库,静态库将代码变成二进制。我们只需要在主函数main的上门加上函数的声明即可。函数的定义是指函数的具体实现,交待函数的功能实现。定义的函数在主函数是能运行,但是有一个警告。3. 函数的声明一般要放在头文件中的。

2024-07-04 22:24:15 485

原创 八、函数的嵌套调用和链式访问

函数和函数之间可以根据实际的需求进行组合的,也就是互相调用的。函数不写返回值的时候,默认返回类型是int。把一个函数的返回值作为另外一个函数的参数。函数可以嵌套调用,但是不能嵌套定义。函数地位是平等的,不能函数嵌套函数。printf的返回值是字符打印的个数。

2024-07-03 15:40:59 418

原创 七、函数练习

int binary_search(int arr[],int k,int sz)//形参arr看上去是数组,本质是指针变量。数组传参实际上传递的是数组首元素的地址,而不是整个数组,所以在函数内部计算一个函数参数部分的数组的元素个数的不靠谱的。形式参数和实际参数的名字可以相同,也可以不同。a和b中一定有一个数字是<=sqrt(m)bool类型的头文件stdbool.h。也可以直接返回0 1。bool 表示真,假。

2024-07-03 11:34:41 607

原创 六、函数

如果库函数能干所有的事情,那还要程序员干什么?所有更加重要的是自定义函数。自定义函数和库函数一样,有函数名,返回值类型和函数参数。但是不一样的是这些都是我们自己来设计。这给程序员一个很大的发挥空间。我们举一个例子: 写一个函数可以找出两个整数中的最大值。//函数定义x : y);int b = 0;//函数调用return 0;再举个例子: 写一个函数可以交换两个整形变量的内容。地址完全不相同。传值不传地址用指针找到地址,建立联系//a。

2024-07-02 17:35:04 1107

原创 五、goto语句

C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。多层循环这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过程。尽量少的使用goto语句。goto语句也可以用其他代替,当前程序用循环即可。

2024-07-01 20:29:40 298

原创 四、分支和循环语句练习-2

5.编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则 提示登录成,如果三次均输入错误,则退出程序。4.编写代码,演示多个字符从两端移动,向中间汇聚。

2024-07-01 18:05:08 345

原创 三、分支和循环语句练习-1

写代码:办法(编程思维)+写代码(按照语法形式去写)用二分法,折半查找,速度更快。利用上一次的数据,来算阶乘。

2024-06-30 11:35:24 493

原创 二、循环语句-while,for,do while

scanf和getchar公用一个输入缓冲区,当输入的密码123456\进入输入缓冲区,scanf取走了123456给到了password,getchar直接取走了\n,就输出No了。while和for continue的区别,for是跳过continue后面的代码,跳到调整部分i++;scanf取走了abcd,getchar拿走了空格,下面的ret取走了直接不等于Y,直接No。continue是跳过本次循环后面的代码,直接去判断部分,进行下一次循环的判断。a一直=5,一直在循环,跳过了后面的打印和++,

2024-06-29 20:01:07 632

原创 一、if语句和switch语句

C语言是【结构化】的程序设计语言,有顺序结构,选择结构,循环结构。选择结构 if,switch。循环结构 for,while,do while。

2024-06-27 18:03:53 304

原创 十五、结构体

结构体对象访问他里面的对象用的是 .操作符。结构体是把一些单一类型组合在一起的做法。用ps.name,他会自动转化位->。左边是结构体指针变量->成员名。结构体struct。结构体对象.成员名。用指针这样比较啰嗦。

2024-06-26 19:34:53 148

原创 十四、指针

内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的。所以为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。//这里的*是:解引用操作符,意思就是通过p中存放的地址,找到p所指向的对象,*p就是p指向的对象。指针变量是用来存放地址的,一个指针变量的大小取决于一个地址存放的时候需要多大的空间。*说明p是指针变量。内存单元,有编号,编号就是地址,而地址也被称为指针。

2024-06-26 16:05:52 256

原创 十三、#define定义常量和宏

标准的:#define ADD(x,y) ((x)+(y))arr[NUM]={0};define定义宏,宏是有参数的。#define 定义符号。

2024-06-26 10:40:40 428

原创 十二、常用关键字

内置类型:char,shout,int,long,float,double,signed(有符号的),unsigned(无符号的),一个函数本来的具有外部链接属性的,但是被static修饰的时候,外部链接属性就变成了内部链接属性,其他源文件(.c)就无法使用了。分支语句: if else,switch,case,default,goto(跳转语句),类型:enum(枚举),struct(结构体),union(联合体/共用体),循环: for ,while,do while,break,continue。

2024-06-26 10:24:19 693

原创 九、函数

return x+y;或者return (x+y);也可以之间return回去。

2024-06-25 13:19:03 365

原创 十一、操作符

/( )就是函数调用操作符,Add,2,3都是( )的操作数。除号的两端都是整数的时候,执行的是整数除法,如果两端只要有应该浮点数就是执行浮点数的除法。逗号表达式的特点就是从左向右依次计算,整个表达式的结果是最后一个表达式的结果。//[ ]就是下标引用操作符,arr和3就是操作数。sizeof是操作符,所以名字的括号可以省略,类型的括号不可省。if (a=3)//a=3,if判断为真,打印hhh。==用于判断相等的,此时3不等于10,所以判断为假。整个表达式的结果是最后一个表达式的结果。

2024-06-25 13:18:21 421

原创 十、数组

下面一组数据,都是有序号的 0 1 2 3 4 5 6 7 8 9。C语言中给了数组的定义:一组相同类型元素的集合。arr[8],访问的就是第9个元素18。要存储1-10的数字,怎么存储?如何展示数组的所有值?

2024-06-24 15:44:02 223

原创 八、选择语句和循环语句

三种循环的方式:while语句-讲解;for语句(后期讲);do ... while语句(后期讲)。C语言实现选择:if else 或者 switch语句。

2024-06-24 15:01:18 297

原创 七、注释

C++风格的注释 ://xxxxxxxx 可以注释一行也可以注释多行。C语言风格的注释 :/*xxxxxx*/ 一次可以注释多行。4.面试的时候写上必要的注释,可以方便面试官读懂你的代码。3.写代码的时候写注释,是帮助自己,也是帮助别人。第一种注释方式,C语言注释风格:/* */第二种注释方式,C++注释风格://在后续代码中,要自行写注释。2.对复杂的代码进行解释。1.注释可以梳理思路。缺陷:不能嵌套注释。

2024-06-23 22:15:10 256

原创 六、字符串+转义字符

如果不知道后面字符的大小,前面[ ]可以不写数字,会根据后面字符串的内容,自动确认需要几个空间。arr2 a b c d e f 打印时,f之后没有停止,一直找到\0才能停止。字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。\t是水平制表符,打印不出来路径 ,此时使用\\。

2024-06-23 18:06:40 759

原创 五、常量概念

C语言中的常量分为以下以下几种: 1.字面常量 2.const 修饰的常变量 3.#define 定义的标识符常量4.枚举常量。在C语言中,const修饰的a,本质的变量,但是不能直接被修改,有常量的属性。枚举常量的默认是从0开始,依次向下递增1的。不用const修饰的变量,可以更改。3.#define 定义的标识符常量。const修饰的变量不能更改了。2.const 修饰的常变量。一般符号、枚举常量等要大写。

2024-06-23 14:19:48 217

原创 四、变量的作用域和生命周期

作用域:这个变量在哪里可以使用,哪里就是他的作用域。若引用其他文件的符号,需要加声明,extern。下图错误:a只作用在最内部的{ }里。下图此时a作用整个main函数。全部变量的作用域是整个工程。2.局部变量的作用域。3.全局变量的作用域。

2024-06-23 09:09:23 244

原创 三、变量和常量的概念

在VS的安装路径下有一个文件:newc++file.cpp的文件,在VS工程中创建新的.c或者.cpp文件的时候,都是拷贝new++file.app这个文件。分析错误信息:分析C4996错误,翻译:此函数或变量可能不安全,考虑使用scanf_s。如果不想使用编译器提示的scanf_s,解决办法:在代码的第一行定义_CRT SECURE_NO WARNINGS 后面加1或0或不写都可以。提示:scanf_s这个函数是VS编译器自己提供的函数,非标准C提供的函数,那就只有VS编译器认识,其他编译器不认识!

2024-06-22 22:55:30 257

原创 二、数据类型

C语言规定:sizeof(long)>=sizeof(int) 这里取的是等于。sizeof实际上是获取了数据在内存中所占用的存储空间,以字节为单位来计数。精度要求高用double 精度要求低用float。kb-一千个字节 mb gb tb pb。byte-字节 1byte=8bit。long long 更长的整形。66.6 -小数 - 浮点数。long long 8个字节。66 - 整数 - 整形。char 字符数据类型。double 8个字节。short 2个字节。float 4个字节。

2024-06-22 21:54:07 258

原创 一、第一个C语言代码

2.创建新项目,点空项目——项目名称test_6_22(test_月_日)。#include调用stdio.h这个库,关于标准输入输出的一个头文件。.c编译器会按照C的语言来编译代码 .cpp编译器会按照C++的语言来编译代码。选中代码CTRL+k+c注释,选中代码CTRL+k+u取消注释。std-标准,i-input(输入),o-output(输出)C语言规定main函数是程序的入口,main函数有且仅有一个。.cpp为后缀的为c++的代码。.c为后缀的为c的代码。

2024-06-22 18:27:09 328

空空如也

空空如也

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

TA关注的人

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