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晚————于兰大翠英山下

C编程经验总结5(剧终)的更多相关文章

  1. iOS开发编码建议与编程经验

    作者:乞力马扎罗的雪(GitHub) 原文 在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码.那么,有一个良好的编码习惯将会非常重要.下面将会罗列使用Objective-C来开发iOS的 ...

  2. C++的XML编程经验――LIBXML2库使用指南[转]

    C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...

  3. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  4. 编程经验点滴----在 Oracle 数据库中保存空字符串

    写程序这么多年,近几天才发现,向 Oracle 数据库表中,保存空字符串 '' ,结果成了 null. 由于数据库数值 null 的比较.判断,与空字符串 '' 存在差异.一不留神,代码中留下了 bu ...

  5. C++的XML编程经验――LIBXML2库使用指南

    C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...

  6. Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享

    Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享 跟很多学生聊过,很多学生不是不努力,只是找不到感觉.有一点不可否认,同样在一个教室上课,同样是一个老师讲授,学习效果迥然不同.关 ...

  7. Linux-shell编程经验记录

    Linux-shell编程经验总结 1.接收用户输入 #读取用户输入并且将输入保存到input变量中 read -p "请输入:" input #也可以先输出信息再进行读取,这里的 ...

  8. 写给已有编程经验的 Python 初学者的总结【转】

    当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...

  9. 写给已有编程经验的 Python 初学者的总结

    当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...

随机推荐

  1. CharacterController控制的物体移动

    CharacterController控制的物体移动: public class playerMove  : MonoBehaviour { public float Speed; private C ...

  2. express --- session详解

    之前一直做前端相关的工作,所以不太清楚session,也没有主动了解,最近在学node,对session的认识又有所加深,故总结之. 注: 关于session的一些配置问题,可以看这里. 第一部分: ...

  3. php防止重复提交问题总结

    用户提交表单时可能因为网速的原因,或者网页被恶意刷新,致使同一条记录重复插入到数据库中,这是一个比较棘手的问题.我们可以从客户端和服务器端一起着手,设法避免同一表单的重复提交. 1.使用客户端脚本 提 ...

  4. pta08-图7 公路村村通 (30分)

    08-图7 公路村村通   (30分) 现有村落间道路的统计数据表中,列出了有可能建设成标准公路的若干条道路的成本,求使每个村落都有公路连通所需要的最低成本. 输入格式: 输入数据包括城镇数目正整数N ...

  5. Apache和PHP的相关配置

      一.Apache2.4的配置和安装a. 打开Apache24/conf/httpd.conf文件进行编辑.1).38行改为Define SRVROOT "D:/myphp2017/Apa ...

  6. C# DialogResult的用法

    在程序中,经常会弹出一个对话框来让用户填写一些信息,填写完成后,当用户点击“确定”按钮后,在主窗体中进行其他的处理.比如一个简单的例子,在主窗体中有一个菜单,是“增加用户”,当点击这个菜单之后,我们需 ...

  7. C# 图像快速转化成byte[]和计算像素值

    public static unsafe byte[] ConvertTo8Byte(Bitmap img) { byte[] result = new byte[img.Width * img.He ...

  8. Props 和 IActorRef 3

    在Actor模式中我们使用IActorRef通过ActorSystem来发送消息数据.这么做有两个理由 1.ActorSystem会在消息中封装一些元数据(metadata),这些数据我们可以通过上下 ...

  9. executenonquery只对insert,delete,update有效,查询select会默认返回-1

    问题:cmd.ExecuteNonQuery() 方法总是返回-1 原因:ExecuteNonQuery() 方法 select 返回-1 解释:执行Select子句,数据库并无变化,自然返回-1同样 ...

  10. 写英文bug的经验总结

    本文链接: https://www.cnblogs.com/hchengmx/p/10800855.html 由于工作原因,开bug的时候需要由英文开,刚开的时候比较痛苦,因为有些词汇老师用的不太准确 ...