自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 C++学习(4)

1.this指针   当前的对象,在类的内部访问成员使用,pubic,protected,private;   只能在非静态成员函数内部使用;    2. static 在C++中    static在类的内部修饰变量,对象是共享使用,在类内声明,在类外定义;     类型  类名::变量名 = 数值;        在类内声明的时候前面加static,在类外初始化

2017-08-04 20:27:20 269

原创 C++学习(3)

1.构造函数:  名字和类名相同,没有返回值,也不需要显式调用,在创建对象的时候自动执行。---专门用来初始化对象的;2.访问权限:在类的内部,无论public,protect,private,都可以互相访问;没有限制;    在类的外部,只能是通过对象访问public的成员,不能访问private,protected成员;通过类的内部public的函数访问private;

2017-08-04 20:26:38 206

原创 C++学习(2)

一、什么是堆?什么是栈?堆和栈的区别是什么? 栈:由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 堆:一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回 收。用malloc, calloc, realloc等分配内存的函数分配得到的就是在堆。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。 

2017-08-04 20:26:01 183

原创 C++学习(1)

一、什么叫做面向对象? 面向对象就是把数据及对数据的操作方法放在一起,作为一个相互依存的整体--------对象。对同类对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口与外界发生关系,对象与对象之间通过消息进行通信。程序流程由用户在使用中决定。  面向过程就是自顶向下顺序执行,逐步求精;其程序结构是按功能划分为若干个基本模块,这

2017-08-04 20:23:58 166

原创 类的继承练习题

定义一个字符串类DelSameStr,从左到右对字符串中每个字符删除其后所有相同的字符,只留下第一次出现的那一个。例如,若字符串为”cocoon”,删除重复出现的字符后,其结果是字符串”con”。具体要求如下:(1)私有数据成员。char *s1:指向原字符串。char *s2:指向结果字符串。(2) 公有成员函数。DelSameStr(char *s):构造函数,动态分配s1

2017-01-22 20:52:09 576

原创 类的继承练习

编程将一个二维数组元素变换为逆向存放,即按元素在内存中的物理排列位置,第一个元素变成倒数第一个元素,第二个元素变成倒数第二个元素,依此类推。    例如,原始二维数组为,逆向存放后变为。试建立一个类REVARR,完成上述工作。具体要求如下:(1)私有数据成员int a[M][N]:初始化时存放原始二维数组,最终存放逆向存放后的二维数组。(2)公有成员函数REVARR(int

2017-01-20 21:02:10 294

原创 类的继承练习题

2.对一个5位数的任意整数,求出其降序数。例如,整数是82319,则其降序数是98321。算法提示:将整数的各位数分解到一维整型数组a中,再将a数组中的元素按降序排序,最后输出a数组元素值。试建立一个类DescendNUM,用于完成该功能。具体要求如下:(1)私有数据成员int n:存放5位数的整数。int a[5]:存放其元素的降序排列值。(2)公有成员函数DescendNU

2017-01-19 21:29:04 629

原创 C++类的继承练习(1)

1.建立一个形状类Shape作为基类,派生出圆类Circle和矩形类Rectangle,求出面积并获取相关信息。具体要求如下:(1)形状类Shape(a)保护数据成员double x,y:对于不同的形状,x和y表示不同的含义,如对于圆,x和y均表示圆的半径,而对于矩形,x表示矩形的长,y表示矩形的宽。访问权限定义为保护类型是为了能被继承下去,以便派生类能直接访问x和y。

2017-01-18 20:31:14 607

原创 用循环模式打印菱形

#include int main (){ int i; int j; int k;  for (i = 0; i  {  for (j = 0; j   {   printf (" ");  }  for (k = 0; k   {   printf ("*");  }  printf ("\n"); }  for

2016-12-16 19:49:29 266

原创 自制的简易通讯录

#include #include #include #define OK            0#define ERROR        -1#define MALLOC_ERROR -2 typedef struct node{ long ID;                       //ID号 char Name[20];           

2016-12-12 23:03:26 575

原创 复制一个字符串

#include#define N 50char *strcpy(char *dest,const char *src){    char *p = dest;    while((*dest++ = *src++)!='\0') {  ; }    return p;}int main(){  char str1[N];  char str

2016-12-12 00:34:19 267

原创 创建单链表并赋值,要求遍历能输出1~9

#include #include #define OK            0#define ERROR        -1#define MALLOC_ERROR -2 typedef int ElementType;typedef struct node{ ElementType data;    // 结点的数据 struct node *next; 

2016-12-10 23:50:51 939

原创 编写程序,将十进制转换为8进制并输出

#include int main(){     int n; int i = 0;    printf ("n = ");    scanf ("%d", &n);    int a[10] = {0};          while (n)    {        a[i++] = n % 8;        n = n / 8;   

2016-12-09 23:59:31 6857 1

转载 埃及分数

分子是1的分数,叫单位分数。古代埃及人在进行分数运算时。只使用分子是1的分数。因此这种分数也叫做埃及分数,或者叫单分子分数。问题:将一个分数化为用埃及分数表示【贪心算法】设a、b为互质正整数,a步骤一: 用b 除以a,得商数q1 及余数r1。(r1=b - a*q1)步骤二:把a/b 记作:a/b=1/(q1+1)+(a-r)/b(q1+1)步骤三:重复步骤2,直到分解完毕

2016-12-08 22:55:44 1005

原创 习题-输出乘法口诀

#includeint main(){    int i,j;    int sum;    for(i=1;i    {        for(j=i;j {     sum=i*j;            printf("%4d*%d=%d",i,j,sum); }        printf("\n");   }    return 0

2016-12-07 22:47:55 223

转载 malloc函数实现原理

任何一个用过或学过C的人对malloc都不会陌生。大家都知道malloc可以分配一段连续的内存空间,并且在不再使用时可以通过free释放掉。但是,许多程序员对malloc背后的事情并不熟悉,许多人甚至把malloc当做操作系统所提供的系统调用或C的关键字。实际上,malloc只是C的标准库中提供的一个普通函数,而且实现malloc的基本思想并不复杂,任何一个对C和操作系统有些许了解的程序员都可以很

2016-12-06 22:59:47 1165 1

原创 简单的链表

#include #include #define OK            0#define ERROR        -1#define MALLOC_ERROR -2 typedef int ElementType;typedef struct node{ ElementType data;    // 结点的数据 struct node *next; 

2016-12-05 23:04:32 149

原创 简单的顺序表

#include #include #define INIT_SIZE   100   // 顺序表初始化大小#define INCESS_SIZE 20    // 顺序表满后的每次扩充大小#define OK            0#define ERROR        -1#define MALLOC_ERROR -2typedef int Element

2016-12-04 23:50:15 157

原创 简单的顺序表

#include #include #define INIT_SIZE   100   // 顺序表初始化大小#define INCESS_SIZE 20    // 顺序表满后的每次扩充大小#define OK            0#define ERROR        -1#define MALLOC_ERROR -2typedef int Element

2016-12-04 23:49:39 168

转载 GDB调试命令以及GDB调试段错误

一、GDB的调试命令。C语言是:cc -g tst.c -o tst;C++是g++  -g -o (生成的文件) file.cppC++调试程序命令:gdb  file 启动,罗列代码行数ist 1,break (行数),info break,run(r)调试运行,step(s)单步调试,查看变量 print(p) 变量名,查看堆栈式bt,继续调试continue(c),退出程序q

2016-12-04 00:03:03 384

原创 C语言指针总结

指针(Pointer)就是内存的地址,C语言允许用一个变量来存放指针,这种变量称为指针变量。指针变量可以存放基本类型数据的地址,也可以存放数组、函数以及其他指针变量的地址。程序在运行过程中需要的是数据和指令的地址,变量名、函数名、字符串名和数组名在本质上是一样的,它们都是地址的助记符:在编写代码的过程中,我们认为变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或数据块的首地

2016-12-02 22:41:49 147

转载 C语言指针数组

如果一个数组中的所有元素保存的都是指针,那么我们就称它为指针数组。指针数组的定义形式一般为:dataType *arrayName[length];[ ]的优先级高于*,该定义形式应该理解为:dataType *(arrayName[length]);括号里面说明arrayName是一个数组,包含了length个元素,括号外面说明每个元素的类型为dataType *。除了每

2016-12-01 22:48:05 127

原创 快速找出一个数组中的最大数和第二大数

#includeint main(){  int n;  printf("请输入你想输入数字的个数:");  scanf("%d",&n);  int a[n];  int i;  for(i=0;i  {   scanf("%d",&a[i]);  }  int j;  int temp;  for(i=0;i  {       f

2016-11-30 23:38:20 641

转载 C语言指针使用陷阱

转载自:http://blog.csdn.net/porscheyin/article/details/3461670“C语言诡异离奇,陷阱重重,却获得了巨大成功!”——C语言之父Dennis M. Ritchie。Ritchie大师的这句话体现了C语言的灵活性以及广泛的使用,但也揭示了C是一种在应用时要时刻注意自己行为的语言。C的设计哲学还是那句话:使用C的程序员应该知道自己在干什么。有

2016-11-29 23:05:42 464

原创 编写一个程序,求出满足下列条件的四位数:该数是个完全平方数,且第一、三位数字之和为10,第二、四位数字之积为12

#include #include int main(){ int i;  for (i=1000; i {  int a = i / 1000;       //千位        int b = i % 1000 / 100; //百位     int c = i % 100 /10;    //十位     int d = i % 10;     

2016-11-28 23:42:01 5714

原创 求100以内的素数

#include #include int main(){    int n;    int i;    int k;    for(n = 1; n     {            k = sqrt(n);        for(i = 2; i         {     if(n % i == 0)     break;       

2016-11-27 23:02:51 261

原创 输入一个整数N,求1到N这N个整数中1出现的次数

#include int main(){ int num; scanf ("%d", &num); //输入一个数 int i; int count = 0; for (i = 0; i <= num; i++) { int temp = i; while (temp) {

2016-11-26 21:00:38 1050

转载 C数组

C 数组C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 numbers[0]、numbers[1]、...、numbers[99] 来

2016-11-26 00:37:51 243

原创 C指针初识

什么是指针?指针是一个变量,其值为另一个变量的地址,即,内存位置的直接地址。就像其他变量或常量一样,您必须在使用指针存储其他变量地址之前,对其进行声明。指针变量声明的一般形式为:type *var-name;在这里,type 是指针的基类型,它必须是一个有效的 C 数据类型,var-name 是指针变量的名称。用来声明指针的星号 * 与乘法中使用的星号是相同的。但是,在这个语句中,星号

2016-11-24 22:54:56 158

原创 冒泡排序

#include#define N 10    //定义十个数int main(){  int i;  int j;  char a[N];  int temp;  scanf("%s",&a);  for (i = 0; i   {      for (j = 0; j       {          if (a[j] > a

2016-11-22 22:28:53 150

转载 shell常用命令

find-namefind . -name "*.log" -a -size +2k  -print -typefind . -type f -name "*log"  -print-sizefind . -type f -name "*log" -size +337c -print-printfind . -name "*.log"  -print

2016-11-19 23:01:44 363

转载 C语言函数的返回值

关于这个问题,大家应该在很多书上看到过:1.函数的返回值不可以是局部变量;2.函数内的局部变量在函数调用完成之后自动销毁,因为局部变量是存放于栈空间内的;  理论很明确,但是实际应用中还是有一些疑惑的。先找几个常见的例子一步一步深入说明。[cpp] view plain copy print?#include   #inclu

2016-11-18 23:23:29 543

原创 C语言经常犯的一些错误

1、书写标识符时,忽略了大小写字母的区别。main(){  int a=5;  printf("%d",A);}编译程序把a和A认为是两个不同的变量名,而显示出错信息。C认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。2、忽略了变量的类型,进行了不合法的运算。main(){  float a,b;  pr

2016-11-17 23:15:27 621 1

原创 11月13日课堂笔记

周末学习了C语音基本数据类型与表达式,今天复习了一下一。常用单位      位      最小储存单位      字节  一个字节8位      字     根据机器不同,几位的机器就要几位      1KB=1024B      1MB=1025KB   1GB=1024MB    1TB=1024GB二。数据存储方式     整数        以二进制数字存储

2016-11-16 23:46:11 238

转载 linux GDB调试学习

编译如果要进行编译,请在 gcc(或 g++)下使用额外的 -g选项来编译程序: gcc -o eg -g eg.c运行 gdb可以使用 gdb 命令并指定程序名作为参数来运行 gdb,例如 gdb eg;或者在 gdb 中,可以使用 file 命令来装入要调试的程序,例如 file eg。这两种方式都假设您是在包含程序的目录中执行命令。装入程序之后,可以用 gdb 命令

2016-11-15 22:58:01 178

原创 学习C语言一些体会

在大学里上过C语言的课,也上过C++的课,但都没有认真去学习,经过昨天一天C语言的培训我对C语言有些不一样的体会。    虽然老师讲的都是C语言里面最简单的数据类型,还有一些简单的数据运算,但是我基础实在是差,基本从零学。老师一点一点讲解,并夹带着让我们自己去敲代码,运行结果。我觉得这种学习方式很好。学校上课方式太呆板,听得很枯燥,一下课就全忘了。还是这种边学习边实践的方式才能更好的学习C语言

2016-11-14 23:19:11 213

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除