![](https://img-blog.csdnimg.cn/20190927151132530.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
语言
语言基础
zgege
借事修人
展开
-
日常问题解决方法笔记
运行以下代码报错:# coding = utf-8import sysfrom selenium import webdriverdriver = webdriver.Chrome()driver.get('https://www.baidu.com/')报错信息:selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see原创 2020-09-28 20:17:43 · 253 阅读 · 0 评论 -
C语言实现窗口抖动功能
#include <stdio.h>#include <windows.h>int main(){ RECT rect;//RECT是一个矩形结构体,相当于保存矩形边框的四个坐标 HWND hwnd = NULL, oldhwnd = NULL;//两个窗口句柄 int x, y, width, height;//保存窗口横纵坐标及高度,宽度 int i;原创 2018-02-26 17:59:03 · 1741 阅读 · 0 评论 -
Python基础-函数2
def pow(x): return x*xprint(pow(5)) 运行结果zhengyoncongdeMacBook-Pro:python zhengyoncong$ ./pow.py 25添加参数:def pow(x,n): s=1 while(n>0): n=n...转载 2019-04-18 18:30:56 · 393 阅读 · 0 评论 -
Python基础-函数1(遗留问题)
>>> abs(-199)199>>> abs(200,100)Traceback (most recent call last): File "<stdin>", line 1, in <module>TypeError: abs() takes exactly one argument (2 given)>>...转载 2019-04-08 09:42:43 · 216 阅读 · 0 评论 -
python简易安装pip及BeautifulSoup
问题起源:在编写python爬虫项目联系的时候,发现如下错误:找不到bs4模块,说明没有BeautifulSoup,自行百度后准备使用pip安装BeautifulSoup时发现本机没有安装pip工具。[zyc@localhost pip-1.5.4]$ python test.py Traceback (most recent call last): File "test.py", ...原创 2018-08-26 16:55:24 · 1439 阅读 · 0 评论 -
C/C++动态内存管理
C语言动态内存管理1.申请内存的方式栈上1 )生命周期随栈帧。栈帧结束,内存归还给操作系统,无需程序猿管理。 2)空间开辟的大小固定,申请数组时数组的大小必须指定。他内存在编译时期就已经分配好。3)程序在运行时期不能进行内存申请。而这种情况在编程中又很常见。所以就需要动态内存管理。堆上(动态内存管理) 1)生命周期由程序猿管理。需要手动申请手动释放。且必须释放,否则就...原创 2018-08-25 18:33:45 · 814 阅读 · 0 评论 -
C++学习-Data日期类实现
#include<iostream>using namespace std;class Data{ public: //带参的缺省的构造函数 Data(int year=1900,int month=1,int day=1) { if(year<1900|| ...原创 2018-07-29 14:19:54 · 513 阅读 · 0 评论 -
C++学习-类和对象(四)
运算符重载函数为了增强程序的可读性,C++支持运算符重载。 运算符重载特征: 1. operator+合法的运算符构成函数名(重载&lt;运算符的函数名:operator&lt;)。 2. 重载运算符以后,不能改变运算符的优先级/结合性/操作数个数。5个C++不能重载的运算符: .*/::/sizeof/?:/.赋值运算符重载拷贝构造函数是创建的对象,使用一个已有对象来初始化...原创 2018-07-16 11:23:27 · 156 阅读 · 0 评论 -
C++学习-类和对象(三)
拷贝构造创建对象时使用同类对象来进行初始化,这时所用的构造函数称为拷贝构造函数(Copy Constructor),拷贝构造函数是特殊的构造函数就是使用一个已经存在的对象去创建一个新的对象。新的对象是旧的对象的一份拷贝。拷贝构造函数其实是一个构造函数的重载。拷贝构造函数的参数必须使用引用传参,使用传值方式会引发无穷递归调用。若未显示定义,系统会默认缺省的拷贝构造函数。缺省的拷贝构...原创 2018-07-15 10:07:41 · 205 阅读 · 0 评论 -
C++学习-类和对象(二)
默认成员函数总结原创 2018-07-10 19:36:43 · 139 阅读 · 0 评论 -
C++学习-类和对象(一)
Tables 关键字 1.什么是面向对象 2.类的大小 为什么要内存对齐?内存对齐的计算?空类的计算 3.类的4个默认成员函数的详细使用原创 2018-07-04 16:56:04 · 385 阅读 · 0 评论 -
C++学习-引用和指针
内容 关键字 百分比 引用的概念及用法 引用做参数 引用做返回值 汇编层看引用的特性 引用和指针的区别 1.引用的概念什么是“引用”?申明和使用“引用”要注意哪些问题?引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操...原创 2018-07-03 16:59:34 · 214 阅读 · 0 评论 -
C++学习-初识篇
哈哈原创 2018-07-01 12:35:54 · 179 阅读 · 0 评论 -
qsort使用即实现(未完)
qsort的模拟实现(使用回调函数)#include <stdio.h>int int_cmp(const void *p1,const void *p2){ if (*(char *)p1 < *(char *)p2) return -1; else if (*(char *)p1 > *(char *)p2) return 1; els原创 2018-01-30 13:52:34 · 125 阅读 · 0 评论 -
数据结构-单链表常见面试题
一、题目 1、从尾到头打印单链表 (两种方法) 2、删除一个无头单链表的非尾节点(不能遍历链表) 3、在无头单链表的一个节点前插入一个节点(不能遍历链表) 4、单链表实现约瑟夫环(JosephCircle) 5、逆置/反转单链表 6、单链表排序(冒泡排序&amp;快速排序) 7、合并两个有序链表,合并后依然有序 8、查找单链表的中间节点,要求只能遍历一次链表 9...原创 2018-04-22 22:44:41 · 222 阅读 · 0 评论 -
数据结构-顺序表实现队列的基本操作
队列的定义队列是另一种限定的数据结构,它只允许在表的一端插入,另一端删除。所以队列具有先进先出的特性。这与我们生活中的排队是一个道理。 在队列中允许删除的一端叫做队头,允许插入的一端叫做队尾。队列分类顺序队列(容易引起假溢出情况:顺序队列因多次入队,出队后出现的尚有存储空间,但不能在进行如队列的操作)优先级队列循环队列本文用顺序表实现队列的基本操作初始化 操作前提...原创 2018-04-19 15:29:59 · 967 阅读 · 0 评论 -
数据结构-单链表实现队列的基本操作
头文件typedef char QueueType;typedef struct QueueNode{ struct QueueNode* next; QueueType data;}QueueNode;//创建新节点QueueNode* QueueCreat(QueueType value);//初始化void QueueInit(QueueNode** pp原创 2018-04-19 16:24:58 · 561 阅读 · 0 评论 -
C/C++中static解析
全局变量: 1.定义在函数外部的变量,作用域是从声明开始到文件结尾。所有构成源程序的源文件和都文件都可见 2.生命周期,编译时就产生,直到源程序结束3。程序存储在进程的虚拟地址空间中静态存储区(全局变量区),在程序编译期间就就分配空间。在程序开始执行过程中给全局变量分配空间,程序执行完毕就释放空间。程序执行过程中固定的分配空间,而不需要动态进行分配是释放。4.函数体外初始化一次,不可进...原创 2018-08-23 09:03:01 · 196 阅读 · 0 评论 -
数据结构-基于双链表实现栈的基本操作
准备工作#pragma once #include <stdlib.h>//#include <stdio.h>typedef char LinkStackType;typedef struct LinkNode{ struct LinkNode* next; struct LinkNode* pre; LinkSta...原创 2018-04-14 23:47:01 · 752 阅读 · 0 评论 -
数据结构-单链表的基本操作
初始化void SLinkInit(SLinkNode** phead){ assert(phead); *phead=NULL;}打印链表void SLinkPrint(SLinkNode* phead){ if( phead==NULL) { printf("actual:"); ...原创 2018-04-15 22:57:44 · 205 阅读 · 0 评论 -
Linux-静态库和动态库
库有两种,一种是静态链接库,一种是动态链接库,不管是哪一种库,要使用它们,都要在程序中包含相应的include头文件。我们先来回顾一下程序编译的过程。如下图: 库:本质一个目标文件,这个文件的后缀有两种格式,对应两种库静态库 .a (linux环境下) .lib (Window环境下)动态库 .so (linux环境下) ....原创 2018-03-30 16:57:53 · 165 阅读 · 0 评论 -
深度理解函数
C语言中的函数扮演者很重要的角色,函数可以使程序更简洁,可读性更 好,更便于复用,在实际运用中,很多程序基本都是由许多函数组成的, 为了更好的使用函数,我们需要对函数做一个深度的剖析。而理解函数的关键在于“栈帧”二字,函数的调用实际就是栈帧的创建与释放过程, 在研究函数调用过程之前,先介绍几个关键词。内存,c/c++编译的程序占用内存分布如下图 寄存器EIP:存储当前CPU正在执行指令的下原创 2017-12-06 23:54:14 · 296 阅读 · 0 评论 -
一组数据中只有一个数字出现了一次。其他所有数字都是成对出现的。 请找出这个数字。
算法思想:要找出单独出现的数字,则排除成对出现的数字即可,成对出现的数字(两数相等)有一个 特点是两数“按位异或”会得零,而零与任何数异或,得到任何数本身,即可找出这个单独出现的数。本题中可以将数组元素依次按位异或,即可找到符合要求的数。#include<stdlib.h> #pragma warning(disable: 4996) int main(){ int arr[] =原创 2017-11-29 22:35:07 · 922 阅读 · 0 评论 -
用宏实现两个数的大小比较
#define _CRT_SECURE_NO_DEPRECATE#include <stdio.h>#include <Windows.h>#define MAX(a,b) (a>b?a:b)int main(){ int a = 0; int b = 0; int max = 0; printf("please two numbers:>", a,b);原创 2017-11-29 00:09:03 · 4451 阅读 · 0 评论 -
用C语言实现扫雷
第一步:选择开始游戏#define _CRT_SECURE_NO_DEPRECATE#include <stdio.h>#include "game.h"void menu()//打印菜单//{ printf("************************\n"); printf("***** 1.play 0,exit**\n"); printf("**原创 2017-11-29 00:06:45 · 207 阅读 · 0 评论 -
模拟实现strncpy,strncat,strncmp
strncpy,strncat,strncmp三者都是长度受限制的字符串函数,这些函数需要接受一个显示长度的参数,用于限定进行复制或比较的字符数,这些函数可以预防难以预料的长字符串从它们的目标数组溢出。1.模拟实现strncpy这个模拟函数和strcpy一样,将src的内容拷贝到dest中,但是他总是想dest写入len个字符,如果src的字符个数小于len,dest就用额外的null字节填充到le原创 2017-12-25 23:54:59 · 225 阅读 · 0 评论 -
猜数字游戏程序
猜数字游戏程序#include <stdio.h>#include <math.h>int main(){ int a = 0; int i = 0; srand(time(NULL));/*产生随机数函数调用*/ a =1+ (rand() % 100); while (a) { printf("请输入你猜的数字:\n", i原创 2017-11-24 23:38:15 · 392 阅读 · 0 评论 -
判断一个数是否为一个素数
判断一个数是否为一个素数算法:若一个数是素数,则只能被1和该数本身整除,若对一个任意整数n,可以利用枚举法找出2–n-1之间任意数i,并且满足i能整除n,则这个数n不是素数。反之则为素数。#define _CRT_SECURE_NO_DEPRECATE#include <math.h>#include <stdio.h>int prime(int x){ int i = 0;原创 2017-11-24 23:28:48 · 340 阅读 · 0 评论 -
杨辉三角形
杨辉三角形 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 ….. 算法:观察可知,杨辉三角形的第一列和对角线数值元素都为1,其他元素为它双肩上方两元素之和,可以设置一个二维数组来存放数据,如int a[][];#define _CRT_SECURE_NO_DEPRECATE#define N 10#inclu原创 2017-11-24 23:03:31 · 361 阅读 · 0 评论 -
求第n个斐波拉契数
用递归法#define _CRT_SECURE_NO_DEPRECATE#include <stdio.h>int fib(int x){ if (x <= 2) return 1; else return fib(x - 1) + fib(x - 2);}int main(){ int n = 0; printf("pleas原创 2017-12-11 22:48:03 · 254 阅读 · 0 评论 -
可变参数浅析
以下面求取平均值代码来理解可变参数#define _CRT_SECURE_NO_DEPRECATE#include <stdio.h>#include <Windows.h>int average(int num, ...)//num代表第一个参数,...代表可变参数//{ /*char*p = #定义一个指针,并指向第一个形参地址,即指针初始化 int i = 0;原创 2017-12-13 20:47:38 · 218 阅读 · 0 评论 -
动态内存开辟 malloc calloc realloc free 函数
C语言中与内存申请有关的函数有malloc,calloc,realloc,与内存释放有关的函数为free,下面讲讲这些函数的区别与应用。1. malloc函数1.1 一维数组空间的申请 函数原型如下: void *malloc(size_t Size); 该函数在内存的动态存储区中分配一块长度为Size字节的连续区域,返回该区域的首地址,该区域未经初...原创 2018-03-24 12:33:08 · 194 阅读 · 0 评论 -
sscanf sprintf 和 fread fwrite函数
sscanf作用:从一个字符串中读进与指定格式相符的数据。原型:int sscanf(const char *str,const char *format,......);说明:sscanf()会将参数str的字符串根据参数format字符串来转换并格式化数据。转换后的结果存于对应的参数内。成功则返回参数数目,失败则返回0。sscanf与scanf类似,都是用于输入的,只是scanf以键盘(std...原创 2018-03-24 12:24:53 · 197 阅读 · 0 评论 -
C语言实现通讯录
//基于顺序表实现的简易通讯录-----1 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct stu //定义一个学生信息的结构体类型 { char name[20];原创 2018-03-24 12:12:32 · 640 阅读 · 0 评论 -
错误报告函数:strerror和perror
本文主要介绍两种错误错误报告函数:strerror和perror。 strerror主要用于字符串错误报告,perror则是以一种简单,统一的方式报告错误,perror适用范围更广,更简单。 strerror函数原型如下: char *strerror(int errnum) 作用:把其中一个错误代码作为strerror作为参数,并返回一个用于描述错误的字符串的指针,简言之就是将错误码转换原创 2018-01-16 19:25:35 · 986 阅读 · 0 评论 -
高级指针(下)
本文主要内容如下: 1 指针数组 ; 2 数组指针 ; 3 函数指针 ; 4 函数指针数组; 5 指向函数指针数组的指针;*正文开始*在理解以上内容之前。我们需要对一维数组;一级指针;二维数组;二级指针以及指针数组相关运算有一个清晰的认识。这里不在赘述。其次,以上内容均属于数据类型,而判断一个数据类型这里有一个评判依据: (1) 口头上判断:当听到有关指针数组,数组指针等类似词组时,原创 2017-12-29 20:30:30 · 176 阅读 · 0 评论 -
模拟实现strcpy,memcpy,memovestrcat,
用于复制字符串的函数是strcpy,他的原型如下: char *strcpy(char *dest, char const *src)这个函数是把参数src复制到参数dest中,由于dest将进行修改,所以他不能是一个常量,必须是一个字符数组或者指向一块动态分配内存区域的指针,另外,新的字符串是以null结尾,所以老字符串最后剩余几个字符也会被有效的删除,也无法被字符串函数访问。其次,程序员原创 2017-12-19 10:31:11 · 161 阅读 · 0 评论 -
两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
编程实现: 两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子:7 算法思想:由于要找两个数对应不同比特位的个数,可以先将两个数按位异或,然后再统计异或后的数中的一的个数,统计异或后1的个数,则需要把这个数循环按位于比它小1的数,直到这个数为0为止,(统计方法不唯一)#define _CRT_SECURE原创 2017-11-22 22:34:35 · 414 阅读 · 0 评论