C语言和C++的指针用法总结
1. 普通指针 定义声明 声明 类型 含义 int a int 整型变量 int *a int * (一级指针)指向整型变量的指针 int **a int *(*) (二级指针)指向一个指向整型变量指针的指针 int *(*a) int *(*) (二级指针)指向一个指向整型变量指针的指针 申请与释放空间 C 语言: 12345// 申请空间int *p = (int *) malloc(sizeof(int));// 释放空间free(p); C++: 12345// 申请空间int *p = new int;// 释放空间delete p; 取地址(&)和解引用(*) (已定义int a和int *p) 语句/表达式 含义 a = 2; 2 赋值给 a &a 取得 a 的地址 p = &a; a 的地址赋值给指针 p *p 指针 p 所指向的内容 *p = 2; 2 赋值给 p 指向的内容(即 a) &p 取得指针 p 的地址 语句/表达式 含义 p+...
C语言中有关取模和取余的问题
余数在数学中有重要的作用,在编程中也同样重要。不过,在不同编程语言中,有关余数的运算问题往往是不相同的。 对于正数的运算,相信有小学基础的人都能理解,没有什么问题: 14 / 6 = 2 ··· 2,因为 14 = 2x6+2 但对于负数的运算,可能会出现以下几种情况: -14 / 6 = -2 ··· -2,因为 -14 = (-2)x6+(-2) -14 / 6 = -3 ··· 4,因为 -14 = (-3)x6+4 -14 / -6 = 2 ··· -2,因为 -14 = 2x(-6)+(-2) -14 / -6 = 3 ··· 4,因为 -14 = 3x(-6)+4 这说明 -14 除以 6 和 -14 除以 -6 都有两个余数,这是怎么回事呢? 在数学中,余数的定义如下: 如果 a 和 d 是两个自然数,d 不等于 0,可以证明存在两个唯一的整数 q 和 r,满足 a = q * d + r,且 0 ≤ r < d。其中,q 被称为商,r 被称为余数。 所以,数学中的余数只能大于 0,按照定义,-14 除以 -6 的余数只能是 4。不过很遗憾,许多编程语...
【程序设计与算法(三)】测验和作业题部分答案汇总(泛型程序篇)
题目来源:程序设计与算法(三)测验和作业题汇总 PS:可能我只是入门小白吧,C++对我来说就是一坨shit,我已经绕晕了!!!两年前做Qt项目的时候就觉得这玩意是个无底洞,现在在准备某校的机试,就更觉得了!!! 027:简单的SumArray 12345678910111213141516171819#include <iostream>#include <string>using namespace std;template <class T>T SumArray (T *begin, T *end){ T result; for (T *i = begin; i < end; i++) result += *i; return result;}int main() { string array[4] = { "Tom","Jack","Mary","John"}; cout << SumArr...
【程序设计与算法(三)】测验和作业题部分答案汇总(面向对象篇)
题目来源:程序设计与算法(三)测验和作业题汇总 001:简单的swap 1234567891011121314151617181920212223242526#include <iostream>using namespace std;class A{ public: int x; int getX() { return x; } };void swap(A &a, A &b){ int tmp = a.x; a.x = b.x; b.x = tmp;}int main(){ A a,b; a.x = 3; b.x = 5; swap(a,b); cout << a.getX() << "," << b.getX(); return 0;} 输出: 15,3 002:难一点的swap 12345678910111213141516171819#include <iostream>using namespa...
网络爬虫之json库
1 如何在网页中获取 JSON 数据? 打开一个具有动态渲染的网页,按 F12 打开浏览器开发工具,点击“网络”,再刷新一下网页,观察是否有新的数据包。 发现有 js 后缀的文件,这就是我们想要的 json 数据了。 2 Python 内置的 JSON 库 内置的 json 库的函数: dumps:用于将 Python 的数据类型转化为 json 字符串。 loads:将 json 字符串转化为 Python 的数据类型。 实例 1: 123456import jsondata = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]data2 = json.dumps(data)print(data2) 输出结果: 1[{"a": 1, "c": 3, "b": 2, "e": 5, "d"...
网络爬虫之xpath
在re、bs4、xpath等解析库中,re库运行起来效率最高,但用起来太麻烦;XPath 使用较为方便,而且效率损失不大。 0 安装 XPath Helper 插件 在 edge 浏览器的“扩展”中,开启“开发者模式”和“允许来自其他应用商店的扩展”,将文件夹《chrome_Xpath_v2.0.2》拖入到“扩展”页面中即可完成安装。 本人设置键盘快捷方式为“Ctrl+Shift+C”,这样每次想用时就可以快速打开这玩意了,再按下“F12”查看代码,就可以开玩 XPath 了。这个插件是真的好用,强烈推荐安装。 1 XPath 语法 1.1 节点 表达式 描述 用法举例 用法举例说明 nodename 选取此节点下的所有节点 div 选取div下的所有标签 // 全局节点(可粗略理解为“绝对路径”) //div 选取整个HTML页面的所有div标签 //nodename// 选取某个节点下的所有节点(包括子节点、子节点的子节点…) //header//div 选取header标签下的所有div标签,不管是不是header标签的第一级节点 / 选取某个节...
网络爬虫之json库
我开始学起了Python的面向对象编程。因为以前学习过 C++ 的类和对象,接下来我尽可能从 C++ 的类和对象语法角度来快速过这部分内容。重载和多态这部分内容应该用不到,就没看了。 例程出处可见 Python 面向对象 | 菜鸟教程。 例子1:基本知识 12345678910111213141516171819202122232425#!/usr/bin/python# -*- coding: UTF-8 -*- class Employee: '所有员工的基类' empCount = 0 def __init__(self, name, salary): self.name = name self.salary = salary Employee.empCount += 1 def displayCount(self): print "Total Employee %d" % Employee.empCount def displayEmployee(self): ...
关于安装与配置pyqt5的一些问题
1 在anaconda prompt中,显示:‘conda’ 不是内部或外部命令,也不是可运行的程序或批处理文件 这严格意义上不算是pyqt5的问题,而是环境变量的问题,但就怕哪一天忘记怎么弄了呢?所以还是记下来吧(笑) 右键我的电脑 --> 属性 --> 高级系统设置 --> 高级 --> 环境变量 找到系统变量中的Path变量,点击编辑。将以下路径加到Path中: 12你自己装在了哪应该清楚\Anaconda3你自己装在了哪应该清楚\Anaconda3\Scripts 2 Anaconda安装第三方库,显示:PackageNotFoundError: ‘Package missing in current channels’ 逐渐远离主题(x 2.1 正常安装第三方库 1conda install pyqt5 报错: 123PackagesNotFoundError: The following packages are not available from current channels: - pyqt5 2.2 解决方案 1anaconda s...
STM8驱动SPI接口OLED
由于中景园电子给出的例程不够全面,因此特地花时间重新整理了一下代码,并加上了其他的功能。本文记录了使用模拟四线 SPI 协议驱动 OLED 的代码。 使用软件:IAR FOR STM8 编程方式:固件库 硬件配套:STM8S105C6T6实验板 字模软件:PCtoLCD2002 图片转位图(bmp)格式软件:image2lcd 1 oled.h 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990#ifndef __OLED_SPI_H#define __OLED_SPI_H/*******************模拟四线 SPI 驱动 0.96寸OLED(128x64)**********************//* Includes ---------------------------...
STM8驱动RTC芯片DS1302
使用软件:IAR FOR STM8 编程方式:固件库 硬件配套:STM8S105C6T6实验板 1. DS1302.h 引脚定义 函数封装 时间数据结构体定义 数据缓冲区定义 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667#ifndef __DS1302_H#define __DS1302_H/****************************驱动 RTC 芯片 DS1302******************************//* Includes ------------------------------------------------------------------*/#include "stm8s.h"/* Defines ---------------------------------------------------...



