开发语言
文章平均质量分 80
「已注销」
这个作者很懒,什么都没留下…
展开
-
从零开始编写一个可运行的C语言程序
C语言的IDE有很多种,其中比较常见的有Code::Blocks、Dev-C++、Visual Studio等,这里以Code::Blocks为例(使用更简单,新手更友好)。1)下载Code::Blocks安装包,可以在官网(http://www.codeblocks.org/downloads)上下载,选择适合自己系统的版本进行下载;2)安装Code::Blocks,安装过程中需要选择安装目录和编译器,可以选择默认安装;其中,-o选项指定编译后生成的可执行文件名,hello.c是程序的源代码文件。原创 2023-05-27 15:19:13 · 1388 阅读 · 0 评论 -
C语言的标准函数库:断言库assert.h
assert是在运行时检查,C11新增_Static_assert声明,可以在编译时检查assert()表达式,assert会导致程序的终止,_Static_assert会导致编译的失败 _Static_assert接收两个参数,第一个参数是整型常量表达式,第二个参数是一个字符串,如果第一个表达式求值为假(0或_False),编译器会显示字符串,且不通过编译。参数expression是一个要测试的表达式,如果表达式的值为0(假),assert()会输出错误消息并终止程序。,编译出的可执行文件为。原创 2023-05-27 10:24:18 · 1571 阅读 · 0 评论 -
C语言中的通用工具库stdlib.h
C语言标准库中的stdlib.h是一个通用工具库,其中包含了很多有用的函数,这些函数可以用来进行各种各样的操作,例如内存分配、类型转换、随机数生成等等。原创 2023-05-26 14:26:42 · 12412 阅读 · 0 评论 -
C语言中的数学库math.h介绍
C语言中的数学函数库是math.h,它提供了许多常用的数学函数,如三角函数、指数函数、对数函数、幂函数、取整函数等等。原创 2023-05-26 14:03:28 · 10374 阅读 · 0 评论 -
C语言基础知识:内存分配
在C语言中,内存分配是非常重要的一个概念,因为C语言中没有内置的垃圾回收机制,需要我们手动管理内存的分配和释放。下面我们来详细讲述C语言中的内存分配原理、方法和代码示例。原创 2023-05-25 09:52:48 · 2577 阅读 · 0 评论 -
C语言基础知识:存储类别
在C语言中,存储类别是指用来描述变量或函数的存储方式和生命周期的关键字。在C语言中,一共有4种存储类别,分别是自动存储类、静态存储类、寄存器存储类和外部存储类。下面我们将分别介绍这四种存储类别的使用方法和示例代码。原创 2023-05-25 00:09:25 · 2927 阅读 · 0 评论 -
C语言基础知识:对文件的基本操作
文件是当今计算机系统不可或缺的部分。文件用于存储程序,文档,数据,书信,表格,图形,照片,等其它种类的信息,作为程序员,必须会编写创建文件和从文件中读写数据。文件通常是指在磁盘或固态是的一段已经命名的缓冲区,例如我们经常使用的stdio.h就是一个文件,c语言将文件看成一段连续的字节,每个字节都可被单独读输,c提供了两种模式:文本模式和二进制模式。原创 2023-05-24 14:21:36 · 947 阅读 · 0 评论 -
C语言基础知识:条件编译
目录1、#if,#elif,#else与#endif2、#ifdef与#endif3、#ifndef与#endif条件编译是指在程序编译过程中,根据不同的条件编译不同的代码段。比如,调试环境的代码,在正式运行时不需要使用,比如为各种情况生成得到不同的程序,为了方便维护,都需要使用到条件编译。C语言提供了一些预处理指令,用于实现条件编译。常用的条件编译指令有 :1、#if:如果条件为真,则执行相应的操作。2、#elif:类似于 elseif 的用法,当前面条件为假,再判断该条件是否为真,如果是真,则执行相应原创 2023-05-24 13:58:20 · 1524 阅读 · 0 评论 -
C语言基础知识:内联函数inline关键字的用法
在C语言中,如果一些函数被频繁调用,不断地有函数入栈,即函数栈,会造成栈空间或栈内存的大量消耗。为了解决这个问题,特别的引入了inline修饰符,表示为内联函数。栈空间就是指放置程式的局部数据也就是函数内数据的内存空间,在系统下,栈空间是有限的,假如频繁大量的使用就会造成因栈空间不足所造成的程式出错的问题,函数的死循环递归调用的最终结果就是导致栈内存空间枯竭。//函数定义为inline即:内联函数"奇" : "偶";for (i=1;原创 2023-05-23 23:35:59 · 494 阅读 · 0 评论 -
C语言基础知识:#undef及其用法
在一个程序块中用完宏定义后,为防止后面标识符冲突需要取消其宏定义。/******** 例程1:main.c ********/在一个程序段中使用完宏定义后立即将其取消,防止在后面程序段中用到同样的名字而产生冲突。将某个库函数包装成自定义接口,而只允许用户调用自定义接口,禁止直接调用库函数。(此例来源于《C和指针》)/*** 定义一个不易发生错误的内存分配器*/#define malloc //防止直接调用malloc。原创 2023-05-23 23:28:38 · 3966 阅读 · 0 评论 -
C语言基础知识:include用法
对于命令中使用尖括号指定的文件(),预处理器通常会在特定的系统路径下搜索,例如,在 Unix 系统中,会搜索路径 /usr/local/include 与 /usr/include。对于命令中用双引号指定的文件("文件名"),预处理器通常首先在当前目录下寻找,也就是包含该程序其他源文件的目录。你也可以通过使用编译器命令行选项,或在环境变量(该变量通常称为 INCLUDE)中加入搜索路径,为 #include 命令指定自己的搜索路径。然而,可以采用条件式编译的命令,方便地避免多次包含相同的文件。原创 2023-05-22 22:04:02 · 1726 阅读 · 0 评论 -
C语言基础知识:宏定义
①宏常量我们最常使用到的#define的用法就是用#define来定义一个符号常量,而要修改时,只需修改#define这条语句就行了,不必每处代码都修改。#define STR "圆周率约等于"int main()//预处理时会被替换为 printf("%s %f","圆周率约等于",3.14);return 0;②宏语句我们还可以用宏定义一条或多条语句。//预处理时会被替换为 printf("hello world!");return 0;③宏函数。原创 2023-05-22 21:56:32 · 976 阅读 · 0 评论 -
C语言基础知识:位运算
(为了区分十进制和其他进制,本文规定,凡是非十进制的数据均在数据后面加上括号,括号中注明其进制,二进制则标记为2)内存储存数据的基本单位是字节(Byte),一个字节由8个位(bit)所组成。计算机中的CPU位数指的是CPU一次能处理的最大位数,例如32位计算机的CPU一次最多能处理32位数据,计算机中的CPU位数也成为机器字长,和数据总线(CPU与内部存储器之间连接的用于传输数据的线的根数)的概念是统一的。位运算是指按二进制进行的运算。例如:将a的二进制数左移2位,右边空出的位补0,左边溢出的位舍弃。原创 2023-05-21 14:04:58 · 267 阅读 · 0 评论 -
C语言基础知识:位与位字段
计算机中的CPU位数指的是CPU一次能处理的最大位数,例如32位计算机的CPU一次最多能处理32位数据,计算机中的CPU位数也成为机器字长,和数据总线(CPU与内部存储器之间连接的用于传输数据的线的根数)的概念是统一的。在有些机器上,存储的顺序是从左往右的,而在另一些机器上,是从右往左的。stuff的大小为8个字节。注:这个字节与比特的关系是规定的,记住就好,通用于任何场景,容易混淆的是字长和字节,字长指的是cpu一次性能够运算的数据的位数,不同的计算机可能不一样,但是字节这个概念是恒久不变的。原创 2023-05-21 08:00:00 · 1406 阅读 · 0 评论 -
C语言基础知识:C语言中的进制与进制转换
我们看到,在十进制转换到二进制的过程中,有时候是不能够完全精确的转换成一个二进制的数,比如0.1,转换成二进制就是0.000110011(0011无限循环),因为计算机中不可能存储无限的数据,超过一定位数后必然会丢失精度。一种以8为基数的计数法,采用0,1,2,3,4,5,6,7八个数字,逢八进1。十进制小数部分转换:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,或者达到所要求的精度为止。原创 2023-05-20 19:20:33 · 1047 阅读 · 0 评论 -
C语言基础知识:C语言中的联合体
联合体也叫共用体,是一种特殊的自定义类型union是联合体的关键字这种类型定义的变量也包含一系列的成员,特征是这些成员共用同一块空间(所以联合也叫共用体)原创 2023-05-20 14:37:49 · 1421 阅读 · 0 评论 -
C语言基础知识:C语言中的枚举类型
枚举enum就是英文enumerate的缩写,也就是列举、排列说明的意思。枚举类型是C语言中的一种特殊类型,枚举类型可以让我们的程序使用一些固定长度和固定数值的变量值范围。C语言中的枚举类型是一种特殊的数据类型,它用于存储一组有限的常量值,通常以一个单独的关键字声明,每个常量值占用一行。在上面的代码中,我们首先定义了一个枚举类型Weekday,它包含了一组常量值,分别表示星期一到星期日。然后在main函数中,我们声明了两个枚举常量day1和day2,并将它们分别赋值为Monday和Friday。原创 2023-05-19 16:37:54 · 770 阅读 · 0 评论 -
C语言基础知识:C语言中的结构体
结构体(struct)就是用来存放一组不同类型的数据的,C语言中的结构体是一种用户自定义数据类型,可以将不同类型的数据组合在一起形成一个新的类型。struct [结构体名] {数据类型 成员名1;数据类型 成员名2;数据类型 成员名3;...结构体是一个集合,是一种构造的数据类型,为了描述一个数据集自己定义出来的数据类型。结构体的成员(member)可以是任意类型的变量,也可以是结构体变量。struct boy// 姓名int age;// 年龄int height;// 身高。原创 2023-05-19 16:16:25 · 414 阅读 · 0 评论 -
C语言基础知识:C语言中的字符串及其函数
C语言中的基本数据类型中是没有字符串这个类型的。C语言中的字符串是一个特殊的数据类型,用于存储字符数据。它们被定义为以NULL字符('\0')结尾的字符数组。因此,可以使用char数组来表示字符串。字符串可以用双引号括起来,也可以用单引号括起来。在C语言中对于字符串的处理,一般是靠字符串相关的函数来进行的。这一类的处理函数有很多。原创 2023-05-19 00:06:39 · 793 阅读 · 0 评论 -
C语言基础知识:C语言中的指针
同C语言中其他变量一样,把指针也可以看成是一种变量。不过,这种变量专门存储地址值。原创 2023-05-18 15:43:08 · 829 阅读 · 0 评论 -
C语言基础知识:C语言中的数组
从字面了解数组是一堆数字组成的集合。C语言中数组是一组固定大小且相同类型元素的集合。数组分为一维数组和二维数组。数组类型的声明并不是对一个元素进行声明而是对整个数组里面的元素类型都进行声明。所有的数组元素都是在一块连续的地址上的存储的,第一个元素占最低的地址,最后一个元素占最高的地址。数组的下标从0开始到元素的个数减1结束。原创 2023-05-18 00:05:49 · 743 阅读 · 0 评论 -
C语言基础知识:函数在实际项目中的运用
在实际项目中,因为代码量过大,不可能全部写在同一个文件中,这样对于开发和调试都会很不方便,于是,就会存在文件的引用,而在引用的时候,就会有很多相关的情况需要注意。原创 2023-05-17 23:43:36 · 618 阅读 · 0 评论 -
C语言基础知识:函数的调用
程序调用自身的行为就是递归。可以直接或间接的调用,本质是把复杂的问题转化为一个规模小的问题。递归一般只需少量的代码就可描绘出多次重复计算。其主要思考方式在于大事化小。优点是为具有某些特征的编程问题提供了最简单的策略,缺点是层层调用,算法的复杂度可能过高,以致于快速耗干了计算机的内存资源,不方便阅读和维护等。原创 2023-05-16 23:37:04 · 3967 阅读 · 0 评论 -
C语言基础知识:函数中的参数与返回值
4.原创 2023-05-16 23:23:55 · 3606 阅读 · 1 评论 -
C语言基础知识:函数的声明和使用
3 }46 {9 }第5行定义的main函数调用了第1行的sum函数,这是合法的。如果调换sum函数和main函数的顺序,在标准的C编译器环境下是不合法的(不过在GCC编译器环境下只是一个警告)1 // 只是做个函数声明,并不用实现35 {8 }910 // 函数的定义(实现)13 }在第11行定义了sum函数,在第2行对sum函数进行了声明,然后在第6行(main函数中)就可以正常调用sum函数了。原创 2023-05-16 21:24:03 · 15216 阅读 · 0 评论 -
C语言基础知识:C语言中的控制语句
C语言有九种控制语句。可分成以下三类:1. 条件判断语句if语句、switch语句;2 .循环执行语句do while语句、while语句、for语句;3. 转向语句break语句、goto语句(此语句尽量少用,因为这不利结构化程序设计,滥用它会使程序流程无规律、可读性差)、continue语句、return语句。原创 2023-05-15 22:45:47 · 1615 阅读 · 0 评论 -
C语言基础知识:C语言中的语句与程序块
一个函数包含声明部分和执行部分。执行部分由语句组成,经编译后产生机器指令。声明部分不是语句,不产生机器指令。原创 2023-05-15 21:20:07 · 1067 阅读 · 0 评论 -
C语言基础知识:其他运算符及运算符的优先级
sizeof的使用会出现在平常写代码很多的地方,其用法也不仅仅限于上述的普通用法,在后续的动态内存分配也会经常用到等等。熟悉这一C语言运算符会让你提前对内存这一概念有所了解,对于后面C语言的难点也是重点——指针的理解有一定的帮助。原创 2023-05-14 08:38:36 · 892 阅读 · 0 评论 -
C语言基础知识:关系运算符与逻辑运算符
关系运算(Relational Operators),用于判断条件,决定程序的流程。关系数学中的表示C语言的表示小于小于等于≤=等于==不等于≠!C语言的基本数据类型有char、int、double,我们暂时认为只有char和int适用于上述关系运算符,double和字符串(字符数组)的关系运算以后再讨论。注意了:1)“=”是赋值,“==”才是判断两个数是否相等,不能混用。年龄大于等于25岁并且年龄小于等于30岁。原创 2023-05-13 22:20:49 · 1044 阅读 · 0 评论 -
C语言运算符:赋值与计算
赋值运算符支持的是C语言的基本数据类型,包括char、int和double,字符串(字符数组)不能使用赋值运算符。下表显示了 C 语言支持的所有算术运算符。假设变量 A 的值为 18,变量 B 的值为。// 表示在本次使用变量后再自增;// 表示在本次使用变量前自增;// 表示在本次使用变量后再自增;// 表示在本次使用变量前自减;原创 2023-05-13 17:54:18 · 1061 阅读 · 0 评论 -
C语言中的数据类型
1.基本类型(1)整数类型(2)浮点数类型(3)字符类型(4)布尔类型(5)枚举类型。原创 2023-05-12 22:02:20 · 759 阅读 · 0 评论 -
C语言基础:C语言中的常量
C语言提供了***#define***命令定义标识符常量,该标识符常量在程序中是个定值,通常用于代表数组容量或涉及数学的常量等。#define SIZE 10 // 此处SIZE代表数组元素个数int main()return 0;如需修改数组大小,只需将SIZE所代表的值修改即可,十分方便。原创 2023-05-12 09:44:09 · 268 阅读 · 0 评论 -
C语言基础:C语言中的变量及其类型
变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,而通过变量名可以访问到变量(值)变量的使用步骤C语言的整数类型就是用于存放整数值的,比如 12 , 30, 3456等等C语言的浮点类型可以表示一个小数,比如 123.4 , 7.8 , 0.12等等字符类型可以表示单个字符,字符类型是charchar是1个字节(可以存字母或者数字),多个字符称为字符串, 在C语言中 使用char数组 表示,数组不是基本数据类型,而是构造类型。原创 2023-05-11 23:27:04 · 784 阅读 · 0 评论 -
C语言的标准演变及编程机制
经过以上分析,我们发现编译过程并不像想象的那么简单,而是要经过预处理、编译、汇编、链接。尽管我们平时使用gcc命令的时候没有关心中间结果,但每次程序的编译都少不了这几个步骤。$ gcc hello.c # 编译$ ./a.out # 执行。原创 2023-05-11 12:04:20 · 400 阅读 · 0 评论 -
C语言的特点概述
早期的计算机语言有BASIC语言、Fortran语言、ALGOL语言、COBOL语言和Pascal语言等,近来使用的人相对要少得多,除非是既有的软件系统使用这些语言,或者一些人想使用现成的程序或软件,才会使用这些语言。现在的软件开发中更多地使用C++语言和Java语言,在开发Web应用软件时则会使用JSP语言和PHP语言等。原创 2023-05-10 11:10:55 · 3975 阅读 · 0 评论 -
历史的选择:C语言
猛然间发现已经到了总结,但是还觉得仍旧意犹未尽,这并不是我心目中最真实的那个她。但是,我还是希望你看完本文之后,能够多少了解与熟悉C的美与真实。最后想说的是:纵使千言万语也说不尽C语言的重要性,这些文字也仅仅只是冰山一角。鉴于个人能力有限,如有问题或者缺陷,欢迎指正。参考资料在整理的过程中,部分参考、引用下面链接地址内容:[1] https://www.bell-labs.com/usr/dmr/www/index.html 里奇贝尔实验室主页。原创 2023-05-10 08:00:00 · 187 阅读 · 0 评论 -
标准C库及代码
当然,Linux内核中也有实现了标准C库的代码,下面一起欣赏她的美。原创 2023-05-09 12:27:25 · 1949 阅读 · 0 评论 -
C语言发展简史
任何一种新事物的出现都不是来自于偶然,而是时代所驱使的必然结果。原创 2023-05-09 11:17:34 · 254 阅读 · 0 评论