char函数

c++ 面试题 面试题复盘

随声附和 提交于 2019-12-04 01:36:07
目录 1. #include<filename.h>与#include"filename.h"的区别 3.malloc/free 与 new delete 1. #include<filename.h>与#include"filename.h"的区别 对于#include <filename.h> ,编译器从标准库路径开始搜索filename.h, 对于#include “filename.h” ,编译器从用户的工作路径开始搜索filename.h # 2 C++中的类与c中的struct的区别 c++ 中的struct与 c中的struct区别 a) C语言中的 结构体不能为空 ,否则会报错 b) C语言中的结构体只涉及到数据结构,而不涉及到算法,也就是说在C中 数据结构和算法 是分离的。换句话说就是C语言中的结构体 只能定义成员变量 ,但是 不能定义成员函数 。然而在C++中既可以定义成员变量又可以定义成员函数, C++中的结构体和类体现了数据结构和算法的结合 c) C语言的结构体中不能定义成员函数,但是却可以定义 函数指针 ,不过 函数指针本质上不是函数而是指针 ,所以总的来说C语言中的结构体只是一个复 杂数据类型 , 只能定义成员变量,不能定义成员函数,不能用于面向对象编程 。 d) 在C语言中结构体变量定义的时候,若为struct 结构体名 变量名定义的时候

补码一位乘法(Booth算法,C语言实现)

隐身守侯 提交于 2019-12-04 01:33:00
补码一位乘法 首先了解下什么是补码?   补码概念的理解,需要先从“模”的概念开始。 我们可以把模理解为一个容器的容量。当超出这个 容量时,会自动溢出。如:我们最常见到的时钟,其容量 是 12,过了 12 点之后,就会变为 1 点, 2 点……也就是 说,超过12的部分将被丢弃。那么,在这个例子当中,时钟 的模就是12。模的概念可以帮助我们理解补码的含义。   补码的引出:假设现在时钟的时针指向 4 点的位 置,要使其指向 3 点,可以怎么操作呢?很明显,共有 2 种方法,顺时针拨 11 格(+11),或逆时针拨 1 格(-1)。 (为了区分顺时针和逆时针,我们用正数表示顺时针方 向转动的距离,负数表示逆时针方向转动的距离) 从上面的例子,不难发现,+11 和-1 实现了同样的 作用。主要原因是时钟的模是 12,顺时针旋转代表加法 运算:4+11=15,而达到模的部分会自动溢出,即 15-12= 3,即到达 3 点的位置。逆时针旋转代表减法运算:4-1= 3。在这个例子当中,+11和-1 是完全等价的。也就是说, 负数-1 可以用正数+11 代替,这样就可以把减法运算改 为加法运算。也可以说:+11 就是-1 的补码(模为 12 的 情况下)。 具体 的补码一位乘法(B ooth算法)    Booth算法简介    Booth算法也就是补码1位乘的比较法。被乘数为[X]补,乘数为

函数+进制转换器v1.0beta

随声附和 提交于 2019-12-04 00:46:29
1.运行截图 输入正确时结果如下,其他转换运行结果类似,就不多贴图了。 输入不符合规范时: 2.额外扩展 如果输入错误格式,则重新输入,而不是结束程序从头再来。 运行结果如上图。 3.函数 (1)二进制转其他 void tr2(int option2) { int input = 0, i; char in[80]; A: scanf("%s", in); for (i=0; i<strlen(in); i++) /*判断是否为二进制数*/ { if (in[i] != '0' && in[i] != '1') { printf("请重新输入二进制数:"); goto A; } } for (i=0; i<strlen(in); i++) { input = input*10 + (in[i] - '0'); } switch (option2) /*根据选择结果分配给不同的转换函数*/ { case 1: transform_2_8(input); break; case 2: printf("转换结果:%d\n", transform_2_10(input)); break; case 3: transform_2_16(input); break; } } void transform_2_8(int n) { int sum = transform_2_10(n);

typedef的4种用法

吃可爱长大的小学妹 提交于 2019-12-03 23:56:44
以下来源于:http://c.biancheng.net/view/298.html C语言 允许用户使用 typedef 关键字来定义自己习惯的数据类型名称,来替代系统默认的基本类型名称、数组类型名称、指针类型名称与用户自定义的结构型名称、共用型名称、枚举型名称等。一旦用户在程序中定义了自己的数据类型名称,就可以在该程序中用自己的数据类型名称来定义变量的类型、数组的类型、指针变量的类型与函数的类型等。 例如,C 语言在 C99 之前并未提供布尔类型,但我们可以使用 typedef 关键字来定义一个简单的布尔类型,如下面的代码所示: typedef int BOOL ; #define TRUE 1 #define FALSE 0 定义好之后,就可以像使用基本类型数据一样使用它了,如下面的代码所示: BOOL bflag =TRUE ; typedef的4种用法 在实际使用中,typedef 的应用主要有如下4种。 1) 为基本数据类型定义新的类型名 也就是说,系统默认的所有基本类型都可以利用 typedef 关键字来重新定义类型名,示例代码如下所示: typedef unsigned int COUNT ; 而且,我们还可以使用这种方法来定义与平台无关的类型。比如,要定义一个叫 REAL 的浮点类型,在目标平台一上,让它表示最高精度的类型,即: typedef long

opencv学习+踩坑

大兔子大兔子 提交于 2019-12-03 23:35:42
环境 ubuntu 19.04 vscode 1.37.0 opencv 3.4.7 cmake 3.13.4 拜一下julao的数字图像处理提纲 https://bitlecture.github.io/notes/%E6%95%B0%E5%AD%97%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86/ 然后开始跟着毛星云的blog跑demo来学opencv 实际上如果论实用性的话,以下的系列blog可能还会更好一些? https://blog.csdn.net/morewindows/article/category/1291764 https://www.cnblogs.com/long5683/p/10094122.html 实际上学一会就会发现RM里面使用到的视觉(仅仅看这篇开源的话)并不困难 https://blog.csdn.net/u010750137/article/details/91344986 https://blog.csdn.net/qq_31669419/article/details/53053321 反而是去年的神符里面涉及到了一些类似机器学习一样的东西,更有研究的空间在 那么让我们开始视觉学习之路 文件读取和输出 https://blog.csdn.net/poem_qianmo/article/details

sybase数据库中时间类型转换以及比较

≯℡__Kan透↙ 提交于 2019-12-03 23:19:10
一. 时间转换 Sybase 时间处理Convert 的使用 1. 怎样将datetime类型的日期转换为yyyy-mm-dd格式 SELECT STR_REPLACE(CONVERT(VARCHAR, GETDATE(), 111) ,'/','-'); 2. DateTime转换成Varchar样式 语句及查询结果: Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06 Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16 Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06 Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06 Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06 Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06 Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06

性能测试函数

僤鯓⒐⒋嵵緔 提交于 2019-12-03 23:00:23
1.变量转参数 lr_save_string("参数内容","param"):将字符串“aaa”或者一个字符串变量,转变成LR的参数{param} 2.参数转变量 char var[10]; strcpy(var,lr_eval_string("{param}")):将参数{param}转换成C语言中的变量var 3.取值() lr_eval_string("{param}"):取出参数{param}中的值,可嵌套在其他函数里使用 4.编码转换函数 lr_convert_string_encoding(lr_eval_string("{msg}"),LR_ENC_UTF8,LR_ENC_SYSTEM_LOCALE,"afterEncodeMsg"); 将LR中的参数{msg},从utf-8编码转换为system_local编码(LR本地编码),最后保存到LR的参数{afterEncodeMsg}中 5.参数数组操作 lr_paramarr_random("param_arry"):从参数数组param_arry中随机取一个值,注意param_arry不需要加{} int size; size = lr_paramarr_len("param_arry"):获取参数数组param_arry的长度,并保存到C语言的变量size里 int value; value = lr

c++中const用法

三世轮回 提交于 2019-12-03 21:00:27
1 使用const修饰变量 有时候我们需要定义这样一种变量,它的值不能被更改。为了满足这一要求,可以通过关键字const对变量的类型加以限定。 1.1 const 修饰普通的变量 const int bufSize=512; 这里将bufSize定义成了一个常量。任何试图为bufSize赋值的行为都将引发错误。 注意:const对象必须初始化,因为const对象一旦创建后其值就不能再改变。 如: const int j=42; //正确,编译时初始化 const int i=get_size();//正确,运行时初始化 const int k; //错误,未初始化 int i=42; const int ci=i;//正确, 1.2 const的引用 对常量的引用(reference to const),将引用绑定到const对象上。与普通引用不同的是: (1)对常量的引用不能用于修改它所绑定的对象。 (2)不能将非常量引用指向一个常量对象值。 (1)对常量的引用不能用于修改它所绑定的对象。 int i=42; int &r1=i; const int &r2=i;//r2也绑定了对象i,但不允许通过r2修改i的值 r1=0; //正确 r2=0; //错误,r2是一个常量引用 (2)不能将非常量引用指向一个常量对象。 const int ci=1024; int &r2=ci;

[Python]函数基础

一世执手 提交于 2019-12-03 20:29:41
函数基础 函数的作用 所谓 函数 ,就是把 具有独立功能的代码块 组织为一个小模块,在需要的时候进行 调用 => 一些已经实现的功能,比如sum(数组),这种就应该封装为函数,避免 重复造轮子 函数的作用 ,在开发程序时,使用函数可以提高编写的效率以及代码的 重用 . 函数的基本使用 函数的定义 定义函数的格式如下: def 函数名(): # 注意缩进4个空格 # 函数封装的代码 # ... pass def 是英文 define 的缩写 函数名称 应该能够表达 函数封装代码 的功能,方便后续的调用 => 尽量做到见名知意. 函数名称 的命名要符合 标识符的命名规则 可以由 字母,下划线,数字 组成 不能由数字开头 不能与关键字重名 => 这个标识符的规定基本高级语言都是一致的,从C语言开始. 函数调用 调用函数很简单,通过 函数名() 即可完成对函数的调用 => 在Python中 函数定义 在出现在 函数调用 之前,要让Python知道有这个函数. 第一个函数演练 需求 编写一个打招呼 say_hello() 的函数,封装三行打招呼的代码 在函数下方调用打招呼的代码 # 定义了函数只表示封装了一段代码而已 # 如果不主动调用函数,函数是不会主动执行的 # def 关键字告诉了Python解释器这里定义了一个函数 def say_hello(): print("hello 1")

chapter 6 exercises

橙三吉。 提交于 2019-12-03 20:28:04
6–1. 字符串.string 模块中是否有一种字符串方法或者函数可以帮我鉴定一下一个字符串 是否是另一个大字符串的一部分? yes,string.find() 检测str 是否包含在string 中,如果beg 和end 指定范围, 则检查是否包含在指定范围内,如果是返回开始的索引值,否则 返回-1 6–3. 排序 (a) 输入一串数字,从大到小排列之. (b) 跟a 一样,不过要用字典序从大到小排列之. (a) list1=[] while True: n=int(raw_input('please input numbers:')) ifn==0: break list1.append(n) printlist1 list1.sort() list1.reverse() printlist1 (b): list1=[] while True: n=int(raw_input('please input numbers:')) ifn==0: break list1.append(n) printlist1 list1.sort() list1.reverse() printlist1 6–5. 字符串 (a)更新你在练习2-7 里面的方案,使之可以每次向前向后都显示一个字符串的一个字符. (b)通过扫描来判断两个字符串是否匹配(不能使用比较操作符或者cmp()内建函数)