程序设计语言、编译运行与开发环境
程序设计语言、编译运行与开发环境
程序设计语言以及程序编译和运行的基本概念;Windows 下集成开发环境(如 Dev-C++)与 Linux 下集成开发环境(如 Code::Blocks)的使用;常用编译命令 g++ 的基本使用。
概念
程序设计语言分高级语言(C++、Python 等)与机器语言;源程序需经编译或解释才能运行。编译器把源文件翻译成机器指令(或目标文件再链接成可执行文件);解释器边读边执行,不先整份生成 exe。CSP-J 复赛常用 g++ -O2 -std=c++14 编译,在 Windows 可用 Dev-C++、在 Linux 可用 Code::Blocks 等 IDE 编辑、编译、调试。与 cspj.cpp.program-basics 的区别:本叶考语言分类、编译链与工具;后者考标识符、头文件、调试等语言层概念。与 cspj.basics.os-and-file 的区别:本叶聚焦开发工具,不考 OS 名单。
CSP-J 常考
- 编译器的主要功能(把源程序翻译成机器指令):
cspj-r1-2020第 2 题。 - 下列不属于面向对象程序设计语言(C 语言):
cspj-r1-2021第 1 题。 - 编译器的主要作用(源代码转机器代码,而非直接执行):
cspj-r1-2024第 15 题。
// 保存为 hello.cpp,命令行:g++ -O2 -std=c++14 hello.cpp -o hello
#include <iostream>
using namespace std;
int main() {
cout << "编译通过后才会产生可执行文件。" << endl;
return 0;
}
易错点
- 认为编译器「直接运行源代码」,或把编译与调试、内存管理混为一谈。
- 以为 C 也是面向对象语言;C++、Java、Python 支持 OOP,C 以过程式为主。
编译器的主要功能是( )。
以下不属于面向对象程序设计语言的是( )。
编译器的主要作用是什么?( )