首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

哥带你玩转C语言 | 08 - C语言函数

函数基本概念 C源程序是由函数组成的 例如: 我们前面学习的课程当中,通过main函数+scanf函数+printf函数+逻辑代码就可以组成一个C语言程序 C语言不仅提供了极为丰富的库函数, 还允许用户建立自己定义的函数...用户可把自己的算法编写成一个个相对独立的函数,然后再需要的时候调用它 例如:你用C语言编写了一个MP3播放器程序,那么它的程序结构如下图所示 可以说C程序的全部工作都是由各式各样的函数完成的,所以也把...C语言称为函数式语言 ---- 函数的分类 在C语言中可从不同的角度对函数分类 从函数定义的角度看,函数可分为库函数和用户定义函数两种 库函数: 由C语言系统提供,用户无须定义,也不必在程序中作类型说明...number1 : number2; printf("执行不到"); // 执行不到 return 250; // 执行不到 } ---- 函数的声明 在C语言中,函数的定义顺序是有讲究的

40600

哥带你玩转C语言 | 10- C语言数组

数组的基本概念 数组,从字面上看,就是一组数据的意思,没错,数组就是用来存储一组数据的 在C语言中,数组属于构造数据类型 数组的几个名词 数组:一组相同数据类型数据的有序的集合 数组元素: 构成数组的每一个数据...\n", ages5[0]); 错误写法 // 没有指定元素个数,错误 int a[]; // []中不能放变量 int number = 10; int ages[number]; // 老版本的C语言规范不支持...change(ages[0]); printf("ages[0] = %d", ages[0]);// 1 } 用数组元素作函数参数不要求形参也必须是数组元素 ---- 数组名作为函数参数 在C语言中...找出数组元素的最大值 从键盘输入3个0-9的数字,然后输出0~9中哪些数字没有出现过 要求从键盘输入6个0~9的数字,排序后输出 如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是哥持续更新的动力

54900
您找到你想要的搜索结果了吗?
是的
没有找到

哥带你玩转C语言 | 07 - C语言流程控制

但是这并不能满足我们所有的开发需求, 为了方便我们控制程序的运行流程,C语言提供3种流程控制结构,不同的流程控制结构可以实现不同的运行流程。...循环结构 顺序结构: 按书写顺序从上至下依次执行 选择结构 对给定的条件进行判断,再根据判断结果来决定执行代码 循环结构 在给定条件成立的情况下,反复执行某一段代码 ---- 选择结构 C语言中提供了两大选择结构...int number = 10; }else int value = 20; // 系统会报错 printf("value = %i\n", value); } C语言中分号...70~79 D 60~69 E 0~59 实现+ - * / 简单计算器 ---- 循环结构 C语言中提供了三大循环结构, 分别是while、dowhile和for 循环结构是程序中一种很重要的结构。... int main(){ while (1) // 死循环 int num = 10; // 报错 // 没有能够让循环结束的语句 } C语言中分号

1.5K00

哥带你玩转C语言 | 06-C语言运算符

运算符基本概念 和数学中的运算符一样, C语言中的运算符是告诉程序执行特定算术或逻辑操作的符号 例如告诉程序, 某两个数相加, 相减,相乘等 什么是表达式 表达式就是利用运算符链接在一起的有意义...1 : 0; ---- 运算符的优先级和结合性 早在小学的数学课本中,我们就学习过"从左往右,先乘除后加减,有括号的先算括号里面的", 这句话就蕴含了优先级和结合性的问题 C语言中,运算符的运算优先级共分为...1 级最高,15 级最低 在C语言表达式中,不同优先级的运算符, 运算次序按照由高到低执行 在C语言表达式中,相同优先级的运算符, 运算次序按照结合性规定的方向执行 ---- 算数运算符 优先级 名称...但很多时候,我们想在某个条件成立的情况下才执行某一段代码 这种情况的话可以使用条件语句来完成,但是学习条件语句之前,我们先来看一些更基础的知识:如何判断一个条件是否成立 ---- C语言中的真假性 在C...C语言规定,任何数值都有真假性,任何非0值都为“真”,只有0才为“假”。

47000

哥带你玩转C语言 | 04-C语言常量和变量

作为程序员, 我们最关心的是内存中的动态数据,因为我们写的程序就是在内存中运行的 程序在运行过程中会产生各种各样的临时数据,为了方便数据的运算和操作, C语言对这些数据进行了分类, 提供了丰富的数据类型...C语言中有4大类数据类型:基本类型、构造类型、指针类型、空类型 ---- 什么是常量?...常量,则表示一些固定的数据,也就是不能改变的数据 就好比现实生活中生男生女一样, 生下来是男孩永远都是男孩, 生下来是女孩就永远都是女孩, 所以性别就是现实生活中常量的一种体现 不要和哥吹牛X说你是泰国来的...C语言中的***赋值运算符***,作用是将右边的整型常量998赋值给左边的整型变量value 赋值的时候,= 号的左侧必须是变量 (10=b,错误) 为了方便阅读代码, 习惯在 = 的两侧 各加上一个...char blood = 'A'; printf("height=%.2f, 血型是%c", height, blood); ---- 变量的作用域 C语言中所有变量都有自己的作用域 变量定义的位置不同

52500

哥带你玩转C语言 | 09 - C语言进制和位运算

位运算就是直接对整数在内存中的二进制位进行操作 C语言提供了6个位操作运算符, 这些运算符只能用于整型操作数 符号 名称 运算结果 & 按位与 同1为1 | 按位或 有1为1 ^ 按位异或 不同为1 ~...00000000 00000000 00001010 高字节← →低字节 ---- char类型内存存储细节 char类型基本概念 char是C语言中比较灵活的一种数据类型...,称为“字符型” char类型变量占1个字节存储空间,共8位 除单个字符以外, C语言的的转义字符也可以利用char类型存储 字符 意义 \b 退格(BS)当前位置向后回退一个字符 \r 回车(CR),...'; // 存储的是ASCII码 64 char ch2 = 6; // 存储的是数字 6 练习 定义一个函数, 实现输入一个小写字母,要求转换成大写输出 ---- 类型说明符 类型说明符基本概念 C语言提供了说明长度和说明符号位的两种类型说明符...long 长整型 (说明长度) signed 有符号型 (说明符号位) unsigned 无符号型 (说明符号位) 这些说明符一般都是用来修饰int类型的,所以在使用时可以省略int 这些说明符都属于C语言关键字

1.3K00

哥带你玩转C语言 | 17-文件操作

文件基本概念 文件流: C 语言把文件看作是一个字符的序列,即文件是由一个一个字符组成的字符流,因此 c 语言将文件也称之为文件流。..., "encode.c", 666); decode("encode.c", "decode.c", 666); return 0; } /** * @brief encode 加密文件...12345678910 12345 123 ---- 一次读写一块数据 C 语言己经从接口的层面区分了,文本的读写方式和二进制的读写方式。前面我们讲的是文本的读写方式。...printf("%c\n", buf[1]); printf("%c\n", buf[2]); printf("%c\n", buf[3]); } */...SEEK_SET ); fputs("lnj", fp); fclose(fp); return 0; } 如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是哥持续更新的动力

97400

哥带你玩转C语言 | 03-C语言关键字和标识符

*/ // 帅哥 多行注释可以嵌套单行注释 /* // 作者:LNJ // 描述:第一个C语言程序作用:这是一个主函数,C程序的入口点 */ 多行注释***不能***嵌套多行注释 /* 哈哈哈...是指一些被C语言赋予了特殊含义的单词 关键字特征: 全部都是小写 在开发工具中会显示特殊颜色 关键字注意点: 因为关键字在C语言中有特殊的含义, 所以不能用作变量名、函数名等 C语言中一共有32个关键字...从字面上理解,就是用来标识某些东西的符号,标识的目的就是为了将这些东西区分开来 其实标识符的作用就跟人类的名字差不多,为了区分每个人,就在每个人出生的时候起了个名字 C语言是由函数构成的,一个C程序中可能会有多个函数...这个名称就是标识符 综上所述: 程序员在程序中给函数、变量等起名字就是标识符 标识符命名规则 只能由字母(a~z、 A~Z)、数字、下划线组成 不能包含除下划线以外的其它特殊字符串 不能以数字开头 不能是C语言中的关键字...Test是两个不同的标识符 练习 下列哪些是合法的标识符 fromNo22 from#22 my_Boolean my-Boolean 2ndObj GUI lnj Mike2jack

58100

哥带你玩转C语言 02- 创建第一个C语言程序

原因是当年C语言的作者Dennis Ritchie(丹尼斯 里奇)在他的名著中第一次引入, 传为后世经典, 其它语言亦争相效仿, 以示敬意 [8e87f83d4d2501a1c1248c61a786ccc5....png] --- C语言程序组成 手机有很多功能, "开机","关机","打电话","发短信","拍照"等等 手机中的每一个功能就相当于C语言程序中的一个程序段(函数) 众多功能中总有一个会被先执行,...不可能多个功能一起执行 想使用手机必须先执行手机的开机功能 所以C语言程序也一样,由众多功能、众多程序段组成, 众多C语言程序段中总有一个会被先执行, 这个先执行的程序段我们称之为"主函数" [84a123dc560fb8f98ab74cc86816997d.png...一个C语言程序只能有一个main函数 一个C语言程序不能没有main函数 main函数前面的int可以不写或者换成void main函数中的return 0可以不写 多种写法不报错的原因 C语言最早的时候只是一种规范和标准...██████▒▒▒▒▒▒███´´´´ 版本控制:git-github ´´▓▓▓▓▓▓▓▓▓▓▓▓▓▒´´ 代码风格:

69220

哥带你玩转C语言 | 14 - 结构体-枚举-共用体

显然这组数据不能用数组来存放, 为了解决这个问题,C语言中给出了另一种构造数据类型——“结构(structure)”或叫“结构体”。...---- 定义结构体类型 在使用结构体之前必须先定义结构体类型, 因为C语言不知道你的结构体中需要存储哪些类型数据, 我们必须通过定义结构体类型来告诉C语言, 我们的结构体中需要存储哪些类型的数据 格式...C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值, 被说明为该“枚举”类型的变量取值不能超过定义的范围。...Autumn, Winter } s; s = Spring; // 等价于 s = 0; s = 3; // 等价于 s = winter; printf("%d", s); 枚举使用的注意 C语言编译器会将枚举元素...}; // 也就是说spring的值为9,summer的值为10,autumn的值为11,winter的值为12 ---- 如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是哥持续更新的动力

71600

哥带你玩转C语言 | 13- 一级指针和多级指针

---- 什么是指针变量 在C语言中,允许用一个变量来存放其它变量的地址, 这种专门用于存储其它变量地址的变量, 我们称之为指针变量 示例: int age;// 定义一个普通变量...修改指针指向 指针没有初始化里面是一个垃圾值,这时候我们这是一个野指针 野指针可能会导致程序崩溃 野指针访问你不该访问数据 所以指针必须初始化才可以访问其所指向存储区域 ---- 访问指针所指向的存储空间 C语言中提供了地址运算符...其一般形式为: &变量名; C语言中提供了*来定义指针变量和访问指针变量指向的内存存储空间 在定义变量的时候 * 是一个类型说明符,说明定义的这个变量是一个指针变量 int *p=NULL; // 定义指针变量...也称为“二级指针” char c = 'a'; char *cp; cp = &c; char **cp2; cp2 = &cp; printf("c =...比如p++)是无意义的 函数调用中"(指针变量名)"的两边的括号不可少,其中的不应该理解为求值运算,在此处它 只是一种表示符号 如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是哥持续更新的动力

47300

哥带你玩转C语言 | 15- 修饰符和预处理指令

习惯上我们尽可能将预处理指令写在源程序开头,这种情况下,它的作用范围就是整个源程序文件 C语言提供了多种预处理功能,如宏定义、文件包含、条件编译等。...在C语言中,“宏”分为有参数和无参数两种。 ##不带参数的宏定义 格式:#define 标识符 字符串 其中的“#”表示这是一条预处理命令。凡是以“#”开头的均为预处理命令。...; return 0; } ---- 带参数的宏定义 C语言允许宏带有参数。在宏定义中的参数称为形式参数,在宏调用中的参数称为实际参数。...printf("优秀\n"); #elif SCORE > 60 printf("良好\n"); #else printf("不及格\n"); #endif ---- typedef关键字 C语言不仅供了丰富的数据类型...如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是哥持续更新的动力。

97000

哥带你玩转C语言| 12 -二维数组和字符串

{'d', 'e', 'f'} }; printf("%c", cs[0][0]);// 第一个[0]取出一维数组, 第二个[0]取出一维数组中对应的元素 char cs[2][...则无法移动 2)如果小人将要移动的位置是路,则可以移动 5.判断是否走出迷宫 ---- 字符串的基本概念 字符串是位于双引号中的字符序列 在内存中以“\0”结束,所占字节比实际多一个 字符串的初始化 在C语言中没有专门的字符串变量...0ool"; printf("name = %s\n",name); 输出结果: c ---- 字符串输出 如果字符数组中存储的是一个字符串, 那么字符数组的输入输出将变得简单方便。...ch最多存放由9个字符构成的字符串,其中最后一个字符的位置要留给字符串的结尾标示‘\0’ 当用scanf函数输入字符串时,字符串中不能含有空格,否则将以空格作为串的结束符 ---- 字符串常用方法 C语言中供了丰富的字符串处理函数...= { {"lnj"}, {"lyh"} }; char names3[2][10] = { "lnj", "lyh" }; 如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是哥持续更新的动力

1.2K00

认真理一C++的构造函数

前言 我们在C语言中使用堆栈中的变量时,常常需要给它赋初始值,用于避免使用到了不可预知的值。...同样的,在C++中也需要有这样的动作,只是由于C++的对象可能比基本数据要复杂得多,因此使用了一系列的函数来完成这件事。这些函数就是构造函数。那么构造函数到底是怎样,又该如何使用呢?...因此在C++也常常需要构造函数来控制对象的初始化。 关于初始化也可以参考《被遗忘的初始化》。 构造函数有什么特点 C++中的构造函数有哪些需要注意的呢?...在《C++类初识》中已有所介绍,这里再稍微展开一下。...:公众号【编程珠玑】 博客:https://www.yanbinghu.com 本文地址:https://www.yanbinghu.com/2019/08/11/25996.html 委托构造函数 C+

52720

C++】C 语言C++ 语言的关系 ( C 语言发展 | C 语言缺陷 | C 语言 + 面向对象 + 高级语言特性 | C++ 语言增加内容 | C 语言C++ 语言应用场景 )

一、C 语言发展 C 语言 被开发之前 并 没有经过 缜密 的 设计 , 而是在 使用过程中 逐渐完善的 ; C 语言发展经过如下阶段 : 初始阶段 : 1972年至1978年 , C语言 初步形成 ,...C99 , C11 , C17 等标准 , 以满足新的编程需求 ; 二、C 语言缺陷 C 语言有如下缺陷 : C 语言 没有经历过 缜密的 设计过程 , 都是根据需求逐渐完善的 , 出现了很多缺陷和漏洞...2、C 语言C++ 语言关系 C 语言C++ 语言 并 不是 竞争关系 ; C++ 语言 是 以 C 语言为基础 的 加强版本编程语言 , 可以看作是更好的 C 语言 , 在 C++ 语言...中 , 可以使用 C 语言语法 , 对 C 语言完全兼容 ; C++ 语言 包含 C 语言 , 在 C++ 代码中可以使用 C 语言的语法 , 但是在 C 语言中不能使用 C++ 的语法 ; 3、C++...语言应用场景 C 语言C++ 语言的应用场景 : C语言 应用场景 : 系统软件、操作系统、编译器等 底层系统级应用 ; C++ 语言 应用场景 : 大型应用程序、游戏 等更 高级的应用 ; 在不同的

22220
领券