C++学习笔记-第2单元-C++程序基础

第2单元 C++程序基础


注:本部分内容主要来自中国大学MOOC北京邮电大学崔毅东的 《C++程序设计》课程。


单元导学

1. C++的源代码和编码规范
介绍C++头文件、源文件的作用及扩展名;
介绍为何需要编码规范,以及两种编码规范(Google和Geosoft规范)。

2. 一个最简单的C++程序,Aloha World
通过该例子,了解C++程序的基本结构。

3. C++的名字空间
名字空间(namespace)用于避免名字冲突。并且介绍了用法。

4. C++程序的编译流程
理解编译流程,对今后程序差错有很大作用。

5. 处理C++程序中的错误
介绍常见的错误类型,并且让你实际动手试试。

6. 标准输入输出
怎么样在C++程序中读取信息以及把信息显示到屏幕上。

2.2 Aloha World代码示例

2.1 Aloha World程序

功能描述:在屏幕上输出“Aloha World”。
源文件main.cpp

#include<iostream>//输入输出的头文件

int main() {
    //输出"Aloha, World!"
    std::cout << "Aloha, World!" << std::endl;

    //假如显示窗口闪退,保持显示窗口
    std::cin.get();//一直等待输入

    return 0;
}

知识点及感想:

  • 头文件扩展名包括“.h”、“.hpp”、“hxx”,源文件扩展名包括“.c”、“.cpp”、“cxx”。
  • C语言中的头文件需要标出扩展名(.h),但是现在C++不需要。
  • 在C++中将 “<<” 定义为流输出运算符,称为 运算符重载 ,但是在C语言和Java语言中没有这种现象。
  • “std::”名字空间(namespace) ,用于表示标识符的作用域。假如没有名字空间,会使得多个相同的指令产生混乱,所以C++中有名字空间。如果有名字空间但是不声明,将不会正确调用到相应的标识符。最好对于标识符不偷懒,但以下也给出偷懒的办法:
  • 名字空间的作用是隔离标识符的作用范围。但是2022版本的VS也可以识别出名字空间里面的主函数,即“入口点”。

  • 标准规范:

    • 不允许使用“制表”、“分页”等特殊字符,应该都在IDE中转换成空格。
    • 函数必须将返回值明确列出。

2.6 C++的输入输出

  • 输入输出的分类
    根据源目分为:标准IO(Standard I/O)、文件IO(File I/O)、字符串IO(String I/O)、网络IO(Network I/O)。

  • C和Java的输入输出

输入语法输出语法
Cscanf()
fgetchar()/gets()
printf()
putchar()/puts()
JavaScanner类
……
System.out.println()/print()/printf()……
……
C++标准输入流cin标准输出流cout

C++使用一种叫“流”的概念对屏幕、键盘或者文件进行输入输出操作。

流(Stream)操作符(Operators)函数(Functions)
cin流提取运算符
extraction operator
cin.get() 从流中读并取走一个字符
cin.getline() 从流中读取字符,直至行尾或指定的分隔符
cin.ignore() 从流中读取并含弃指定数量的字符
cout流插入运算符
insertion operator
cout.put() 将字符写到流中(无格式)
cout.flush() 将流中缓存内容全部输出

cout 有缓冲区,在特定的时候信息才会输出到屏幕上。使用 flush 可以 强制 cout 将信息输出到屏幕上。

下面给出程序代码示例:
源代码main.cpp

//功能描述:实现键盘输入到程序输出内容。
 #include<iostream>
using std::cin;
using std::cout;
using std::endl;
int main() {
    int a;
    float b;
    cout << "请输入一个整数:";
    cin >> a;
    cout << "你输入的是:" << a << endl;
    cout << "请再输入一个浮点数:";
    cin >> b;
    cout << "你又输入了:" << b << endl;
    cout << "你要不再试试同时输入(先整数再小数):";
    cin >> a >> b;
    cout << "也行,a=" << a << ",b=" << b << endl;
}

运行结果:

请输入一个整数:3
你输入的是:3
请再输入一个浮点数:3.3
你又输入了:3.3
你要不再试试同时输入(先整数再小数):9 3.3
也行,a=9,b=3.3
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

虎慕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值