C++基础(1)——指针,字符函数,模板
关于我C++的学习,本人认为学好C++的关键是在于你能不能理解指针和数组以及字符函数的调用,在我写的小程序中包含了很多C++的知识,关于常考点,难点,一店,困惑点都是能通过读我的C++小程序来搞懂的
poison_biti
这个作者很懒,什么都没留下…
展开
-
字符串和数字的转换
#includeusing namespace std;#include void test(){ //将字符串转成数字 int num = 0; stringstream ss1("5432532"); ss1>>num; cout<<num<<endl; //将数字转成字符串 num = 987; stringstream ss2; ss2<<num; cout原创 2017-01-03 20:40:34 · 771 阅读 · 0 评论 -
蓝桥——数星星
“test.cpp”#includeusing namespace std;#includevoid test(){ string str; getline(cin,str); string str2; int count = 0; for(int i = 0;i < str.size();i++) { if(str[i] != ' ') { if(str[原创 2016-11-05 10:54:45 · 671 阅读 · 0 评论 -
面试题——不用循环计算1+2+...+100之和
前几天看到校招的面试题,要求不要用循环计算出1+2+3...+100之和。当我看到这道题的时候第一反应就是用递归写,能用循环的程序不一定能用递归去写,但是能用递归的程序一定可以用循环写出。所以递归和循环是相铺相成的。 这里我也不知道递归是不是面试考官想要的最优写法,但是这题至少没用循环。这里我写完后修改了下代码,不仅仅是只计算1+2+3...+100的程序,输入一个最小的数字(如5原创 2016-09-28 14:51:35 · 2066 阅读 · 0 评论 -
单向链表的基本操作
"SListNode.h”#ifndef __SListNode_H__#define __SListNode_H__#pragma once //能够保证头文件只被编译一次#include #include #include typedef int DataType;typedef struct SListNode { DataType data;原创 2016-05-28 15:34:25 · 539 阅读 · 0 评论 -
顺序表的基本操作——静态实现
"SeqList.h"#ifndef __SEQLIST_H__//防止重定义#define __SEQLIST_H__#include #include #include #include #define MAX 5typedef int DataType;//typedef语句后面要有一个分号;typedef struct SeqList{原创 2016-05-28 15:39:49 · 597 阅读 · 0 评论 -
通讯录——静态实现
"AddRess.h"#ifndef __ADDRESS_H__#define __ADDRESS_H__#include #include #include #include #define MAX 10 //这里我为了调试方便取了一个较小的数值enum OP{ EXIT = 0,//退出 ADD, //增加联系人 DEL,原创 2016-05-28 15:41:42 · 527 阅读 · 0 评论 -
注释转换
"CommentConvert.h"#ifndef __COMMENTCONVERT_H__#define __COMMENTCONVERT_H__#include #include #define INTFILE "intfile.c"#define OUTFILE "outfile.c"enum STATE{ NUL_STATE, C_STATE,原创 2016-05-28 15:48:12 · 496 阅读 · 0 评论 -
实现日期类
"Data.h"#ifndef __DATA_H__#define __DATA_H__#include using namespace std;class Data{public: Data(int year = 1995,int month = 8 ,int day = 1) :_year(year) ,_month(month) ,_原创 2016-06-02 18:08:53 · 487 阅读 · 0 评论 -
模拟实现String类(1)_深拷贝
"test.cpp"#define _CRT_SECURE_NO_WARNINGS 1#include using namespace std;#include "Sring.h"void Test1(){ String str1("hello"); cout<<str1<<endl; String str2("haha"); cout<<str2<<endl; Stri原创 2016-08-20 14:06:16 · 402 阅读 · 0 评论 -
模拟实现String类(2)——写时拷贝
大家都知道,重复的开辟空间和释放内存是很耗时的,效率也很低下,相对于写时拷贝,深拷贝就很耗费时间了,效率自然没有写时拷贝好。 写时拷贝是用一个计数器记住当前空间被多少个指针所指向,每次调用析构函数的时候,只需要看看自减后引用计数是否为零(是否只被最后一个指针所指向)。如果是,则销毁空间,如果不是,那么只需要引用计数减减即可,无需释放空间。 写时拷贝是一种高性能的写法,原创 2016-08-21 13:22:15 · 315 阅读 · 0 评论 -
C++实现动态顺序表(类和对象)
在我之前写的博客里,写过用C语言实现顺序表的博客(你们可以去看看哟),最近重新复习了C++,决定用C++重新实现一遍顺序表咦巩固我的基础。这里我用的是类来实现顺序表,下面是我代码的实现,简单易懂:"test.cpp"#define _CRT_SECURE_NO_WARNINGS 1#include using namespace std;#include "SeqList.h"v原创 2016-08-21 15:21:27 · 538 阅读 · 0 评论 -
C++实现单链表(类和对象)——简单实现
"test.cpp"#define _CRT_SECURE_NO_WARNINGS 1#include using namespace std;#include "LinkList.h"void Test(){ LinkList list; for (int i = 1;i < 6;i++) { list.PushBack(i); } cout<<list<<endl原创 2016-08-22 16:04:52 · 718 阅读 · 0 评论 -
贪吃蛇——C++经典小游戏
贪吃蛇的游戏规则:上下左右方向键控制贪吃蛇游动,不要撞到墙、不要碰到自己身体,每次吃到食物速度都会加快。原创 2016-09-22 23:31:59 · 3309 阅读 · 1 评论 -
进度条代码的编写
#define _CRT_SECURE_NO_WARNINGS 1#include#include#include#includevoid proc(){ int i = 0; char proc_buf[102]; const char* lable = "\|-\\"; memset(proc_buf,'\0',sizeof(proc_buf))原创 2016-06-25 16:40:10 · 991 阅读 · 0 评论 -
日期类——日期计算器
"date.h"#pragma onceclass Date{public: Date(int year = 1990,int month = 1,int day = 1) :_year(year) ,_month(month) ,_day(day) { if (IsInvalidData() == false) { _year =原创 2016-07-11 17:37:47 · 402 阅读 · 0 评论 -
C++基础小程序——走向程序员的第一步
"Student.h"#pragma once#include void Swap1(int* num1,int* num2){ int tmp = *num1; *num1 = *num2; *num2 = tmp;}void Swap2(int* num1,int* num2){ *num1 = (*num1)*(*num2); *num2 = (*num1)/(*原创 2016-07-31 20:03:21 · 647 阅读 · 0 评论 -
字符串函数自定义
字符串函数(String processing function)也成字符串处理函数,指的是编程语言中用来进行字符串处理的函数,如C,pascal,Visual以及LotusScript中进行字符串拷贝,计算长度,字符查找等的函数。原创 2016-07-31 17:08:01 · 797 阅读 · 0 评论 -
详述大端小端存储
大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放;这和我们的阅读习惯一致。小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。原创 2016-07-22 23:31:44 · 444 阅读 · 0 评论 -
字符数组的翻转
有一个字符数组"student a am i”,请将数组改为"i am a student"不可以用到库函数,所有函数必须自己编写"test.cpp”#define _CRT_SECURE_NO_WARNINGS 1#include using namespace std;#include void Reversal(char* start,ch原创 2016-07-21 01:16:20 · 541 阅读 · 0 评论 -
棋盘游戏
简单的棋盘游戏,简单的三子棋玩法,和这个代码类似的话还可以写出五子棋等棋盘游戏原创 2016-07-19 20:04:43 · 581 阅读 · 0 评论