![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c
拼搏奋斗,无悔于青春
对网络安全和AI特别感兴趣,后面将主要精力放在AI 网络安全 java全栈开发,励志成为一名优秀的架构师!天行健,君子以自强不息,君子亦怀感恩之心!
展开
-
数据结构中线性表的操作
对于数据结构中线性表的操作总结如下:其在定义结构体中,因为其下标从0开始,序列从0开始,而且要注意,其间对于函数的传值是序列,操作和表示是下标原创 2021-12-02 22:12:45 · 77 阅读 · 0 评论 -
线性表查找值
对于线性表进行查找先建立线性表,然后查找,先进行顺序查找,其顺序查找可以分为俩种情况其一是不设置监视哨,其表示为while(n>=1&&l.r[n].key!=k)其二是设置监视哨,就是在数组的第0个位置,进行从后到前的查找,如果最后找到了返回值是0,那么就是没有找到,否则返回相应的位置,第二种的判定条件,while(l.r[z].key!=k)注意:**其第二种的判定条件明显比一中要少,那么查找效率也会高很多,所以能用第二种就不用第一种,效率高还有就是用二分查找必须排好序原创 2021-12-02 19:57:09 · 203 阅读 · 0 评论 -
浅谈结构体的几点认知
结构体:允许存储多个类型的数据项结构体类似于面对对象的类,可以这样说,结构体的升级版就是类,因为结构体和类很相似,但又不如类那么强大,C语言中的结构体没有java中的类那么强大,对于结构体,其只能写属性,不能写方法,而且也不能对方法进行修饰,但是结构体却在很多方面类似于类例如:#include<stdio.h>int main(){ struct book{ int id; char title[100]; char author[100]原创 2021-11-26 21:34:46 · 303 阅读 · 0 评论 -
选择排序C语言
什么是选择排序了(注:从小往大排)按照我个人的理解就是:1.在一堆数中找到最小值,然后和第一个元素交换位置2.第一个最小的数已经确定了,然后在剩下的数中找第二小的数,再和第二个位置上的数进行交换,3.这样一个一个就排好了其一共要排n-1轮其第一次排序要进行n-1次循环,第二次要进行n-2次循环,所以一共要进行**(n-1)+(n-2)+…+1= 2/(n*(n-1));所以其时间复杂度为O(n*n);**代码如下:/*Select_sort.c --选择排序 */#include&l原创 2021-11-18 22:38:25 · 469 阅读 · 0 评论 -
scanf()的一些总结
接下来说scanf()吧int scanf(char * format[,argument,…]);函数的功能:按规定格式从键盘输入若干任何类型的数据给argument所指的单元。返回读入并赋值给argument的数据个数;遇文件结束返回EOF;出错返回0它使用的一般形式:scanf(“格式控制字符串”,地址列表);#include<stdio.h>int main(){ int a; int b; b=scanf("%d",&a); printf("原创 2021-11-18 17:19:47 · 257 阅读 · 0 评论 -
C语言中printf()一些总结
大一时学东西,囫囵吞枣,很多东西都没太搞明白,为什么是这样?还有这个具体是什么样的细节根本没有把握,最近大二开始重新看书回顾了一遍,加之用代码对我自己的想法进行了验证,得出一下自己的短浅的总结printf()其实就是一个函数,写好的一个函数,供开发人员使用,其也有返回值和参数列表,其完整表示就是int printf(char*format [,argument,…]);对于其格式控制输出,我自己看书和通过代码验证总结了一下#include<stdio.h>int main(){原创 2021-11-18 16:17:13 · 300 阅读 · 0 评论 -
指针的作用
指针的作用是:1.需要传入较大的数据时用作参数2.传入数组后对数组做操作3.函数返回不止一个4.需要用函数修改不止一个变量5.动态申请内存原创 2021-10-31 13:27:29 · 1132 阅读 · 0 评论 -
数组变量是特殊的指针
数组变量是特殊的指针,其实就是数组的第一个元素的地址当然了,其实这也是一个Const 类型的指针,其实说白了就是一个常量指针,所以有以下性质:1.数组变量本身表达地址,所以int a[]; int *p=a; //无需用&取地址值但是数组的单元表达的是变量,需要用&取地址值a==&a[0]2.[]运算符可以对数组做,也可以用指针做:p[]<⇒ a[0]3.*运算符可以对指针做,也可以对数组做*a=25;4.数组变量是const的指针。所以不能原创 2021-10-31 12:09:42 · 706 阅读 · 0 评论 -
通过指针找一个数组的最大值和最小值
指针的作用之一就是返回多个值,函数只能返回一个值代码如下://test4.c --通过指针在数组中找最大值和最小值#include<stdio.h>void minmax(int a[],int len, int *min, int *max){ int i; *max=*min=a[0]; for(i=0;i<len;i++){ if(a[i]>*max){ *max=a[i]; } if(a[i]<min){ *原创 2021-10-30 21:56:13 · 4306 阅读 · 3 评论 -
构建素数表
构建素数表的代码如下://sushu2.c --构建n以内的素数表#include<stdio.h> int main(){ const int maxNumber=1000; int a[maxNumber]; int i; int x; for(i=0;i<maxNumber;i++){ a[i]=1; } for(x=2;x<maxNumber;x++){ if(a[x]){ for(int i=2;i*x<m原创 2021-10-30 19:56:32 · 194 阅读 · 0 评论 -
求素数的C语言
求一个数是不是素数:代码如下://sushu1.c --求素数#include<stdio.h>void main(){ int x,i; int ret=1; printf("请输入一个数(判断这个数是不是素数):"); scanf("%d",&x); if(x==1||x%2==0&x!=2){ ret=0; } for( i=3;i<sqrt(x);i+=2){ if(x%i==0){ ret=0; b原创 2021-10-30 11:04:13 · 111 阅读 · 0 评论 -
显示八进制和十六进制
显示八进制的格式为%o;显示十六进制为%x;显示八进制的前缀的格式为%#o;(显示八进制的前缀为0)显示十六进制的前缀格式为%#x或%#X(显示十六进制的前缀为0x或0X)程序为://bases.c --以十进制 、八进制 和十六进制打印十进制数100#include<stdio.h>int main(){ int x=100; printf("dec=%d; octal=%o; hex=%x\n",x,x,x); printf("dec=%d; oct原创 2021-10-29 15:35:57 · 185 阅读 · 0 评论 -
程序语义错误的解决方案
一般情况下,程序有语法错误都可以检查出来,但是有语义错误就必须一些手段:1.把自己当成一个计算机把程序走一遍2.在程序的关键点插入printf()语句,监视指定变量值的变化3.利用调试器Debugger...原创 2021-10-29 15:01:31 · 559 阅读 · 0 评论 -
提高程序可读性的技巧
程序的可读性提高,方便理解,也方便以后修改和更正,提高程序的可读性有以下的技巧:1和2.选择有意义的函数名和写注释,使用这俩种技巧应该相得益彰,避免重复啰嗦,如果变量名是width,就不用写注释了,如果变量名不同俗易懂,就写注释3.在函数中使用空格行分隔,可以把声明 输出和返回值分成三个部分*例如//sum.c --计算a+b #include<stdio.h>int main(){ int a=5; int b=10; printf("%d",a+b);原创 2021-10-29 14:55:55 · 1074 阅读 · 0 评论 -
c语言的编译器和链接器
C语言的源代码通过编译器进行编译,形成二进制的文件格式obj的目标代码,再通过链接器把库代码 启动代码 和目标代码链接成可执行文件exe, OBJ只给出了程序的相对地址,而EXE是绝对地址原创 2021-10-29 13:17:17 · 372 阅读 · 1 评论 -
c语言数组元素查找
问题:在数组A[1…n]中查找值为K的元素,若找到则输出其位置i(1<=i<=n),否则输出0作为标志。#include<stdio.h>void main (){ int i,a[10]; printf("请输入数组a的10个值:"); for(i=0;i<10;i++){ scanf("%d",&a[i]); } printf("\n"); printf("其输入的数组:\n"); for(i=0;i<10;i++){ pr原创 2021-10-16 18:03:40 · 3482 阅读 · 0 评论 -
c语言指针易错的点
这俩天为了学习数据结构,把c语言重新看了一下指针,我发现自己以前没有注意到的一个细节在指针定义时是一个说明符,如p但在使用的时候完全不一样了那是指向运算符也叫间接访问符*p=A;A=12;p只是一个地址*p是指向A的内容,*p相当于A;请看一下三个语句scanf("%d",&a);scanf("%d",&*p);scanf("%d",p);&a和p是相等的,和&*p也是相等的...原创 2021-09-15 17:43:19 · 133 阅读 · 0 评论