电脑爱好者,提供IT资讯信息及各类编程知识文章介绍,欢迎大家来本站学习电脑知识。 最近更新 | 联系我们 RSS订阅本站最新文章
电脑爱好者
站内搜索: 
当前位置:首页>> C++/VC>>C++学习笔记(一):

C++学习笔记(一)

来源:远方网络 | 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仍然为现有值(赋值以前)。



C++/VC热门文章排行
网站赞助商
购买此位置

 

关于我们 | 网站地图 | 文档一览 | 友情链接| 联系我们

Copyright © 2003-2024 电脑爱好者 版权所有 备案号:鲁ICP备09059398号