标准数据类型

        C++语言提供了丰富的数据类型,如整数类型、实数类型(浮点数)、字符类型等。每种数据类型均有均值范围,Dev-C++(4.9.9.2)是Windows平台下的32位编译器,基本数据类型的取值范围如表1.1所示(方括弧内的部分是可以省写的,例如,signed int与int等价)。

       表     1.1

  类型 字节长度 取值范围 
整数类型 [signed]short 2(16位)  
[signed]int 4(32位)  -2147483648~2147483647
[signed]long 4(32位)  
[signed]long long 8(64位)   
布尔类型 bool 1(8位)  
字符类型 char 1(8位)   
 实数类型 float 4(32位)   
double 8(64位)  
long double 16(128位)   

现在的计算机普遍使用二进制(即0和1两个数码)来存储数据。二进制位(bit)是计算机存储信息的最小单位,代表1个二进制数位,其值为0或1,可以代表两个状态/数值。

        8个连续的二进制位为一个字节,可以存放1个西文字符的编码(ASCII码)。1个汉字占两个字节。

        表1.1列出的整数类型的取值范围均包含有负数,如果程序中需要用到的某数据类型的取值范围仅为正数,并且永远不可能取负数时,则可以使用无符号的数据类型,其取值范围如表1.2所示。

类型 字节长度 取值范围
unsigned short 2  
unsigned long 4  
unsigned int 4  
unsigned long long 8  

                使用无符号类型的整数类型,正整数的最大数据范围扩大了一倍啊。这对于某些数据规模较大的题目来说,如果不涉及负数的运算,使用无符号类型的整数类型,倒是很方便的。

sizeof函数可用于获取各数据类型的字节长度,例如获取long型字节长度可这样写:

        cout<<sizeof(long);

                     了解所使用的编译器支持的各数据类型的字节长度很有必要,可以这样写:

                     cout << "int的字节长度为" << sizeof(int) << endl;
                     cout << "short的字节长度为" << sizeof(short) << endl;
                     cout << "long的字节长度为" << sizeof(long) << endl;
                     cout << "long long的字节长度为" << sizeof(long long) << endl;
                     cout << "bool的字节长度为" << sizeof(bool) << endl;
                     cout << "char的字节长度为" << sizeof(char) << endl;
                     cout << "float的字节长度为" << sizeof(float) << endl;
                     cout << "double的字节长度为" << sizeof(double) << endl;
                     cout << "long double的字节长度为" << sizeof(long double) << endl;

#include "pch.h"
#include <iostream>
using namespace std;
int main() {
cout << "int的字节长度为" << sizeof(int) << endl;
cout << "short的字节长度为" << sizeof(short) << endl;
cout << "long的字节长度为" << sizeof(long) << endl;
cout << "long long的字节长度为" << sizeof(long long) << endl;
cout << "bool的字节长度为" << sizeof(bool) << endl;
cout << "char的字节长度为" << sizeof(char) << endl;
cout << "float的字节长度为" << sizeof(float) << endl;
cout << "double的字节长度为" << sizeof(double) << endl;
cout << "long double的字节长度为" << sizeof(long double) << endl;
return ;
}

#include <iostream>
using namespace std;
int main()
{
cout<<sizeof(char)<<endl;
cout<<sizeof(bool)<<endl;
cout<<sizeof(short)<<endl;
cout<<sizeof(int)<<endl;
cout<<sizeof(float)<<endl;
cout<<sizeof(long)<<endl;
cout<<sizeof(long long)<<endl;
cout<<sizeof(double)<<endl;
cout<<sizeof(long double)<<endl;
return ;
}

#include <iostream>
using namespace std;
int main()
{
cout<<sizeof(unsigned short)<<endl;
cout<<sizeof(unsigned int)<<endl;
cout<<sizeof(unsigned long)<<endl;
cout<<sizeof(unsigned long long)<<endl;
return ;
}

                            两整数相加

        输入两个整数,计算两整数相加的和。

/*
这是一个加法程序
*/
#include "pch.h"
#include <iostream>
using namespace std; int main() {
int a, b, c; //定义变量a,b,c
cout << "请输入a,b的值:"; //显示提示信息
cin >> a >> b; //从键盘输入a和b的值
c = a + b; //计算a和b的和,并把结果放在c中
cout << a << "+" << b << "=" << c << endl; //显示结果
system("pause");
return ;
}

每种类型的数据都有各自的取值范围,请勿必确保所定义的数据不超过该类型数据的取值范围,否则会造成数据的溢出并产生结果错误。请注意,数据的溢出在编译和运行时并不报错,完全要靠编程者的细心和经验来保证结果的正确性。

      下面的程序显示了整型数据溢出的错误。

//整型数据的溢出
#include "pch.h"
#include <iostream>
using namespace std; int main() {
int a = ;
a = a + ;
cout << "a=" << a << endl;
system("pause");
return ;
}

变量a在自身加1以后,其值已经超过int型数据的取值范围,而发生错误。这就好像汽车的里程表一样,当达到最大值以后,又从最小值开始计数。

                        梯形面积

        如图1.18所示,圣魔法学院的主教学楼平面图是一个梯形,已知梯形的上底和下底的长度分别为15公里和30公里,梯形中阴影部分为高级魔法师才能去的场所,其面积是160平方公里,求梯形面积是多少。

 图                    1.18

                   三角形的面积公式是(底*高)/2,由此可以算出梯形的高,再将高代入梯形面积公式(上底+下底)*高/2即可。

#include "pch.h"
#include <iostream>
using namespace std;
int main() { double h = / *;
double s;
s = h * ( + ) / ;
cout << "梯形的面积是:"<<s << endl; return ;
}

#include "pch.h"
#include <iostream>
using namespace std;
int main() { double h = / *;
//double h = 160 * 2 / 15;
cout << "三角形的高为:" << h << endl;
double s;
s = h * ( + ) / ;
cout << "梯形的面积是:"<<s << endl; return ;
}

#include "pch.h"
#include <iostream>
using namespace std;
int main() { //double h = 160 / 15 *2;
double h = * / ;
cout << "三角形的高为:" << h << endl;
double s;
s = h * ( + ) / ;
cout << "梯形的面积是:"<<s << endl; return ;
}

#include "pch.h"
#include <iostream>
using namespace std;
int main() {
float area, h, up=, down=;
h = * / up;
cout << h << endl;
area = (up + down)*h / ;
cout << area << endl;
system("pause");
return ;
}

#include "pch.h"
#include <iostream>
using namespace std;
int main() {
//float area, h, up=15, down=30;
double area;
//float h, up = 15, down = 30;
double h, up = , down = ;
h = * / up;
cout << h << endl;
area = (up + down)*h / ;
cout << area << endl;
system("pause");
return ;
}

#include "pch.h"
#include <iostream>
using namespace std;
int main() {
//float area, h, up=15, down=30;
//double area;
float area;
//float h, up = 15, down = 30;
double h, up = , down = ;
h = * / up;
cout << h << endl;
area = (up + down)*h / ;
cout << area << endl;
system("pause");
return ;
}

        常量和变量

        在程序运行中,其值不能被改变的量称为常量。常量区分为不同的类型,如34、0、-4为整型常量,4.3、-1.32为实型常量,'a'、'b'为字符常量。

        一般定义方法如下:

        const int a = 34;

        const float b = 10.01;

        在程序运行中,其值可以改变的量称为变量,一个变量应该有一个名字,即标识符。

        C++规定标识符只能由字母、数字、美元符和下划线等字符组成,且第一个字符必须为字母或下划线或美元符。

        下面列出的是合法的标识符,也是合法的变量名。

        _sum,average,Day,school_name,lotus_1_2,PASCAL,$sum

        下面是不合法的标识符和变量名:

        Mr.Wang,234NUM,#34,a>=b,¥1234

                          C++语言是区分大小写字母的,所以,SUM和sum是两个不同的变量名。

                         在选择变量名和其他标识符时,应注意做到“见名知意”,即选有含义的英文单词(或其缩写)作标识符,如count、total、price等。尽量少用代数符号(如a、b、c、xl、yl)作变量名,以增加程序的可读性。

      下面是一个试图改变常量的错误代码。

//试图改变常量a的错误的程序
#include "pch.h"
#include <iostream>
using namespace std; int main() {
const int a = ; //定义了一个int型的常量a,a等于34
a = a * ; //试图将a乘以5后再将其值赋给a
cout << a << endl;
system("pause");
return ;
}

                     const是C++程序里的关键字,表示所定义的类型为常量,我们可以看到,程序的第8行试图改变常量a的值。由于常量是不能够被改变的,所以程序在编译时将会出现如下错误:

                    assignment of read-only variable 'a'

另一种定义方法是用一个标识符代表一个常量,如下面的代码:

//标识符定义常量
#include "pch.h"
#include <iostream>
#define PRICE 34 //定义了一个符号常量
using namespace std; int main() {
int number = ;
int total;
total = number * PRICE;
cout << "total=" << total << endl;
system("pause");
return ;
}

程序中用#define定义PRICE这个标识符代表常量34,此后凡是在本源文件中出现的PRICE都代表34。用这种方法、用户能以一个简单的名字代替一个长的字符串。标识符一般用大写字母表示,可以和常量一样进行运算。本程序运行结果为total=340。

                  使用符号变量的好处是含义清楚,在需要改变一个常量时能做到“一改全改”。假设该程序中多处用到了某物品的价格,如遇到价格调整,只需改动本程序的第3行即可,如#define PRICE 100。

                  注意:定义符号变量语句末尾无分号。

         整数常量称为整常量,除正常十进制表示方法外,整常量的特殊表示方法如下:

         一个整常量后面加一个字母U或u,认为是unsigned int型,如1234u,在内存中按unsigned int规定的方式存放。

         一个整常量后面加一个字母L或l,则认为是long int型常量。例如1234l、423L等。

         一个整常量以数字0开头的数是八进制数。例如0234表示八进制数234,即,其值为2*8^2+3*8^1+4*8^0,等于十进制数156;-011表示八进制数-11,即十进制数-9。

一个整常量以0x开头的数是十六进制数。如0x123,代表十六进制数123,即=1*16^2+2*16^1+3*16^0=291;-0x12等于十进制-18。

          实数又称浮点数。实数有两种表示方法:

          (1) 十进制小数形式,它由数字和小数点组成。如.234、1234.、1234.0、0.0。

          (2) 指数形式。如234e3或234E3都代表234*10^3。注意字母e(或E)之前必须有数字,且e后面的指数必须为整数。

                  由于实数在内存中的存放是用有限的存储单元存储的,所以能提供的有效数字总是有限的,在有效位以外的数字将会被舍去。由此可能会产生一些误差。

                 下面的程序演示浮点数的舍入误差:

//浮点数舍入误差演示
#include "pch.h"
#include <iostream>
using namespace std;
int main() {
float a, b, c;
a = 2345678900.000;//定义一个很大的浮点数
b = ;//定义一个很小的浮点数
cout << a << endl;
c = a + b;
cout << c << endl;
system("pause");
return ;
}

这是由于float类型的变量只能保证7位有效数字,后面的数字是无意义的,并不能准确地表示该数。例如定义float f=123456.111;当运行cout<<f语句输出f时,结果为123456。如果将f改为double型,则能全部接收上述数字并存储在变量f中。

                 所以在使用实型数据时一定要格外注意实型数据的舍入误差。没有特别需要,尽可能少用实型数据。以免产生不必要的误差而影响结果的正确性。

                另外,应避免将一个很大的浮点数和一个很小的数直接相加或相减,这样会“丢失”小的数。

        字符和字符串

        字符变量包括字符型变量和字符串变量。

       字符变量是用单撇号括起来的一个字符,如'a','x','?','$'等。

       字符串变量是一对双撇号括起来的字符序列。如"Good Morning!","a "," $ 34567"都是字符串变量。例如输出一个字符串如下:

        cout<<"How do you do!";

       字符变量只能有一个字符,是用单撇号括起来的。字符串变量可以有许多字符,是用双撇号括起来的。如'a'是一个字符变量,"a"是一个字符串变量。不能将字符常量与字符串常量混淆。'a'和"a"的真正区别在哪里呢?

       每一个字符串的结尾有一个“字符串结束标志”,以便系统据此判断字符串是否结束。C++语言规定以字符'\0'作为字符串结束的标志,'\0'是一个ASCII码为0的字符,占一个字节。例如有一个字符串“Hello”,实际在内存中存储如图1.20所示。

H e l l o \0

                                                                        图       1.20

       它占的内存不是5个字节,而是6个字节,最后一个字节为'\0'。但在输出时不输出'\0'。

       又如,char a[]="abcd";cout<<sizeof(a);结果为5,因为有结束符'\0'。

在写字符串时不必加'\0',否则会画蛇添足。'\0'是系统自动加上的。字符串"a"实际包含2个字符:'a'和'\0',因此,把它赋给只能容纳一个字符的字符变量c="a"显然是不行的。如char a="a"是错误的。

         字符变量是用来存放字符常量,请注意只能放一个字符。

         字符变量的定义形式如下:

         char c1,c2;

        它表示c1和c2为字符型变量,各可以放一个字符,因此可以用下面语句对c1、c2赋值:

        c1='a';c2='b';

        字符数据在内存中实际是以该字符相对应的ASCII码存储,它的存储形式与整数的存储形式类似。这样使得字符型数据和整型数据可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出,还可以对它们进行算术运算。

        ASCII码表请参见本书的附录部分。表1.4中列出了几个常用的码表值:

       表   1.4

ASCII值 字符
048 0
057 9
065 A
090 Z
097 a
122 z

下面的代码显示了字符变量与整数之间的通用性。

//字符变量与整数的通用性演示
#include "pch.h"
#include <iostream>
using namespace std; int main() {
char c1, c2;
c1 = ; //注意此处是数字
c2 = ; //注意此处是数字
cout << c1 << " " << c2 << endl;//因为c1、c2为字符类型,所以输出也是字符
cout << int(c1) << " " << int(c2) << endl;//此处强制转换为数字输出
system("pause");
return ;
}

       显示结果如图1.21所示。

图                 1.21

       下例程序是大小写字母的转换。

//大小写字母转换
#include "pch.h"
#include <iostream>
using namespace std; int main() {
char c1, c2;
//c1 = 'a';
//c2 = 'b';
c1 = 'c';
c2 = 'd';
c1 = c1 - ;
c2 = c2 - ;
cout << c1 << ' ' << c2 << endl;
system("pause");
return ;
}

        运行结果为

                      从ASCII码表中我们可以看到,每一个小写字母比它相应的大写字母的ASCII码大32。C++语言允许字符数据与整数直接进行算术运算。这种处理方法增大了程序的自由度。例如,对字符做各种转换就比较方便。

                          恺撒加密术

        古罗马时期,《高卢战记》有描述恺撒曾经使用密码来传递信息,即所谓的“恺撒加密术”,它是一种替代密码,如图1.22所示,对于信件中的每个字母,会用它后面的第t个字母代替。例如t=4时,“China”加密的规则是用原来字母后面第4个字母代替原来的字母,即字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。请编写一程序可将任意5个字符加密。

#include "pch.h"
#include <iostream>
using namespace std; int main() {
//char* str = new char[5];
char str[]="";//初始化
//char str[] = "";//初始化
//int* str = new int[5];
int i = ,t;
while (i<sizeof(str)) {
//char a = str[i];
cin >> str[i];
i++;
}
cin >> t;
for (int j = ;j < sizeof(str);j++) {
/*
if (65 <= int(str[j]) <= 90&&int(str[j])+t>90) {
break;
}
else if (97<=int(str[j])<=122&&int(str[j])+t>122) {
break;
}
*/
/*
if (str[j] + t > 'Z' || str[j] + t > 'z') {
break;
}
*/
//str[j] = int(str[j]) + t;
str[j] = str[j] + t;
}
cout << str << endl;
return ;
}

                              改进的加密术

       请编写一个程序,在程序运行时输入任意5个字符,再输入一个值t(-8<t<8),则原先的5个字符将用后面第t个字母代替并输出。

       伪代码为

1

2

3

4

5

6

定义5个字符变量

定义t值

输入5个字符变量的值

输入t值

5个字符以其后面第t个字母代替

输出5个字符

#include "pch.h"
#include <iostream>
using namespace std;
int main() {
char str[] = "";
int i = ,t;
while (i < sizeof(str)) {
cin >> str[i];
i++;
}
cin >> t;
for (int j = ;j < sizeof(str)&&-<t<;j++) {
str[j] = str[j] + t;
}
cout << str << endl;
return ;
}

       C++还允许一种特殊形式的字符常量,就是以一个“\”开头的字符序列。例如前面我们已经用过的'\n',它代表一个“换行”符。这是一种“控制字符”,是不能在屏幕上显示的。在程序中也无法用一个一般形式的字符表示,只能采用特殊形式来表示。

       表1.5所示是以'\'开头的特殊字符(转义字符)。

       表 1.5

字符形式 含义 ASCII代码
\n 换行,将当前位置移到下一行 10
\t 水平制表(跳到下一个tab位置) 9
\b 退格,将当前位置移到前一列 8
\r 回车,将当前位置移到本行开头 13
\f 换页,将当前位置移到下页开头 12
\\ 反斜杠字符"\" 92
\' 单撇号字符 39
\" 双撇号字符 34
\ddd 1到3位8进制数所代表的字符  
\xhh 1到2位16进制数所代表的字符  

                  通过转义字符,我们就可以在屏幕上输出诸如'\',''',' '' '之类的字符了。

                  注意,转义字符变量必须用单撇号括起来,不可用双撇号。双撇号用于字符串。

                         输出特殊字符

       请在屏幕上输出如图1.23所示的字符串,注:所有字符均为英文半角。

#include "pch.h"
#include <iostream>
using namespace std;
int main() {
cout<<"He said:\"The symbol is '\\'\""<<endl;
}

       数据输入输出

       C++的输入输出功能是由函数来实现的,例如putchar(输出字符),getchar(输入字符),cin(输入流),cout(输出流)等。

    putchar 函数(字符输出函数)的作用是向终端输出一个字符。例如:

    putchar(c);              //输出字符变量C的值

//putchar 函数的使用
#include "pch.h"
#include <iostream>
using namespace std; int main() {
char a = 'A', b = 'B', c = 'C';
putchar(a);
putchar(b);
putchar(c);
system("pause");
return ;
}

      getchar 函数(字符输入函数)的作用是从终端输入一个字符,其一般形式为getchar()。例如:

#include "pch.h"
#include <iostream>
using namespace std; int main() {
char c;
c = getchar();
putchar(c);
system("pause");
return ;
}

请注意:getchar()只能接收一个字符,接收的字符可以赋给字符变量或整型变量也可以不赋给任何变量。如:

          putchar(getchar());

          puts()

         向屏幕输出字符串并换行。

         gets()

        从键盘获得字符串,回车不算字符串。

        某些情况下,程序需要以八进制或者十六进制数的形式输出结果。C++提供了简单的实现方法:只要在输出流中输出操作符dec(十进制)、oct(八进制)或hex(十六进制)即可,下面的程序分别以十进制、八进制、十六进制输出n的值。

//进制转换
#include "pch.h"
#include <iostream>
using namespace std; int main() {
int n = ;
cout << "十进制:" << dec << n << endl;//Decimal
cout << "八进制:" << oct << n << endl;//Octal
cout << "十六进制:" << hex << n << endl;//Hex
system("pause");
return ;
}

        表1.6是常用的I/O流类库操作符,注意,设置一些特殊的格式时,我们还需使用I/O流类库提供的操纵符。使用操纵符时,首先必须在源程序的开头包含iomanip。

       表  1.6

操纵符名 含义
dec 数值数据采用十进制表示
hex 数值数据采用十六进制表示
oct 数值数据采用八进制表示
setw(int width)  设置输出数据字段宽度为width
ws  提取空白符
 setprecision(int num)  设置浮点数精度位数
 setfill(int ch)  设置ch为填充字符
 endl  插入换行符,并刷新流
 ends  终止字符串
 setprecision(int)  设置浮点数的小数位数(包括小数点)
 setw(in)  设置域宽

                      一旦使用了这些进制操作符,它们的作用域将一直持续到程序结束,或者遇到另一个进制操作符为止。

       C++提供的setw操作符可以指定每个数值占用的宽度。为了使用setw,程序必须包括头文件iomanip,setw操作符只对紧跟着它的数值有效。如果要为多个数值设定宽度,必须多次使用setw操作符。

       分析以下程序的执行结果。

put函数用于输出字符,put可以级联,如put('a').put('b')。

      请看下面的程序:

#include "pch.h"
#include <iostream>
using namespace std;
int main() {
cout.put('C').put('+').put('+').put('\n');
system("pause");
return ;
}

#include <iostream>
using namespace std; int main()
{
cout.put('C').put('+').put('+');
system("pause");
return ;

C++提供了输入流cin,可以利用输入流cin读取键盘输入的字符和数字等。我们可以使用I/O操作符控制输入的格式。

//输入格式控制
#include "pch.h"
#include <iostream>
using namespace std;
int main() {
int a, b, c;
cout << "a:";cin >> dec >> a;
cout << "b:";cin >> oct >> b;
cout << "c:";cin >> hex >> c;
cout << "a="<<a<<endl;
cout << "b="<<b<<endl;
cout << "c=" << c << endl;
system("pause");
return ;
}

#include <iostream>
using namespace std; int main()
{
int a,b,c;
cout<<"a:";
cin>>dec >>a;
cout<<"b:";
cin>>oct>>b;
cout<<"c:";
cin>>hex>>c;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
cout<<"c="<<c<<endl;
return ;
}

cin提供了get成员函数从指定的数据流中输入一个字符,并返回这个字符作为函数调用的值。

        请看下面的程序:

//get成员函数的使用
#include "pch.h"
#include <iostream>
using namespace std;
char c;
int main() {
c=cin.get();
cout << "c:"<<c <<endl;
cout << "ASCII:" << int(c) << endl;
system("pause");
return ;
}

#include <iostream>
using namespace std;
char c;
int main()
{
c=cin.get();
cout<<"c:"<<c<<endl;
cout<<"ASCII:"<<int(c)<<endl;
system("pause");
return ;
}

        cin提供了getline函数,其格式为:getline(字符串首地址,最大长度);用于将用户输入的字符串存放在“字符串首地址”指定的内存中,其最大长度不能超过“最大长度”指定的值。该函数的一个用处是可以读入一行带空格的字符串,当然gets()函数也能达到同样的效果。

        下面的程序是输入一个字符序列(最大长度不超过80)并输出:

//getline的使用
#include "pch.h"
#include <iostream>
using namespace std;
char a3[];
int main() {
cin.getline(a3,);
cout<<a3<<endl;
system("pause");
return ;
}

#include <iostream>
using namespace std;
char a[];
int main()
{
cin.getline(a,);
cout<<a<<endl;
system("pause");
return ;
}

//gets_s的使用
#include "pch.h"
#include <iostream>
using namespace std;
char a4[];
int main() {
gets_s(a4);
cout << a4<< endl;
return ;
}

#include <iostream>
using namespace std;
char a[];
int main()
{
gets(a);
cout<<a<<endl;
return ;
}

                      我看附录中C语言的输入输出语句,即scanf和printf也完全可以完成以上的格式控制,而且还特别好用,速度也非常快。

                     建议在大批量读写数据时,使用C语言的输入输出语句。

     【上机实践】  格式练习

       编写一个程序,按以下格式

第一章 C++语言入门的更多相关文章

  1. 第一章 Go语言入门

    文章由作者马志国在博客园的原创,若转载请于明显处标记出处:http://www.cnblogs.com/mazg/ 1.1 编译环境及开发工具 1.1.1 Go语言编译器 下载地址:http://li ...

  2. 第一章 corejava的入门

    第一章 corejava的入门一:什么是语言语言=os+数据结构+算法+思想os:操作系统数据结构:队,栈,二叉树,链表算法:做游戏开发时非常重要面试题:int a>0,b>0只使用一条输 ...

  3. 第一章.C语言简介

    C语言第一章 C语言简介   目录 一.C语言介绍 二.C语言特点 三.Hello World 四.转义符 五.占位符 六.俄罗斯方块游戏 七.文件下载 一.C语言介绍 C是一种通用的编程语言,广泛用 ...

  4. 第一章. ActionScript 语言基础

    第一章. ActionScript 语言基础 1.0. ActionScript 3.0 Cookbook 概述 1.1. 新建一个 ActionScript project 1.2. 自己定义应用程 ...

  5. 第一章C语言简介及输出函数 上机部分

    第一章C语言简介及输出函数 上机1 #include "stdio.h" void main() { printf("南方学院,你好!\n"); printf( ...

  6. ROS机器人程序设计(原书第2版)补充资料 (壹) 第一章 ROS系统入门

    ROS机器人程序设计(原书第2版)补充资料 (壹) 第一章 ROS系统入门 书中,大部分出现hydro的地方,直接替换为indigo或jade或kinetic,即可在对应版本中使用. 第一章主要包括R ...

  7. javaSE习题 第一章 JAVA语言概述

    转眼就开学了,正式在学校学习SE部分,由于暑假放视频过了一遍,略感觉轻松,今天开始,博客将会记录我的课本习题,主要以文字和代码的形式展现,一是把SE基础加强一下,二是课本中有很多知识是视频中没有的,做 ...

  8. [编程笔记]第一章 C语言概述

    //C语言学习笔记 第一讲 C语言概述 第二讲 基本编程知识 第三讲 运算符和表达式 第四讲 流程控制 第五讲 函数 第六讲 数组 第七讲 指针 第八讲 变量的作用域和存储方式 第九讲 拓展类型 第十 ...

  9. C基础入门 - 第一章 - C语言绪言

    第1章 C语言绪言 1.1 C语言概述 1.1.1 C语言世界 1.1.2 C语言学习, 能当饭吃吗 1.2 开发环境构建 1.2.1 visual studio安装使用 1.2.2 visual s ...

随机推荐

  1. Unity Shader 矩阵基本信息

    基本信息 mul函数 mul函数,是表示矩阵M和向量V进行点乘,得到一个向量Z,这个向量Z就是对向量V进行矩阵变换后得到的值.  HLSL的mul函数接受mul(V, M)或mul(M, V),要注意 ...

  2. python:Hamlet英文词频统计

    #CalHamletV1.py def getText(): #定义函数读取文件 txt = open("hamlet.txt","r").read() txt ...

  3. kafka-producer配置

    kafka-producer版本对比 Kafka的producer的API根据版本的不同分为kafka0.8.1.X之前的 kafka.javaapi.producer.Producer.以及之后版本 ...

  4. apache开启验证登录

    对某个目录开启验证登录 <Directory /var/www/html/admin > AllowOverride All Order allow,deny Allow from all ...

  5. exactly-once和kafka

    Exactly-Once的概念是指"恰好一次",简单讲就是同一个数据只会被处理一次,应用有机质保证不会重复处理同一条数据(如果数据因为因为网络业务异常被发送多次):Exactly- ...

  6. 如何在idea中引入一个新maven项目

    如何在idea中引入一个新的maven项目,请参见如下操作:      

  7. Azure VMSS (3) 修改VM Template并创建VMSS

    <Windows Azure Platform 系列文章目录> 在开始本章内容之前,我们需要准备好Azure VM的镜像,具体可以参考:Azure VMSS (2) 对VM执行Genera ...

  8. storj白皮书v3最全面解读,Docker创始人的加入能否扳倒AWS S3

    Storj新发了白皮书v3,地址是:https://storj.io/storjv3.pdf. 这次白皮书一共有90页,看完还真要费不少时间.如果你没有时间看,可以看一下我这篇快速技术解读. 上次St ...

  9. python数据处理 pandas用法大全

    一.生成数据表     1.首先导入pandas库,一般都会用到numpy库,所以我们先导入备用: import numpy as np import pandas as pd 1 2 2.导入CSV ...

  10. Struts2 <s:select >标签的使用

    select 取值session中的内容 <s:select name="meal.mealseries.seriesid" list="#session.meal ...