
C语言
文章平均质量分 85
噗噗bug
You are no different to the rest of us, remember that.
展开
-
C语言经典编程282例16
138 使用指针实现整数排序实现输入3个整数,将这3个整数按照由大到小顺序输出,显示在屏幕上用指针的方式,实现数据的排序,用模块化,来实现。#include <stdio.h>#include <stdlib.h>void swap(int *a, int *b){ int temp; if(*a > *b) { temp = *b; *b = *a; *a = temp; } }void temp(int *a, int原创 2022-01-17 23:04:47 · 574 阅读 · 2 评论 -
链表学习笔记整理(c)
问题?假如:做一个班级信息管理系统,统计班级学生的信息,而我们事先不知道班级人数,或者知道人数,但是中间人员可能发生变化:比如有新同学加入,有同学请假,又或者我们需要统计班级的平均成绩等等又假如:要做一个类似QQ、飞秋类似的通信软件,其中有一个功能,类似用户上下线检测:有新的用户上线、下线实时更新显示,可以实时查询在线状态、按姓名排序等以上问题如何使用学过的C语言知识处理呢?使用数组远远不能达到用户要求因为:数组必须实现确定大小,不能实现动态申请、释放;且创建的数据也不一定是相同类型的...原创 2021-08-23 10:55:41 · 490 阅读 · 0 评论 -
字符串处理函数(c)
一般情况下与字符串相关的函数都是以str开头一、获取字符串长度函数头文件: #include <string.h>函数定义: size_t strlen(const char *s);函数功能:测字符指针s指向的字符串中的字符个数,不包括‘\0‘返回值:字符串中字符个数’注意:strlen获取的字符串长度遇到第一个’\0‘结束且'\0'不算做字符串长度之中#include <stdio.h> #include <st...原创 2021-08-07 09:52:59 · 529 阅读 · 0 评论 -
C指针学习笔记(三)—— 指针和函数的关系
十二、指针和函数的关系12.1 指针作为函数的参数可以给函数传一个整型、字符型、浮点型的数据,也可以给函数传一个地址。函数的传参方式 :复制传参 地址传参 全局传参(几乎用不到)12.1.1 复制传参 -- 传输值#include <stdio.h> //函数的传参方式之复制传参:将实参的值传递给形参,不管形参怎么改变,都和实参没有关系 void fun1(int a, int b){ int temp; temp = a; a = b; b.原创 2021-07-29 16:24:26 · 1453 阅读 · 0 评论 -
c指针学习笔记(二)
十、字符串和指针字符串:字符串是以‘\0’ 结尾的若干字符的集合字符串存储形式:数组、字符串指针、堆char string[100] = "i love c!";定义一个字符数组string用来存放多个字符char *str = "i love c!";定义一个指针变量str,只能存放字符地址编号,这个字符串的字符不能存放在str指针变量中。str只是存放了字符1的地址编号, "i love c!"存放在文字常量区char *str = (char *)malloc(10原创 2021-07-26 10:41:52 · 591 阅读 · 0 评论 -
c指针学习笔记(一)
一、关于内存那点事1.1 存储器:存储器件外存外存 = 外部存储器,长期存放数据,掉电不丢失数据常见的外存设备:硬盘、flash、rom、u盘、光盘、磁带内存内存= 内部存储器。暂时存放数据。掉电数据丢失常见的内存设备:ram、DDR物理内存:实实在在的存储设备虚拟内存:操作系统虚拟出来的内存,当一个进程被创建的时候,或c程序运行时都会分配虚拟内存,虚拟内存和物理内存之间存在映射关系32bit 物理...原创 2021-07-21 11:24:47 · 552 阅读 · 3 评论 -
短整型转字符数组,字符数组转短整型
一、短整型转字符数组void main(){ char num[2]; short int a = 299; num[0] = (char)a ; num[1] = (char) (a >> 8); printf("%d\n", num[0]); printf("%d\n", num[1]);}二、字符数组转短整型void main(){ char num[2]; short int a = 299;.原创 2021-07-14 09:35:55 · 338 阅读 · 0 评论 -
选择及分支结构程序设计(c语言)
$7选择及分支结构程序设计㈠、if语句if语句形式if…else形式else if形式㈡、switch 语句㈢、if与switch 语句区别原创 2021-07-06 21:47:26 · 278 阅读 · 1 评论 -
C语言经典编程282例15(数组排序等)
127 求直角三角形的斜边求直角三角形的斜边,运行程序输入三角形的2个直角边,输出对应的斜边长度。、方式一: #include <stdio.h> int cal(int a, int b){ return sqrt(pow(a, 2) + pow(b, 2));}void main() { int a, b, c; printf("输入2边:"); scanf("%d %d", &a, &b); c =.原创 2021-05-28 15:21:44 · 899 阅读 · 3 评论 -
C语言经典编程282例14 (阶乘、最大公约数与最小公倍数等)
116 输出两个数中的最大值设计一个求最大值的函数,在屏幕上输入两个数,输出其中的最大值。int max(int a, int b){ int temp; //此处可以改为:temp = a > b? a:b; if(a > b) { temp = a; } else { temp = b; } return temp;}main(){ int a, b, c; scanf("%d%d", &a, &b); c = max(a, b)原创 2021-05-24 15:00:42 · 1183 阅读 · 12 评论 -
C语言经典编程282例13
101 使用数组统计学生成绩输入学生的学号及语文、数学、英语成绩,输出学生各科成绩及平均成绩信息。1、可宏定义学号及各科成绩的最大范围,这样可更改2、平均值放在float#include<stdio.h>#include<math.h>#include<time.h>#include<stdlib.h>#include<string.h>#define MAX 50 main(){ int name[MAX], c原创 2021-03-08 11:47:41 · 1588 阅读 · 0 评论 -
图书管理系统(C & SQL)
要求: 开发一个图书管理系统,该系统结合MySQL数据库设计而构成的一个数据库管理系统,对图书信息进行添加、删除、修改、查询等操作。实现功能:录入图书信息 实现删除功能 实现查找功能 实现修改功能 保存添加的图书信息一、数据库设计根据网站下载MySQL软件,参考链接:https://blog.youkuaiyun.com/chenriyang0306/article/details/54587034????在创建数据库前,先看现在数据库中存在什么表:在创建数据库前,先看现在原创 2021-03-04 14:55:56 · 3809 阅读 · 2 评论 -
文件学习笔记(c)
前提: 由scanf 键盘输入的数据与printf程序运行产生的结果,会随着运行程序的结束而丢失。即输入数据和产生的结果并没有被保存,被保存的仅仅只是程序执行代码。文件是解决不仅保留执行代码,保留输入数据或运行结果。一、文件概述文件指一组相关数据的有序集合,即文件名;通常存储在外部介质上(存储在磁盘上),在使用时才调入到内存中。 如常把磁盘作为信息载体,保存中间结果或最终数据。当有大量数据输入,通过编辑器可以事先建立输入数据文件,程序运行时从指定文件中读取数据;当有大量数...原创 2021-03-01 11:51:51 · 992 阅读 · 0 评论 -
预处理(c)
一、宏定义1.1 不带参数的宏定义#define PI 3.14159一般用大写字母表示,以便与变量名相区分#define SIDE 5#define PERIMETER 4 * SIDE#define AREA SIDE * SIDE#define STAND "you are girl"printf(STAND);注意点:如果在串中含有宏名,则不进行替换#define TEST "this is an example" main(){原创 2021-02-27 10:18:23 · 211 阅读 · 0 评论 -
内存的管理(c语言)
前提: 程序在运行时,将需要的数据都组织存放在内存空间,以备程序使用。在软件开发过程中,常需要动态地分配和撤销内存空间,这就需要对内存进行管理。一、内存组织方式 程序员将程序编写完成,需要先将程序装载到计算机内核或半导体内存中,然后在运行。 程序被分成4个逻辑段:注意:根据操作平台和编辑器不同,堆和栈可使用被所有同时运行的程序共享的操作系统资源,也可使用程序独占局部资源。1.1 堆与栈????堆:存放动态分配和释放内存块的存储空间malloc()和free()从.原创 2021-02-26 15:20:40 · 1922 阅读 · 0 评论 -
位运算
一、位与字节位 bit:表示两种状态(0和1); 字节 byte: 存储数据的基本单位,1个字节通常由8位二进制组成,1 byte = 8 bit; 1KB = 1024 byte = 8 * 1024 bit; 1MB =1024KB,1GB = 1024MB二、位运算操作符&运算:只有对应的两个二进制均为1时,结果才为1,否则为0. int result; int a, b; scanf("%d", &a); sca...原创 2021-02-25 09:15:32 · 268 阅读 · 0 评论 -
链表
数据结构是数据对象以及其中的相互关系和构造方法。在数据结构中,有一种线性存储结构为线性表。链表属于线性表的链式存储结构。一、链表概述 存在原因:之前使用数组存放数据,但使用数组时要指定数组中包含元素的个数,如果该数组中加入的元素超过数组大小,则不能将内容保存,若定义一个超大的数组,这样又浪费空间。 链表这种存储方式可以解决上述问题,让其存储个数不受限定,添加元素时,存储的个数就会随之改变。 在链表中有一个头指针——head,在该指针变量中...原创 2021-02-23 14:19:10 · 372 阅读 · 2 评论 -
常用数据结构(构造类型)
一、结构体 将一些有关变量组织起来定义成一个结构(structure),用来表示一个有机整体或一种新的类型,这样程序可以像处理内部的基本数据一样来对结构进行各种操作。1.1结构体类型????① 概念结构体是一种构造类型,由若干成员组成。其中每一个成员可以是一个基本数据类型或者是一个构造类型。一般形式:struct Product{ char name[10]; char color[10]; int price;};????② 结构体变原创 2021-02-23 09:28:11 · 3682 阅读 · 2 评论 -
C函数编程基础
前言C中所有函数都是平行的,即相互独立,在一个函数中不能嵌套定义另一个函数,函数间可以互相调用,但main()函数不能被调用。所有的C代码中必须有一个main()函数一、????函数定义①、函数定义形式㈠、函数头:返回值类型函数名形式参数列表㈡、函数体由{}大括号括起来。int AddTwoNumber(int iNum1, int iNum2){ int sum; sum = iNum1+ iNum2; return sum;}㈢、特殊情况无参函数无参原创 2021-01-30 11:19:40 · 1035 阅读 · 0 评论 -
C语言经典编程282例12
094 求个元素之和使用二维数组保存一个3行3列的数组,利用双重循环访问数组的每一个元素,然后对每个元素进行累加计算。#include<stdio.h>#include<math.h>#include<time.h>#include<stdlib.h>#include<string.h> main(){ int i, j, a[3][3], sum = 0; for(i =0; i < 3; i++)原创 2021-01-27 11:56:22 · 1834 阅读 · 0 评论 -
数组学习笔记
前言在使用计算机对数据进行处理时,硬件具有相同数据类型的数据量河大(如全班同学的成绩等),对于这种需要数据量非常大的程序,需要把同一类型的数据按一定形式有序地组织起来,这有序数据地集合为数组。其结构:定义数组表明:数组元素的类型数组元素的总个数注意 :在C中,数组的下标是从0开始!一、一维数组①、一维数组:数组元素只有一个下标的组数。②、一维数组定义:如:int a[5];也可以用宏定义#definr#define a 9.... int i[a];③、所需要原创 2021-01-27 09:52:30 · 202 阅读 · 0 评论 -
C语言经典编程282例11
076 使用while 语句求n!3! = 3 * 2 *1, 5! = 5 * 4 * 3 * 2 * 1n! = n * (n - 1) * … 2 * 1,使用while语句求n!输入n =0或1 时的阶乘不可少!输出的总和结果要定义为单精度或双精度型,如果定义整型容易溢出。#include<stdio.h>#include<math.h>#include<time.h>#include<stdlib.h>#include<s原创 2021-01-21 15:24:14 · 852 阅读 · 2 评论 -
C语言经典编程282例10
067 判断偶数利用单条件单分支选择语句判断输入的一个整数是否偶数?#include<stdio.h>#include<math.h>#include<time.h>#include<stdlib.h>#include<string.h> main(){ int i; scanf("%d", &i); if(i % 2 == 0) { printf("该数是偶数\n"); } else原创 2020-12-10 17:17:42 · 1251 阅读 · 0 评论 -
C语言经典编程282例09
059 使用字符函数输入/输出字符使用各种字符输入函数接收用户输入:#include<stdio.h>#include<math.h>#include<time.h>#include<stdlib.h>#include<string.h> main(){ char x1, x2, x3; //不需要输enter键 x1 = getchar(); x2 = getchar(); x3 = get原创 2020-12-08 16:39:35 · 659 阅读 · 0 评论 -
C语言经典编程282例08
045 求二元一次不定方程求解二元一次不定方程ax + by = c 的解,其中a、 b 、 c要求从键盘中输入,其中a>0,b>0且a>=b,定理1:现有不定方程a * x + b * y = c,a,b,c均为整数,若d=GCD(a,b)(GCD表示取a,b的最大公约数),d|c(d整除c),那么二元一次不定方程必定有解,且有无数解。定理2:若不定方程a * x + b * y = c有整数解,则通解的形式必定为X=x0 + b/d * n, Y = y0 - a/d * n原创 2020-12-08 10:34:11 · 1307 阅读 · 1 评论 -
$5 运算符与表达式 && $6 数据输入/输出函数
㈠、自动类型转换与强制类型转换㈡、 算术表达式‘*’ 、 / 、% 的优先级别高于 + 、 -当算术运算符的优先级相同时,结合方向“自左向右”㈢、自增自减运算符原创 2020-12-07 14:34:18 · 1741 阅读 · 0 评论 -
C语言经典编程282例07
036 小球下落问题一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下,求它在第十次反弹多高?小球从100米高处自由下落,第一次落地时经过100米,这个需单独考虑,从第一次弹起到第二次落地前经过的路程为前一次的高度的一半×2,加上前面弹起的路程——因为每次都有弹起和下落两个过程。#include<stdio.h>#include<math.h>#include<time.h>#include<stdlib.h>#include&l原创 2020-12-03 15:01:55 · 579 阅读 · 0 评论 -
常用数据类型
㈠、数据类型㈡、符号常量:将程序中的常量定义为一个标识符,该常量就叫做符号常量。在使用前需要先定义,通常,符号常量使用大写字母表示:#define PAI 3.14㈢、变量①、变量: 在程序运行中可以改变的量,每个变量都是一种类型,每种类型都定义了变量的格式和行为。每个变量都有属于自己的名字,并在内存中占有存储空间,其大小取决于类型。整型变量、实型变量和字符型变量。实型数据:是按照指针的形式存储的,系统把实型数据的小数部分和指针部分分别存放。字符型变量(1个字节):是用来存储字原创 2020-12-03 14:52:22 · 783 阅读 · 2 评论 -
C语言经典编程282例06常用数据类型
030 数值型常量的使用C语言中数值型常量常见的有整型常量和实型常量。不同常量有不同的要求。要求:以十进制、八进制、十六进制的形式输出:123,再以浮点数的形式输出以标准十进制和科学型表示的123.4#include<stdio.h>#include<math.h>#include<time.h>#include<stdlib.h> main(){ int i = 123; float j = 123.4; printf("%原创 2020-11-30 17:25:00 · 452 阅读 · 2 评论 -
C语言经典编程282例05(斐波那契数列,哥德巴赫猜想,尼科彻斯定理)
027 斐波那契数列斐波那契(Fibonacci)数列的特点:第1个和第2个数都为1,从第3个数开始,该数是前两个数之和,求这个数列的前30个元素,在数学上,斐波那契数列是以递归的方法来定义:将F的下标看成数组下标#include<stdio.h>#include<math.h>#include<time.h>#include<stdlib.h> main(){ long f[100]; int i; f[原创 2020-11-30 11:27:01 · 485 阅读 · 0 评论 -
C语言经典编程282例04查找
024 二分查找漫画学习:https://baijiahao.baidu.com/s?id=1635498997846582026&wfr=spider&for=pc有序数组查找:二分查找:小游戏:A在心里想一个范围[1, 1000]的数字,B来猜这个数,如果B猜的数字比A想的还要大,就说大看,如果B猜的数字比A想的要小,就说小了,一直到猜中为止。只用9次猜出1000以内的数字,这就是二分查找的思想,每次猜测,都选取一段整数范围的中位数,这样是效率最高效率。如果我们把场景原创 2020-11-28 16:52:11 · 414 阅读 · 0 评论 -
C语言经典编程282例03排序(直接、冒泡、快速排序等)
018 直接插入排序插入排序是把一个记录插入到已排序的有序序列中,使整个序列在插入该记录后仍然有序,插入排序中较简单的一种方法是直接插入排序,其插入位置的确定方法是将待插入的记录与有序区中的各记录自右向左依次比较其关键字值得大小,要求: 使用直接插入排序法将数字由小到大排序。——直接插入排序基本思想:每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。可以看出s[0]为监视参考的值,左边为排序好的值,右边为待排序的值,#include<stdio.h>原创 2020-11-27 15:56:54 · 509 阅读 · 0 评论 -
C语言经典编程282例02
012 任意次方的最后三位求一个整数任意次方后的三位数 ,即求x^y的最后3位数,//官方#include<stdio.h>main(){ int x, y, z = 1, i; printf("请输入两个数,x和y(x^y):\n"); scanf(" %d%d \n" , &x, &y); for(i = 1; i <= y; i++) { z =z * x % 1000;原创 2020-11-24 15:59:51 · 762 阅读 · 0 评论 -
C语言经典编程282例01
前提:因为之前都是接触概念较多,现在从实际来操作。01 Hello world说到第一个程序不得不从Hello world 开始!#include<stdio.h>main(){ printf("hello word!"); //;分号要注意! printf("\n"); } 02 两值相加 — 完整的C语言程序#include<stdio.h>main(){ int a, b, sum = 0;//sum记得赋初值 a = 10; b = 20原创 2020-11-23 15:42:56 · 1259 阅读 · 0 评论