【C/C++】
文章平均质量分 70
热爱学习的呆萌的文青
没有伞的孩子,要努力奔跑。
展开
-
C++ 虚函数和基类指针数组应用
定义抽象基类shape,由它派生5个类:circle,square,rectangle,trapezoid,triangle。用虚函数分别计算图形的面积,要求用基类指针数组,使他们的每个元素指向一个派生类对象。#include#includeusing namespace std;class Shape{public: virtual void ShapeName(){}原创 2015-12-17 16:21:34 · 1522 阅读 · 1 评论 -
C语言--指针基础
理解指针本身(存放的是地址)和指针指向的地址所存储的数#includevoid main() { int a = 1; int b = 2; int *temp,*p1,*p2; p1 = &a; p2 = &b; printf_s("//交换指针的地址: \n"); printf_s("%d %d\n", p1, p2); temp = p1; p1 = p2; p原创 2015-12-23 19:42:21 · 515 阅读 · 0 评论 -
C语言---基础
输入3个数,从小到大输出#includevoid main() { int a, b, c, t; printf_s("输入3个数: "); scanf_s("%d %d %d", &a, &b, &c); if (a>b) { t = a; a = b; b = t; } if (a>c) { t = a; a = c; c = t; } if (b>c) { t =原创 2015-12-24 12:35:03 · 320 阅读 · 0 评论 -
递归应用----指向整型数据的指针变量对输入的3个整数按从小到大排序
#includevoid swap(int *p1, int *p2, int *p3) { int *tem, temp; static int i = 3; if (i--) { if (*p1 > *p2) { temp = *p1; *p1 = *p2; *p2 = temp; } if (i == 2) { tem = p2; p2 = p3; p3转载 2015-12-24 12:37:00 · 943 阅读 · 0 评论 -
C++ 课本学习笔记(1)
1.3 C++对C的扩充1.3.1 C++的输入输出1. 标准输入输出流cout和cin。在头文件。2. cerr:标准出错输出clog:cerr的缓冲形式3. cin>>:>>常称为“提取运算符”。用”>>” 从键盘取得数据并送到输入流cin中,然后再送到内存。4. 简单的程序:int mian(){coutchar name[20];cin>>n原创 2016-01-10 12:49:01 · 486 阅读 · 0 评论 -
C++ 课本学习笔记(2)
第三章构造函数1. 构造函数不需要用户调用它,而是建立对象的时候自动执行。2. 可以用一个类对象来初始化另一个类对象,如: Time t1; Time t2=t1; 3. 如果用户自己没有定义构造函数,则C++系统会自动生成一个构造函数,知识这个构造函数体是空的,也没有参数,不执行任何操作。一个类只有一个默认构造函数。4. 用参数初始原创 2016-01-10 14:59:23 · 474 阅读 · 0 评论 -
malloc和free
C 语言中使用函数库来解决,即在头(在 C 中称为)中定义的函数:malloc ,calloc ,realloc ,free . 这些函数在 C++ 中依然有效。但是使用上面函数分配的内存块和用 new 返回的并不一定兼容,不要混用,他们应当在各自的函数集或操作中使用。(1) 函数 malloc 这个函数是给指针动态分配内存,原型: void* ma原创 2016-06-02 14:35:25 · 225 阅读 · 0 评论 -
内存堆和栈的区别(1)
数据结构的栈和堆 首先在数据结构上要知道堆栈,尽管我们这么称呼它,但实际上堆栈是两种数据结构:堆和栈。堆和栈都是一种数据项按序排列的数据结构。栈就像装数据的桶或箱子我们先从大家比较熟悉的栈说起吧,它是一种具有后进先出性质的数据结构,也就是说后存放的先取,先存放的后取。这就如同我们要取出放在箱子里面底下的东西(放入的比较早的物体),我们首先要移开压转载 2016-06-03 11:39:35 · 263 阅读 · 0 评论 -
堆和栈的区别(2)
0.申请方式和回收方式不同不知道你是否有点明白了。堆和栈的第一个区别就是申请方式不同:栈(英文名称是stack)是系统自动分配空间的,例如我们定义一个 char a;系统会自动在栈上为其开辟空间。而堆(英文名称是heap)则是程序员根据需要自己申请的空间,例如malloc(10);开辟十个字节的空间。由于栈上的空间是自动分配自动回收的,所以栈上的数据的生存周期只是在函数的运转载 2016-06-03 11:39:49 · 264 阅读 · 0 评论 -
C语言循环和递归两种方法求n的阶乘
#include// 循环法求阶乘int sum1(n) { int sum = 1; for (int i = 1; i <= n; i++) { sum = sum*i; } return sum;}// 递归法求阶乘int sum2(n) { int sum=0; if (n<0) printf_s("error\n"); else if (n == 0 || n原创 2015-12-23 15:31:00 · 14538 阅读 · 0 评论 -
C++ 基类指针数组,虚函数
实验题目: 定义一个抽象基类shape,由它派生5个类:circle,square,rectangle,trapezoid,triangle用虚函数分别计算图形的面积,要求用基类指针数组,使他们的每个元素指向一个派生类对象 。程序如下:#include#includeusing namespace std;class Shape{public: virtual void原创 2015-12-21 21:20:01 · 6607 阅读 · 1 评论 -
递归应用---倒序输出数组
//用递归函数逆序输出数组中的10个元素 。#includevoid fun(int a[], int i) { if (i > 0) { //不可去掉if后的花括号。否则,fun(a,--i);语句会导致本函数成为死循环 。 printf_s("%d ", a[i - 1]); fun(a, --i); //注意这里是--i }}void main转载 2015-12-23 16:42:03 · 5132 阅读 · 3 评论 -
C语言经典书籍
真心经典:每个行业或者领域都有一些东西是不会随时间而逐渐消逝,以下的就是。《C语言程序设计》(第2版.新版)/《The C Programming Language》《C语言核心技术》/《C in a Nutshell》《代码大全》/《Code Complete》底层相关:由于C语言之初是为了编写操作系统而来得,所以对底层的操作目前尚转载 2015-12-21 20:32:19 · 760 阅读 · 0 评论 -
《C语言深度剖析》面试题整理
原文地址 :http://blog.csdn.net/fovwin/article/details/10050803#comments请在40分钟内完成以下20道C语言基础题。在没有任何提示的情况下,如果能得满分,那么你可以扔掉本书了,你的水平已经大大超过了作者;如果能的80分以上,说明你的C语言基础还不错,学习本书可能会比较轻松;如果得分在50分以下,也不要气馁,努力学习就行了;如果不小转载 2015-12-21 20:39:43 · 1606 阅读 · 0 评论 -
c语言NULL和0区别及NULL详解
1、什么是空指针常量(null pointer constant)?这里告诉我们:0、0L、'\0'、3 - 3、0 * 17 (它们都是“integer constant expression”)以及 (void*)0 (tyc: 我觉得(void*)0应该算是一个空指针吧,更恰当一点)等都是空指针常量(注意 (char*) 0 不叫空指针常量,只是一个空指针值)。至于系统选取哪转载 2015-12-21 21:08:21 · 894 阅读 · 0 评论 -
#函数模板# 求2个数,3个数,一组数的最大值
/*编写求2个数,3个数,一组数中最大数的函数模板 (20151206)*/#include#includeusing namespace std;template //声明函数模板T max(T x, T y){ return x > y ? x : y; }template //函数模板重载T max(T x, T y, T z){原创 2015-12-21 21:21:45 · 2348 阅读 · 2 评论 -
#类模板# push,pop
#includeusing namespace std;templatevoid stack::push(T e){ if (top == size) { cout << "stack is full! don't push data! " << endl; return; } data[top++] = e;}templateinline T stack::po原创 2015-12-21 21:23:23 · 470 阅读 · 0 评论 -
宏定义 :#define INT_MIN (-2147483647 - 1)
2的32次方为2147483648*2,0~(2147483648*2-1)这是32位机上无符号整数代表的范围。而32机的int范围为-2147483648~+2147483647stackoverflow.com上有人提出这样一个问题:if (-2147483648 > 0) std::cout << "true";else std::cout 这将输出tr转载 2015-12-22 09:41:26 · 1295 阅读 · 0 评论 -
C++ 编写一个选课系统
//source.cpp文件#include#include#include#include#include"c.h"/*************************主函数****************************/int main(){ int x, x1, x2, x3, x4,x5; bool quit1 = false; bool quit原创 2016-01-07 15:30:19 · 15295 阅读 · 5 评论 -
递归应用---猴子吃桃
/*猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少桃子。 C语言,递归法: 首先我们来明确一下题意,由"到第10天早上想再吃时,见只剩下一个桃子了"可知,事实上在第九天吃过后就只有一个了.我们转载 2015-12-23 16:14:41 · 4803 阅读 · 0 评论 -
一个简单的双重for循环的汇编语句解释
#includevoid show() { int i,j; for(i=0;i<100;i++){ for(j=2;j<=i;j++){ if(i%j==0) break; } if(j>=i) printf("%d",i); }}show:.LFB24: pushl %ebx原创 2016-06-03 11:40:14 · 3993 阅读 · 0 评论