展开

关键词

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

函数基本概念C源程序是由函数组成的例如: 我们前面学习的课程当中,通过main函数+scanf函数+printf函数+逻辑代码就可以组成一个C程序C不仅提供了极为丰富的库函数, 还允许用户建立自己定义的函数 用户可把自己的算法编写成一个个相对独立的函数,然后再需要的时候调用它例如:你用C编写了一个MP3播放器程序,那么它的程序结构如下图所示可以说C程序的全部工作都是由各式各样的函数完成的,所以也把C称为函数式 ----函数的分类在C中可从不同的角度对函数分类从函数定义的角度看,函数可分为库函数和用户定义函数两种库函数: 由C系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用 (必须指定返回值类型和使用return关键字返回对应数据)无返回值函数: 此类函数用于完成某项特定的处任务,执行完成后不向调用者返回函数值。 number1 : number2; printf(执行不到); 执行不到 return 250; 执行不到 }----函数的声明在C中,函数的定义顺序是有讲究的:默认情况下,只有后面定义的函数才可以调用前面定义过的函数如果想把函数的定义写在

8700

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

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

10500
  • 广告
    关闭

    腾讯云前端性能优化大赛

    首屏耗时优化比拼,赢千元大奖

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

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

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

    7200

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

    但是这并不能满足我们所有的开发需求, 为了方便我们控制程序的运行流程,C提供3种流程控制结构,不同的流程控制结构可以实现不同的运行流程。 种流程结构分别是顺序结构、选择结构、循环结构顺序结构: 按书写顺序从上至下依次执行选择结构 对给定的条件进行判断,再根据判断结果来决定执行代码循环结构 在给定条件成立的情况下,反复执行某一段代码----选择结构C中提供了两大选择结构 include int main(){ if(0){ int number = 10; }else int value = 20; 系统会报错 printf(value = %in, value);}C中分号 }如果while省略了大括号, 那么后面不能定义变量#include int main(){ while (1) 死循环 int num = 10; 报错 没有能够让循环结束的句}C中分号( count = 0;for (; count < 10; count++) { printf(发射子弹~哔哔哔哔n, count);}printf(count = %in, count);----四大跳转C中提供了四大跳转

    9300

    哥带你玩转C | 11- C排序算法

    它的工作原是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 nums = nums; nums = temp; }else{ break; } j--; } } 每个小数组排序完成, 重新计算步长 gap = gap 2; }while(gap >= 1);}哥提示 :对于初学者而, 排序算法一次不易于学习太多, 咋们先来5个玩一玩, 后续继续讲解其它5个----折半查找基本思路在有序表中,取中间元素作为比较对象,若给定值与中间元素的要查找的数相等,则查找成功;若给定值小于中间元素的要查找的数 int index = num & base; rs = cs; num = num >> offset; } for (int i = pos; i < length; i++) { printf(%c, rs); } printf(n);}int main(){ toBinary(9); return 0;}如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是哥持续更新的动力。

    7400

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

    , 我们最关心的是内存中的动态数据,因为我们写的程序就是在内存中运行的程序在运行过程中会产生各种各样的临时数据,为了方便数据的运算和操作, C对这些数据进行了分类, 提供了丰富的数据类型C中有4 指数形式以幂的形式表示, 以字母e或字母E后跟一个10为底的幂数上过初中的都应该知道科学计数法吧,指数形式的常量就是科学计数法的另一种表 示,比如123000,用科学计数法表示为1.23×10的5次方用C表示就是 可以利用=号往变量里面存储数据在C中,利用=号往变量里面存储数据, 我们称之为给变量赋值int value;value = 998; 赋值注意:这里的=号,并不是数学中的“相等”,而是C中的* = A;printf(height=%.2f, 血型是%c, height, blood);----变量的作用域C中所有变量都有自己的作用域变量定义的位置不同,其作用域也不同按照作用域的范围可分为两种 666; printf(&number = %pn, &number); 0060FEAC printf(&value = %pn, &value); 0060FEA8 }先不要着急, 刚开始接触C

    7400

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

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

    11200

    哥带你玩转C 01 - C开发环境配置

    工欲善其事必先利其器 编写C程序用什么工具 ? 不要纠结里面的东西都是什么含义, 初学者安装成功就是一种成功*** ***下载Qt Creator离线安装包:*** http:download.qt.ioarchiveqt5.115.11.0 ***以管身份运行离线安装包 *** ***下一步,下一步,下一步,等待ing...*** ***注意安装路径中最好不要出现中文*** ***对于初学者而全选是最简单的方式(重点!!!)

    8900

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

    注释是在所有计算机中都非常重要的一个概念,从字面上看,就是注解、解释的意思注释可以用来解释某一段程序或者某一行代码是什么意思,方便程序员之间的交流沟通注释可以是任何文字,也就是说可以写中文被注释的内容在开发工具中会有特殊的颜色 * 哥 * 帅哥多行注释可以嵌套单行注释* 作者:LNJ 描述:第一个C程序作用:这是一个主函数,C程序的入口点 *多行注释***不能***嵌套多行注释* 哈哈哈 *嘻嘻嘻* 呵呵呵 *----# 是指一些被C赋予了特殊含义的单词关键字特征:全部都是小写在开发工具中会显示特殊颜色关键字注意点:因为关键字在C中有特殊的含义, 所以不能用作变量名、函数名等C中一共有32个关键字12345678charshortintlongfloatdoubleifelsereturndowhileforswitchcasebreakcontinuedefaultgotosizeofautoregisterstaticexternunsignedsignedtypedefstructenumunionvoidconstvolatile 从字面上解,就是用来标识某些东西的符号,标识的目的就是为了将这些东西区分开来其实标识符的作用就跟人类的名字差不多,为了区分每个人,就在每个人出生的时候起了个名字C是由函数构成的,一个C程序中可能会有多个函数 这个名称就是标识符综上所述: 程序员在程序中给函数、变量等起名字就是标识符----标识符命名规则只能由字母(a~z、 A~Z)、数字、下划线组成不能包含除下划线以外的其它特殊字符串不能以数字开头不能是C中的关键字标识符严格区分大小写

    7800

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

    原因是当年C的作者Dennis Ritchie(丹尼斯 里奇)在他的名著中第一次引入, 传为后世经典, 其它亦争相效仿, 以示敬意 如何创建C文件 --- C程序组成 手机有很多功能 , 开机,关机,打电话,发短信,拍照等等 手机中的每一个功能就相当于C程序中的一个程序段(函数) 众多功能中总有一个会被先执行,不可能多个功能一起执行 想使用手机必须先执行手机的开机功能 所以C程序也一样 :编译器会直接报错 C中除了注释和双引号引起来的地方以外都不能出现中文 一个C程序只能有一个main函数 一个C程序不能没有main函数 main函数前面的int可以不写或者换成void main 函数中的return 0可以不写 多种写法不报错的原因 C最早的时候只是一种规范和标准(例如C89, C11等) 标准的推行需要各大厂商的支持和实施 而在支持的实施的时候由于各大厂商利益、解等问题 所以大家只需要记住最标准的写法即可, no zuo no die 逻辑错误:没有法错误,只不过运行结果不正确 --- ##C程序练习 编写一个C程序,用至少2种方式在屏幕上输出以下内容 ***

    14920

    哥带你玩转C - 16-内存管和链表

    内存管进程空间程序,是经源码编译后的可执行文件,可执行文件可以多次被执行,比如我们可以多次打开 office。 定义链表节点typedef struct node{ int data; struct node *next;}Node;int main(){ 2.创建链表节点 Node a; Node b; Node c; 3.初始化节点数据 a.data = 1; b.data = 3; c.data = 5; 4.链接节点 a.next = &b; b.next = &c; c.next = NULL; 5.创建链表头 ->next; pre->next = head->next; head->next = pre; pre = cur; }}如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是哥持续更新的动力

    12100

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

    文件基本概念文件流:C 把文件看作是一个字符的序列,即文件是由一个一个字符组成的字符流,因此 c 将文件也称之为文件流。文件分类文本文件 以 ASCII 码格式存放,一个字节存放一个字符。 这便于对字符的逐个处,但占用存储空间较多,而且要花费时间转换。.c文件就是以文本文件形式存放的二进制文件 以补码格式存放。二进制文件是把数据以二进制数的格式存放在文件中的,其占用存储空间较少。 数据按其内存中的存储形式原样存放.exe文件就是以二进制文件形式存放的----文本文件和二进制文件示例下列代码暂时不要求看懂, 主要解什么是文本文件什么是二进制文件#include int main( mode处方式当文件不存在时当文件存在时向文件输入从文件输出r读取出错打开文件不能可以w写入建立新文件覆盖原有文件可以不能a追加建立新文件在原有文件后追加可以不能r+读取写入出错打开文件可以可以w+写入读取建立新文件覆盖原有文件可以可以 fseek( fp, 7, SEEK_SET ); fputs(lnj, fp); fclose(fp); return 0;}如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是哥持续更新的动力

    10200

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

    ----3.执行汇编编译执行汇编编译后生成的文件打开汇编编译后生成的文件----4.执行二进制编译执行二进制编译后生成的文件打开二进制编译后生成的文件----5.执行链接操作将依赖的一些C函数库和我们编译好的二进制合并为一个文件执行链接操作后生成的文件 C在对源程序进行编译之前,会先对一些特殊的预处指令作解释(比如之前使用的#include文件包含指令),产生一个新的源程序(这个过程称为编译预处),之后再进行通常的编译为了区分预处指令和一般的 C句,所有预处指令都以符号“#”开头,并且结尾不用分号预处指令可以出现在程序的任何位置,它的作用范围是从它出现的位置到文件尾。 习惯上我们尽可能将预处指令写在源程序开头,这种情况下,它的作用范围就是整个源程序文件C提供了多种预处功能,如宏定义、文件包含、条件编译等。 在C中,“宏”分为有参数和无参数两种。##不带参数的宏定义格式:#define 标识符 字符串其中的“#”表示这是一条预处命令。凡是以“#”开头的均为预处命令。“define”为宏定义命令。

    9100

    C_预处

    C_预处文章目录 C_预处 0.引1.#include2.#define (符号常量)3.#define(宏)4.条件编译 1)#if2)#ifdef3)#ifndef5. #error和#pragma预处命令6.#和##运算符0.引C的预处是在程序被编译之前执行的,包括将其他文件包含进正在编译的文件,定义符号常量和宏,条件编译和有条件的执行预处命令。 预处命令都以 # 开头。1.#include功能:将指定文件的一个副本包含到命令所在位置上形式:#include​ #includefilename区别:查找文件的起始位置不同。 #define(宏)宏 ,是#define预处命令定义的一种标识符,宏的定义可以带实参,也可以不带。 #error和#pragma预处命令格式:#error tokens功能:打印出包含命令中指定标记的信息,具体内容和系统的实现有关。​

    10210

    哥带你玩转C | 05-printf 和 scanf 函数

    = 10; printf(c = %on, c); 12 printf(c = %#on, c); 012 printf(c = %xn, c); a printf(c = %#xn, c); int main(){ int number; 输入完毕之后按下回车无法结束输入 scanf(%dn, &number); printf(number = %dn, number);}scanf运行原系统会将用户输入的内容先放入输入缓冲区 scanf(%c%d,&ch2, &num3); printf(ch2 = %c, num3 = %dn, ch2, num3);}利用fflush方法清空缓冲区(不是所有平台都能使用) 格式: fflush (stdin);CC++的标准里从来没有定义过 fflush(stdin)MSDN 文档里清除的描述着fflush on input stream is an extension to the C standard setbuf(stdin, NULL); 清空输入缓存区 char ch2; int num3; scanf(%c%d,&ch2, &num3); printf(ch2 = %c, num3 = %

    8300

    (4.20)C(预处

    C中,所有以#开头的句被称为预处句,那他们有什么需要知道的知识点呢?首先,预处句严格来讲并不是C,编译的时候也不由编译器来处,而是由预处器分析和处。 其次,预处指令必须独自占一行,而且只能占一行。怎么解呢?以宏定义为例,看下面的代码演示:这是正确的写法:#define MAX(a, b) ((a) > (b) ? (_a) : (_b)); })上述代码中,错误的写法错在:一行中出现了多条预处句,或者一条预处句写了很多行。这些写法都是不行的。

    21710

    C内存管

    1 引对于计算机程序处,对内存的管就像是对一片雷区的管,管的好,可以杀死一片一片的bug,管的不好,将使你自己抓狂,程序漏洞百出,直至崩溃。 据调查80%的程序崩溃都是内存的管出现问题,有时候表面没有问题,运行一段时间后问题就爆发了,所以对内存的管非常重要,这里和大家一起总结讨论下CC++中关于内存管的一些要点。 栈内存分配运算内置于处器的指令集中,效率很高,但是分配的内存容量有限。(3)从堆上分配,亦称动态内存分配。 =NULL)进行防错处。(2)内存分配虽然成功,但是尚未初始化就引用它。犯这种错误主要有两个起因:一是没有初始化的观念;二是误以为内存的缺省初值全为零,导致引用初值错误。 特别是在for循环句中,循环次数很容易搞错,导致数组操作越界。

    1712319

    C中的预处

    1、 宏定义 预处命令可以改变程序设计环境,提高编程效率,它们并不是 C 本身的组成部分,不能直接对 它们进行编译,必须在对程序进行编译之前,先对程序中这些特殊的命令进行“预处” 。 C 提供的预处功能有三种,分别为宏定义、文件包含和条件编译,下面将对它们进行简 单介绍。 在 C 中,宏分为 有参数和无参数两种。 无参宏的宏名后不带参数,其定义的一般形式为: #define 标识符 字符串; 其中“#”表示这是一条预处命令(在 C 中凡是以“#”开头的均为预处命令)“define”为宏定义命令,“标识符” 4、 其他与处命令 #error 等其他常用预处命令 除了上面介绍的之外,C 还有#erroe、#line、#pragma 等其他常用的预处命令,在很多 C 的 程序中也是经常可见的。

    62860

    c格式大整

    1、C中,非零值为真,真用1表示;零值为假,假用0表示。 CR -- 回车符,cr LF -- 换行符, cn 不同计算机上c统一规定为:文本文件的行结束符一律变成一个符号LF,也就是换行符n。 “回车和换行符转换成一个换行符”,对PC(MS OS)而,文本文件行结束符CRLF读入后,丢掉CR,留LF。例如fgets() 读入一行,行尾只有LF,没有CR。 (1)字符串常量的输出    无表达式,格式串中无格式符,如:    printf(We are students.n); (2)格式符的法syntax: %typea)typetype字段采用一个英文字母来表达数据类型与格式 float a;int b;double c;scanf(%f%3x%lf,&a,&b,&c);若输入为:-1.5A8059¿则a=-1.5, b=0xA80, c=59.0(3) 号    表示数据输入项要按指定格式进行转换

    1.1K70

    1.2 C运行原

    一、运行原  作为一种编程,本身是谈不上工作原的,实际上C所有的法,正是C编译器的工作原或者工作机制的具体实现。 要细致的讨论起来是不可能,但是作为C程序员,必须了解这个大致的流程。一个程序,从C源码,到系统可执行的文件,一般经历四个过程。?    1、预处阶断,这个阶断是文本处阶断,有预处器来完成,会将源码中的带#开头的预处命令进行相应的处,在Linux上C的预处器程序是cp命令。   2、编译阶断,这个阶断是有C编译阶断,在Linux上C的编译器是cc命令,它将C源码转换成汇编指令。   3、汇编阶断,这个阶断是汇编编译阶断,在Linux上C的汇编器是as命令,这个阶断会将汇编指令编译成二进制机器码。

    5003129

    相关产品

    • 云服务器

      云服务器

      腾讯云服务器(CVM)为您提供安全可靠的弹性云计算服务。只需几分钟,您就可以在云端获取和启用云服务器,并实时扩展或缩减云计算资源。云服务器 支持按实际使用的资源计费,可以为您节约计算成本。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券