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晚————于兰大翠英山下
C编程经验总结5(剧终)的更多相关文章
- iOS开发编码建议与编程经验
作者:乞力马扎罗的雪(GitHub) 原文 在开发过程中,我们不仅要去看别人的代码,也要让别人看我们的代码.那么,有一个良好的编码习惯将会非常重要.下面将会罗列使用Objective-C来开发iOS的 ...
- C++的XML编程经验――LIBXML2库使用指南[转]
C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...
- Python/Numpy大数据编程经验
Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点. ...
- 编程经验点滴----在 Oracle 数据库中保存空字符串
写程序这么多年,近几天才发现,向 Oracle 数据库表中,保存空字符串 '' ,结果成了 null. 由于数据库数值 null 的比较.判断,与空字符串 '' 存在差异.一不留神,代码中留下了 bu ...
- C++的XML编程经验――LIBXML2库使用指南
C++的XML编程经验――LIBXML2库使用指南 写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML ...
- Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享
Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享 跟很多学生聊过,很多学生不是不努力,只是找不到感觉.有一点不可否认,同样在一个教室上课,同样是一个老师讲授,学习效果迥然不同.关 ...
- Linux-shell编程经验记录
Linux-shell编程经验总结 1.接收用户输入 #读取用户输入并且将输入保存到input变量中 read -p "请输入:" input #也可以先输出信息再进行读取,这里的 ...
- 写给已有编程经验的 Python 初学者的总结【转】
当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...
- 写给已有编程经验的 Python 初学者的总结
当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...
随机推荐
- hdu 2222 ac自动机更新模板 for onSite contest
http://acm.split.hdu.edu.cn/showproblem.php?pid=2222 #include <cstdio> #include <cstdlib> ...
- HDU 5412——CRB and Queries——————【线段树套Treap(并没有AC)】
CRB and Queries Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Other ...
- OPEN(SAP) UI5 学习入门系列之二: 最佳实践练习(下)
上期我们完成了一个简单的主从页面,但是页面是静态的,不能交互,功能也很简单,只有一个销售订单的列表. 我们今天就一鼓作气把代码全都写完,由于本次的代码量较大,所以只对重点代码部分进行讲解. 具体每个文 ...
- 前端性能优化-Cookie
什么是Cookie Cookie可以理解成为浏览器内部存储数据的一个数据库,并会随请求一起被发送:Cookie以键-值对的形式存在.可以存储网站的一些数据,这部分数据不会随着浏览器关闭而被清除.如下图 ...
- 关于.Net WebAPI数据认证(包括登陆认证、模型认证)
1.登陆认证使用WebAPI自动认证 webApi自动认证继承类:AuthorizeAttribute 自动认证类使用在控制器上 [Authentication] public class Card ...
- 自定义input文件上传 file的提示文字及样式
简单记录一下 效果图: 代码: <input class="aload" type='button' value='上传附件' onClick='javascript:$(& ...
- iOS 状态栏设置为白色
1.首先需要再info.plist中添加一项View controller-based status bar appearance为no 2.在需要的地方添加代码 [[UIApplication sh ...
- Maven,SVN,快捷键,数据库等
1.Eclipse中Maven的搭建: 1.1 从Apache网站 http://maven.apache.org/ 下载并且解压缩安装Apache Maven 下载地址: http://maven. ...
- webpack打包将配置文件单独抽离不压缩打包
webpack.config.js: plugins: [ //提取公共模块 new webpack.optimize.CommonsChunkPlugin({ name: 'vendors', ch ...
- CSS之background-image:在一个元素中设置给定数量的背景图片
众所周知,可以通过设置background-repeat的值来改变背景图片的重复次数.但有一个问题,background-repeat的值不是让图片只有1个,就是让图片铺满.如果只想设置给定数量的图片 ...