首先声明:我使用的是Dev-C++ IDE 5.11。这款软件属于IDE(集成开发环境),即自动配置了编辑器、编译器等,不需要输入传统的命令即可进行编译等操作。个人认为它比Visual Studio要简洁易用得多,不过只能编写C/C++的程序。
头文件
在C++程序中,头文件是基础组成部分。头文件声明了我们要使用的各种函数。
系统头文件使用尖括号<>,本地头文件使用双引号""。可以通过以下方式导入:
#include <iostream> //已在环境变量中配置好,可以直接使用
#include "test.h" //需要头文件的具体路径,支持绝对路径和相对路径
其中iostream是标准输入输出库,提供cin和cout功能。除此之外,还有许多库。
C语言头文件
- 后缀为
.h(如windows.h) - 可被C/C++使用
内容仅包含函数、常量声明等。如:
//test.h #ifndef _TEST_H_ //避免重复包含 #define _TEST_H_ #endif #include <string> #define APP_NAME "YourAppName" //定义软件名称 void functionName(); //声明函数(不包含定义)
C++头文件
- 无后缀(如iostream)或
.hpp后缀 - 仅C++可用
内容即包含函数声明又包含函数定义,还支持更多C++特性,例如模板、命名空间等。如:
// Example.hpp #pragma once //避免重复包含(也可以使用#ifndef) #include <string> class Example { public: void print(const std::string& message); private: int count; }; // 内联函数实现 inline void Example::print(const std::string& message) { std::cout << message << std::endl; }
命名空间
接下来是这段代码:
using namespace std;
这段代码声明要使用std这一命名空间,可写可不写,我用输出代码来举例:
写了:cout<<a;
不写:std::cout<<a;
命名空间的作用就是避免函数标识符冲突,如输出用的cout实际就被包含在std 这个命名空间里,保证不会与其它同名函数冲突。
在面对大项目时,函数重名是常有的事,此时就建议不写using namespace,而是直接显式指定命名空间,如完整地写std::cout。不过在写小项目时,为了偷懒(方便)我们也可以写上这一大行的命名空间使用声明。
命名空间的创建往往在C++头文件中,这么写:
namespace YourNameSpaceName { //声明并定义命名空间 int yourVariable; //变量 void yourFunction() { //函数 // 代码实现 } }
主函数
主函数是程序入口,格式为:
int main(int argc, char* argv[]) {
//这部分就是代码区域
return 0;
}
所有C++程序都需要有主函数,即int main()。
可以看到主函数的括号当中还有int argc和char* argv[],这是程序启动时的参数,也可以空着。第一个int类型的变量是一个整数,表示程序启动时的参数数量。第二个char类型的指代一个字符数组,即各个参数内容。
命令行示例:
程序文件名 参数一 参数二
此时argc=3,因为有3个参数,其中第一个参数argv[0]是你的程序文件名,argv[1]是参数一,参数二同理。
很多命令行程序通过启动参数,来完成任务,极大地方便了命令行用户的操作,例如:
cp test.txt ./test/target.txt
cp是类Unix系统里的复制程序,命令功能是将test.txt复制到./test/target.txt的位置。我们在开发时可以通过用户提供的参数让程序进行对应操作。
如果你要写Win32程序,那么恭喜你,你的主函数长这样:
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow);个人评价是巨硬挺抽象的(
return 0;表示程序正常退出。控制台程序通常要明确终止点。
这就是刚刚所编的所有代码。

这就是运行结果,是空的。下方的“---”、“Process exited……”和“请按任意键继续”不用管它,这是集成开发环境加上的,实际单独运行就不会显示。

输入输出
在C++中,可以使用cin和cout实现基本的输入输出功能。cin用于接收用户输入,cout用于输出结果。同时,C风格的scanf和printf也可用于类似功能。
数据类型的选择
C++提供了多种数据类型用于存储不同类型的数据。常见的数据类型包括:
- int:存储整数
- char:存储单个字符
- string:存储字符串
- float:存储单精度浮点数
- double:存储双精度浮点数
选择合适的数据类型是程序设计的关键步骤。若数据类型与输入内容不匹配,可能导致意外结果。例如,若程序预期输入整数但用户输入字符,输出的可能是字符的ASCII值而非预期数值。
示例
#include <iostream>
using namespace std;
int main() {
int a; //声明变量
cin>>a; //输入
cout<<a; //输出
return 0;
}
该程序中,变量a为int类型,仅能存储整数。若用户输入浮点数如1.1,程序仅会存储整数部分1。

当然,在声明时也可以赋值:int a=0;这样它的初始值就是0。这时候我们删去输入的部分,就会输出0。
int类型还有一个特点,它是32位的,其中内存中的第一位是正负位(0表示正数,1表示负数),所以它的数据范围是2的正负31次方(-2147483648 ~ 2147483647)的整数,所以在任何时候都不要超出或小于这个范围,超出或小于,编程术语为“溢出”,可能引发程序错误,在早期不够成熟的应用程序中都容易发生这种情况。

下面是专门接收字符的:
#include <iostream>
using namespace std;
int main() {
char n[10001]={};
cin>>n;
cout<<n[0]<<" "<<n[1];
return 0;
}
字符数组声明时需指定大小,通常为最大字符数加1。初始化时建议使用= {}以清空该内存区域。输出字符数组时需通过下标访问,下标从0开始。例如n[0]表示第一个字符,n[1]表示第二个字符。
本文来自博客园,作者:山地奥斯卡537,转载请注明原文链接:https://www.cnblogs.com/sean537/p/18940573
浙公网安备 33010602011771号