c/c++语言编程
文章平均质量分 60
乐于其中
勤奋 认真 严谨 坚持
展开
-
C++基础学习(06AM)
1.数组 相同类型的变量放在一起 在定义的时候就确定大小了,因为定义变量的时候已经申请空间了 下标将每个元素区分开,下标范围是0~(元素个数-1) 数组名表示第一个元素的地址 数组名本身没有申请存储空间2.结构体 组装的数据类型 结构体名{ };(别忘了分号) 凡是可以定义变量的地方都可以用结构体名来表示原创 2015-08-01 16:43:21 · 427 阅读 · 0 评论 -
qsort用法
qsort 功 能: 使用快速排序例程进行排序 用 法: void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *)); 各参数:1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数的指针用于确定排序的顺序 排序方法有很多种, 选择排转载 2015-04-16 11:29:06 · 366 阅读 · 0 评论 -
C++中string erase函数的使用
erase函数的原型如下:(1)string& erase ( size_t pos = 0, size_t n = npos );(2)iterator erase ( iterator position );(3)iterator erase ( iterator first, iterator last );也就是说有三种用法:(1)erase(pos,n); 删除从po转载 2015-04-15 15:21:19 · 497 阅读 · 0 评论 -
cctype库函数的作用
1. string 标准库1.1初始化string s1;默认构造函数s1为空string s2(s1);将s2初始化为s1的一个副本string s3(“value”);将s3初始化为一个字符串字面值副本string s4(n,’c’);将s4初始化为字符’c’的n个副本string对象的赋值:赋值所做的工作转载 2015-04-15 14:05:32 · 782 阅读 · 0 评论 -
C++编程中迭代器是什么
c++中迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。迭代器修改了常规指针的接口,所谓迭代器是一种概念上的抽象:那些行为上像迭代器的东西都可以叫做迭代器。然而迭代器有很多不同的能力,它可以把抽象容器和通用算法有机的统一起来。 C++数据流迭代器(iterators)一般不直接使用,而是用做某些算法的参转载 2015-04-15 09:52:20 · 1068 阅读 · 0 评论 -
C++中的set
1,set的含义是集合,它是一个有序的容器,里面的元素都是排序好的,支持插入,删除,查找等操作,就 像一个集合一样。所有的操作的都是严格在logn时间之内完成,效率非常高。 set和multiset的区别是:set插入的元素不能相同,但是multiset可以相同。 创建 multiset base; 删除:如果删除元素a,那么在定义的比较关系下和a相等的所有元素都会被删除 base.c转载 2015-04-15 09:26:26 · 1167 阅读 · 0 评论 -
C++string类常用函数
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常stri转载 2015-04-15 10:35:40 · 309 阅读 · 0 评论 -
深入了解字符串 之 创建并初始化C++字符串
String对象初始化最简单的形式※创建空string对象,并不立即用字符数据对其初始化※将一个文字的引用字符数组作为参数传递给构造函数,以此来对一个string对象进行初始化。※用等号(=)来初始化一个string对象。※用一个string对象初始化另一个string对象例://:C03:SmallString.cpp#includeusing转载 2015-04-18 11:03:03 · 3339 阅读 · 0 评论 -
error: empty character constant
solution:单引号要有个空格,empty character constant这个英文的意思就是提示空字符原创 2015-03-18 11:26:04 · 4441 阅读 · 3 评论 -
如何计算 (x&y)+((x^y)>>1)
(x&y)+((x^y)>>1),把x和y里对应的每一位(指二进制位)都分成三类,每一类分别计算平均值,最后汇总。1、是x,y对应位都是1,用x&y计算其平均值;解释:两个相同的数相加后再除以2还是其本身,效果跟两个相同的数相与是一样的。这类考虑的是同位都为1的情况。2、是x,y中对应位有且只有一位是1,用(x^y)相当于计算机这些位的和,>>1相当于除2;3、是x,y中对应位均为0,原创 2015-03-18 11:42:52 · 716 阅读 · 0 评论 -
printf 与 fprintf、sprintf函数、fscanf与scanf函数 的区别
printf是标准输出流的输出函数,用来向屏幕这样的标准输出设备输出而fprintf则是向文件输出,将输出的内容输出到硬盘上的文件或是相当于文件的设备上 printf是有缓冲的输出,fprintf没有缓冲 fprintf()传送输出到一个流中的函数 原形:int fprintf(FILE *stream,const char *format[,argument原创 2014-06-05 08:57:12 · 1410 阅读 · 0 评论 -
栈-迷宫问题
1 #include 2 using namespace std; 3 4 #include 5 6 #define M 2 7 #define N 2 8 #define MAXSIZE 20 9 #define RIGHT 0 10 #define DOWN 1 11 #define LEFT 2原创 2015-01-11 20:16:51 · 578 阅读 · 0 评论 -
队列---旅行家算法
源代码: 1 #include 2 #include 3 4 #define MAX 100 5 #define C 5.9 6 #define N 5 7 8 #include 9 using namespace std; 10 11 struct stationItem{ 12 int sn; 13 flo原创 2015-01-18 19:43:12 · 1089 阅读 · 0 评论 -
C++基础学习(1)
程序:cpp.sh data echo I will try my best to learn c++运行:chmod a+x cpp.sh ./cpp.sh执行结果: 显示日期 I will try my best to learn c++1.sh文件是什么文件 http://www.re原创 2015-05-26 11:24:29 · 612 阅读 · 0 评论 -
c++基础学习(05PM)
1.数组元素赋值时,只能单独赋值,不能带{},只有初始化的时候可以带{}2.数组名传递的是地址3.只有指针可以保存地址,指针也只能保存地址4.sizeof(类型) max(double*)double*表示变量的地址,即指针5.函数的形参如果是一个数组,无法知道数组有多少个元素。 所以一般同时传递两个形参,一个是数组,一个是数组个数。6.strcpy(array,stri原创 2015-06-17 07:42:57 · 434 阅读 · 0 评论 -
c++ 学习笔记(02AM)
1.gcc命令语句: g++ xxx.cpp -o xxx ./xxx2. \n:表示换行 \a:表示想一声 \t:表示输出空格 \b:表示退隔符3.特殊的asc码表 32以下不能输出 '\0'表示asc码为0的字符,作为字符串的结束标志 A---65 a---974.相关代原创 2015-05-28 18:15:24 · 486 阅读 · 0 评论 -
c++基础学习(05AM)
1. 生命一个全局变量,必须在其他地方有定义 2. 为了安全,尽量避免使用全局变量。 3. 参数表里的变量是接收数据的。 4. 当定义一个无符号的变量,赋值给他它一个负值,结果却显示是一个很大的数据,原因在于编译器将符号位1当作数据来处理了 5.变量的作用域与可见性,作用域指的是生命期,可见性指的是名字的有效范围。 6.静态全原创 2015-06-14 22:50:56 · 409 阅读 · 0 评论 -
全局变量、局部变量、静态全局变量、静态局部变量的区别
C++变量根据定义位置的不同,具有不同的作用域,作用域可分为6种:全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域。从作用域看:全局变量具有全局作用域。全局变量只需在一个源文件中定义,就可以作用于所有的源文件。当然,其他不包括全局变量定义的源文件需要用extern关键字再次声明这个全局变量。静态局部变量具有局部作用域。它只被初始化一次,自从第一次初始化直到程序与你新翻译 2015-06-14 22:24:14 · 418 阅读 · 0 评论 -
c++程序 计算两个日期相差的天数
#include #include #include using namespace std;struct Date{ int y;//year int m;//month int d;//day in month};int isLeap(int y){ return y%4==0 && y%100==0 || y%400==0;}int原创 2015-07-11 16:28:21 · 7744 阅读 · 0 评论 -
关于.h文件和.cpp文件
不过我在这里想讲的还是关于.h文件和.cpp文件知道Package只是相对比较宏观的理解:我们在项目中以Package为编辑对象来扩展和修正我们的程序。编写代码时具体到应该把什么放到.h文件,又该什么放在.cpp文件中,我又迷惑了。虽然Google给了我很多的链接,但是大部分的解释都太笼统了:申明写在.h文件,定义实现写在.cpp文件。这个解释没有差错,但是真正下手起来,又会发现不知道该把翻译 2015-06-13 13:12:58 · 1707 阅读 · 1 评论 -
C++基础学习(04PM)
1.有默认值的形参必须靠右放2.returne 数据;执行就是将return后面的数据复制一份回来3.内敛函数:在编译时把代码在调用的地方插入一份。效率要高一点,但内联函数要简短4.原创 2015-06-09 06:02:28 · 488 阅读 · 0 评论 -
C++ cin编程错误
no operator defined which takes a right-hand operand of type '' (or there is no acceptable conversio将cin语句中的 endl 去掉即可!原创 2015-07-08 21:00:51 · 635 阅读 · 0 评论 -
双冒号 冒号 在c++/c中的用法
::只用在类成员函数和类成员变量中。比如,声明一个类:class CA {public:int ca_var;int add(int a, int b);int add(int a);};那么在实现这个函数时,必须这样书写:int CA::add(int a, int b){return a + b;}另外,双冒号也常常用于在类变量内部作为当前类实例原创 2015-05-24 11:44:48 · 574 阅读 · 0 评论 -
c++基础学习(04AM)
1.控制语句分为: a.条件 if else b.分支switch c.循环while for2.函数重载参数类型或参数个数不同。返回值不同不能视为重载。是否为常函数不能视为重载对于普通类型参数只有const、volatile区别不能视为重载,但是如果参数是指针或 引用类型,那么const、volatile的区别视为重载。试原创 2015-05-31 22:13:17 · 379 阅读 · 0 评论 -
C++基础学习(03AM)
1.‘\0’、NULL、0和false为假,其余都为真2.原创 2015-05-31 11:42:33 · 498 阅读 · 0 评论 -
九九乘法表
1.双重for循环编写代码:#include using namespace std;int main(){cout int n=1;for(int i=1;i{for(int j=1;jcout cout n++;if(n>9)break;} return 0;}注意对齐处的修改2.一层循环:#原创 2015-05-31 18:42:10 · 461 阅读 · 0 评论 -
c++基础学习(03PM)
1.g++ xx.cc2.枚举类型的值从0开始依次递增,没有指定的情况下。要是指定了,按照指定的值递增。3.switch()语句中case是入口 break是出口程序只能从出口出来4.打印出99乘法表 有兴趣可以尝试一下一层循环试验一下5.本讲相关代码1:#include #include using namespace std;enum Color{BLA原创 2015-05-31 17:54:21 · 398 阅读 · 0 评论 -
c++基础学习(02PM)
1.该错误只看第一行2.g++ -c .cc//只编译没错误 g++ xx.o//collect:ld return 1 exit main()函数的字母拼写错误,找不到主函数所以无法链接!3.#include using namespace std;int main(){ int score; cout cin >> score; if(s原创 2015-05-31 09:23:22 · 401 阅读 · 0 评论 -
POS
一.PSO算法来源 自然界生物有许多存在方式,既有以个体为最小生存单位,也有以群居为最小生存单位,群体则是生物存在的主要方式之一。在很早以前,很多科学家就已经开始了对岛群和鱼群这类群体智能行为进行观察和分析,以求找到这类群体协同工作的奥秘。在经过了大量的理论研究之后,科学家们开始了计算机仿真方面的研究,利用计算机模拟鸟群和鱼群等群体生物行为,探索其中潜在的联系。Hepper是个生物学家,由于原创 2014-05-22 10:54:21 · 1190 阅读 · 0 评论 -
c语言编程小实例之一-------猜数
题目:猜一个十以内的整数并返回答案。c语言编程:#include//stdlib.h,这个是最常用的系统函数库,提供rand()、srand()、exit()等函数#include//stdio.h,这个就是程序的输入输出函数库,它提供int getchar()和int putchar()等函数#include //使用当前时钟做种子int main(){ int原创 2014-03-12 17:03:06 · 603 阅读 · 0 评论 -
字符旋转
c语言程序:#include #define RIGHT 1//便于表达将各个方向用数字表示#define DOWN 2#define LEFT 3#define UP 4int pri(int M,int N){int i=0,j=0,k=0;int dir=RIGHT;char a[10][10];//由于C99才支持可变长数组,C90的编译原创 2014-04-08 19:57:53 · 599 阅读 · 0 评论 -
归并排序详解
概念:归并是指将若干个已排序的子文件合并成一个有序的文件。基本思路:原创 2014-04-20 14:40:36 · 522 阅读 · 0 评论 -
归并算法--多线程运行程序
运行环境:c代码:原创 2014-04-21 20:49:28 · 575 阅读 · 0 评论 -
零基础学习linux中的fork()函数
零基础学习fork()函数 一个进程,包括代码、数据和分配给进程的资源。fork的原意是:分裂。fork()函数通过系统调用创建(分裂)一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事,但如果初始参数或者传入的变量不同,两个进程也可以做不同的事。 一个进程调用fork()函数后,系统先给新的进程分配资源,例如存储数据和代码的空间。然后把原来的进程的所有值都复原创 2013-10-23 20:19:20 · 807 阅读 · 0 评论 -
通过实例体会 fork()同时创建多个子进程
第一种方法:验证通过特点:同时创建多个子进程,每个子进程可以执行不同的任务,程序可读性较好,便于分析,易扩展为多个子进程#include #include int main(){ pid_t p1,p2; printf("before fork(),pid=%d\n",getpid());p1=fork();if(p1==0){printf(原创 2014-05-03 20:51:56 · 1791 阅读 · 0 评论 -
函数gettimeofday与函数clock()
函数gettimeofday在测试程序时,我们往往需要了解程序执行所需的时间,在C语言可以使用函数gettimeofday 来得到时间,它的调用格式是:#include int gettimeofday(struct timeval *tv, struct timezone *tz);int settimeofday(const struct timeval *tv , con原创 2014-04-22 19:49:24 · 1154 阅读 · 0 评论 -
c程序编写过程流程
安装好c++ 6.0之后:1.原创 2014-04-07 21:21:48 · 591 阅读 · 0 评论 -
自己写的strcpy函数 mystrcpy()------数组版
#include#include#includechar *mystrcpy(char dest[],char src[],int count);int main(){ char dest[]="hello world";char src[]="hi";int i;int count=strlen(src)+1; *m原创 2014-03-26 11:22:32 · 1270 阅读 · 0 评论 -
C 语言字符数组的定义与初始化
1、字符数组的定义与初始化字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素。char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y'};即把10个字符分别赋给str[0]到str[9]10个元素如果花括号中提供的字符个数大于数组长度,则按语法错误处理;若小于数组长度,则只将这些字符数组中前面那些元素,其余的元素自动定原创 2014-04-05 11:55:09 · 770 阅读 · 0 评论 -
初学进程编程案例解析
我是linux编程的初学者,进程编程是linux编程首先要学习的东西,往后要学习进程之间通讯的一些编程。下面的是进程编程的一些基本函数以及他们的相关注释。1.用户标识(UID)和有效用户标识(EUID)使用getuid函数和geteuid函数来获取当前进程的用户标识和有效用户标识#include #include #include int main(void){原创 2014-05-01 21:19:22 · 821 阅读 · 0 评论