一维数组的初始化:
_____________
int b[10] = {1,2,3}; //余下的元素值都为0
int c[8] = {1}; //c[0]=1,其余元素为0
int e[6] = {0}; //将所有元素都初始化为0
全部数组元素赋值时,可以不指定数组长度
int f[] = {1,2,3,4,5}; //会根据数组元素个数自动分配空间
可以使用枚举变量作为数组长度:
enum WeekDays {Sun, Mon, Tue, Wed, Thu, Fri, Sat, DaysInWeek};
int ArrayWeek[DaysInWeek] = {10,11,12,13,14};
cout << ArrayWeek[Mon] << endl;
将会输出:11
多维数组的定义:
int Board[8][8];
多维数组的初始化:
int theArray[3][5] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
或者使用:
int theArray[3][5] = {{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}};
甚至:
int theArray[3][5] = {{1,2,3},{6,7,8,9,10},{11,12,13,14,15}};
则theArray[0][3] = theArray[0][4] = 0;
如果希望都初始化为0,可以简单地用int theArray[3][5] = {0};
字符串数组,如char name[]="rjw";//实际上占用空间为4个字节(以'\0'结束)-编译器会帮你加上结束符
字符串处理函数:需要包含头文件cstring(旧编译器需要string.h)
字符串连接 strcat(char*, const char*);
字符串复制 strcpy(char*, const char*);
字符串比较
strcmp(const char* A, const char* B);//返回0,1,-1分别表示A=B,A>B,A
字符串长度 strlen(const char*);//指字符串实际长度,不包含'\0'
求字串 strstr(const char*, const char*);
——————————————————————————————
对于字符串比较strcmp函数,是考虑大小写的
如果不考虑大小写进行比较,可以用stricmp函数,用法和strcmp一样
——————————————————————————————
字符串输入:
(1) cin >> 字符串变量
以空格符,回车符,换行符,制表符为分隔标志
(2) cin.getline(字符串变量,变量大小)
以Enter键标志结束
eg:
char s[81];
cin.getline(s,81);
字符输入:
getchar() 一个一个字符地输入
例子 1:
char buffer[80] = {'\0'};
cout << "Enter the string:";
cin >> buffer;
cout << "Here's the buffer:" << buffer << endl;
输出结果是:
Enter the string:Hello World
Here's the buffer:Hello(由于cin是以空格符,回车符,换行符,制表符为分隔标志的)
解决这个问题:
例子 2:
char buffer[80] = {'\0'};
cout << "Enter the string:";
cin.get(buffer, 79);
cout << "Here's the buffer:" << buffer << endl;
输出结果是:
Enter the string:Hello World
Here's the buffer:Hello World
阅读(1515) | 评论(0) | 转发(0) |