来源:远方网络 | 2005-4-10 19:33:24 | (有2301人读过)
//转载自网络 作者未知。
Chapter 2 to Chapter 4
最短的C++程序: int main() { return 0; }
在使用 cin cout 等输入、输出语句时要使用: #include <iostream> using namespace std; 如果没有这一句,则后面cout endl要使用std::cout << ... << std::endl;
变量名规则与C相同,开头使用字母或下划线,后面使用字母、下划线或数字
字符类型:char 字符串类型:string(使用时应使用:#include <string>)
静态变量前缀:const 如 const char ,const string
字符串的加法:string3=string1+string2 加法中的内容可以是为常量或变量的string或char类型,但其中至少应该有一个为常量或变量的string
如果在cout << "字符串" 时字符串中出现" " ",则使用\"代替 回车符(换行使用endl)如cout << "Hi" << endl;
注释形式:// 或 /* */
整数类型integral包括char short int long bool等,其中前四项有unsigned 浮点类型floating包括float double long double等 这两者均属于simple类型, simple类型还包括enum
常量若以0开头,如015,则表示8进制的数
强制转换的语句形式:float(MyInt...)
#include <iomanip>提供(endl fixed showpoint 在<iostream>下自由使用)下列控制语句(部分)(与cout联系紧密) cout << setw(5) << someInt; setw 是 set width,只对数字或字符串使用(数字小了自动扩充,少了数据靠后显示),不用于char,且作用于紧跟其后的数据 在浮点数据中,小数点被算作一个单位(比如可被 setw计算) 如果想强制数据显示时出现小数点(像95.0显示时为95),可使用cout ... << showpoint << ... 如果想规定小数点后的数字的个数,应先使用fixed控制语句,使用方法同上,再用setprecision(2)等固定小数位数,并且不像setw,setprecision具有持续效果
对字符串的操作
length函数:myName.length() == size函数:myName.size() 为了储存这些数据,应使用: string firstname; string::size_type len; firstname = "Alexandra"; len = firstname.length();
find函数:str1.find("the") str1.find(str2) str1.find(str2 + "abc") 仅找到字符串中第一次出现的位置 亦返回一个无符号整数(string::size_type 类型) 如果子串不能被找到,则返回一个特殊的类型string::npos "not a position within the string";string::npos是string::size_type中可能的最大数,在许多机器上这个数字是4294967295
substr函数 myString.substr(5,20) 5为位置,20位长度;返回一个新的字符串
往程序里加入数据 cin >> 一些数据名称(各种类型) 如果一个数据是char类型,输入在一个字符被输入后停止;如果是int或float类型,数据在一个不适合这个类型的输入(如一个字母、一个空格)处停止 如果要向字符里读入空格、回车符\n之类,则使用 cin.get(ch1); 对于ignore函数 cin.ignore(200,'\n') 表示读数据的时候,跳过之后的100个字符,或者终止在\n之后,再开始读入
string myStr; cin >> myStr; 同样也是不能读入空格的,若要空格则 getline(cin,myStr); 终止在回车符处
文件输入输出 步骤如下: #include <fstream> ifstream inData; ofstream outData; inData.open("walk.dat"); outData.open("results.dat"); 对于输出文件,如果不存在,则系统自动建立一个新的文件;如果存在,则擦去原有的内容
注意以下写法是错误的!: ifstream inFile; string fileName; cout << "Enter the input file name: "; cin >> fileName; inFile.open(fileName); //Compile-time error! 这时应使用c_str函数,最后一行改为: inFile.open(fileName.c_str());
下面情况会出现I/O错误: cin >> i >> j >> k; cout << i <<" "<< j <<" "<< k <<; 当输入 1234.56 7 89 的时候 输出可能为: 1234 20 30 这是应为在读入i的时候,读完1234遇到".",此时i的读入结束;而在读j的时候预见".",则出现错误的状态,以后的赋值不再进行,j,k仍然为现有值(赋值以前)。
|