C++ 基础复习系列——孙不坚1208
C++ 基础复习系列3(递归算法){Fibonacci函数、Hanoi问题}
六、零散知识点
在C++中我怎样可以在屏幕上打出“\n” cout<<"\n"<<endl;
关于数据类型,不要盲目int 多double 长longlong
关于获取 数组长度:strlen() int len=sizeof(a)/sizeof(int);
#define 宏定义
实现字母自增:char c = ‘A’; cout << char(c+j%26);
数字黑洞 6174
关于实用函数
- 取整函数 #include <math.h>
- 向小取整:double floor (double x)
- 向大取整:double ceil(double x)
- 头文件#include <ctype.h>
- isalpha(a[i]) 判断是否字母isdigit(a[i]) 判断是否数字
- isupper(a[i]) 判断是否大写islower(a[i]) 判断是否小写
- isdigit(char c) 功 能: 检查 参数 是否为十进制数字字符,用于判断字符c是否为数字,当c为数字0~9时,返回非零值,否则返回零(NULL)。 可以用一个字符数组循环判断每一项
- islower(char c) 功 能: 检查参数c是否为小写英文字母,若参数c为小写英文字母,则返回TRUE,否则返回NULL(0)。
- isalpha(char c) #include <ctype.h> 功 能: 检查参数c是否为英文字母,若参数c为英文字母,则返回TRUE,否则返回NULL(0)。
- isupper(char c) 功能:判断 字符c是否为大写英文字母,当参数c为大写英文字母(A-Z)时,返回非零值,否则返回零。
- 最大公约数 int gcd(int a,int b){ return b?gcd(b,a%b):a;}
- 最小公倍数 lcm = a * b / gcd(a,b)
字符数组转化整形 #include char s[100]; int x=atoi(s); 上面两行代码也可以将s转为数字。
字符串操作:8种常用的字符串处理函数 <string.h>
数组赋值:memset(起始地址,设定值,偏移量或叫做大小x);
1、puts函数——输出字符串的函数 一般的形式为puts(字符串组)
作用:将一个字符串输出到终端。如,char一个a[n],并赋予初值,调用puts(数组名),进行字符串的输出。
2、gets函数——输入字符串的函数 一般的形式:gets(字符数组)
作用:从终端输入一个字符串到字符数组,并且得到一个函数值成为字符数组的起始地址,gets(数组名])进行键盘输入,注意:puts和gets函数只能输出或者输入一个字符串。
3、strcat函数——字符串连接函数 一般的’形式:strcat(字符数组1,字符数组2);
作用:把两个字符串数组中字符串连接起来,把字符串2连接到字符串1的后面,说明:字符数组1必须足够大,以便容纳连接后的新字符串。
4、strcpy/strncpy函数——字符串复制函数 一般形式:strcpy(字符数组1,字符串2);
作用:将字符串2复制到字符数组1中去,如:char str1[10], str2[]=“DongTeng”; strcpy(str1,str2);执行后的结果为:str1为str2里的内容
注意
- a. 不能用赋值语句直接将一个字符串常量或者字符数组直接给一个字符数组
- b. 用strncpy可以赋值指定的位置的字符。strncpy(str1,str2,3);将str2中的第3个字符复制到str1中。
5、strcmp函数——字符串比较函数 一般形式:strcmp(字符串1,字符串2);
作用:用来比较两个字符串的差异。具有不同的比较规则。
strcmp(s1, s2); 如果 s1 和 s2 是相同的,则返回 0;
如果 s1<s2 则返回值小于 0; 如果 s1>s2 则返回值大于 0。
6、strlen函数——测字符串长度的函数
7、strlwr函数——转换为小写的函数 一般形式:strlwr(字符串);
8、strupr函数——转换为大写的函数 一般形式:strupr(字符串)。 字符串的输入:char s[107]; cin >> s; 碰到空格结束输入 cin.get(s, 107); 以回车结束输入 输入一个数字后 会有回车 再次输入 字符时 会有回车干扰 故需要解决吃回车的问题 例如
cin>>n; char a[100][1000]; for(int i=0;i<=n-1;i++) { cin.get();//吃回车 cin.get(a[i],1000);}