C++程序设计教案
C++语言是一种从C语言改良的语言,C语言中原有的标准库函数在C++中都可以使用,当然,由于不同的公司有各自不同的产品,所以当我们选择不同公司的编译器时应该遵从相应产品的说明。
本附录列出一些常用标准函数,以方便用户查询,详细的使用说明请查看联机文档。
头文件:math.h、stdlib.h
函数名 | | 功能 | 说明 |
abs | | 返回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次方。 |
函数名 | 函数说明 | 功能 | 说明 |
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所指示的方式打开名为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所指定的字符串中查找参数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所指定的字符串转变为大写。 | 函数返回转变后的字符串的首指针。 |
函数名 | 函数说明 | 功能 | 说明 |
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++中有很多头文件,内部包含了成千上万的函数,即便是选出的这几个头文件,我们也没有将其中所有的函数列出来,以上的罗列只是想起一个抛砖引玉的作用。在实际的编程过程中应该不断查看联机文档,以便得到详细的说明。
附录
序号 | 名称 | 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为控制字符