C/C++
文章平均质量分 90
-dzy-
国子先生晨入太学,招诸生立馆下,诲之曰:“业精于勤,荒于嬉;行成于思,毁于随。”
展开
-
CodeBlocks调试功能快捷教程
在程序设计中,单步调试能够跟踪程序的执行流程。跟踪过程中,还可以观察变量的变化,从而发现其中存在的问题。单步执行除了可以帮助我们发现设计的程序中存在的问题,对于初学者,还可以帮助我们理解语言的机制。 所以,对于初学者,掌握所用的集成开发环境的一般用法,是一件非常重要的事情。 由于其重要性,再引用中国的一句古话“工欲善其事,必先利其器”,单步调试就是程序设计者最重要的工具之一,这转载 2016-10-15 16:00:10 · 390 阅读 · 0 评论 -
C++属性封装之初始封装
面向对象的基本思想:以谁做什么来表达程序的逻辑,以对象为中心,对象的所有行为都通过调用自己的函数来完成。体现在代码层面就是数据成员调用自己的函数以及通过函数来对自己进行操作. 封装的好处:1.可以在成员函数中做一些必要的限制2.有时候确实不允许用户改变数据成员3.对数据的封装一般用set来对函数赋值 get函数用来读取数据成员 1.类的写法一般是public写在前面原创 2017-02-13 19:31:00 · 343 阅读 · 0 评论 -
关于高精度
#include void fun(int n); int a[1000000]={0}; int LengTh=0; int main() { int i,n; while(scanf("%d",&n)!=EOF) { fun(n); for(i=LengTh;i>=0;i--) prin原创 2017-02-14 17:46:59 · 323 阅读 · 0 评论 -
整型与单精度
#include#includeint main(){ printf("%d\n",1/3); printf("%f\n",1.0/3.0); printf("%f\n",1.0/3); printf("%f\n",1/3.0); return 0;}00.33330.33330.3333原创 2017-02-14 17:50:04 · 756 阅读 · 0 评论 -
C++类外定义
类内定义的成员函数,编译器会将其优先编译为内联函数。对于复杂的成员函数,则编译为普通的函数。类外定义的成员函数的格式: 返回类型 类名::函数名(参数列表) 分文件类外定义:定义一个类名.h的头文件,用来保存类的定义;定义一个类名.cpp的文件,用来保存类中成员函数的定义,定义之前要加上#include "类名.h"#include#include#includ原创 2017-02-14 21:48:59 · 3564 阅读 · 0 评论 -
C++构造函数初始化列表
12原创 2017-02-15 16:44:45 · 313 阅读 · 0 评论 -
C++构造函数
构造函数的规则和特点:1.构造函数在对象实例化时被自动调用2.构造函数与类同名3.构造函数没有返回值,不用写类型4.构造函数可以有多个重载形式5.实例化对象时仅用到一个构造函数6.当用户没有定义构造函数时,编译器自动生成一个构造函数。 构造函数的参数不能随意的赋给 特别是不能和无参数的构造函数和全部赋予初值的构造函数同时使用#inclu原创 2017-02-15 11:25:30 · 294 阅读 · 0 评论 -
C++拷贝构造函数
拷贝构造函数1.如果没有自定义的拷贝构造函数则系统自动生成一个默认的拷贝构造函数2.当采用直接初始化、复制初始化实例对象时或参数传递时系统自动调用构造函数。Teacher.h#include#includeusing namespace std;class Teacher{public: Teacher(string _name="q",int _age原创 2017-02-15 17:51:29 · 255 阅读 · 0 评论 -
C++Student类
定义一个Student类,包含名字一个数据成员,定义无参构造函数、有参构造函数、拷贝构造函数、析构函数及对于名字的封装函数,在main函数中实例化Student对象,并访问相关函数,观察运行结果。#include #include using namespace std;/** * 定义类:Student * 数据成员:m_strName * 无参构造函数:Student(原创 2017-02-15 19:55:41 · 3061 阅读 · 0 评论 -
C++析构函数
析构函数触发条件:当对象被销毁时,会自动调用析构函数,释放资源。定义格式:~类名()(没有返回值,不允许加任何参数,故不能重载)构造函数在对象实例化时自动调用,析构函数在对象销毁时自动调用。 构造函数没有返回值。拷贝构造函数没有返回值、不能重载。 析构函数在栈、堆中都能被调用,但是在堆中不会自动调用,必须手动释放内存,否则会造成内存泄漏 Teacher.原创 2017-02-15 18:31:36 · 4562 阅读 · 0 评论 -
C++对象数组
delete []p:加上[]能销毁所有的元素,如果不加只销毁第一个元素其实就是调用了p中的析构函数Coornidate.h#includeusing namespace std;class Coornidate{public: Coornidate(); ~Coornidate(); int m_iX; int m_iY;};原创 2017-02-16 09:37:11 · 310 阅读 · 0 评论 -
计算机语言之战
1桌面时代古老的C 王国从1972诞生以后, 一直都非常强大, 这里的臣民对它又爱又恨, 因为它的法律允许它的臣民直接操作内存,执行效率极高, 但是又对内存分配回收不管不顾,全部扔给子民们去处理。其实纯粹的C语言还是比较简单的, 只要你能真正的搞懂指针是怎么回事 , C++诞生以后,在C的基础上又加入了面向对象, 泛型编程等“时髦”概念, 让帝国的法律制度变的复杂无比, 外边的人都戏称”只转载 2017-04-19 19:02:08 · 666 阅读 · 0 评论 -
C语言 函数专题
作业要求 2015-2016学年度第一学期已经考试结束,为了了解学生的业务课程考试情况、平时表现情况和综合奖学金评定工作,需对全班同学的业务课程考试成绩、平时表现成绩进行相应处理。其中原创 2016-08-01 23:11:31 · 1350 阅读 · 0 评论 -
C语言 数组专题
作业要求青岛科技大学信息科学技术学院软件15级2015-2016学年第一学期学习了如下课程:软件技术导论(2学分)、C语言程序设计(3.5学分)、高等数学(5学分)、体育(2学分)、英语(3学分)、中国革命史(2学分)6门课程,为了对学生的考试成绩进行分析、统计、排名、学分等进行有效管理,结合学生的学号、姓名、学年度(2015-2016第一学期可用15161标识)信息,编程实现如下功能:原创 2016-08-01 22:38:11 · 1412 阅读 · 2 评论 -
C语言 菜单专题
作业要求在作业一的基础上加入以下功能并添加菜单数组功能基本功能菜单: =====================================作者:***1. 建立成绩数组2. 显示成绩数组3. 按给定成绩查询4. 按顺序号查询5. 从高到低排序输出6. 从低到高排序输出7.原创 2016-08-01 10:45:43 · 5157 阅读 · 0 评论 -
C语言 结构体专题
作业要求 定义(序号、学号、姓名、获得学分、高数、大体、近代史、软导、C程均分)数据类型,并输入相应数据,计算平均分并按照下列格式输出(注意间和对齐)。学号 姓名性别 数学 英语 c语言 体育 近代史 计算机 总分 平均分... ...... ...... ...... ...... ......要求:第一条.必须为自己的个原创 2016-08-01 10:13:22 · 1254 阅读 · 1 评论 -
C++初始string
s.empty()若s为空串,则返回true,否则返回falses.size()返回s中字符的个数s[n]返回s中位置为n的字符,位置从0开始s1+s2将两个串连接成新串,返回新生成的串s1=s2把s1的内容替换为s2的副本v1==v2判定相等返回true,不等返回falsev1!=v2判定不等返回true,相等返回false#include#include原创 2017-02-13 14:03:24 · 242 阅读 · 0 评论 -
C++类和对象
对象是具体的事物,类是从对象中抽象出来的。类的定义:数据成员(成员变量)、成员函数(方法)类的访问限定符:1、public(公共的)2、protected(受保护的)3、private(私有的) 从栈中实例化 Coordinate coor; coor.x=10; coor.y=20; 栈中实例化之后内存自动清除。从堆中实例化 Coordinate原创 2017-02-13 13:18:11 · 210 阅读 · 0 评论 -
CodeBlocks安装及使用
Code::Blocks是一个开放源码的全功能的跨平台C/C++集成开发环境,由纯碎的C++语言开发完成,使用了著名的图形界面库wxWidgets。由于最近上机指导,学校ACM推荐同学们用的是这款软件,故而对其安装及使用进行一些记录。一、Code::Blocks 安装直接在官网(http://www.codeblocks.org/)进行下载,依次点击Downloads > Down转载 2016-10-15 16:06:59 · 808 阅读 · 0 评论 -
C++对象成员
对象成员:一个对象中包含其他对象如:classLine{ public: Line(); private: Coordinate m_coorA; Coordinate m_coorB;}当实例化这样一个对象时,会先实例化m_coorA,再实例化m_coorB,最后实例化Line对象消亡时,会先销毁Line,再m_coo原创 2017-02-16 19:57:32 · 499 阅读 · 0 评论 -
C++深拷贝浅拷贝
拷贝构造函数分为深拷贝和浅拷贝,浅拷贝是将对象的成员依次进行赋值操作,而深拷贝则是将对象中若是存在指针成员,将指针成员所指向的成员依次进行赋值操作。Array.hclass Array{public: Array(int count); Array(const Array &arr); ~Array(); void setCount(int count)原创 2017-02-17 20:38:07 · 394 阅读 · 0 评论 -
C语言输入输出函数
C语言中基本的输入输出函数有:putchar ():把变量中的一个字符常量输出到显示器屏幕上;getchar ();从键盘上输入一个字符常量,此常量就是该函数的值;printf ();把键盘中的各类数据,加以格式控制输出到显示器屏幕上;scanf ();从键盘上输入各类数据,并存放到程序变量中;puts ():把数组变量中的一个字符串常量输出到显示器屏幕上;转载 2016-08-02 15:05:08 · 911 阅读 · 0 评论 -
函数的调用:形参与实参
我曾经写过这样一个用于交换两个变量的函数:#include <cstdio>using namespace std;int a[1001];void swap(int x,int y ) //错误!!!{ int t; t = x; x=y; y=t;}int main(){ a[0]=1,a[1]=2; swap(a[0]原创 2016-08-05 19:55:03 · 587 阅读 · 0 评论 -
C语言注释风格
C语言编程规范-注释 规则:1:一般情况下,源程序有效注释量必须在20%以上。说明:注释的原则是有助于对程序的 阅读理解,在该加的地方都加了,注释不宜太多也不能太少,注释语言必须准确、易懂、简洁。2:说明性文件(如头文件.h文件、.inc文 件、.def文件、编译说明文件.cfg等)头部应进行注释,注释必须列出:版权说明、版本号、生成日期、作者、内容、功能、与其它文件的关系、转载 2016-11-15 15:26:57 · 695 阅读 · 0 评论 -
CodeBlocks的常用快捷键
CodeBlocks常用操作快捷键编辑部分:Ctrl + A:全选Ctrl + C:复制Ctrl + X: 剪切Ctrl + V:粘贴Ctrl + Z:撤销Ctrl + S:保存Ctrl + Y / Ctrl + Shift + Z:重做Ctrl+Shift+C:注释掉当前行或选中块Ctrl+Shift+X:解除注释Tab:缩进当前行或选中块Shif转载 2016-10-24 19:39:01 · 489 阅读 · 0 评论 -
菜单返回上一级,直接退出和擦屏功能的实现
返回上一级,直接退出和擦屏功能的实现#include#include#includeint main(){ int choice1,choice2; while(1) { printf("1.进入下一级\n"); printf("2.忽略\n"); printf("3.退出\n"); printf("请输入:\n"); scanf("%d",&choice1);原创 2016-08-18 23:08:45 · 17275 阅读 · 2 评论 -
使用一个函数找出整型数组的最大值或最小值
#include#includeusing namespace std;namespace CommpA{ int getMaxOrMin(int* arr,int n,bool isMax) { int temp=arr[0]; for(int i=1; i<n; i++) { if(isMax)原创 2017-02-11 13:52:06 · 3482 阅读 · 0 评论 -
C++的输入输出方式
1.C语言的I/O方式:scanf,printfC++语言的I/O方式:cin,cout2.cout语法形式:cout(endl相当于C中的“\n”)cout3.cin的语法形式:cin>>x;cin>>x>>y;4.C++相比C:①不用关注占位符(如%d、%c)②不用关注数据类型提示用户输入一个整数,以八进制、十进制、十六进制输出。原创 2017-02-11 11:16:27 · 1786 阅读 · 0 评论 -
C++之namespace
1. using namespace std;//cin cout的命名空间(仅仅包含头文件include是不够的,需要有“使用命名空间”的说明)2. 如果不直接使用using namespace std cin/cout也可以表示成 std::cin >>.. std::cout <<...对于只调用一次的时候很方便3. 访问fun2()的另一种方式using namespac原创 2017-02-11 12:52:22 · 203 阅读 · 0 评论 -
C++语言引用
引用就是指变量的一个别名(不能只有别名) 引用必须初始化。int a=3;int &b=a;//(为a起个别名b,也是将别名b初始化为a)b=10;//(对别名做任何操作都是对其本身做操作)结构体类型的相关引用struct Coor{int x,y;}Coor c1;Coor &c=c1;c.x=10;c.y=20;指针类型的引用:类型*&指针引用名=指原创 2017-02-12 18:25:04 · 956 阅读 · 0 评论 -
C++const关键字
const(控制变量是否可以变化)const int x=3;(则此时x为常量,不可进行再赋值) const与指针类型const int *p=NULL;int const *p=NULL;(两种写法完全等价)int *const p=NULL; const int *const p=NULL;int const *const p=NULL;(这两种写法也是完全原创 2017-02-12 19:32:50 · 207 阅读 · 0 评论 -
C++函数新亮点
一、函数参数默认值1.有默认值参数值的参数必须在参数表的最右端 2.函数定义不写默认值,声明可写默认值3.无实参则用默认值,否则实参覆盖默认值二、函数重载1.定义:在相同作用域内 用同一函数名定义的多个函数 参数个数和参数类型不同2.好处:比如求最大值(有时候要求两个数的最大值,有时候三个数),根据参数及返回值的不同调用最合适的函数。函数重载,表现在函数返回类型,形参类型、个数原创 2017-02-12 20:20:45 · 187 阅读 · 0 评论 -
C++内存管理
一、申请和释放一个内存1.申请内存:int *p = newint;2.释放内存:delete p;二、申请和释放块内存1.申请块内存:int *p =new int[10];2.释放块内存:delete []p; 注意:申请内存要判断是否成功,if(NULL == p) {};释放内存后要加空指针。p = NULL;#include#in原创 2017-02-12 22:04:23 · 174 阅读 · 0 评论 -
C语言班主任管家系统
1系统分析1.1功能需求软件工程(移动互联网方向)专业学生的班主任管家系统分别涵盖2015~2016、2016~2017、2017~2018、2018~2019四个学年,八个学期。1.1.1功能划分每个学期可进行的操作功能有录入、修改、查询三项。1.1.2功能描述录入功能:课程信息可录入的仅选修课。学生信息内容包括学生的学号、姓名、宿舍号原创 2017-02-20 17:17:49 · 9094 阅读 · 11 评论