![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
西邮彭于晏
热爱学习,热爱生活
展开
-
6-7 删除循环链表中已知结点的前驱 (10 分)
6-7 删除循环链表中已知结点的前驱 (10 分)假设有一个循环链表的长度大于1,且表中既无头节点也无头指针。已知s为指向链表中某结点的指针,试编写算法,在链表中删除指针s所指结点的前驱结点。函数接口定义:void DelPrior (Node * s );其中 s 是传入的参数,函数要求删除s所指结点的前驱结点。其中类型定义如下:typedef int DataType;typedef struct node{ DataType data; struct node *nex原创 2022-02-25 12:47:57 · 3319 阅读 · 0 评论 -
文件的概述类型指针及标准的输入输出
这里写目录标题一·文件的概述二·文件的操作流程:三·文件和内存的交互处理:四·文件类型的指针五·标准输入与输出函数(一)打开文件一·文件的概述1.文件: 文件是指存放在外部的存储介质上数据的集合。2.访问文件的标志: 主文件名【.扩展名】。3.程序与外存之间的交互:(1)以文件为单位将数据写入到外存中去。(2)从外存中根据文件名读取文件数据。4.文件的分类(1)根据文件依附的介质:普通文件和设备文件。(2)根据文件的组织形势:顺序读写文件和随机读写文件。(3)根据文件的存储形势:ASCL原创 2021-06-07 19:10:05 · 610 阅读 · 3 评论 -
动态数据结构——链表及其基本操作
1. 链表(1)概念:链表是一种常见的采用动态分配方式的数据结构。在链表中的每个元素称为“结点”。(2)特点:(a)每个结点只有一个指针,所有结点都是单线联系。(b)除了末尾结点指针为空外,每个结点的指针都指向下一个结点(环环相扣,形成一条线性表)。(3)表尾结点: 最后一个结点。结点指针域为“NULL”空指针,表示链表结束。(4)头指针: 是一个指针变量,用来存放第一个结点的地址。(5)使用...原创 2021-06-02 19:54:22 · 191 阅读 · 3 评论 -
calloc()函数
2. calloc()动态分配存储函数(1)函数原型:void *calloc(unsigned int n,unsigned int size);(2)调用格式:calloc(n,size);(3)功能:在内存分配一个n倍size字节的存储区。调用结果为新分配的存储区的首地址,是一个void类型指针。#include<stdio.h>#include<stdlib.h>int main(void){ int i,*ip; ip=(int *)calloc(10原创 2021-06-01 19:57:48 · 2573 阅读 · 1 评论 -
释放动态分配存储区函数free
3.free()函数(1)函数原型:void free(void *p);(2)调用格式:free(p);(3)功能:释放p所指向的动态分配的存储区。原创 2021-06-01 17:54:16 · 107 阅读 · 1 评论 -
malloc() 函数
1.malloc()函数动态分配一段存储空间(1)函数原型:void *malloc(unsigned size);(2)调用格式:malloc(size)(3)功能:在内存分配一个size字节的存储区。调用结果为新分配的存储区的首地址,是一个void类型指针。#include<stdio.h>#include<stdlib.h>struct st{ int n; struct st *next;};int main(void){ struct st *p;原创 2021-06-01 17:08:30 · 752 阅读 · 0 评论 -
指针的基本概念
1.指针与内存地址(1)指针的本质地址向单元的一种映射。(2)指针在内存中的编址: a.按字节编址。 b.按字编址。(字:两个字节)。(3)内存地址:内存设备时一种一维线性,连续的存储空间,按字节编址,二进制编址,连续编址,十六进制表示。(4)访问数据的方式: a.直接引用:通过变量的名称引用变量空间中存储的数据。 b.间接引用:通过一种只能存储地址的特殊存储单元间接引用目标数据。2.指针变量(1)区别:指针为地址向单元的映射为常量。而指针变量是存储地址的特殊内存单元是变量。(用原创 2021-05-30 11:35:15 · 362 阅读 · 0 评论 -
列队的基本概念
列队1.在列队中我们引入两个整型变量,head和tail。 head用来记录列队的首队,tail用来记录列队对的最后一位的下一个位置(如果用tail记录队尾,当队列中只剩一个元素时队尾和队首重合会带来一些麻烦。这里规定当队首和队尾重合时列队为空)2.列队的概念: 列队是一种特殊的线性结构,它只允许在队列的首部进行删除操作,这时成为“出队”,而在列队的尾部进行插入操作时,这称为“入队”。当队列没有元素时(即head=tail),称之为空列队。例:将631758924这个数组,先将第一个数字删除再将第二个原创 2021-05-30 11:00:25 · 539 阅读 · 0 评论 -
二分法查找
二分法查找 要设定mid,low,high,三个变量,分别指示数列中的中间元素,起始元素,最后元素。其初始值为low=0,high=n-1,mid=(low+high)/2;判断mid指示的数是否为所求,如果要判断的数大于mid,令low=mid+1;如果要判断的数小于mid,令high=mid-1;当输入的数等于min所指的数是输出即可。例如:#include<stdio.h>int main(void){ int a[10]={-12,0,6,16,23,56,80,100,11原创 2021-04-25 17:49:38 · 53 阅读 · 0 评论 -
C语言中pow函数和sqrt函数的使用
pow函数: 是求数的幂的一种函数,例如要求x的3次方就可以写为pow(x,3);sqrt函数: 是求数的平方根的函数,例如要求x的平方根可以写为sqrt(x);例如:练习2-11 计算分段函数[2](10 分)本题目要求计算下列分段函数f(x)的值:注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。输入格式:输入在一行中给出实数x。输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留两位小数。#include&l原创 2021-04-20 17:31:03 · 6279 阅读 · 0 评论 -
三天打鱼两天晒网
中国有句俗语叫“三天打鱼两天晒网”。假设某人从某天起,开始“三天打鱼两天晒网”,问这个人在以后的第N天中是“打鱼”还是“晒网”?输入格式:输入在一行中给出一个不超过1000的正整数N。输出格式:在一行中输出此人在第N天中是“Fishing”(即“打鱼”)还是“Drying”(即“晒网”),并且输出“in day N”。输入样例1:103输出样例1:Fishing in day 103输入样例2:34输出样例2:Drying in day 34#include<stdio.h&原创 2021-04-01 21:01:06 · 78 阅读 · 0 评论 -
冒泡排序
冒泡排序例子:10 a[0]20 a[1]30 a[2]40 a[4]a[0]与a[1]比较如果a[1]>a[0]将其进行交换,在将新的a[0]与a[2]比较大小进行交换,以此类推。//冒泡排序#include<stdio.h>int main(void){ int i,j,t,a[10]; printf("请输入10个整数:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<9;i+原创 2021-03-17 22:33:11 · 66 阅读 · 0 评论 -
专题一:数组的遍历
数组的遍历例:正向遍历:#include<stdio.h>int main(void){ int a[6]={10,20,30,40,50,60},n; n=sizeof(a)/sizeof(a[0]); for (int i=0;i<n;++i){ printf("%5d",a[i]); } return 0;}逆向遍历:#include<stdio.h>int main(void){ int a[6]={10,20,30,40,50,60原创 2021-03-15 17:29:14 · 124 阅读 · 0 评论 -
数组
数组1.什么是数组?数组是在计算机在内存中连续的储存空间。(1)A)一个数组是由多个存储单元构成可同时存储多个同数据类型的数据B)数据的存储空间(数组元素)在内存中连续(可用计算得地址)(2)声明:数组 :数据类型 数据名【数量】分配:计算机系统计算一个数组需要的字节数按总字节数分配单元。数组的字节数:sizeof(数组名)例如:#include<stdio.h>int main(void){ int a[6]; printf("%d",sizeof(a)); re原创 2021-03-15 00:03:22 · 1296 阅读 · 0 评论 -
C语言中数据的输入与输出
C语言中数据的输入与输出(1)字符数据的输出与输入:C语言提供了putchar(),getchar(),getch()和getche()等函数,用于单个字符的输入与输出。gets()和puts()函数,用于单个字符的输入/输出。(2)格式输入输出:C语言提供的格式输入与输出函数scanf()和printf(),可以按指定的格式输入输出若干个任意类型的数据。例如:请任意输入两个整数a,b,输出a+b。#include<stdio.h>int main(void){ int a,b原创 2021-03-13 15:06:53 · 2254 阅读 · 0 评论 -
程序的基本结构
程序的基本结构(1)顺序结构:(2)选择结构:选择结构如下图所示。当条件成立时,执行模块A否则执行模块B。(3)循环结构:循环结构又两种形式当型循环和直道型循环:当型循环:先判断条件,条件成立就反复执行程序模块;当条件不成立时结束循环。当型循环的流程图和N-S图如图所示直道型循环:先执行程序模块,在判断是否成立。如果条件为真则继续执行循环体;当条件不成立时结束循环。如图所示...原创 2021-03-13 14:29:29 · 2950 阅读 · 0 评论