![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
饭要梁了
一名大学生的笔记本
展开
-
【C++】第9章:(二)构造函数和析构函数
构造函数:是用于创建对象的特殊成员函数,当执行对象定义语句时,系统自动调用构造函数作用:初始化对象:为对象的数据成员赋初值&请求其他资源;构造函数构造函数是类的public成员构造函数名与类名相同构造函数可以重载构造函数可以有任意类型的参数,但没有返回值,函数头部无返回值类型说明对象的定义语句即为构造函数的调用语句系统按照函数重载规则调用构造函数析构函数当一个对象的生命周期结束时,C++会自动调用析构函数析构函数是public成员函数析构函数名为:~类名析构函数没有参数原创 2020-05-23 15:56:14 · 216 阅读 · 0 评论 -
【C++】第9章:(一)类和对象的定义
从C++定义的数据类型到自定义数据类型类:用户自定义数据类型对象:类的变量文章目录类的定义类的定义_1:访问限定符类的定义_2:成员类的定义_3:成员函数的定义类的封装类的定义数据与数据的处理函数封装在一起 --> 类类的定义包括四要素:类名数据成员 (数据集合的值规范)函数成员访问限定符类的定义_1:访问限定符访问限定符:说明类成员的可访问范围1.三种关键字出现的次数和先后续都没有限制2.若某个成员前面没有上述关键字,则为私有成员class 类名{ pri原创 2020-05-22 22:30:11 · 439 阅读 · 0 评论 -
【C++】第8章:(三)文件处理-二进制文件
二进制文件打开二进制文件用ios::binary方式;二进制文件的读写方式由程序控制,并用特定的读写函数:fstream infile,outfile;infile.open("inf1.txt",ios::in|ios::binary);outfile.open("outf1.txt",ios::out|ios::binary);二进制文件读写操作输入函数:Infile.read(char *,int); //char *数据进入的内存地址,int一次读入的字节数输出函数:Outfil原创 2020-05-22 19:46:35 · 527 阅读 · 0 评论 -
【C++】第8章:(二)文件处理-文件文本
文件与流文件操作的基本步骤:打开文件:建立文件流对象流对象与磁盘文件关联指定文件的打开方式streamclass fileObj(fileName,openMode);fileObj.open(fileName,openMode);文件的打开模式:打开文件方法1:调用流类带参数的构造函数,建立流对象时连接外部文件流类 对象名(文件名,方式);(流类:ifstream、ofstream或fstream)例如:ifstream infile(“datafile.dat”,ios::原创 2020-05-22 18:53:41 · 147 阅读 · 0 评论 -
【C++】第7章:(五)递归算法
用递归的方法求n!n! = 1 (n=0,1)n! = n*(n-1)! (n>1)原创 2020-05-21 19:15:55 · 237 阅读 · 0 评论 -
【C++】第7章:(四)参数传递的意义和作用
文章目录一.函数为什么需要参数传递?二.参数传递——值传递的用法三.参数传递——地址传递的用法1.形参是指针2.传数组的首地址(传数组名)传二维数组的首地址3.传引用一.函数为什么需要参数传递?函数之间的共享数据是通过参数传递完成的(函数就像一个可以实现特定功能的盒子,实参的值复制一份传进去,操作后返回一个值,而实参原来本身的值不会改变)二.参数传递——值传递的用法方式:函数的形参的类型为简单变量当实参传递给形参时,系统会建立一份拷贝给形参。当函数调用完毕后,这份实参的拷贝消失。特点:传值调用原创 2020-05-21 16:57:53 · 439 阅读 · 0 评论 -
【C++】第7章:(三)变量的作用域与生存期
文章目录1.什么是作用域与生存期?2.变量的种类3.变量的存储类型1.什么是作用域与生存期?文件 file.cppint a; //文件作用域,全局变量main 函数{f2();...f1();}f1 函数{auto int b; //函数作用域或块作用域,局部变量f2();...}f2 函数{static int c; //同 b...}变量的作用域:变量起作用的范围(1.文件作用域;2.函数或者块作用域)变量的生存期:变量能保存值的时间范围2.变量的种类局原创 2020-05-21 13:02:47 · 244 阅读 · 0 评论 -
【C++】第7章:(二)函数的调用及声明、函数重载
函数的调用主调函数通过函数名调用被调函数,如果被调函数中有形参,则主函数中的函数调用语句须给出对应的实参;调用格式:函数名(实参表)调用方式:有返回值:m=funMax(x,y); //表达式形式的调用无返回值:fun(a,b); //语句形式的调用函数的声明在主函数前声明函数,则函数的定义可以在所有地方调用三个关键部分函数的名字函数返回值的类型调用这个函数的时候必须提供的参数的个数和参数类型语法格式数据类型 函数名(形参列表);函数重载定义原创 2020-05-21 10:45:52 · 267 阅读 · 0 评论 -
【C++】第7章:(一)函数的概念及定义
文章目录一.为什么需要函数二.什么叫函数三.如何定义函数一.为什么需要函数避免重复性操作分而治之思想:把一个复杂的问题分解成若干个简单的问题,每个简单的问题是一个独立的功能模块,每个模块用函数实现二.什么叫函数int funMax(int x,int y){ if(x>y) return x; else return y;}能够完成特定功能的独立代码块;能够接受数据,并对接受的数据进行处理;也可以不接受数据,可以返回结果也可以不返回结果;归纳:函数是一个工具,原创 2020-05-20 19:38:28 · 152 阅读 · 0 评论 -
【C++】第6章:(五)多级指针、动态存储分配
二级指针一级指针:指针变量中存放目标变量的地址int *p;int i=5;p=&i;*p=15;二级指针:指针变量中存放一级指针变量的地址int **p1;int *p2;int i=5;p2=&i;p1=&p2;**p1=15;用二级指针处理字符串int main(){char **p;char *name[5]={"www.","hust.","edu.","cn"};p=name+1;cout<<*p;p+=2;while原创 2020-05-20 16:38:49 · 277 阅读 · 3 评论 -
【C++】第6章:(四)指针数组
指针数组数据类型 * 数组名[数组长度说明]例 int *p[4];指针数组赋值与初始化赋值:main(){ int b[2][3],*pb[2]; pb[0]=b[0]; pb[1]=b[1]; ......}初始化:main(){ int b[2][3],*pb[ ]={b[0],b[1]};...}指针数组赋值与初始化初始化:mai...原创 2020-04-17 11:06:36 · 149 阅读 · 0 评论 -
【C++】第6章:(三) 指针和二维数组
文章目录二维数组与指针的关系行指针与列指针(重点)用指针操作二维数组的实例二维数组与指针的关系int a[3][4];对于二维数组a:a是数组名,包含三个元素,a[0],a[1],a[2]每个元素a[i],又是一个一维数组,包含4个元素二维数组具有二级地址的含义行指针与列指针(重点)行指针:a[0],a[1],a[2],a[3]列指针:a[0]+1,a[0]+2,a[1]+1...原创 2020-04-16 14:38:24 · 203 阅读 · 0 评论 -
【C++】第6章:(二)指针与一维数组:求两个集合的交集
指针表示一维数组的元素数组名int a[ ]={1,2,3,4,5,6,7,8,9}下标表示法a[i]:a[0],a[1],a[2],a[3]地址表示法*(a+i): *(a+0), *(a+1), *(a+2), *(a+3)指针的算术运算与比较运算用指针操作一维数组的实例...原创 2020-04-16 11:10:10 · 1880 阅读 · 1 评论 -
【C++】第6章:(一)指针概述及基本应用
访问内存中的数据从内存单元中访问数据的方法有两种:直接访问和间接访问直接访问通过变量名,直接对变量的存储单元进行存取访问。定义变量后,该变量名也就成为了相应内存空间的名称,表现在程序语句中就是通过变量名来存取变量内容间接访问根据变量的地址进行存取访问指针变量与指针变量的定义...原创 2020-04-12 22:16:02 · 189 阅读 · 0 评论 -
[C++题目]:计算天数
题目内容:程序输入某年某月某日,判断这一天是这一年的第几天?输入格式:在一行依次输入一个日期的年、月、日,数据之间用空格隔开。输出格式:输出计算的结果。输入样例:2000 3 20输出样例:80天代码如下:#include<iostream>using namespace std;int main(){ int x,y,z,s,i; s=0; cin&g...原创 2020-03-26 12:35:56 · 1486 阅读 · 0 评论 -
【C++】判断一个数是否有小数
有这样一道题:题目内容:设计一个简单的计算器程序,根据输入的操作数和运算符可以完成 + 、—、 、/ 、% 运算。输出结果必须是一个完整的算术运算式的格式。*例如 :输入3.1 5 + ,输出结果是 3.1+5=8.1。注意:当输入的运算符是"/“且第二个操作数是0时,输出“除数不能为0”当输入的运算符是”%"且操作数中含有小数(如6.5)时,输出“error!”在做这道题时,我把输...原创 2020-03-26 12:20:23 · 11566 阅读 · 3 评论 -
[C++题目]:求和s=a+aa+aaa+…+aaa…a(n个a)
题目内容:编程计算s=a+aa+aaa+…+aaa…a(n个a),a的取值为0~9,n的取值为0~5,a和n由键盘输入例如:a=1,n=3,则s=1+11+111=123输入格式:输入a和n输出格式:s的值输入样例:2 3输出样例:s=246问题分析:存在两次累加:t+=a和s+=t1.用n–控制循环的次数n;2.循环每次a乘以10;3.用t储存每次总和s加的数;代码如下:...原创 2020-03-26 12:03:43 · 5260 阅读 · 1 评论 -
[C++题目]:求整数的数根
题目内容:对于一个正整数n,我们将它的各个位相加,得到一个新的数字,如果这个数是一位数,我们称之为n的数根,否则重复处理,直到它成为一个一位数,这个一位数就是n的数根。一位数的数根为0。例如:24,2+4=6,6是24的数根398,3+9+8=20,2+0=2,2是398的数根输入格式:输入n输出格式:n的数根输入样例:789输出样例:6...原创 2020-03-26 11:53:33 · 4637 阅读 · 2 评论 -
[C++题目]:求函数s(n)=2/1+3/2+…+(n+1)/n的值
题目内容:输入n,求以下函数的值s(n)=2/1+3/2+…+(n+1)/n输入格式: 输入n输出格式:输出s(n)的值输入样例:5输出样例:7.28333问题分析用k做计数器,循环k=n前sum的累加;分子分母不断加1;代码如下:#include <iostream> using namespace std;int main (){ int n,k=...原创 2020-03-26 10:43:54 · 2185 阅读 · 0 评论 -
[C++题目]:关于素数的问题:求0到200内第n个到第m个素数的和
题目内容:给定两个整数n和m,0<n<=m<=200,编写程序计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。注意:是第n个素数到第m个素数,不是n和m之间的素数!输入格式:两个正整数,第一个表示n,第二个表示m。输出格式:输出所求的和。输入样例:2 4输出样例:15问题分析素数:因数只有1和它本身的数(即只能被1和它本身整除)...原创 2020-03-26 10:22:45 · 1231 阅读 · 3 评论 -
[C++题目]:求若干数的最大值和平均值
题目内容:编程要求输入若干不为0数据,输入0结束,求该若干数中的最大值和平均值。如果输入0个数则最大值和平均值均为0.输入格式:输入若干个数以0结束输出格式:先输出最大值,然后再输出平均值,两数据间用英文逗号隔开。注意不要输出任何别的多余字符。输入样例:23 2 -6 -10 40 0输出样例:max=40,avg=9.8问题分析#include <iostream>...原创 2020-03-24 18:39:12 · 3612 阅读 · 0 评论 -
C++如何输出换行及空格
C++中用cout输出换行的三种方式:cout<<endl;cout<<’\n’;cout<<"\n";这样就可以单独输出换行啦!输出空格:cout<<" "<<endl;另外:c++中\t是跳到下一个Tab位置的意思,相当于按一下Tab键。Tab键代表了8个空格,所以输出空格时也可以用\t空开8个间隔。...原创 2020-03-23 16:36:33 · 77368 阅读 · 4 评论 -
[C++经典题目]:如何分解一个正整数的质因数
题目将一个正整数分解质因数。例如:输入90,输出90=233*5,输入5,输出5=5原创 2020-03-21 21:47:14 · 4373 阅读 · 0 评论 -
【C++】第4章:(五)从百钱买百鸡问题看穷举法
文章目录穷举法一.百鸡问题二.破解密码的简单方法:暴力穷举三.小结穷举法穷举法的基本思想:一一列举所有可能的解,逐个验证是否符合“约束条件”,找出符合要求的解穷举法适合求解的问题:可能的答案是有限个且答案是可知的,但又难以用解析法描述。这种算法 通常用循环结构来完成基本框架:for(i=a;i<=b;i=i+步长){…}一.百鸡问题“百鸡问题”:鸡翁一,值钱五,鸡母一...原创 2020-03-20 21:00:03 · 1155 阅读 · 0 评论 -
【C++】第4章:(四)嵌套循环:从打印九九乘法表看内外循环的关系
文章目录一.嵌套循环的常用设计方法二.问题:打印九九乘法表(由外到内)三.小结一.嵌套循环的常用设计方法从内到外先考虑每一行中的数据如何输出再考虑如何输出这样的多个行由外到内先将每一行看成一个数,考虑如何输出多行再对每一行是如何输出的进行细化二.问题:打印九九乘法表(由外到内)一.先输出九行二.细化每行输出#include <iostream> #inc...原创 2020-03-20 17:55:58 · 450 阅读 · 0 评论 -
【C++】第4章:(三)嵌套循环:从计算多个圆面积看内外循环的关系
循环嵌套:在一个循环结构中又完整地包含着另一个循环结构嵌套层次一般不超过3层,以保证可读性。【例1】输入10个圆的半径,要求输入数据是非负数,可对半径反复输入,最多输入3次,或直到输入半径为正数,输出10个圆的半径和相应的面积。#include <iostream> using namespace std;int main (){ int i,j;//i为圆的个数,...原创 2020-03-20 17:29:10 · 394 阅读 · 0 评论 -
【C++】第4章:(二)素数算法问题中的break,continue和标记变量
文章目录1.求素数方法一2.求素数方法二3.break&continue【例】输入一个数字,判断其是不是素数1.求素数方法一问题分析如果m>2,m是素数的条件是不能被2,3,…m-1整除或不能被2,3,k(k为不大于根号m整整)#include <iostream> #include <cmath>using namespace std;in...原创 2020-03-20 16:35:31 · 248 阅读 · 0 评论 -
【C++】第4章:(一)从Fibonacci数列和猴子吃桃问题看递推法
文章目录1.什么是递推法?2.如何实现递推法?1.什么是递推法?递推法指从问题的已知条件出发,依据某种递推关系,逐次推出所要求的各中间结果及最后结果递推初始条件确定1.问题本身已经给定;2.通过对问题的分析与化简后确定;递推方向1.顺推法从已知初始条件出发,通过递推关系逐步推算出要解决的问题的结果的方法。如求Fibonacci数列2.倒推法在不知初始值的情况下,经某种递推关系...原创 2020-03-20 15:02:44 · 416 阅读 · 0 评论 -
[C++题目](循环算法设计)输出所有形如aabb的四位完全平方数
n=i*i,n是一个四位整数,就是1000到9999之间,i可能的解在10到99#include <iostream>using namespace std;int main (){ int i,a,b,c,d,n; cout<<"形如aabb的四位完全平方数为:"; for(i=10;i<100;i++) { n=i*i; if(n>...原创 2020-03-19 10:53:57 · 2340 阅读 · 0 评论 -
【C++】整数拆分程序框架
int n,y;cout<<"Enter the number:";cin>>n;//n保存输入的整数 cout<<"The number in reverse order is";while(n!=0){ y=n%10;//对n求模取出当前个位数 cout<<y; n=n/10;//即n=n/10运算,相当于对n右移一位,去掉已取出...原创 2020-03-19 10:36:59 · 284 阅读 · 0 评论 -
[C++题目] 根据快递商品的重量计算应付运费用
题目内容:某快递公司收取快递费的标准是:5公斤(包括5公斤)以下收费10元,超过5公斤每2公斤收费5元,不足2公斤按2公斤收费。输入格式:直接输入商品的重量单位为公斤。输出格式:直接输出应付的快递费,单位为元。输入样例:5.5输出样例:15#include<iostream>using namespace std;int main(){ double wei...原创 2020-03-15 21:20:42 · 6954 阅读 · 1 评论 -
【C++】第2章:(三)混合运算和类型转换
不同类型的数据运算时,先转换成同一类型再运算转换原则:确保计算值的精度,转换后尽量不丢失有效数字1.字节少的向字节多的转换char,unsigned char,short,unsigned short,bool --> intcout<<('a'+5)<<endl;//'a'转换为int再加5,结果为整型...原创 2020-03-15 11:54:07 · 185 阅读 · 0 评论 -
【C++】第2章:(二)逗号运算符
逗号是”,"一个运算符;多个表达式用逗号隔开,构成逗号表达式;格式:<表达式1>,<表达式>,…,<表达式n>*规则:从左向右依次计算n个表达式的值,整个表达式的值为<表达式n>的值例1:int a=1,b=2,c=3;int y;y=(a=a+1,b=b+2,c=c+3);//相当于a=a+1;b=b+2;c=c+2;y=cco...原创 2020-03-14 18:51:54 · 192 阅读 · 0 评论 -
【C++】第2章:(一)算术运算
优先级:优先级最高:- :取相反数;函数:exp(x): e^xpow(x,y):x^ysqrt(x): x的平方根fabs(x):|x|log(x):lnx,(x>0)log10(x):lgx,(x>0)sin(x): sinx,x为弧度值cos(x):cosx,x为弧度值使用函数时要在开头加上标准库函数:#include <cmath>us...原创 2020-03-13 17:49:38 · 116 阅读 · 0 评论 -
【C++】第一章:多数据输入时的分隔问题
在键盘输入多数据时,必须用空格键,Tab键或enter键隔开;不同数据类型的输入: 按数据类型读取数据当用enter键分隔数据时:当用空格键分隔时结果是一样的:多数据错误输入情况当有与数据类型不匹配的数据时:用空格键分隔:按变量数据类型依次读入符合类型的数据a是整型,先读1,.2还在内存缓冲区,符合第二个浮点型变量,所以读了0.2,数字3可以看做整型也可以看做字符,所以读...原创 2020-03-12 22:52:38 · 4300 阅读 · 0 评论 -
【C++】第一章:用函数清除数据流缓存区
输入数据时,会先存在缓冲区,后面再输出显示即:数据-->缓冲区-->显示器原创 2020-03-12 16:45:37 · 861 阅读 · 0 评论 -
【C++】第一章:输出语句中对表达式处理
cout的输出顺序:计算顺序:自右向左输出顺序:自左向右#include <iostream>using namespace std;int main(){ int a=4; cout<<a<<a++<<endl; return 0;}运行后:...原创 2020-03-12 11:55:14 · 411 阅读 · 0 评论 -
【C++】第一章:输出浮点数格式和输出宽度的设置
输出浮点数控制方式控制浮点数值显示:1.普通格式:独立使用*setprecision(n)*表示有效位数n例如:cout<<setprecision(3)<<12.2675; 显示:12.32.定点表示格式:fixed与setprecision(n)配合,表示小数精度n位例如:double a=123.56789; cout<<f...原创 2020-03-12 11:47:16 · 2728 阅读 · 2 评论 -
【C++】第一章:数据的输入与输出
数据的输入: cin>>变量一般格式为:cin>>变量1>>变量2>>…>>变量n如:int a,b;cin>>a>>b;1.输入多个数据时,中间用空格键,Tab键或enter键隔开;2.空格键分隔多数据,如果输入的数多了会把多的丢弃掉不读数据的输出:cout<<一般格式为:cout&l...原创 2020-03-12 11:09:45 · 196 阅读 · 0 评论 -
[C++题目]:C++实现输入多个学生的成绩,求其总分,平均分并按排名从高到低顺序输出
题目内容假定有学生3位,3门课程。学期末要求汇总成绩,请用一个二维数组存储这些学生的成绩数据,同时将每位学生所有课程成绩的总分、平均分和名次列入学生成绩汇总表(二维数组)中的后三列上。要求输入学生各科课程成绩数据后并输出成绩汇总表。(要求:输出每个数据间用2个英文空格隔开,且每行最后一个数据后也有2个英文空格)输入格式:在一行输入所有数据,数据间用一个空格分隔输出格式:按名次从高到低分...原创 2020-04-03 16:04:42 · 13387 阅读 · 1 评论