Clion创建第一个C语言程序Hello World以及文件结构
目录
1、创建文件夹:创建一个behavior文件夹用来放输出hello world的代码文件。
一、创建项目
1、新建项目
2、创建C 可执行文件(目录不能有中文)
Clion自动生成了一个hello world的代码,点击右上角的三角运行。可看见运行窗口输出了hello world:
二、工程文件概述
1、CMakeLists.txt
CMake定义构建过程的文件为CMakeLists.txt,它使用与平台和编译器独立的配置文件来对软件编译过程进行控制。这里相当于Clion集成了CMake然后生成了这个配置文件。
要清楚的认识CMakeLists.txt作用我们需要知道 gcc(GNU Compiler Collection),gcc作用是将源文件编译(Compile)成可执行文件,根据代码结构进行编译的过程就叫构建(build),在这里就是使用的CMake构建,CMakeLists.txt就是定义这个构建过程的文件。
代码注释:(使用#号注释)
cmake_minimum_required(VERSION 3.24) #指定CMake的最低版本
project(course1 C) #项目名称
set(CMAKE_C_STANDARD 11) #使用的C编译器设定为C11标准
add_executable(course1 main.c) #定义可执行文件目标,告诉CMake构建一个可执行文件
点击构建即可编译exe文件:在我们工程目录下就会生成一个 工程名.exe 的文件,可以双击执行。
但是目前双击执行没有任何反应,其实是执行了只是窗口太快退出看不见。
2、main.c
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
-
#include 是一个预处理命令,用来引入头文件。
-
stdio.h 是一个头文件 (标准输入输出头文件)
-
main() 函数所有的 C 语言程序都需要包含 。程序入口就是 main() 函数,程序从这个函数开始执行。凡是函数都是一个名称后面跟(),后面还有一个{}则表示这个函数代表{}里面所有的语句,执行这个函数就是执行{}里面的语句。
-
/* ... */ 用于注释说明,中间写的文字不会被编译。
-
printf() 用于格式化输出到屏幕。printf() 函数在 "stdio.h" 头文件中声明。
-
return 0; 语句用于表示退出程序。
可以尝试修改printf()里面的文本,输出不同内容。
前面说了双击工程目录下编译的exe文件执行没有任何反应,是因为程序执行太快了,输出Hello World后执行到return就结束了,以至于我们看不见。
我们在return 0;前面加入
while(1);
他的作用是使程序执行到这里就一直停在这里。代码改为:
#include <stdio.h>
int main() {
printf("Hello, World!\n");
while(1);
return 0;
}
再双击 项目文件下的exe执行就可以看见,窗口输出了Hello, World!
三、文件结构
当代码越写越多时时不可能写在main()函数中的。main函数用来调用主要的几个函数即可,其它代码分类创建文件调用。
将hello world分文件创建。
1、创建文件夹:创建一个behavior文件夹用来放输出hello world的代码文件。
2、创建输出hello world的代码文件。
C文件:
h头文件:
//这个符号后面是注释,文字不会被编译。
say.h还自动创建了如下代码:详解如注释
#ifndef COURSE1_SAY_H //判断如果没有定义COURSE1_SAY_H,则执行从这里开始到#endif之间的代码
#define COURSE1_SAY_H //定义COURSE1_SAY_H
#endif //COURSE1_SAY_H
在say.c中定义函数sayHello():因为这里用到了printf所以我们需要#include "stdio.h",引入stdio.h文件
#include "stdio.h"
//定义说hello这个函数
void sayHello(){
printf("Hello, World!\n");
}
好了现在在say.h中声明了sayHello(),在say.c中定义了sayHello()。只需要在mian中调用就可以输出了。
可以看见红色错误了,这是因为我们使用了say.c文件中的sayHello()函数所以需要包含声明这个函数的文件。
即添加:#include "say.h"
添加后显示say.h文件没有找到,这是因为CMakeLists.txt中没有包含这个文件夹。在CMakeLists.txt文件中添加这个文件夹:加入代码
include_directories(behavior) #工程添加子文件夹behavior
然后需要右键点击 重新加载CMake项目,即可。
点击运行,成功输出。
运行exe文件
OK。以后编写工程基本会按照这样的文件结构去做,mian.c只负责调用关键函数,具体功能代码分类创建文件写。