您的位置:首页 > 编程语言 > C语言/C++

【学习C++】C++程序设计教案

2018-01-19 22:31 141 查看


C++程序设计教案

C++语言是一种从C语言改良的语言,C语言中原有的标准库函数在C++中都可以使用,当然,由于不同的公司有各自不同的产品,所以当我们选择不同公司的编译器时应该遵从相应产品的说明。

本附录列出一些常用标准函数,以方便用户查询,详细的使用说明请查看联机文档。

(一) 数学函数和相应的转换函数

头文件:math.h、stdlib.h
函数名
函数说明
功能
说明
abs
int abs(int n)
返回int类型数的绝对值
acos
double acos(double x)
计算反三角函数arccos的值,返回的角度值在0到 之间。x的值应该在-1到1之间。
如果x的值超过-1到1的范围则返回一个不确定的值。
asin
double asin (double x)
计算反三角函数arcsin的值,返回的角度值在 到 之间。x的值应该在-1到1之间。
如果x的值超过-1到1的范围则返回一个不确定的值。
atan
double atan(double x)
计算反三角函数atan的值,返回的角度值在 到 之间。
ceil
double ceil(double x)
求出不小于x的最小整数。
cos
double cos(double x)
计算三角函数cos的值。
div
div—t div(int n,int d)
计算两个int型数整除后的结果和余数。
div—t是一个结构,内部定义了quot和rem两个成员,分别来保存商和余数。
exp
double exp(double x)
求e的指数值。
如果结果溢出则返回INF。
fabs
double fabs(double x)
返回浮点数的绝对值。
floor
double floor(double x)
求出不大于x的最大值。
fmod
double fmod(double x, double y)
求整除 的余数。
如果y是0.0则函数返回NaN。
函数名
函数说明
功能
说明
log
double log(double x)
求lnx的值。
log10
double log10(double x)
求logx的值。
pow
double pow(double x, double y)
求x的y次方的方程。
计算值不能大于2的64次方。
rand
int rand(void)
返回一个伪随机数。
在调用该函数之前请先调用srand函数设置初始值。
sin
double sin(double x)
计算三角函数sin的值。
sqrt
double sqrt(double x)
计算x的开根号值。
如果x小于0,则报错。
srand
void srand(unsigned int seed)
为随机函数rand产生初始值,seed是这个初始值的种子值。srand用这个种子值产生初始值。
tan
double tan(double x)
计算三角函数tan的值。
x的值不能大于2的64次方或者小于2的-64次方。
(二) 一般I/O操作

头文件:stdio.h
函数名
函数说明
功能
说明
clearerr
void clearerr(FILE * stream)
清除文件错误指示器。
fclose
int fclose(FILE * f)
关闭一个文件。 
如果成功,关闭文件并返回0,反之返回EOF。
feof
int feof(FILE * f)
检验是否达到了文件尾部。
如果当前位置不是文件尾则返回0,否则返回非0值。
ferror
int ferror(FILE * f)
检验是否文件操作出错。
如果没有错误则返回0,否则返回非0值。
fgetc
int fgetc(FILE *f)
从f所指的文件中读取一个字符
如果读取出错则返回EOF,如果成功则返回该字符相对应的int值。
fgets
char * fgets(char * string, int n, FILE *f)
从f所指的文件中读取一个字符串放在string变量中。
参数n是读出的最大的字符数,如果读取出错则返回NULL,如果成功则返回string变量的首地址。
函数名
函数说明
功能
说明
fopen
FILE * fopen(const char * filename, const char * mode)
以参数mode所指示的方式打开名为filename的文件。
参数mode中的字符串表示以何种读取方式打开文件,例如“r”以只读的方式打开。
fprintf
int fprintf(FILE * f, const char * format [,argument]…)
把argument中的值以参数format所指定的格式输入到f所指的文件中。
如果函数执行成功则返回写入文件的字符数,如果失败则返回一个负数。
fputc
int fputc(int c, FILE * f)
将参数c所表示的一个字符输出到f所指的文件中。
如果输出成功则返回这个字符,反之则返回EOF。
fputs
int fputs(const char * string, FILE *f)
将参数string中的字符串输出到f所指的文件中。
如果输出成功则返回一个非负数,反之则返回EOF。
fread
int fread(void * buffer, int size, int count, FILE * f)
从f所指定的文件中读取长度为参数size所指定的数据,并将数据存入buffer所指向的内存区。
如果读取成功则返回读出的数据。如果失败则文件指针指向文件末尾。可以用函数feof进行错误检测。
fscanf
int fscnf(FILE * f, const char * format [,argument]…)
从f所指向的文件中按format所指定的方式将数据输入到argument所指向的内存单元中。
和函数fprintf配套使用。
fseek
int fseek(FILE * f, long offset, int origin)
将f所指定的文件的文件指针移到以参数origin为基准,参数offset为偏移量的位置。
如果函数执行成功则返回0,否则返回一个非0值。
ftell
Long ftell(FILE *f )
得到f所指向的文件的当前位置。
fwrite
int fwrite(const void * buffer, int size, int count, FILE * f)
将buffer所指向的n*size个字节的数据输出到f所指向的文件中。
返回实际输出的数据数和函数fread配套使用。
getc
int getc(FILE *f)
从f所指定的文件中读出一个字符。
如果读取失败或者到达文件结尾则返回EOF。反之,返回所读的字符所对应的INT值。
printf
int printf(const char * format [,argument]…)
按参数format中所指定的格式化的形式将参数argument中的数据输出到标准输出设备中。
如果函数执行出错则返回负数,如果成功则返回输出的字符数。
putc
int putc(int c, FILE * f)
将参数c所表示的一个字符输出到f所指定的文件中。
如果输出成功则返回这个字符,如果失败则返回EOF。
函数名
函数说明
功能
说明
puts
int puts(const char * string)
将string所指的字符串输出到标准输出设备。
如果输出成功则返回一个非负数,如果失败则返回EOF。
rewind
void rewind(FILE * f)
将f所指向的文件的文件指针重新指向文件的开头。
scanf
int scanf(const char * format[, argument]…)
从标准输入设备中按参数format所指定的格式输入数据到参数argument中。
如果出错则返回EOF。
(三) 字符串和字符函数

头文件:string.h、ctype.h
函数名
函数说明
功能
说明
isalnum
int isalnum(int c)
检查c是否是字母或者是数字。
如果c是数字或者是字母则返回一个非0值,反之返回0。
isalpha
int isalpha(int c)
检查c是否是字母。
如果c是字母则返回一个非0,反之返回0。
_isascii
int _isascii(int c)
检查c是否是ASCII字符。
如果c是ASCII字符则返回一个非0,反之返回0。
iscntrl
int iscntrl(int c)
检查c是否是控制字符。
控制字符的ASCII码在0-0x1F之间。
isdigit
int isdigit(int c)
检查c是否是数字。
如果c是数字则返回一个非0,反之返回0。
isgraph
int isgraph(int c)
检查c是否是可打印字符。
可打印字符的范围是0x21—0x7E,检查范围不包括空格。
islower
int isower(int c)
检查c是否是小写字母。
如果c是小写字母则返回非0值,反之返回0。
isupper
int isupper(int c)
检查c是否是大写字母。
如果c是大写字母则返回非0值,反之返回0。
strcat
Char * strcat(char * strD, const char * strS)
将参数strS中的字符串拼接到参数strD所指定的字符串后面。
函数返回连接之后的字符串的头指针。拼接后的字符串以NULL结尾。
strchr
char * strchr (const char * string, int c)
在参数string所指定的字符串中查找参数c所代表的字符第一次出现的位置。
如果找到了该字符则返回该字符在字符串中位置的指针。反之返回NULL。
函数名
函数说明
功能
说明
strcmp
int strcmp (const char * string1, const char * string2)
以辞典顺序对两个字符串进行比较。
返回值小于0,则string1小于string2,等于0,则string1等于string2,大于0,则string1大于string2。
strcpy
char * strcpy (char * strD,const char * strS)
将参数strS中的字符串拷贝到参数strD所指定的字符串后面,包括结尾处的NULL值。
函数返回连接之后的字符串的头指针。
strcspn
int strcspn (const char * string, const char * strCharSet)
在参数string 所指定的字符串中查找参数strCharSet所代表的字符串第一次出现的位置。
如果找到了则返回该字符串在备查找字符串中的位置。
_strdup
char *_strdup(const char *strSource)
复制一个字符串。
参数strSource所指示的就是等待复制字符串。
strlen
int strlen(const char * string)
得到参数string所指定的字符串的长度
_strlwr
char *_strlwr(char * string)
将参数string所指定的字符串变为小写。
函数返回转变后的字符串的首指针。
_strrev
Char * _strrev(char * string)
将参数string所指定的字符串倒转。
函数返回倒转后的字符串的首指针。
strstr
Char * strstr(const char * string, const char * strCharSet)
在参数string所指定的字符串中查找参数strCharSet所代表的字符串第一次出现的位置。
如果找到了则返回该字符串在备查找字符串中的位置。
_strupr
char * _strupr(char * string)
将参数string所指定的字符串转变为大写。
函数返回转变后的字符串的首指针。
(四)内存分配操作函数

头文件:malloc.h
函数名
函数说明
功能
说明
calloc
void * calloc(int num, int size)
在内存中连续分配num个大小为size的空间,并将分配的空间用0初始化
函数返回分配的内存空间的首地址。
free
void free(void * m)
释放已经分配的内存空间。
malloc
void * malloc(int size)
在堆中分配size个字节空间。
函数返回分配的内存空间的首地址。
_msize
int _msize(void * m)
返回在堆中分配的内存的大小。
函数按字节的形式返回分配的数量。
realloc
void * realloc(void * memblock, int size)
对参数memblock所指向的内存的大小按参数size进行再分配
函数返回重新分配的内存空间的首地址。
说明:

以上只是罗列了一些常用的函数,实际上Borland C++中有很多头文件,内部包含了成千上万的函数,即便是选出的这几个头文件,我们也没有将其中所有的函数列出来,以上的罗列只是想起一个抛砖引玉的作用。在实际的编程过程中应该不断查看联机文档,以便得到详细的说明。

附录 ASCII码字符集

序号
名称
16进制
序号
名称
16进制
序号
名称
16进制
000
NULL
00
043
+
2B
086
V
56
001
SOH
01
044
,
2C
087
W
57
002
STX
02
045
-
2D
088
X
58
003
ETX
03
046
.
2E
089
Y
59
004
EOT
04
047
/
2F
090
Z
5A
005
ENQ
05
048
0
30
091
[
5B
006
ACK
06
049
1
31
092
\
5C
007
BEL
07
050
2
32
093
]
5D
008
BS
08
051
3
33
094
^
5E
009
HT
09
052
4
34
095
_
5F
010
LF
0A
053
5
35
096

60
011
VT
0B
054
6
36
097
a
61
012
FF
0C
055
7
37
098
b
62
013
CR
0D
056
8
38
099
c
63
014
SO
0E
057
9
39
100
d
64
015
SI
0F
058
:
3A
101
e
65
016
DLE
10
059
;
3B
102
f
66
017
DCI
11
060
<
3C
103
g
67
018
DC2
12
061
=
3D
104
h
68
019
DC3
13
062
>
3E
105
i
69
020
DC4
14
063
?
3F
106
j
6A
021
NAK
15
064
@
40
107
k
6B
022
SYN
16
065
A
41
108
l
6C
023
ETB
17
066
B
42
109
m
6D
024
CAN
18
067
C
43
110
n
6E
025
EM
19
068
D
44
111
o
6F
026
SUB
1A
069
E
45
112
p
70
027
ESC
1B
070
F
46
113
q
71
028
FS
1C
071
G
47
114
r
72
029
GS
1D
072
H
48
115
s
73
030
RS
1E
073
I
49
116
t
74
031
US
1F
074
J
4A
117
u
75
032
Space
20
075
K
4B
118
v
76
033
!
21
076
L
4C
119
w
77
034

22
077
M
4D
120
s
78
035
#
23
078
N
4E
121
y
79
036
$
24
079
O
4F
122
z
7A
037
%
25
080
P
50
123
{
7B
038
&
26
081
Q
51
124
|
7C
039

27
082
R
52
125
}
7D
040
(
28
083
S
53
126
~
7E
041
)
29
084
T
54
127
del
7F
042
*
2A
085
U
55
注:0~31为控制字符
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: