C++基础知识文档格式.docx
- 文档编号:14357834
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:24
- 大小:34KB
C++基础知识文档格式.docx
《C++基础知识文档格式.docx》由会员分享,可在线阅读,更多相关《C++基础知识文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
一C++基础知识
1.1
"
Hello,
world!
C++对于大小写是敏感的。
首先,让我们通过一个非常简单的C++程序,来初步地了解C++语言。
#include
<
iostream>
using
namespace
std;
//注意如果不使用.h将要增加本行int
main()
{
cout
endl;
return0;
}
///:
~
这个程序的作用就是在屏幕上输出“Hello,world!
”的字样。
以“#”开始的内容被称为预处理指令,这一行的作用是把一个叫做iostream的头文件包含到我们的程序中来。
C++默认是不包含任何头文件的。
另外,C语言中的头文件都是以.h结尾的,而标准的C++提倡使用没有扩展名的头文件。
第四行让我们可以在程序中直接使用std名字空间内的标识符。
std名字空间包含了所有标准C++提供的类和函数,为了简便起见,一般总在包含头文件的预处理命令后写上这一行。
如果是C语言的话,程序将变成:
iostream.h>
int
printf(“%s\n”,"
);
1.2类型
C++提供了基本类型以及程序员可以自定义的类型:
名称
C++类型
范围
大小
布尔型
bool
true/false
1
字符型
char
所有单字节字符
8位有符号整型
-128..127
8位无符号整型
unsignedchar
0..255
16位有符号整型
short
-32768..32767
2
16位无符号整型
unsignedshort
0..65535
32位有符号整型
int
-2147483648..2147483647
4
32位无符号整型
unsignedint
0..4294967295
64位有符号整型
longlong
-263..263-1
8
64位无符号整型
unsignedlonglong
0..264-1
单精度浮点型
float
1.17e-38..3.40e38
双精度浮点型
double
2.22e-308..1.79e308
扩展浮点型
longdouble
3.36e-4932..1.18e4932
10/12
在C++中,很多其他类型的量都可以隐式地转化为布尔型,这时,非零的值都被转化成true,而零被转化成false。
其中VC中没有longlong类型,可用_int64代替,sizeof的作用就是返回括号里的类型的大小(也可以是变量或者常量)。
单个字符的常数要用单引号括起来,一些不能显示的字符可以通过转义符来表示(参见下表)。
另外,从上表中可以看出,在C++中,字符型和单字节的整型实际上是等价的。
举例来说,'
A'
的数值就是65。
ASCII名称
C++名称
换行
NL(LF)
\n
水平制表符
HT
\t
竖直制表符
VT
\v
退格
BS
\b
回车
CR
\r
复位
FF
\f
铃声
BEL
\a
反斜杠
\
\\
问号
?
\?
1.3操作符
首先,我们来看下表:
操作符名称
C++操作符
加法
+
减法
-
乘法
*
整数除法
/
实数除法
取余数
%
小于
小于等于
=
大于
>
大于等于
相等
==
不等
!
位非
逻辑非
位与
&
逻辑与
位或
|
逻辑或
||
位异或
^
位左移
位右移
从中可以看出,C++语言最大的特点就是几乎所有的操作符都是由符号字符构成的。
注意:
1、C++中,整数除法和实数除法都是由“/”来完成的,当两个操作数都是整数时进行整数除法,当至少有一个是实数时进行实数除法;
2、C++中,位运算与逻辑运算的操作符是不同的。
1.4常用的库函数和格式输出
标准C++提供了十分强大的库。
在这一节,我们只介绍一些和Pascal所提供的标准过程和函数功能相似的库函数。
函数定义
头文件
作用
备注
void*memset(void*p,intb,size_tn);
cstring
把p所指向的连续n个字节的值都设置成b
与FillChar类似,但要注意参数的顺序
void*memmove(void*p,const*q,size_tn);
把q所指向的连续n个字节的值复制到p所指向的位置
与Move类似,p、q所指向的内存区域可以部分重叠
doubleatof(constchar*p);
intatoi(constchar*p);
longatol(constchar*p);
cstdlib
把字符串p转化成所表示的数
与Val类似
doublefabs(double);
cmath
绝对值函数
与Abs类似
doubleceil(double);
doublefloor(double);
取整函数,前者为上取整,后者为下取整
doublesqrt(double);
平方根函数
与Sqrt类似
doublepow(doubled,doublee);
幂函数,返回d的e次方
doublesin(double);
doublecos(double);
doubletan(double);
三角函数
doubleasin(double);
doubleacos(double);
doubleatan(double);
反三角函数
doubleatan2(doubley,doublex);
增强型反正切函数,返回点(x,y)的辐角
很有用,会根据点所在的象限调整弧度值
doublesinh(double);
doublecosh(double);
doubletanh(double);
双曲函数
doubleexp(double);
指数函数,以e为底
与Exp类似
doublelog(double);
doublelog10(double);
对数函数,前者以e为底,后者以10为底
与Ln类似
另外,标准C++中并没有提供函数Pi,要获得Pi的值一般这样做:
constdoublepi=acos(0.)*2;
格式化输出
具体参考C++语言等相关书籍
C++的流可以完成控制格式的操作。
指定场宽由成员函数width()来完成,而指定小数部分的位数则稍微麻烦一些,要先把浮点数的输出方式设置为定点输出方式,然后再设置小数部分的位数。
例如:
cout.setf(ios:
:
fixed,ios:
floatfield);
cout.precision
(2);
cout<
1.2345<
endl;
以上程序段中第一个语句的作用就是把浮点数的输出方式设置为定点输出方式,第二个语句的作用是把小数部分的位数设置为2。
和Pascal一样,小数部分的最后一位也会进行四舍五入的处理。
需要注意的是,width()只对接下来的一个格式化输出有效,如果有多个输出需要指定场宽,那么就要写多个width()函数。
而precision()则对之后所有的浮点数输出都有效。
cout.width(3);
1<
2;
//1的场宽为3,而2采用实际宽度
cout.width(4);
如果你觉得这样写太麻烦,你也可以把它写成:
setw(3)<
2<
setw(4)<
不过这时不要忘了在程序的最前面加上#include<
iomanip>
,因为setw是在iomanip中被定义的。
这样,我们就可以完成一般的格式化输出了。
C++中流的格式化输出还有很多内容,如果有兴趣可以参考有关资料。
1.5例子
要求:
每个程序在全部弄懂的前提下,自己编写一次(可以上网AC的都要尽量通过)
例1:
A+BProblem
Calculatea+b
输入:
aandb
输出:
a+b
SampleInput
15
SampleOutput
6
程序:
C++:
#include<
usingnamespacestd;
intmain()
{
inta,b;
while(cin>
a>
b)
cout<
a+b<
}
//cin和cout是iostream里面的东西
C:
stdio.h>
while(scanf("
%d%d"
&
a,&
b)!
=EOF)
printf("
%d\n"
a+b);
注意一般程序要求你多次输入的!
!
printf和scanf是stdio.h里面的东西,注意C语言里面没有类的存在,只有函数。
这两个函数要熟练使用的,慢慢来也行,具体见《C和C++帮助》
例2:
1到n求和
n代表一个非负整数1=<
n<
=10000
100
5050
#include<
intn,sum;
while(scanf("
%d"
n)!
=EOF)
{
sum=n*(n+1)/2;
printf("
sum);
}
retu
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 基础知识