标签:des style blog http io color ar os 使用
1.数组
1 数组是一种数据格式,能够存储多个同类型的值。
2 数组声明语句(如 short moths[12];)
3 有效下标的重要性。编译器不会检查使用的下标是否有效。
4 数组的初始化
//马铃薯分析程序 #include<iostream> int main() { using namespace std; int yams[3];//声明一个包含三个int类型元素的数组 yams[0]=7;//数组下表从0开始 yams[1]=8; yams[2]=6; int yamcosts[3]={20,30,5};//声明并初始化一个数组 cout<<"Total yams= "<<yams[0]+yams[1]+yams[2]<<endl; cout<<"The package with "<<yams[1]<<" yams costs "<<yamcosts[1]<<" cents per yam.\n"; int total=yams[0]*yamcosts[0]+yams[1]*yamcosts[1]; total=total+yams[2]*yamcosts[2]; cout<<"The total yam expense is "<<total<<" cents.\n"; cout<<"\n Size of yams array= "<<sizeof yams<<" bytes."<<endl; cout<<"Size of one element= "<<sizeof yams[0]<<" bytes."<<endl; return 0; }
2.字符串(C-风格字符串)
1 字符串是存储在内存的连续字节中的一系列字符。
2 C风格字符串以空字符结尾,空字符被写作‘\0’,其ASCII码值为0,用来标记字符串的结尾。
3 可以使用\0来截短字符串。
1 <span style="font-family: 幼圆; font-size: 15px;">//两个都是char数组,但只有第二个数组是字符串。 2 char dog[5]={‘b‘,‘e‘,‘a‘,‘u‘,‘x‘}; 3 char cat[5]={‘f‘,‘a‘,‘t‘,‘s‘,‘\0‘}; 4 </span>
4.关于‘s‘和"s"的区别。"S"表示的是两个字符组成的字符串,更糟糕的是实际上它表示的是字符串所在的内存的地址。
5 拼接字符串常量使用" "--拼接时不会在被连接的字符串之间添加空格。
/将一个数组初始化为用引号括起来的字符串,使用cin将一个输入字符串放到另一个数组中 //使用strlen()确定字符串的长度 #include<iostream> #include<cstring>//提供strlen()函数原型 int main() { using namespace std; const int Size=15;//使用关键字 char name1[Size]; char name2[Size]="C++owboy"; cout<<"Howdy! I‘m "<<name2<<" ! What‘s your name?"<<endl; cin>>name1; cout<<"Well, "<<name1<<" , your name has "<<strlen(name1)<<" letters and is stored\n"; cout<<"in an array of "<<sizeof (name1)<<" bytes."<<endl; cout<<"You initial ia "<<name1[0]<<".\n"; name2[3]=‘\0‘; cout<<"Here are the first 3 characters of my name: "<<name2<<endl; return 0; } //sizeof操作符指出整个数组的长度,strlen()函数返回的是存储在数组中的字符串的长度,而不是数组本身的长度 //strlen()只计算可见的字符,不把空字符计算在内。
6 cin使用空白来定字符串的界,意味着cin在获取字符数组输入时只读取一个单词,把该单词放到数组中后,自动在结尾添加空字符。
7 面向行的输入:getline()函数。读取整行,它使用通过回车键入的换行符来确定输入结尾。如:cin.getline(name,20);在读取指定数目的字符或遇到换行符时停止读取。
//面向行输入 getline()函数 #include<iostream> int main() { using namespace std; const int AriSize=20; char name[AriSize]; char dessert[AriSize]; cout<<"Enter your name:\n"; cin.getline(name,AriSize); cout<<"Enter your favorite dessert:\n"; cin.getline(dessert,AriSize); cout<<"I have some delicious "<<dessert<<" for you,"<<name<<".\n"; return 0; }
8 面向行的输入:get()函数。get()函数并不读取并丢弃换行符,而是把它留在了输入队列中。
1 //使用get()函数将两个类成员函数拼接 2 //把输入中连续的两行分别读入到数组name1和数组name2中 3 #include<iostream> 4 int main() 5 { 6 using namespace std; 7 const int AriSize=20; 8 char name[AriSize]; 9 char dessert[AriSize]; 10 11 cout<<"Enter your name:\n"; 12 cin.getline(name,AriSize).get(); 13 cout<<"Enter your favorite dessert:\n"; 14 cin.getline(dessert,AriSize).get(); 15 cout<<"I have some delicious "<<dessert<<" for you,"<<name<<".\n"; 16 return 0; 17 }
1 //混合输入字符串和数字 2 /* 3 #include<iostream> 4 int main() 5 { 6 using namespace std; 7 cout<<"What‘s year was your house bulit?\n"; 8 int year; 9 cin>>year; 10 cout<<"What‘s is its street address?\n"; 11 char address[80]; 12 cin.getline(address,80); 13 cout<<"Year bulit: "<<year<<endl; 14 cout<<"Address: "<<address<<endl; 15 cout<<"Done!"<<endl; 16 return 0; 17 } 18 */ 19 #include<iostream> 20 int main() 21 { 22 using namespace std; 23 cout<<"What‘s year was your house bulit?\n"; 24 int year; 25 (cin>>year).get();//两种方式,在读取地址之前,先读取并丢弃换行符。 26 //cin.get(); 27 cout<<"What‘s is its street address?\n"; 28 char address[80]; 29 cin.getline(address,80); 30 cout<<"Year bulit: "<<year<<endl; 31 cout<<"Address: "<<address<<endl; 32 cout<<"Done!"<<endl; 33 return 0; 34 }
3.string类简介
1 //string对象与字符数组之间的一些相同点和不同点 2 //string对象和字符数组的主要区别是可以讲string对象声明为简单变量而不是数组 3 //类设计让程序能够自动处理string的大小。 4 #include<iostream> 5 #include<string> 6 int main() 7 { 8 using namespace std; 9 char char1[20]; 10 char char2[20]="yang"; 11 string str1; 12 string str2="yong"; 13 14 cout<<"Enter a kind of feline: "; 15 cin>>char1; 16 cout<<"Enter another kind of feline: "; 17 cin>>str1; 18 cout<<"Here are some felines:\n"; 19 cout<<char1<<" "<<char2<<" "<<str1<<" "<<str2<<endl; 20 cout<<"The third letter in "<<char2<<" is"<<char2[2]<<endl; 21 cout<<"The third letter in "<<str2<<" is"<<str2[2]<<endl; 22 return 0; 23 }
1 string类包含在头文件<string>中,它提供了将字符串作为一种数据类型的表示方法。
2 string和字符数组之间的主要区别是:可以将string对象声明为简单变量,而不是数组。
3 类设计让程序能够自动处理string的大小,类声明时创建一个长度为0的string对象,以后会自动调整。
4 不能将一个数组赋给另一个数组,但string可以做到。或者是使用+=将一个字符串附加到一个string对象的末尾,或者使用操作符+将两个操作符合并起来。
1 //字符串的赋值、拼接和附加 2 #include<iostream> 3 #include<string> 4 int main() 5 { 6 using namespace std; 7 string s1="heyun"; 8 string s2,s3; 9 cout<<"You can assigan one string object to another:s2=s1: \n"; 10 s2=s1; 11 cout<<"s1= "<<s1<<"s2= "<<s2<<endl; 12 cout<<"You can assigan a C—style string to a string object.\n"; 13 cout<<"s2= \"buzzard\"\n";//打印双引号,初始化s2 14 s2="buzzard"; 15 cout<<"s2= "<<s2<<endl; 16 cout<<"You can concatenate strings:s3=s1+s2\n"; 17 s3=s1+s2; 18 cout<<"s3= "<<s3<<endl; 19 cout<<"You can append strings.\n"; 20 s1+="for a day"; 21 cout<<"s1+=s2 yields s1= "<<s1<<endl; 22 s2+="for a day"; 23 cout<<"s2+=\"for a day\" yields s2= "<<s2<<endl; 24 25 return 0; 26 }
5 两个函数strcpy(str1,str2);和stract(str1,str2);前一个复制,后一个附加。
6 两种确定字符串中字符数的方法
1 //对用于string对象的技术和用于字符数组的技术进行了比较 2 #include<iostream> 3 #include<string> 4 #include<cstring>//函数原型 5 int main() 6 { 7 using namespace std; 8 char char1[20]; 9 char char2[20]="jaguar";//初始化数组 10 string str1; 11 string str2="panther"; 12 13 str1=str2;//赋值 14 strcpy(char1,char2);//将字符串复制 15 16 str1+="paste";//附加 17 strcat(char1,"juice");//将字符串附加 18 19 int len1=str1.size();//计算str1的长度,用size() 20 int len2=strlen(char1);//计算char1的长度,用strlen函数 21 22 cout<<"The string "<<str1<<" contains "<<len1<<" characters.\n"; 23 cout<<"The string "<<char1<<" contains "<<len2<<" characters.\n"; 24 25 return 0; 26 }
7 string类I/O
1 #include<iostream> 2 #include<string> 3 #include<cstring> 4 int main() 5 { 6 using namespace std; 7 char charr[20]; 8 string str; 9 //strlen() 10 cout<<"Length of string in charr before input: "<<strlen(charr)<<endl; 11 cout<<"Length of string in str before input: "<<str.size()<<endl;//未被初始化的string对象的长度自动设置为0 12 cout<<"Enter a line of text:\n"; 13 cin.getline(charr,20);//(目标数组,数组长度),istream类的一个类方法 14 cout<<"You entered: "<<charr<<endl; 15 cout<<"Enter another line of text:\n"; 16 getline(cin,str);//这个getline()不是类方法 17 cout<<"You entered: "<<str<<endl; 18 cout<<"Length of string in charr after input: "<<strlen(charr)<<endl; 19 cout<<"Length of string in str after input: "<<str.size()<<endl; 20 return 0; 21 }
标签:des style blog http io color ar os 使用
原文地址:http://www.cnblogs.com/dondre/p/4090180.html