自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 C经典100例

1.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#include<stdio.h> int main(){ int i,j,k; printf("\n"); for(i=1;i<5;i++) { // 以下为三重循环 for(j=1;j<5;j++) { for (k=1;k<5;k++) { // 确保i、j、k三位互不相同 if (i!=k

2022-03-26 19:04:57 1100 1

原创 (32)C语言实例2

36.实现简单的计算器# include <stdio.h> int main() { char operator; double firstNumber,secondNumber; printf("输入操作符 (+, -, *,): "); scanf("%c", &operator); printf("输入两个数字: "); scanf("%lf %lf",&firstNumber, &secondNu

2022-03-16 20:11:39 698

原创 (31)C语言实例1

1.使用 printf() 输出 “Hello, World!”。#include <stdio.h>int main(){ // printf() 中字符串需要引号 printf("Hello, World!"); return 0;}结果:Hello, World!2.输出整数#include <stdio.h>int main(){ int number; // printf() 输出字符串 printf("

2022-03-16 18:43:53 2146

原创 (30)排序算法

冒泡排序#include <stdio.h>void bubble_sort(int arr[], int len) { int i, j, temp; for (i = 0; i < len - 1; i++) for (j = 0; j < len - 1 - i; j++) if (arr[j] > arr[j + 1]) { temp = arr[j];

2022-03-16 17:59:19 117

原创 (29)命令行参数

命令行参数是使用 main() 函数参数来处理的,其中,argc 是指传入参数的个数,argv[] 是一个指针数组,指向传递给程序的每个参数。下面是一个简单的实例,检查命令行是否有提供参数,并根据参数执行相应的动作:#include <stdio.h>int main( int argc, char *argv[] ) { if( argc == 2 ) { printf("The argument supplied is %s\n", argv[1]);

2022-03-16 17:53:40 52

原创 (28)内存管理

*void calloc(int num, int size);在内存中动态地分配 num 个长度为 size 的连续空间,并将每一个字节都初始化为 0。所以它的结果是分配了 num*size 个字节长度的内存空间,并且每个字节的值都是0。*void free(void address);该函数释放 address 所指向的内存块,释放的是动态分配的内存空间。*void malloc(int num);在堆区分配一块指定大小的内存空间,用来存放数据。这块内存空间在函数执行完成后不会被初始化,它们的

2022-03-16 17:49:35 71

原创 (27)可变参数

int func(int, ... ) { . . .} int main(){ func(2, 2, 3); func(3, 2, 3, 4);}func() 最后一个参数写成省略号,即三个点号(…),省略号之前的那个参数是 int,代表了要传递的可变参数的总数。为了使用这个功能,您需要使用 stdarg.h 头文件,该文件提供了实现可变参数功能的函数和宏。具体步骤如下:(1)定义一个函数,最后一个参数为省略号,省略号前面可以设置自定义参数。(2)在函

2022-03-16 17:45:27 34

原创 (26)递归

数的阶乘#include <stdio.h> double factorial(unsigned int i){ if(i <= 1) { return 1; } return i * factorial(i - 1);}int main(){ int i = 15; printf("%d 的阶乘为 %f\n", i, factorial(i)); return 0;}结果:15 的阶乘为 13076743

2022-03-16 00:45:38 142

原创 (25)错误处理

perror() 函数:显示您传给它的字符串,后跟一个冒号、一个空格和当前 errno 值的文本表示形式。strerror() 函数:返回一个指针,指针指向当前 errno 值的文本表示形式。注意:应该使用 stderr 文件流来输出所有的错误。#include <stdio.h>#include <errno.h>#include <string.h> extern int errno ; int main (){ FILE * pf;

2022-03-16 00:29:56 142

原创 (24)强制类型转换

请看下面的实例,使用强制类型转换运算符把一个整数变量除以另一个整数变量,得到一个浮点数:#include <stdio.h> int main(){ int sum = 17, count = 5; double mean; mean = (double) sum / count; printf("Value of mean : %f\n", mean ); }结果:Value of mean : 3.400000这里要注意的是强制类型转换运算符

2022-03-16 00:23:04 174

原创 (23)预处理器

指令描述#define定义宏#include包含一个源代码文件#undef取消已定义的宏#ifdef如果宏已经定义,则返回真#ifndef如果宏没有定义,则返回真#if如果给定条件为真,则编译下面代码#else#if 的替代方案#elif如果前面的 #if 给定条件不为真,当前条件为真,则编译下面代码#endif结束一个 #if……#else 条件编译块#error当遇到标准错误时,输出错误消息#pragma...

2022-03-16 00:17:27 146

原创 (22) 文件读写

打开文件使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象FILE *fopen( const char * filename, const char * mode );filename 是字符串,用来命名文件,访问模式 mode 的值可以是下列值中的一个:模式描述r打开一个已有的文本文件,允许读取文件w打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会从文件的开头写入内

2022-03-15 22:49:00 599

原创 (21)输入输出

scanf() 函数用于从标准输入(键盘)读取并格式化printf() 函数发送格式化输出到标准输出(屏幕)%d 格式化输出整数%f 格式化输出浮点型数据getchar() :从屏幕读取下一个可用的字符,并把它返回为一个整数。这个函数在同一个时间内只会读取一个单一的字符。putchar() :把字符输出到屏幕上,并返回相同的字符。这个函数在同一个时间内只会输出一个单一的字符。实例:#include <stdio.h> int main( ){ int c; p

2022-03-15 20:57:03 46

原创 (20)typedef

typedef 关键字,可以使用它来为类型取一个新的名字,也可以使用 typedef 来为用户自定义的数据类型取一个新的名字。如下:#include <stdio.h>#include <string.h> typedef struct Books{ char title[50]; char author[50]; char subject[100]; int book_id;} Book; int main( ){ Boo

2022-03-15 20:49:53 45

原创 (19)C位域

如果程序的结构中包含多个开关量,只有 TRUE/FALSE 变量,如下:struct{ unsigned int widthValidated; unsigned int heightValidated;} status;这种结构需要 8 字节的内存空间,但在实际上,在每个变量中,我们只存储 0 或 1。上面的结构可以重写成:struct{ unsigned int widthValidated : 1; unsigned int heightValidated : 1;}

2022-01-26 20:52:04 62

原创 (18)共用体

定义共用体union [union tag]{ member definition; member definition; ... member definition;} [one or more union variables];union tag 是可选的,每个 member definition 是标准的变量定义,比如 int i; 或者 float f; 或者其他有效的变量定义。在共用体定义的末尾,最后一个分号之前,您可以指定一个或多个共用体变量,这是可选的。下面定

2022-01-26 14:10:36 61

原创 (17)结构体

定义结构struct tag { member-list member-list member-list ...} variable-list ;tag 是结构体标签。member-list 是标准的变量定义,比如 int i; 或者 float f,或者其他有效的变量定义。variable-list 结构变量,定义在结构的末尾,最后一个分号之前,您可以指定一个或多个结构变量。下面是声明 Book 结构的方式:struct Books{ cha

2022-01-25 22:19:48 79

原创 (16)C字符串

在 C 语言中,字符串实际上是使用空字符 \0 结尾的一维字符数组。因此,\0 是用于标记字符串的结束。下面的声明和初始化创建了一个 RUNOOB 字符串。由于在数组的末尾存储了空字符 \0,所以字符数组的大小比单词 RUNOOB 的字符数多一个。char site[7] = {'R', 'U', 'N', 'O', 'O', 'B', '\0'};char site[] = "RUNOOB";实例#include <stdio.h> int main (){ cha

2022-01-25 22:05:25 426

原创 (15)函数指针与回调函数

函数指针是指向函数的指针变量。通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。函数指针可以像一般函数一样,用于调用函数、传递参数。函数指针变量的声明:typedef int (*fun_ptr)(int,int); // 声明一个指向同样参数、返回值的函数指针类型以下实例声明了函数指针变量 p,指向函数 max:#include <stdio.h> int max(int x, int y){ return x > y ? x :

2022-01-25 21:55:42 49

原创 (14)C指针

以下是有效的指针声明:int *ip; /* 一个整型的指针 */double *dp; /* 一个 double 型的指针 */float *fp; /* 一个浮点型的指针 */char *ch; /* 一个字符型的指针 */如何使用指针使用指针时会频繁进行以下几个操作:定义一个指针变量、把变量地址赋值给指针、访问指针变量中可用地址的值。这些是通过使用一元运算符 * 来返回位于操作数所指定地址的变量的值。#include <stdio.h>

2022-01-25 21:51:44 56

原创 (13)C枚举enum

枚举是 C 语言中的一种基本数据类型,它可以让数据更简洁,更易读。枚举语法定义格式为:enum 枚举名 {枚举元素1,枚举元素2,……};enum DAY{ MON=1, TUE, WED, THU, FRI, SAT, SUN};注意:第一个枚举成员的默认值为整型的 0,后续枚举成员的值在前一个成员上加 1。我们在这个实例中把第一个枚举成员的值定义为 1,第二个就为 2,以此类推。可以在定义枚举类型时改变枚举元素的值:enum season {spring, summer=

2022-01-25 11:53:11 217 1

原创 (12)C数组

声明数组double balance[10];初始化数组初始化语句:大括号 { } 之间的值的数目不能大于我们在数组声明时在方括号 [ ] 中指定的元素数目。double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};如果您省略掉了数组的大小,数组的大小则为初始化时元素的个数。double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};下面是一个为数组中某个元素赋值的实例:balance[4] = 50.0

2022-01-25 11:31:06 477

原创 (11)C作用域规则

C 语言中有三个地方可以声明变量:1.在函数或块内部的局部变量2.在所有函数外部的全局变量3.在形式参数的函数参数定义中局部变量在某个函数或块的内部声明的变量称为局部变量。它们只能被该函数或该代码块内部的语句使用。局部变量在函数外部是不可知的。下面是使用局部变量的实例。在这里,所有的变量 a、b 和 c 是 main() 函数的局部变量:#include <stdio.h> int main (){ /* 局部变量声明 */ int a, b; int c;

2022-01-24 17:33:35 40

原创 (10)C函数

在 C 语言中,函数由一个函数头和一个函数主体组成。下面列出一个函数的所有组成部分:**返回类型:**一个函数可以返回一个值。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void。**函数名称:**这是函数的实际名称。函数名和参数列表一起构成了函数签名。**参数:**参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数是可选的,也就是说,函数可能不包含参数。**函数主体:**函数主体包含一组定义函数执行任务的语句。函数声明int

2022-01-24 17:25:13 88

原创 (9)C循环

循环类型:while 循环 for 循环 do…while 循环 嵌套循环循环控制语句break 语句 终止循环或 switch 语句,程序流将继续执行紧接着循环或 switch 的下一条语句。#include <stdio.h> int main (){ /* 局部变量定义 */ int a = 10; /* while 循环执行 */ while( a < 20 ) { printf("a 的值: %d\n", a)

2022-01-23 20:03:32 381

原创 (8)C判断

判断语句 if 语句 if...else 语句 嵌套 if 语句 switch 语句 #include <stdio.h> int main (){ /* 局部变量定义 */ char grade = 'B'; switch(grade) { case 'A' : printf("很棒!\n" ); break; case 'B' : case 'C' : prin

2022-01-23 19:52:53 375

原创 (7)C运算符

算术运算符请看下面的实例,了解 C 语言中所有可用的算术运算符:#include <stdio.h> int main(){ int a = 21; int b = 10; int c ; c = a + b; printf("Line 1 - c 的值是 %d\n", c ); c = a - b; printf("Line 2 - c 的值是 %d\n", c ); c = a * b; printf("Line 3 - c

2022-01-23 19:45:26 263

原创 (6)C存储类

auto 是局部变量的默认存储类, 限定变量只能在函数内部使用;register 代表了寄存器变量,不在内存中使用;static 是全局变量的默认存储类,表示变量在程序生命周期内可见;extern 表示全局变量,即对程序内所有文件可见,类似于Java中的public关键字;auto 存储类auto 存储类是所有局部变量默认的存储类。{ int mount; auto int month;}上面的实例定义了两个带有相同存储类的变量,auto 只能用在函数内,即

2022-01-23 12:49:43 46

原创 (5)C常量

整数常量整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。整数常量也可以带一个后缀,后缀是 U 和 L 的组合,U 表示无符号整数(unsigned),L 表示长整数(long)。后缀可以是大写,也可以是小写,U 和 L 的顺序任意。212 /* 合法的 */215u /* 合法的 */0xFeeL /* 合法的 */078 /* 非法的:8 不是八进制的数字

2022-01-23 12:38:11 143

原创 (4)C变量

变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的,因为 C 是大小写敏感的。类型 描述char 通常是一个字节(八位), 这是一个整数类型int 整型,4 个字节,取值范围 -2147483648 到 2147483647float 单精度浮点值。单精度是这样的格式,1位符号,8位指数,23位小数double 双精度浮点值。双精度是1位符号,11位指数,52位小数void

2022-01-23 11:02:11 68

原创 (3)C数据类型

序号 类型与描述1 基本类型:它们是算术类型,包括两种类型:整数类型和浮点类型。2 枚举类型:它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。3 void 类型:类型说明符 void 表明没有可用的值。4 派生类型:它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。整数类型类型 存储大小 值范围char 1 字节 -128 到 127

2022-01-23 10:51:14 52

原创 (2)C基本语法

标识符C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。C 标识符内不允许出现标点字符,比如 @、$ 和 %。C 是区分大小写的编程语言。因此,在 C 中,Manpower 和 manpower 是两个不同的标识符。下面列出几个有效的标识符:mohd zara abc move_name a_123myname50 _temp j

2022-01-23 10:36:57 55

原创 (1)C程序结构

C 程序主要包括以下部分:预处理器指令函数变量语句 & 表达式注释#include <stdio.h> //预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件int main() //主函数,程序从这里开始执行{ /* 我的第一个 C 程序 */ //这里放置程序的注释内容 printf("Hello, World! \n"); //C中另一个可用的函数,会在屏幕上显示消息 "Hello, World!"

2022-01-22 19:41:13 175

原创 【计算机考研数据结构代码题总结】树

1.假设二叉树采用二叉链存储结构存储,设计一个算法计算一棵给定二叉树的所有叶子节点个数。int LeafNodes(BTNode *b){ int num1,num2; if (b == NULL) return 0; else if(b->1child==NULL && b->rchild==NULL) return 1; else { num1=LeafNodes(b->1child); num2=LeafNodes(b->rch

2021-12-22 22:55:52 4767 2

原创 【计算机考研数据结构代码题总结】栈和队列

1.回文是指正读反读均相同的字符序列,如“ “abba” ” 和“ “abdba” ” 均是回文,但“ “good” ” 不是回文。试写一个算法判断给定字符序列是否是回文。(提示:将一半字符入栈。)int isPalindrome(char *t){ InitStack(S); len = strlen(t); //求字符串长度 for(int i = 0; i<len/2; i++) //将一半字符入串 Push(S,t[i]); if(len%2 != 0) i+

2021-12-10 18:17:53 1498

原创 【计算机考研数据结构代码题总结】链表

1.在带头节点的单链表L中,删除所有值为X的结点,并释放其空间,假设值为X的节点不唯一,试编写算法实现。//单链表//要放置三个指针,pre指向头结点(p结点的前驱),p指向头结点的下一个结点,q指向要被删除的结点typedef struct LNode{ int data; struct LNode *next;}LNode;void Del_X(LNode *L, ElemType X){ LNode *pre, *p, *q; pre = L; p = L->next;

2021-12-10 18:04:59 1412

原创 【计算机考研数据结构代码题总结】顺序表

1.设将 n(n>1)个整数存放在一维数组 R 中。试着设计一个在时间复杂度和空间复杂度都尽可能高效的算法,将 R 中保存的序列循环左移 ( 0<p<n ) 个 位 置 , 即 将 R 中 的 数 据 由 ( x 0 ,x 1 ,…,x n-1 ) 变 换 为 ( x p ,x p+1 ,…,x n-1 ,x 0 ,x 1 ,…,x p-1 )//先将 n 个数据 x 0 ,x 1, …,xn-2,xn-1 原地逆置,得到 x n-1 ,x n-2 ,…,x,x 0 ,然后再将 n-p

2021-12-10 16:15:19 886

原创 【数据结构——树】二叉树的节点定义与遍历算法

(1)二叉树的节点定义//普通二叉树的链式存储结点定义typedef struct BTNode{ char data; struct BTNode *lchild; //左孩子 struct BTNode *rchild; //右孩子}//线索二叉树的结点定义typedef struct TBTNode{ char data; int ltag, rtag; struct TBTNode *lchild; //左孩子 struct TBTNode *rchild; //右孩子}

2021-12-09 22:01:35 1564

原创 【数据结构——串】结构体定义和基本操作

(1)串的结构体定义//定长顺序存储表示typedef struct{ char str[maxSize+1]; //多出一个‘\0’作为结束标记 int length; }Str;//变长分配存储表示typedef struct{ char *ch; //指向动态分配存储区首地址的字符指针 int length; }Str;(2)串的基本操作//赋值操作int fuzhi(Str &str, char *ch){ if(str.ch){ free(str.

2021-12-09 20:42:22 864

原创 【数据结构——栈和队列】链队的基本操作

typedef struct QNode{ int data; //数据域 struct QNode *next; //指针域}QNode;typedef struct{ QNode *front; //队头指针 QNode *rear; //队尾指针}LiQueue;//初始化void initQueue(LiQueue *&lqu){ lqu = (LiQueue *)malloc(sizeof(LiQueue)); lqu->front = lqu-&g

2021-12-09 20:00:56 347 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除