
C语言
文章平均质量分 81
嘿哈小将
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
文件、预处理、位运算
ASCII文件就是“将需要保存到文件的信息使用ASCII字符表示,然后按照顺序将每个字符的ASCII码存储到文件中”。ASCII文件的优点是编码方式公开,可以被其它的文本编辑器打开;其缺点是效率比较低,信息冗余度高。二进制文件将数据在内存中的二进制形式原样存储到文件中。无参数宏是指在宏名的后面没有参数。只是用一个指定的宏名来代表一个字符串,它的一般形式为:#define 标识符 字符串。为了有效地使用文件缓冲区,系统将缓冲区的细节封装到了一个结构体中,称为文件结构。该结构体的成员包含了文件缓冲区的详细信息,原创 2023-09-22 14:39:42 · 120 阅读 · 0 评论 -
共用体与枚举类型
C语言不仅提供了丰富的数据类型,还允许用户自己定义类型说明符,即允许用户为数据类型取“别名”,类型定义符typedef可用来实现此功能。使用typedef定义类型说明符的格式为:typedef 类型标识符 别名;其中,类型标识符可以是C语言中的基本数据类型或者是构造数据类型。使用typedef定义类型的步骤如下:(1)按定义变量方法写出定义体,如:int i;(2)将变量名换成新类型名,如:int INTEGER;(3)最前面加typedef,如:typedef int INTEGER;原创 2023-09-22 14:37:58 · 125 阅读 · 0 评论 -
结构体与链表(2)
1.结构变量的定义类型和变量是不同的概念,只能对变量进行赋值、存取或运算操作,而不能对一个类型进行这些操作。因此在声明了结构类型后,还需要定义结构变量,以便在程序中引用它。结构变量和其他变量一样,必须先定义后使用,定义方法有以下3种:1先定义结构类型,再定义结构变量2定义结构类型的同时定义结构变量3直接定义结构变量2.结构变量的初始化同其他基本数据类型的变量一样,结构变量在定义的同时也可以进行初始化。结构变量初始化的一般形式是在定义变量的后面加上“={初值表列};引用结构变量成员的方式为:结构变量名.原创 2023-09-21 11:16:35 · 107 阅读 · 0 评论 -
结构体于链表(1)
1.结构的概念及定义结构是将彼此相关的、类型不同的数据组合在一起的一种构造数据类型,它是由若干成员(也叫结构分量)组成的,每一个成员的数据类型可以是基本数据类型,也可以是构造类型。在使用某个结构之前必须先声明它,即根据需要构造它。声明一个结构类型的一般形式为:struct 结构名{ 类型名 成员名1;类型名 成员名2;……类型名 成员名n;说明:(1)关键字struct与结构名一起构成结构类型名。例如,例9.1中的结构类型名为struct books,而不是books。(2)大括号中的内容是结构所包原创 2023-09-21 11:14:16 · 112 阅读 · 0 评论 -
指针(2)
a[0]数组是a数组的第0行,有a[0][0]、a[0][1]、a[0][2]三个元素,a[1]和a[2]则分别是a数组的第1行和第2行。数组a由a[0]、a[1]和a[2]三个元素组成,a[0]是第一个一维数组的数组名,代表数组首元素的地址,所以,a[0]代表一维数组a[0]中第0列的地址,即为&a[0][0],值为2000。同样的,a[1]的值为2012,与&a[1][0]等价;同理,a[0]+2等价于&a[0][2],a[1]+1等价于&a[1][1],以此类推,a[i]+j等价于&a[i][j]。原创 2023-09-19 18:08:54 · 247 阅读 · 0 评论 -
指针(1)
指针变量定义的形式为:类型名 *指针变量名[=地址];其中:“类型名”是指针变量所指向对象的类型;“*” 是用于区分指针变量和其它类型变量的字符,表示其后的变量名是指针变量;“[=地址]”用于在定义时初始化指针变量,可省略。指针变量的初始化(赋值)可以在定义指针时或者在定义指针后进行,常见的方式有:(1)指针指向变量的初始化指针指向变量初始化时,经常需要使用取变量的地址运算符“&”,初始化方式为:指针变量名=&变量名;.3.3 指向函数的指针指向函数的指针的定义格式为:类型名 (*指针变量名)(参数原创 2023-09-19 18:07:06 · 93 阅读 · 0 评论 -
函数(2)
7.5 递归函数。7.5.1 引例【例7.10】 用递归调用的方法求 n!。7.5.2 递归函数的概念一个问题要采用递归方法来解决时,必须符合以下两个条件: (1)要解决的问题能简化为一个新问题,而这个新问题的解决方法仍与原来的解决方法相同,只是所处理的问题进一步简化。归结为:寻找递归表达式。 (2)必定要有一个明确的结束递归的条件,一定要能够在适当的时候结束递归调用。归结为:寻找递归的出口。 递归调用过程分为两个阶段: (l)递推阶段。将原问题不断地分解原创 2023-09-18 09:40:13 · 336 阅读 · 0 评论 -
函数(1)
从用户使用的角度来看,函数分为标准函数和用户自定义函数。(l) 标准函数(2) 用户自定义函数从函数的形式上看,函数又可分为无参函数和有参函数。(l) 无参函数(2) 有参函数从函数的作用范围来看,函数可以分为外部函数和内部函数。(l) 外部函数(2) 内部函数无参函数的定义形式如下:类型名 函数名( ) /* 函数首部 */函数体或。函数声明的格式为:类型名 函数名(参数类型1,参数类型2,…);类型名 函数名(原创 2023-09-18 09:37:48 · 74 阅读 · 0 评论 -
数组(2)
1.二维数组的定义二维数组的一般形式为:类型名 数组名[常量表达式1][常量表达式2];说明:(1)表示行数和列数的常量表达式必须在两个中括号内。(2)二维数组(包含更多维数组)在内存中是按行存放,即在内存中先存放第一行的元素,再存放第二行的元素,…,以此方式存放。(3)对多维数组可以看成是其元素也是数组的数组。2.二维数组元素的引用和一维数组一样,二维数组被引用的也是它的元素,而不是它的名称(名称表示二维数组第一个元素的首地址)。二维数组元素的引用形式为:数组名[行下标][列下标]二维数组初始化的一般形式原创 2023-09-15 15:24:11 · 179 阅读 · 0 评论 -
数组(1)
1.一维数组的定义一维数组定义的一般形式为:类型名 数组名[常量表达式];2.一维数组元素的引用与简单变量不同的是,不能整体引用一个数组,只能引用数组中的某一个元素。也就是说,在参与表达式运算时,数组只能以数组元素的形式出现。数组元素的引用形式为:数组名[下标]其中,下标必须是一个整型表达式。6.2.2 一维数组的初始化在定义时,对数组的元素进行赋值,这称为数组的初始化。一维数组初始化的一般形式为:类型名 数组名[数组长度] = {初值表}; 初值表中依次放着数组元素的初值。说明:原创 2023-09-15 15:20:39 · 308 阅读 · 0 评论 -
do- while语句实现循环结构
5.4 使用do- while语句实现循环结构5.4.1 do-while语句的基本语法一般形式如下:do循环体while(表达式);do-while语句的执行流程如图5.4所示。5.4.2 do-while循环使用示例【例5.16】使用do-while语句计算sum=的值。【例5.17】求两个自然数的最大公约数和最小公倍数。【例5.18】输入一个整数,统计该数的位数。5.5 改变循环结构的跳转语句5.5.1 break语句break语句的一般形式如下原创 2023-09-14 14:53:36 · 258 阅读 · 0 评论 -
使用for语句实现循环结构
② 判断表达式2,若其值为真(非0),则执行循环体语句,然后执行第③步;【例5.9】统计由键盘中输入的若干个字符中,大写英文字母、小写英文字母、数字字符和其他字符的个数。【例5.15】由键盘输入一串字符,分别统计输入字符中数字字符、字母字符及其他字符的个数。【例5.8】编写程序,由键盘输入一个正整数,判断该数是否为完数。【例5.12】编写程序,由键盘输入一个正整数,判断其是否为素数。6. for语句的一般形式中表达式2的值只要非0,就执行循环体。【例5.6】编写程序,输入10个数,输出其中的最大数。输入字符原创 2023-09-14 14:34:44 · 262 阅读 · 0 评论 -
函数、分支结构、循环结构
即在由若干个子表达式组成的逻辑表达式中,从左向右计算,当计算出一个子表达式的值就确定了整个逻辑表达式的值时,此后就不再计算右边剩下的子表达式的值,这种情况称为“短路”。①对于逻辑与(&&)运算,若“&&”左边的表达式的值为假,则可以得出整个表达式的值为假,那么“&&”右边的表达式将不再进行计算;②对于逻辑或(||)运算,若“||”左边的表达式的值为真,则可以得出整个表达式的值为真,那么“||”右边的表达式将不再进行计算;=的优先级相同,前者的优先级高于后者,即“>=”的优先级高于“==”。关系表达式用关原创 2023-09-13 09:36:14 · 115 阅读 · 0 评论 -
C语言的语句和数据输入输出
由于函数getchar()只能读入一个字符,若需输入多个字符,就需要多次调用函数,一般采用循环调用的方式。函数是系统提供的用于由标准输入设备(键盘)输入数据的库函数,使用该函数时,由键盘输入数据的值。C语言本身没有提供输入输出语句,所有的数据输入输出功能都是由系统提供的库函数完成的。在格式字符串的“%”和格式字符之间还可以有一些修饰符,如表3-2、3-3所示。C语言中,对于整型数据的输入输出所使用的格式控制字符如表3-1所示。C语言中,对于实型数据的输入输出所使用的格式控制字符如表3-4所示。常用的数学库函原创 2023-09-13 09:13:42 · 242 阅读 · 0 评论 -
C语言的变量和数据类型转换
1.变量的定义类型说明符变量名表;2.变量的初始化C语言允许在定义变量的同时对变量赋值,这个过程称为变量的初始化。3.变量的使用。2.4.2整型变量整型又可分为:短整型(short int)、整型(int)、长整型(long int)、无符号整型(unsigned int)、无符号短整型(unsigned short int)和无符号长整型(unsigned long int)六种。2.4.3实型变量C语言中实型变量分单精度(float型)和双精度(double型)两类。2.4.4 字符型变量原创 2023-09-12 10:13:38 · 133 阅读 · 0 评论 -
C语言的数据类型和常量
【例2.1】在屏幕上输出英文短句“【例2.2】设球半径为r、球体积为v、球表面积为f,球体积和球表面积的计算公式如下:输入半径,分别计算球体积和球表面积。2.3.1 直接常量1.整型常量十进制表示:由数字0~9,正、负号组成,如369,-663等;八进制表示:以0(数字0)为前缀,其后由数字0~7组成,如0163,036等;八进制数一般是无符号数。如0192、-011都是不合法的八进制常量。十六进制表示:以0x或0X为前缀,其后由数字0~9和字母A~F(字母大小写均可)组成。2.实型常量原创 2023-09-12 10:11:10 · 189 阅读 · 0 评论 -
程序设计和C语言
【例1.1】编写程序,输出两个整型数中的最大值。通过引例的讲解明确几个概念:1.C程序是由函数组成的2.所有的C程序有且只有一个main()函数3.C程序总是从main()函数的第一条语句开始运行4.程序中包含数据表达与数据处理(流程控制)两部分。原创 2023-09-11 17:54:17 · 75 阅读 · 0 评论