Essential C++学习笔记

前言

本人现在是一名非科班在读研究生,项目上接触过一些编程,也想搞技术这行。以后工作也想当个程序员。学习C++,因为我懒,学成后一劳永逸(大概不现实),想再搞其他的会快点。现在写一些简单的东西来记录自己的学习历程,也鼓励自己坚持下去(我也会写一些日语学习方面的,希望这两者结合起来,以后能到达想去的地方)。

1 C++编程基础

1.1 如何撰写C++程序

注意事项:

  1. 函数名要有意义
  2. main不是关键字,能用作变量名
  3. 定义自己的class时,为class提供自己的output(<<)运算符 (怎么重载运算符,运算符的参数是什么)
  4. 关于< iostream.h >与< iostream >的区别:使用< iostream.h >时,无需加using namespace std(标准命名空间),可直接使用cout,cin;反之则要加命名空间。通常有3种方式使用:(1)加using namespace std至main前(2)std::cout(3)using std::cout。详细解释参考.

1.2 对象的定义与初始化

注意事项:

  1. 对象命名须有意义,命名是区分大小写的
  2. 一般而言,初始化对象。单一型或内置内型采用赋值运算符(=),也可以采用**构造函数语法**,如下:
int num_try = 0;
int num_try (0);
  1. const关键字,常值不变(在指针、函数方面的应用)

1.3 撰写表达式

一些容易遗忘的符号:
条件运算符:

const int line_size = 8;
int				cnt = 1;
cnt % line_size? ' ' : ' \n ';

递增(++)与递减(–)运算符:
前置形式(++i),原值先进行递增或递减,再拿来进行使用;
后置形式(i++),原值先拿来使用,在进行递增或递减。
tips:可以从左往右来看,遇到++则递增原值,遇到i则使用变量。

OR逻辑运算符(||):
a || b;左侧表达式会先被求值,若为true,b不再被求值。
AND逻辑运算符(&&):
a&&b;同样遵循上述短路求值法。

部分运算符之后再学习。(按位与/或,左移,右移等)

运算符优先级(不用刻意记,用多了就会了):
(1)!
(2)* / %
(3)+ -
(4)< > <= >=
(5)== !=
(6)&&
(7)||
(8)=

1.4 条件语句和循环语句

switch语句:

switch(n)
{
	case 0:
			;				
	(break;)
	……………………
	case n:
			;
	(break;)
	default:
			;
	(break;)
}

标签与n吻合时,便执行case之后所有语句。
另一种应用

switch( next_char)
{
	case 'a': case 'A':
	case 'e': case 'E':
	case 'i': case 'I':
	case 'o': case 'O':
	case 'u': case 'U':
	++vowel_cnt;
	break;
	//...
}

在该例中,起到了||运算符的作用,用于计数一串字符中的元音个数。

break:用于终止循环;continue:用于终止当前迭代,进入本层循环的下一周期。

1.5 如何运用Array和Vector

一般而言,建议使用Vector甚于Array。
Vector的初始化;(1)单值初始化 (2)利用Array进行初始化

vector<int> elem_seq ( seq_size );
elem_seq[0] = 1;
...
elem_seq[17] = 22;
int elem_vals[ seq_size ] = 
{
	1, 2, 3 ,4, 5, 6, ...., 22
};
vector<int> elem_seq ( elem_vals, elem_vals + seq_size);

1.6 指针带来弹性

指针可能不指向任何对象,在提领(*)前必须保证它指向某对象。一个未指向任何对象的指针,其地址值为0(NULL)。
type_of_object_pointed_to * name_of_pointer_object
注:关于随机数的产生

1.7 文件的读写

一般步骤:
1.包含头文件
#inclide < fstream >
2.定义对象
ofstream outfile( "seq_data.txt" )
ifstream infile( "seq_data.txt" )
fstream iofile( "seq_data.txt", ios_base::|ios_base::app ) //以追加方式进行读写文件操作
3.进行输入或输出
outfile << 变量
infile >> 变量
注:详细内容以后再学习

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值