C++ Primer 学习笔记_1_快速入门

2014-11-24 11:29:02 · 作者: · 浏览: 0

C++快速入门


--这个月的第一篇博客,献给我最爱的C++程序设计语言!


一、编写简单的C++程序

//main函数是唯一一个被操作系统显式调用的函数。
int main()
{
    /*
    *该返回值作为状态指示器,需要返回给操作系统!
    *以echo $ 命令可以查看该返回值
    *通常非零返回值表示有错误出现,由操作系统定义
    */
    return 0;
}

二、初窥输入/输出

1、标准输入:cin

2、标准输出:cout

3、cerr、clog

【当写到cout、cerr与clog时,输出写至同一窗口!但是利用重定向可以将这些流与所选择的文件联系起来】

#include 
  
   
//iostream库定义了接受各种内置类型的输入/输出操作符版本

int main()
{
	/*
	*当操作符是输入(>>)、输出(<<)操作符时,
	*其结果是左操作数,
	*也就是说:输入/输出操作返回的值是输入/输出流本身
	*/

	//将"..."的内容写入到cout对象中
    std::cout << "Enter two numbers:" << std::endl;
    int v1,v2;
    //从istream操作数读入数据并保存在右操作数中
    std::cin >> v1 >> v2;
    //endl具有:1、输出换行 2、刷新与设备相关联的缓冲区 的作用
    std::cout << "The sum of " << v1 << " and " << v2
              << " is " << v1 + v2 << std::endl;
    return 0;
}

  

三、关于注释

1、注释用于:

概括算法、确认变量的用途、阐明难以理解的代码段


2、规则

1)多行注释:使用注释对/**/,同时,在注释的每一行以星号开始,指明整个范围是多行注释的一部分。

2)单行注释:使用//

3)通常最好是将一个注释块放在所解释代码的上方!

4)注释对不可嵌套


是否正确:

#include 
  
   
/*
*comment pairs/* */ cannot nes.
*"cannot nest" is considered source code.
*as is the rest of the program
*/

int main()
{
	return 0;
}

1、std::cout << "/*";			//输出”/*”
2、std::cout << "*/";			//输出”*/”
3、std::cout << /* "*/" */;	//编译出错
  

四、控制结构

1、关于C++程序的缩排和格式:

一旦你选定了某种风格,就要始终如一地使用他!


2、再谈编译

编译器可以检查出的错误:

1)语法错误

2)类型错误

3)声明错误

编译器无法检测出的错误:

逻辑错误,该类错误一般需要单步跟踪等进行调试,工具如GDB等。


3、读入未知数目的输入

如果定义了变量intval;并执行语句while(std::cin >> val){...},会为判断条件,先执行输入操作,如果遇到文件结束符(end-of-file)或遇到无效的输入时,如读取了一个不是整数的值,则istream对象是无效的。处于无效状态的istream对象将导致条件失败。


4、从键盘输入文件结束符

Windows:Ctrl+z UNIX/Linux/MacOS:Ctrl+D【在Ubuntu下有时候需要连摁两下】


P14.习题

//题1.10
#include 
  
   

int main()
{
	int sum = 0;
	int val = 50;
	while (val <= 100)
	{
		sum += val;
		++ val;
	}
	std::cout << sum << std::endl;
	return 0;
}
  

//题1.11
#include 
  
   

int main()
{
	for (int i = 10;i >= 0; --i)
	{
		std::cout << i << std::endl;
	}
	return 0;
}
  

//题1.12编译并认识下列错误
#include 
  
   

int main(
{
    std::cout << "read" << std::endl:
    std::cout << update << std::endl;
    std::cout << "write" << std::endl;
    return 0
}