Chinaunix首页 | 论坛 | 博客
  • 博客访问: 381630
  • 博文数量: 61
  • 博客积分: 1546
  • 博客等级: 中尉
  • 技术积分: 708
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-22 20:07
文章分类

全部博文(61)

文章存档

2011年(61)

分类: C/C++

2011-05-14 00:01:51

一维数组的初始化:
_____________
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
阅读(1441) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~