- 博客(30)
- 问答 (2)
- 收藏
- 关注
原创 对于b = (++i) + (++i)为何是6的思考
先看一下有趣的段子:下面都是我的猜想:#include <iostream>// 探究括号表达式返回的是不是左值:#define print(x) std::cout << (x) << std::endl;#define init_x_y \ int x{10}, y { 20 }void fun1(void);void fun2(void);void fun3(void);void fun4(void);int ma.
2021-08-08 07:18:21 593 1
原创 c++枚举的一些注意事项
#include <iostream>int main(void) { using std::cout; using std::endl; enum ultraman { TIGA, DYNA, GAIA, AGUL = 2000, COSMOS, MEBIUS, }; // name 只能被赋值 ultraman 里面的单词, 这里面的单词虽然可以转换成int类型, // 但int类型不能转换成name里面的枚举.
2021-08-01 21:19:54 260
原创 初遇c++结构, 联合, 枚举
结构:#include <iostream>int main(void) { // c语言声明结构, 需要用typedef定义名字: typedef struct my_wife { std::string wife1; std::string wife2; std::string wife3; } my_wife; my_wife wifes{"一花", "二乃", "三玖"}; std::cout << wifes.wife1
2021-08-01 02:45:59 222
原创 c++ 字符串 std::string 的初步入门
#include <iostream>#include <ostream>#include <string>// 与 python 的字符串类型极其相似的 c++ 字符串: std::stringint main() { // using namespace std::cin; // 初步对比数组与c++字符串的声明方式: char a[15]{"hello world!"}; std::string b{"hello python!"};.
2021-07-31 23:44:20 334
原创 cin的高级主题
思考代码, 印象更深刻:#include <iostream>// 读取行:// std::cin.getline(数组名, 读取的个数); // 一直读到换行符, 然后把换行符丢弃!// std::cin.get(数组名, 读取的个数); // 一直读到换行符前一个字符,// 下次读的时候从换行符开始读, get有坑, 不知道有什么用!// std::cin.get(); // 内部不含参数, 则只读取一个字符int main() { usin
2021-07-31 21:37:59 67
原创 c与c++的auto关键之字的使用
1. 在c里面, auto生明的是自动变量, 可以自动销毁的变量叫做自动变量在c中有static (静态变量), auto (自动变量), register (寄存器变量), extern (外部变量)2. 在c++里面auto的用法是根据初始值来自动声明变量auto x {3.141592};auto y {30};这样就可以自动初始化变量x与y了, 其中x为doubel类型, y为整数类型参考如下代码:#include <iostream>int ...
2021-07-30 21:48:36 137
原创 c++的类型转换符
先思考一下如下代码, 思考一下, 印象更深刻哦!#include <iostream>int main() { float a{2.58941}; float b{-2.5681}; float c{3.56162}; int x, y, z; // c 风格格式强制转换: x = (int)a; // c++ 风格格式强制转换: y = int(b); // c++ 更为严格的类型转换符: z = static_cast<int&...
2021-07-30 20:45:15 125
原创 我的io操作工具集
fopen_s, fclose, fgets, fputs, getc, putc, sprintf, rewind#include <stdio.h>#include <stdlib.h>int main(void) { FILE *fp; int err; char s[50]; err = fopen_s(&fp, "./1.txt", "r"); if (err) exit(EXIT_FAILURE); else if (f
2021-07-16 21:36:02 167
原创 c常用字符串或字符方法
字符篇 (以下比较的都是基于ASCII码表中的字符, 中文字符可能会报错, 也可能不会报错)1. isalnum 判断字符是不是字母或数字#include <ctype.h>#include <stdio.h>int main(void) { char a = 'A'; int b = isalnum(a); printf("%d\n", b);}输出: 1#include <ctype.h>#include <stdi.
2021-07-14 01:17:19 451
原创 goto实现break功能
思考如下代码, 思考一下, 印象更深入哦!#include <stdio.h>int main(void) { char a; while ((a = getchar())) { fflush(stdin); if (a == '0') goto help; else if (a == '\n') { goto next; next:; } else printf("先有圣人后有天, 我惠美如画中仙!"
2021-07-07 22:34:12 168
原创 c语言中输入scanf与getchar的啃爹之处
先来思考一下短一点的代码, 思考一下, 印象更深刻;#include <stdio.h>int main(void) { char a, b; scanf("%c", &a); printf("%c\n", a); scanf("%c", &b); printf("%c\n", b);}我输入1, 然后回车, 猜一猜打印的结果是什么?悄悄告诉你, 回车键其实是'\n'键哦, 你按一下回车, 相当于输入'\n'哦给你看看结果如何:1
2021-07-07 21:07:23 170
原创 c语言的三元运算符
先看一下如下代码, 思考一下印象更深刻哦!#include <stdio.h>int main(void) { int a, b; scanf("%d", &a); b = (a > 0) ? 1 : 0; printf("%d\n%d", a, b);}假设, 代码运行时, 输入正数5, 那么b应该匹配哪个?先来解释印象下面这段话的读法:b = (a > 0) ? 1 : 0;如果a是正数, 那么b就等于1, 反之, b就等于0
2021-07-07 19:12:34 2550
原创 getchar只会读取输入的第一个有效字符
观察如下代码, 思考一下, 印象更深刻哦!#include <stdio.h>int main(void) { char a; a = getchar(); putchar(a);}假设我输入:hello word!程序会输出什么结果呢?结果如下:h
2021-07-07 03:04:22 427
原创 c语言灵活的表达式
观察如下代码, 尝试推敲结果: (思考一下, 印象更深刻哦!)#include <stdio.h>int main(void) { int a, b; float c; a = 1; b = 2; c = a += 3 / b; printf("%d\n%d\n%f", a, b, c);}结果如下:2 2 2.000000先分析一下流程, 先运算3 / b = 1.5 但是, 因为a是整数类型, 直接趋零截断, 变为
2021-07-06 22:32:21 93
原创 c语言之逗号表达式的特殊点
思考如下代码, 思考一下, 印象更深刻哦!#include <stdio.h>int main(void) { int a; a = 0, 1; printf("%d", a);}猜一猜这个打印的结果是什么?0输出的是0, 为什么呢?简单解释一下规律, c会把下面的语句a = 0, 1;看作成:a = 0;1;a = 0是逗号左边的一条表达式, 1是逗号表达式的右边一条表达式, 有点神奇再来看一个特殊的地方:是考一下如下代码:.
2021-07-06 16:53:03 148
原创 c语言的强制类型转换
思考如下代码, 思考一下, 印象更深刻哦!#include <stdio.h>int main(void) { float a; a = (float)3; printf("%f", a);}在常量前面加个由括号括住的类型, 则表示强制类型转换, 挺神奇的, 再来看看python它的格式:a = 4a = float(a)print(a)输出如下:4.0与c语言有点像但又并不太像, 神奇的不得了啊...
2021-07-06 03:32:16 122
原创 c语言中每个表达式都有一个值, 神奇的不得了
思考如下代码, 思考一下, 印象更深刻哦!#include <stdio.h>int main(void) { int a, b; printf("%d\n", (a = 5)); printf("%d\n", 5 > 4); printf("%d\n", (b = (a = 5))); b = 4; printf("%d\n", b + (a = 5 + 10));}括号表达式也有返回值?神奇啊, 而且返回的是最终相对左值的值, 结果如下:5
2021-07-06 03:01:57 1192
原创 typedef 可以给类型换个名, 神奇的c语言
思考一下如下代码, 思考一下, 印象更深刻哦!#include <stdio.h>int main(void) { typedef double real; real a; a = 3.14; printf("%f", a); return 0;}观察一下这行代码:typedef double real;用real这个名字来代替double, 差不多是这个意思, 挺好玩的, 嘻嘻嘻, 不是说代替就不能用double哦!#include <
2021-07-06 02:34:53 131
原创 c语言中a = b = c = 4, 如果下面步骤中改变了c的值, a, b会受到影响吗?答案是不会!
思考一下如下代码, 思考一下, 印象更深刻哦!#include <stdio.h>#include <string.h>int main(void) { const int age = 17; int a, b, c; a = b = c = age; c = 4; printf("%d\n%d\n%d\n%d\n", age, a, b, c);}代码会发生变化吗?结果如下1717174 我们观察到, 它就只有自己变, 并未影响
2021-07-06 00:51:20 549
原创 萌新搞c笔记之与#define类似的const限定符
先思考一下代码来回顾一下#define的特点:#include <stdio.h>#include <string.h>#define PI 3.141592int main(void) { printf("%f\n", PI); return 0; PI = 4; printf("%d", PI);}运行结果:PS C:\Users\13255\Desktop\C语言基础> cd "c:\Users\13255\Desktop\C语言
2021-07-05 21:18:04 120
原创 c语言中假设修改#define指定的常量的值会发生什么?
请思考一下如下代码, 它的执行结果是什么?思考一下, 印象更深刻哦!#include <stdio.h>#include <string.h>#define PI 3.141592int main(void) { printf("%f", PI); // PI = 3; // printf("%D", PI); return 0;}结果很明确, 就是3.14159263.1415926假设, 把下面部分的注释去掉, 会发生什么呢,
2021-07-05 20:49:22 942
原创 c语言对sizeof与strlen的理解
先定义一个长度为40的字符数组name#include <stdio.h>#include <string.h>int main(void) { char name[40]; scanf("%s", name); printf("%s\n", name); printf("%d\n", strlen(name)); printf("%d\n", sizeof name); printf("%d\n", sizeof(char)); return
2021-07-05 19:27:35 140
原创 如果把浮点型赋给整数会怎样?直接截断!
请思考以下代码, 输出什么样的结果, 思考一下印象更深刻哦!#include <stdio.h>int main(void){ int coat = 3.6; printf("%d\n", coat);}输出结果为:PS C:\Users\13255\Desktop\C语言基础> cd "c:\Users\13255\Desktop\C语言基础\1.实验区\" ; if ($?) { gcc 试验.c -o 试验 } ; if ($?) { .\试验
2021-07-05 17:56:30 1014 1
原创 奇怪的c语言float类型
1. float类型只保留6位小数, 多余的部分统一四舍五入2. double类型只保留13位小数, 多余部分, 统一四舍五入float类型举例:#include <stdio.h>int main(void){ float a, b, c, d, e, f; a = .2; b = 3.141592; c = 3.14159265358979323; d = 4e16; e = .4e16; f = 100.;
2021-07-05 17:38:54 1185
原创 c语言如果给char类型变量赋值‘string‘最终会是什么结果呢?
#include <stdio.h>int main(void){ char a; a = 'string'; printf("%c", a);}输出的结果如下:PS C:\Users\13255\Desktop\C语言基础> cd "c:\Users\13255\Desktop\C语言基础\3.正片开始\" ; if ($?) { gcc char能给string吗.c -o char能给string吗 } ; if ($?) { .\char能.
2021-07-05 16:46:15 817 1
原创 python试验--使用requests批量下载壁纸
由于鄙人刚刚接触爬虫, 对法律要求还不是很了解, 所以分析过程就尽量简陋, 不深入分析, 只讲个大致分析思路, 请见谅1. 若要批量下载图片, 首先就得要有tu'pian
2021-06-02 09:01:35 254
原创 python笔记--使用solve算出黄金分割比近似值
参考百度百科: 黄金分割是指将整体一分为二,较大部分与整体部分的比值等于较小部分与较大部分的比值,其比值约为0.618。 这个比例被公认为是最能引起美感的比例,因此被称为黄金分割。...
2021-06-02 04:17:46 1730
原创 python笔记--乘法运算符对字符串, 列表, 元组, 集合, 字典的影响
先总结为敬:字符串, 列表, 元组可以使用乘法运算符实现增倍的效果, 但是集合, 字典不能这样使用, 否则会报错!!1. 使用乘法运算符可以使字符串增倍:strings = '你好!' * 10print(strings)运行结果:PS F:\7.vscode> & "C:/Program Files (x86)/Microsoft Visual Studio/Shared/Python37_64/python.exe" f:/7.vscode/试验2.py你..
2021-05-31 12:53:04 1493
原创 python笔记--对语法糖@的理解
先来看一个简单的装饰器:def decoration(fun): def inner(x, y): a = fun(x, y) print(a) return a return inner@decorationdef fun(x, y): return x + yfun(4, 5)这个的功能就是在原基础上增加了个打印的功能, 那么问题来了, python是怎样一步一步执行这段代码呢?先来看一下我的猜想: @
2021-05-31 04:31:41 783 1
原创 使用python画函数图像
目的: 发出 y = x ** 3 / (x * 3 + 1) 的图像1. 导入matplotlib模块还有numpy模块:import numpy as npimport matplotlib.pyplot as plt2. di'y
2021-05-31 03:42:34 19550
空空如也
vscode寻找头文件为什么是在window kits这个文件夹里查找?怎么改?
2021-07-20
vscode下载了clangd插件后就疯狂报错,希望能帮一下我😭
2021-07-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人