zoukankan      html  css  js  c++  java
  • 第1讲——用C++写一个程序

    一、学习新知识

    在学习C++之前学过C语言了,一些基础的就不bb了,进入正题。

    来几个小程序练练手:

    【程序1】

    #include <iostream>	  	//头文件 
    
    using namespace std;	//名称空间 
    
    int main()
    {
    	cout<<"Hello World!"<<endl;
    	return 0;			//返回语句 
    }
    

    【C++预处理器】

    C++程序要使用C++输入或输出工具,就需要提供"#include <iostream>"和"using namespace std;"这两行代码。

    C++和C一样,也使用一个预处理器,该程序在进行主编译之前对源文件进行处理。

    例如,这有一种预处理器,它处理名称以#开头的编译指令。我们不必执行任何操作来调用该处理器,它会在编译程序时自动运行。

    如程序1中的编译指令“#include <iostream>”,它导致处理器将iostream文件的内容添加到程序中。这还是一种典型的预处理操作:在源代码被编译之前,替换或添加文本。

    我们会想:为何要将iostream文件的内容添加到程序中呢?

    答案涉及程序与外部世界之间的通信。iostream中的io指的是输入(进入程序的信息)和输出(从程序中发送出去的信息)。C++的输入/输出方案涉及iostream文件中的多个定义。为了使用cout来显示消息,第一个程序需要这些定义。#include编译指令导致iostream文件的内容随源代码文件的内容一起被发送给编译器。实际上,iostream文件的内容将取代程序中的代码行#include <iostream>。原始文件没有被修改,而是将源代码文件和iostream组合成一个复合文件,编译的下一阶段将使用该文件。

    【头文件名】

    头文件——iostream——被包含在文件起始处

    【名称空间】

    名称空间编译指令——using namespace std;

    也叫using编译指令

    具体现在不必知道(可参见书P17)

     

    上面的程序只有输出,没意思。。我要输入!我要输入!我要输入!

    【程序2】

    #include <iostream>	  	//头文件 
    
    using namespace std;	//名称空间 
    
    int main()
    {
    	int apple;
    	cin>>apple; 		//输入 
    	cout<<apple<<endl;
    	return 0;			//返回语句 
    }
    

    【使用cin】

    语句"cin>>apple;"表示信息从cin流向carrots。C++将输出看作是流出程序的字符流一样,它也将输入看作是流入程序的字符流。iostream文件将cin定义为一个表示这种流的对象,输出时,<<运算符将字符串插入到输出流中;输入时,cin使用>>运算符从输入流中抽取字符。(符号<<和>>被选择用来指示信息流的方向)

     

    我还要学习自定义的函数嘞!!

    【程序3】

    #include <iostream>
    using namespace std;
    
    int myFunction(int);	//函数原型声明 
    
    int main()
    {
    	int apple;
    	cin>>apple; 
    	int ouo = myFunction(apple); 	//调用函数myFunction 
    	cout<<apple<<endl;
    	return 0;
    }
    
    int myFunction(int a)	//形式参数a 
    {
    	int ans = a * 2;
    	return ans;
    }
    

    函数原型描述了函数接口,即函数如何与程序的其他部分交互。

     

    二、温故而知新

    1. 预处理器编译指令“include <iostream>”是做什么用的?

    在最终的编译之前,使用iostream文件的内容替换该编译指令。

    2. 语句"using namespace std;"是做什么用的?

    它使得程序可以使用std名称空间中的定义。

  • 相关阅读:
    vsftpd不支持目录软链接的解决办法
    SVN添加忽略目录
    Mysql 默认编码问题
    php-fpm 信号
    基于MAVEN使用IDEA创建dubbo入门项目图文教程
    taotao商城遇到的问题
    git push后出错
    Mybatis逆向工程自动生成代码(Ubuntu18.04-idea环境)
    git add.后回退 代码丢失
    对象的共享
  • 原文地址:https://www.cnblogs.com/xzxl/p/7360494.html
Copyright © 2011-2022 走看看