• C编程经验总结5(剧终)


    Prolog是AI编程语言

    Git(分布式)  svn(集中式)   commit(委托,犯罪) patch补丁)  merge(融入)  

    repository(仓库)

    Ctrl+s(保存)     redis  consent(同意)  congress(国会)

    Greedy贪心   heap(堆)

    **********************************************************

    移动web开发

    3D计算机图形学(opengl版)

    如果汉得的机会抓不住,那真的不好啊,去看看吧,看看情况

    maya其实是个语言  黑客其实只要是利用网络进行攻击的,硬件攻击较少

    Pro x kpi roi  网络命令  系统漏洞 木马

    Qq简单盗   不要运行乱的文件  好友号好好盗 qqexplorer

    ***********************************************************

    结构体  结构变量  结构数组  结构指针结构体类似类(但是里面是没有方法)

    Struct people{

    Char name[];

    Int age;

    Char telephone[];

    };

    结构类型的变量  结构的成员也可以是结构

    Struct people people1;定义结构类型的people1

    Struct people{

    Char name[];

    Int age;

    Char telephone[];

    }people1,people2;

    **********************

    还有一种定义就是

    Struct {

    Char name[];

    Int age;

    Char telephone[];

    };people1,people2;

    这种定义适合只有一个结构体的程序,不提倡

    结构的本质是数组

    Struct people people1={“***”,”***”,”*******”};  初始化

    People1.age=10;

    结构变量做为参数时候,在函数里面是和成员变量对应

    只要用到字符串的输入,就要用指针来存

    浙江科技出版社

    结构数组的定义

    Struct people{

    Char name[];

    Int age;

    Char telephone[];

    }people[];

    或者struct people people1[10]={{“ ”,” ”,” ”},{ “ ”,” ”,” ”},{ “ ”,”  ”,”  ”}};

    结构指针其实指向了结构的第一个成员

    C只要一实用,就是会用到结构

    (*p).age=10;   .(成员运算符)高于*  *p(运算意思是地址存的值)

    P->=10;常用

    结构指针+1代表进入下一个结构的首地址(第一个成员变量的地址)

    While(1){} 永久循环

    函数与函数之间的调用逻辑关系在脑海中是清楚的

    要有写代码的好的文化习惯风格

    大的程序都是程序文化模块组成的,所以需要链接然后执行  

    Include只是包含进来,并不是C语句的组成

    #Include”  ”适用于自己写的包含文件,如果找不到,会到C系统去找标准库文件

    还可以链接工程文件

    可以包含.c文件 也可以是.h文件(意思是头文件,用于定义申明和常量)

    函数的定义可以是在独立的文件当中,要用#include链接起来,而且这样调用函数的时候不需要申明

    Cype.h(字符处理)   stddefh(定义某些常用内容)    stdlib.h(杂项申明)

    共用体

    静态全局变量(在一个模块内的)  寄存器变量 register int a;

    外部变量(全局变量通过外部变量来统一所有模块。它让其他模块全局变量的使用不需要先定义)  extern a;

    函数的外部申明: extern int max();(这样其他模块就可以调用)

    静态函数(内部函数)是只在模块之内的  static int max();

    递归的本质就是函数内部的N次嵌套,而和循环有本质的区别。递归的结构像是栈

    对于程序的结构是在心中了如执掌的

    宏定义 #define PI  3.14(为宏定义的字符串) 注意:后面无;

    宏定义字符串里不能有空格

    #define a “niuweiqiang

           Is a student.”  

    表示未结束  输出时用printf(a);而不是printf(“a”);

    #undef a 用于结束宏的范围     宏的作用只是替换

    条件编译:  #define a

                #if a

                   *******

                #else

                   ********

                #endif

    编译预处理只是解释成C,不会进行编译

    指针数组   char *a[]; 这时候数组是之前的变量名

    指针作为变量再加个指针

    使用指针数组可以处理二位数组(或是多个字符串)

    命令+参数   编译器中执行程序,这是在IDE中的理解

    含有命令行的主函数写为:

    Int main(int argc,char *argv[])

    {

    }

    回显  一个汉字是2个字符  

    函数指针 (通过它可以调用函数):

    Int (*max)(int x,int y);

    首先是要对于函数指针赋值   max=max1;

    通过函数指针调用函数:(*max)(3,5);

    P->age=10;用于访问结构体成员变量,p指针指向age

    结构的递归定义 null的是值是0

    Goto语句:  goto 1(标号语句)  (goto必须和1标注的语句在一个函数)

    #<stdbool.h>里面有布尔类型   auto是存储类型

    Struct stud *p;

    P=(struct stud *)malloc(sizeof(struct stud));申请一个地址,然后转换成结构指针类型

    链表就会用结构

    删除节点的原则是:先接,然后删除

    磁盘文件   

    文件指针   fopen()     fclose()  fscanf(fp,”%d”,&num);

    Feof(fp);表示文件到末尾了

    二进制读写函数   fread()  fwrite()数据整块的读写

    Fread(fa,4,5,fp);————每次读4个字节(一个实数)到fa数组中,读5次,

    EOF文件中的失败    offset偏移量

    fprintf(fp,”%s”,”niuweiqiang”) ;

       File *fp

    If((fp=fopen(“f1.txt”,”w”))==null)

    {

       Printf(“    error     ”);

        Exit(0);

    }

    If(fclose(fp)){

    Printf(“  error  ”);

    Exit(0);

    }

    #include<process.h>

    Exit()  使程序终止,清除关闭打开的文件 exit(0)表正常关闭,exit(1)表示异常

    动态内存分配时候 #include<stdlibh>

    #include<ctype.h>

    Srand(int n) 以n为种子产生随机数     rand()

    很多函数库函数里面有,比如大小写转换函数 tolower()    toupper()

    把文件送到内存(打开文件)  如果不保存数据真的会消失

    文件的本质是数组类似的,是储存的组织形式而已

    缓冲文件系统  nuix中对于文本文件有缓冲系统,对于字符流文件没有

    文件的本质是结构(文件结构)

    Fgets()  fputs()  fputc()   puts()  fgetc()

    Feof() 检查文件是否结束

    读文件就是(到内存)

    Rewind()  指针移动到文件头

    Fseek() 移动指针

    Ftell()    remove()删除文件  rename()重命名文件

    Typedef语句:给存在的数据类型定义新名字 (自定义类型)

    Typedef int INT;(其实本质为名字的替换)

    Typedef struct{

    Int a;

    Int b;

    }point;

    给结构体新的名字point  

    枚举类型: enum zhou{monday,sunday,……} zhou1,zhou2;

    枚举变量: enum zhou  zhou1;

    联合体  Union china

    {

    ……

    ……

    }china1,china2;

    或者: union china china1;

    联合体(变量集合)是一个大变量,特点是里面的变量共享同一内存

    联合体的初始化

    Union china

    {

    Long int i;

    Int a[];

    }china1={1};

    或者 union china china1={.i=1,.a[0]=1,.a[1=2];}

    文件结构的成员指针其实指向的是缓冲区  文件指针其实是结构指针

    文件的本质是结构   文件结构指针不能进行这些运算:*fp

    操作文件时候,首先定义文件指针,然后一定是打开文件

    Fp=fopen(“niu.c”,”r”)

                  “w”建立新的文件  “wb”建立新的二进制文件

                  “a+”附加了读写

    一般不用”w”,因为是会删除原本存在的

    文件的操作是用缓冲区来借助的,完美!

    Ftell();

    Ferror();

    Clearerr();

    Fseek();指示指针的移动

    Rewind();

    Feof();

    随机文件:记录的长度一样,整体,访问方便

    顺序文件:记录长度不确定

    觉得好的C代码其实结构是差不多的!!!!!整体,清晰。

    高级的C都是会用到文件,C的高级其实就是写个图书管理系统就可以了!!

    **********************************************************************

    至此,C总结完结…(注:更多的细节需要实践中积累,C永远在路上)

                                       2017 4.6晚————于兰大翠英山下

  • 相关阅读:
    模式识别之检索---Bag of visual word(词袋模型)
    模式识别之knn---KNN(k-nearest neighbor algorithm)--从原理到实现
    目标跟踪之meanshift---meanshift2
    图像处理之增强---图像模糊检测
    模式识别之非参数估计---非参估计中的核函数
    haproxy文章
    nginx 有关防盗链的设置
    haproxy 关闭ssl3
    navicat 在写存储过程的时候总是说语法错误
    开源的报表系统easyreport的部署
  • 原文地址:https://www.cnblogs.com/niu3/p/9352031.html
Copyright © 2020-2023  润新知