char

小白学习日记之字符的赋值

徘徊边缘 提交于 2020-02-17 09:25:04
字符的输入可分为单个字符的赋值及字符串的赋值,此处分开就就讨论。 单个字符的赋值 这里只讨论直接赋值,以输入字符A为例,字母A的ASCII码八进制为101,十进制为65,十六进制为41。 令c为单个字符型变量(char c;),将A赋值给c有如下办法: c=‘A’; c=’\101’; //八进制,反斜杠+三位数字,规定是要用三位数字,当ASCII码只有两位的时候,数字前面补0,但是如果不补,似乎也不影响编译,这个以后水平比较高的时候可以再探讨一下,注意有单引号; c=65; //十进制,注意此时不用单引号,也不用反斜杠, c=’\x41’; //十六进制,反斜杠+x+两位数字,注意有单引号; 综上,单个字符的输入办法有4种,反斜杠这类在字符串中也可使用,讨论以上办法不是为了用花里胡哨的方法进行输入,而是要明白,单个字符它可以转化为整数,并且在ASCII码中0~9,a~z,A~Z,是连续的,也就是当读取字符c,其值为字符9,可以通过c-'0’这个式子得到整数型9等,当然他还有其他的运用,以后一空想到再一一补上。 字符串的赋值 字符串的赋值可以单个地赋值,也可以整体赋值,此处分开讨论。 整体赋值只能在定义字符的时候进行,不能分开进行。 比如char a[]=“hello!”; 注意,此处用双引号,长度可以不写,如果要写则应该写char a[7]=“hello!”

String不变性以及String/StringBuffer/StringBuilder的区别

蹲街弑〆低调 提交于 2020-02-17 06:36:39
String/StringBuffer/StringBuilder的区别 String、StringBuffer、StringBuilder都是final 类, 都不允许被继承 String 长度是不可变的, StringBuffer、StringBuilder 长度是可变的 StringBuffer 是线程安全的, StringBuilder 不是线程安全的,但它们两个中的所有方法都是相同的,StringBuffer在StringBuilder的方法之上添加了synchronized修饰,保证线程安全 StringBuilder比StringBuffer拥有更好的性能。因为它支持StringBuffer的所有操作,但是因为它不执行同步,不会有线程安全带来额外的系统消耗,所以速度更快 如果一个String类型的字符串,在编译时就可以确定是一个字符串常量,则编译完成之后,字符串会自动拼接成一个常量。此时String的速度比StringBuffer和StringBuilder的性能好的多 可变性   String 类中使用 final 关键字修饰字符数组来保存字符串,private final char value[],因此String 对象是不可变的。而StringBuilder 与 StringBuffer 都继承自 AbstractStringBuilder 类,在

RNN预测

纵饮孤独 提交于 2020-02-17 01:42:50
RNN循环神经网络 实现文本预测 RNN原理: A -> Model -> B -> Model -> C -> … 所形成的句子[A, B, C, …] 先看结果: 预测 -> "不分开" 不分开 还知道多难 你心烦叫你也才有些天 别 爱着还是 说 外场米渐我知道 自己会太多走不走 一颗三废都不要我手 这样也和义 自己的受伤 让我刮 小用往 只要女生活能记不多 那果有在想要你们过去 我不能怕做 你否定不你 脑诉为要承透 融必我遇见你还是微笑 自然却没要让你看着我 想知到你去一遍想办得模样 我不开 小情掉在我情球 断于的弦 再怎么接 又上不见 你很快化没是 我不能听多久 如果说你的一样伴 训练情况: 结果是挺不满意的, 毕竟理解不是很深 基本思路框架 和以前线性模型比较相似 加载数据 – 处理数据 设置独热编码 分批数据 建立模型 训练模型 预测 正常导包 import numpy as np import torch import torch . nn as nn import torch . optim as optim import torch . nn . functional as F 加载数据, 自己找篇文章啥的都可以 提前把"\n"和"\t"这两个字符转为空格 设置可以由文字转数字, 数字转文字的字典 encoded 就是我们的训练数据, 也就是一列表的的数字,

C++ string 类详解

余生颓废 提交于 2020-02-16 23:28:52
字符串是存储在内存的连续字节中的一系列字符。C++ 处理字符串的方式有两种,一种来自 C 语言,常被称为 C-风格字符串,另一种是基于 string 类库的字符串处理方式。C 风格字符串的处理可以参考 https://www.cnblogs.com/tongye/p/10688941.html ,本文着重介绍 string 类库的使用。 一、string 类简介   C++ 中提供了专门的头文件 string(注意不是 string.h,这个是 C 风格字符串相关函数的头文件),来支持 string 类型。string 类定义隐藏了字符串的数组性质,让我们可以像处理普通变量那样处理字符串。 string 对象和字符数组之间的主要区别是:可以将 string 对象声明为简单变量,而不是数组 。 1.1 string 类几种常见的构造函数: 1)string(const char *s) :将 string 对象初始化为 s 指向的字符串 string str("Hello!"); 2)string(size_type n,char c) :创建一个包含 n 个元素的 string 对象,其中每个元素都被初始化为字符 c string str(10,'a'); 3)string(const string &str) :将一个 string 对象初始化为 string 对象 str

2.3freetype矢量字体

蹲街弑〆低调 提交于 2020-02-16 22:02:03
1.简介 将汉字的笔划边缘用直线段描述成封闭的曲线,并将线段各端点的坐标经压缩存储 矢量字库由两部分组成,一部分是汉字的索引信息,一部分是汉字的字形(glyph)数据 当显示文字时,便取出各端点,并通过贝塞尔曲线连接各坐标,最后填充封闭空间 2.freetype在电脑上的体验 PC上安装到(/usr/local/) 1.解压 tar -xjf freetype-2.4.10.tar.bz2 2.重命名 mv freetype-2.4.10 freetype-2.4.10_pc 3.配置 cd freetype-2.4.10_pc ./configure 4.编译 make 5.安装到根目录 sudo make install //直接将库安装到根目录/usr/local/里,所以需要加sudo 编译文件时 eg:编译例程:example1.c(关于freetype的代码) gcc -o example1 example1.c -I /usr/local/include/freetype2/ -lfreetype -lm 解析: -I /usr/local/include/freetype2/ 指定头文件目录 -lfreetype -lm 链接文件,链接freetype库中的函数;链接数学库中的函数 运行 eg: ./example1 simsun.ttc agf /*

面向对象程序设计寒假作业3

大城市里の小女人 提交于 2020-02-16 21:56:46
这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzu/2020OOP 这个作业要求在哪里 https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10288 这个作业的目标 1.继续完成作业二的编程题。 2.优化架构,思考代码的拓展性 3.或者扩大数字范围,支持负数 4.编译代码 5.测试代码 6.作业上传仓库 作业正文 https://www.cnblogs.com/Sweetxinxin/p/12316634.html 其他参考文献 https://www.cnblogs.com/sddai/p/10249243.html https://www.cnblogs.com/hclw/p/9560442.html https://wenda.so.com/q/1365038777067506 仓库地址 https://github.com/Sweetxinxin/winter-vocation-homework-3 Part 1 第二次作业完善 a.编译脚本 经过询问同学查找资料第二次作业得到了有效解决 关于编译脚本的路径问题,通过配置gcc环境及在控制面板中找到高级选项环境变量的path中添加gcc的路径 找到名为ComSpec的系统变量,查看是否是 :“%SystemRoot%

C语言函数——常用数学函数

依然范特西╮ 提交于 2020-02-16 21:30:05
C语言的数学函数所在函数库为math.h、stdlio.h、string.h、float.h,使用的时候需要引入。下面是函数及其作用。 int abs(int i) 返回整型参数i的绝对值 double cabs(struct complex znum) 返回复数znum的绝对值 double fabs(double x) 返回双精度参数x的绝对值 long labs(long n) 返回长整型参数n的绝对值 double exp(double x) 返回指数函数ex的值 double frexp(double value,int eptr) 返回value=x 2n中x的值,n存贮在eptr中 double ldexp(double value,int exp); 返回value*2exp的值 double log(double x) 返回logex的值 double log10(double x) 返回log10x的值 double pow(double x,double y) 返回xy的值 double pow10(int p) 返回10p的值 double sqrt(double x) 返回+√x的值 double acos(double x) 返回x的反余弦cos-1(x)值,x为弧度 double asin(double x) 返回x的反正弦sin-1(x)值,x为弧度

-OPENGL4-

人盡茶涼 提交于 2020-02-16 19:44:57
CP13: 全部合并成头文件,实现进一步抽象简洁 一个摄像机GLFWCamera.h 一个读取材质LoadShader.h 一个FrameWindow #ifndef WINDOW_H #define WINDOW_H #undef GLFW_DLL #include <GLFW/glfw3.h> #define GLEW_STATIC #include <GL/glew.h> class FrameWindow { public: FrameWindow(int width,int height,const char*title="OpenGL"); virtual ~FrameWindow(); GLFWwindow *getWindow(); private: GLFWwindow *window; int w; int h; }; FrameWindow::FrameWindow(int width,int height,const char*title){ w = width; h = height; glfwInit(); window = glfwCreateWindow(width,height,title,NULL,NULL); glfwMakeContextCurrent(window); glewInit(); } FrameWindow::

Codeforces Round #569 (Div. 1)

梦想与她 提交于 2020-02-16 12:06:35
Codeforces Round #569 (Div. 1) A Valeriy and Deque 考虑先走n-1步,那么走完了n-1步后最大的数一定就在最前面了,接下来的操作会让后面的n-1个数进入循环,那么对于一个询问 \(m_i\) ,如果 \(m_i<n-1\) ,那么直接回答即可,否则将 \(m_i\) 对n-1取模,然后回答。 #include<cstdio> #include<cstring> #include<algorithm> #include<queue> #include<cctype> #define qmin(x,y) (x=min(x,y)) #define qmax(x,y) (x=max(x,y)) #define vic vector<int> #define vit vic::iterator #define pir pair<int,int> #define fr first #define sc second #define mp(x,y) make_pair(x,y) #define rsort(x,y) sort(x,y),reverse(x,y) using namespace std; inline char gc() { // static char buf[100000],*p1,*p2; // return (p1==p2)

寒假作业三

匆匆过客 提交于 2020-02-16 10:41:51
面向对象程序设计寒假作业3 这个作业属于哪个课程 2020年面向对象程序设计 这个作业要求在哪里 寒假作业三 作业正文 寒假作业3 这个作业的目标 1.继续完成作业二的编程题,优化代码 2. 思考一个代码的延展性 编程题 继续完成作业二的编程题。 优化架构,思考代码的拓展性,比如我需要增加其他功能,如选择,循环语句怎么办。 思考:可以参考现有的编程语言,把这些语言的内容加入。如选择、循环语句、函数、或者扩大数字范围,支持负数等。 优化代码 将之前的代码做了一些优化,把错误分析单独独立为一个函数模块,并且完善了错误分析,从数据类型,数据范围,运算操作和初始化四个角度报错。用error函数,按照不同的参数输出不同的错误提示。 void error(int n) { if(n==1) printf("只支持整数数据\n"); if(n==2) printf("运算操作错误,仅支持增加或减少\n"); if(n==3) printf("数据超出范围,仅支持0-99内数据\n"); if(n==4) printf("未初始化\n"); } 我新加入了负数的计算,使程序范围由0-99变为-99-99.通过读入数据时判断第一个汉字是否为“负”,因为我们平常习惯说到负数时,第一个字一定是“负”。然后开一个字符数组minus存储符号,如果有“负”则执行函数exchange1。 int main()