
C++的第一天
关于涤生
撑起两根穷骨头,养活一团春意思
展开
-
指针常量与常量指针
const int* p = str; //指针指向的内容不可更改int* const p =str; //指针不可以指向其他地方原创 2020-12-19 00:00:58 · 244 阅读 · 1 评论 -
键盘输入一个回车符,‘\r‘ 还是 ‘\n‘
getchar()键入一个回车——返回值为’\n’,ASCII码为10——换行符getchar()流输入函数,自动把’\r’‘转换为’\n’char ch = getchar(); //输入回车cout << int(ch); //输出10(='\n') #include<conio.h>getch()键入一个回车——返回值为’\r’,ASCII码为13——回车符getch()和getche()或_getch()或_ge原创 2020-11-22 08:18:12 · 1626 阅读 · 0 评论 -
<程序>汉诺塔与递归的理解
作者:IT边界链接:https://www.zhihu.com/question/24385418/answer/128213752来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。汉诺塔永远只有三步:作者:梁大炮链接:https://www.zhihu.com/question/24385418/answer/252603808来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。要用程序来解决这个问题,我们先定义一个移动函数:.原创 2020-11-07 04:52:51 · 260 阅读 · 0 评论 -
什么是地址
首先,必须要知道内存地址只是一个编号,代表一个内存空间。那么这个空间是多大呢?原来在计算机中存储器的容量是以字节为基本单位的。也就是说一个内存地址代表一个字节(8bit)的存储空间。无论何种存储器,软盘、硬盘、光盘或者内存,都有地址。因为它们要存储数据,所以就必须按一定的单位的数据分配一个地址。有了地址,程序才能找到这些数据。这很好理解,想想你们家为什么要有门牌号即可。内存地址:计算机把所有的信息都给数字化了,所以它知道自已把一个数据,一条命令记到了内存中的哪个(些)位置。关于第三行,你可以这样理解转载 2020-10-31 13:48:46 · 5349 阅读 · 0 评论 -
<缓冲区清空>cin和scanf——输入错误与缓冲区清空
scanf缓冲区清空scanf(“%*[^\n]%*c”)失败??无限循环。scanf("% *[^ \n]");scanf("%*c");成功·%〔^\n〕将逐个读取缓冲区中的’\n’字符之前的其它字符,·第一个%*表示将读取的这些字符丢弃,前遇到’\n’字符时便停止读取操作,·第二个%*c,缓冲区中尚有一个’\n’字符遗留,所以将读取并丢弃这个遗留的换行符,这里的星号和前面的星号作用相同(由于所有从键盘的输入都是以回车结束的,而回车会产生一个’\n’字符,所以将’\n’连同它之前的字符全部原创 2020-10-29 00:14:04 · 882 阅读 · 0 评论 -
C和C++篇——各种各样的函数
时间函数#include <windows.h> //取系统时间LARGE_INTEGER tick, begin, end;QueryPerformanceFrequency(&tick); //取计数器频率QueryPerformanceCounter(&begin); //取初始硬件定时器计数//中间程序运行//QueryPerformanceCounter(&end); //获得终止硬件定时器计数cout &l原创 2020-10-20 19:24:30 · 185 阅读 · 0 评论 -
问题合辑+注意事项——1.浮点型除法结果总为整数?2.float的数注意后缀加f 3. if else无{}时就近配对
1.浮点型除法结果总为整数?double型赋值,除法结果为什么是整数!??? double v1; v1 = 4/3 ; cout << v1 << endl;这就鬼了???v1是double型啊?为什么输出为整型? double v1; v1 =4.0/3.0 ; cout << v1 << endl;啊哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈高兴!!!!!!4/3——整型4除以整型3——还未原创 2020-10-18 13:50:59 · 279 阅读 · 0 评论 -
结合性,优先级
右结合条件运算符——判别式1?表达式2:表达式3右结合 /优先级 高于赋值eg:f(x)=(x>0)?1:(x0)?0:1 等价于f(x)=(x>0)?1:((x0)?0:-1;原创 2020-10-16 22:37:31 · 176 阅读 · 0 评论 -
循环语句while,do while,for,嵌套
while循环关于while循环终止break的问题。//break:注意,与“猜对了”复合执行,故不要忘了else后复合语句的{}。//随机数种子不要少打括号 srand((unsigned int)time(NULL)),要有头文件//这个val=0???//猜数字#include <iostream>#include <ctime>using namespace std;int main(){ srand((unsigned int)time(NU原创 2020-10-11 10:12:51 · 1063 阅读 · 1 评论 -
C++零星知识点——随机数、控制符、switch语句、延时循环、绝对值、关系运算、逻辑运算与短路、输出素数
生成随机数——rand()%eg. rand()%100 生成0到99的随机数rand()%100+1 生成1到100的随机数。原创 2020-10-11 09:33:36 · 416 阅读 · 1 评论 -
《关于垃圾大学生就是想表示自己还在学习并且给大家看看这件事》
条件运算符笔记:?:eg1 c=a>b?a:b这里的c=赋值语句使用方法。eg2 a>b?(max=a,min=b):(max=b,min=a)等价于if(。。。) 。。。else。。。右结合——f=x>0?1:(x0)?0:-1 问,括号里这就直接给x赋值了?等价于f=x>0?1:((x0)?0:-1)...原创 2020-10-04 16:39:43 · 137 阅读 · 0 评论 -
除零取余对零取模——编译不报错。但运行无输出、返回代码为负值、运行时间长
#include using namespace std;int main(){int a = 5, n = 12;a %= n %= 2;cout << a<<" "<<n<< endl;return 0;}除0取余无法运算。无法进行到return0这一步。原创 2020-09-28 23:30:46 · 2843 阅读 · 7 评论 -
函数设计标准格式:有返回值的函数——what is int stonetolb(int)?
课本例题再实现:有返回值的函数:what is int stonetolb(int)?有返回值的函数是什么意思。及其细节理解。当然了,下面这样更简单。没必要另设函数,因为pounds值仅为一个常量顺带一提,main()函数只能返回值为int整数,但我们试试小数时的stonetolb,如下...原创 2020-09-25 16:40:44 · 754 阅读 · 0 评论 -
老子终于摆脱Hello World啦
来分析error原因:赋值语句不能在cout的输出语句中出现,这啥情况?改为书中代码,仍然:好像是文件夹内文件位置的错误。从文件夹内打开。cincarrots.cpp 如上,问:如何运行?为何无法调试?...原创 2020-09-24 17:09:01 · 113 阅读 · 0 评论 -
初学C++的小白问题
初学C++的小白一头雾水自问自答1.c++中的#include using namespace std 什么意思?包含iostream文件。iostream实际上是一个头文件(iostream.h),安装C++环境时就已经存在机子里面了,然后使用#include把这个文件包含进来,就可以使用这个文件里面的代码了。std名称空间:相当与一个程序,使电脑识别下文中的函数 cin cout endl的意思是输入,输出等含义。这个就叫预处理器。你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎原创 2020-09-24 16:33:33 · 135 阅读 · 1 评论