接上一节GNU GCC、LLVM Clang和开发环境部署
本节正式进入C语言程序的学习和编写,首先我们先大概对C程序的编写有个了解,例如C程序的基本结构、头文件、main函数、变量声明以及最常用的printf打印函数等等,这些都是后面C编程常常遇到或使用到的元素,另外还有编程中一个很重要环节和必备技能:调试,关于程序调试的内容在本文的后部分会进行讨论,本文使用的C编程IDE是CodeBlocks,如果你需要使用该IDE,可以到这里下载:CodeBlocks官网下载地址。
文章图片
一、第一个C程序并不打算第一个C程序写helloworld,实际上会提供较为完整的C程序代码实例,如果你需要一个helloworld程序,那么只需要使用printf函数即可,但是这样的写法并不会帮得了你多少,本文的目的是带你一起了解C语言编程的大体结构,这样在学习C语言细节内容也别忘了C程序的大体结构了。
第一个C程序代码如下:
#include <
stdio.h> // 使用include命令包含头文件void run();
// run函数声明// 主函数,参数为void
int main(void){
int number = 99;
// 声明一个number整形变量,并赋值为99
printf("the number is: %d\n", number);
// 格式化打印字符串和number变量,%d是一个占位符,表示按整形数值打印
run();
// 调用run函数
return 0;
// main函数返回值
}// run函数定义
void run(void){
printf("run...\n");
// 打印字符串
}
二、快速解释代码#include < stdio.h> ,#include为预编译指令,stdio.h是一个标准库中的头文件,在前面的文章中有详细解释C程序编译和链接过程,这段代码表示将头文件stdio.h中的内容包含到当前文件中,该头文件提供标准输入输出的相关功能支持。
void run(); 是一个函数声明语句,该句声明了一个函数,表示程序会使用该函数,后面是run函数的实际定义部分,声明语句后面带分号,C语言中每句声明表达式语句都使用分号结尾。
Int main(void)是C程序的主函数,它是C程序最开始执行的函数,int是函数的返回值类型,int是整形,函数内的return 0; 即返回一个整形数0,void是空的意思。Main函数使用{开始}结束,这是所有函数的标准语法结构。
// 跟着后面的内容表示注释,注释用于解释程序某一部分的内容,提高程序可读性,并不会参与编译。
Int number = 99; 定义一个number整形的变量,变量名为number,变量名可以自定义,=表示将99赋值给number变量。
【C语言简明教程(四)(C程序综合概述细节分析)】Pintf也是一个函数,该函数在头文件stdio.h中,导入相应的头文件即可使用该函数,该函数表示将字符串打印在屏幕上。
三、程序代码详细解释1、预编译指令和头文件
#include < stdio.h> 表示将头文件stdio.h中的所有内容都包含到当前程序的语句当前位置,由预处理器处理,#include是其中一种预处理命令,stdio.h是标准库的其中一个提供标准输入输出的头文件,一般头文件中会提供各种函数或常量提供程序使用,在实际开发中同样会大量使用到头文件,
2、main函数和语句
首先main函数的int为返回值,main主函数的返回值返回给操作系统,而一般自定义的函数返回给上一个调用该函数的地方,main函数的()用于给函数传递参数,void表示空,即函数没有参数,你可能看过不带void的main函数,C90勉强接受这样写,C99和C11不允许这样写,标准的main函数也是有int返回值的,所以尽量还是要以标准的结构来写。
另外,void run(); 的函数声明形式一般是老式的用法,新标准使用函数原型。
一个C程序由一个或多个函数组成,一个函数由一条或多条语句组成,C语言中主要的语句有:标号语句、复合语句、表达式语句、选择语句、迭代语句和跳转语句。
3、变量声明
Int number; 表示变量声明,int number=99表示声明变量number并赋值为99,声明变量是C中很重要的内容,所有变量必须声明才能使用,int number; 的意思是在内存空间中给变量number分配一块空间,并且该块空间只能存储int整形数据,number是一个标识符,你可以自定义标识符。标识符的命名规范是:指定使用字母、下划线开头,后面的字符可以包含字幕、下划线或数字,C语言标识符区分大小写,C90标识符只允许6个字符,以后你会看到C标准库的多数函数的名字都特别短难记,也是因为这个原因,不过C99之后则允许更长的标识符了,只要使用规范基本不用担心过长的问题。
关于标识符需要注意的问题是,通常使用一个或两个下划线开头的函数或变量只有操作系统或C库才会用到,所以如果没有特别需要还是不要以下划线开头,因为有可能会造成名字冲突。
4、printf格式化打印函数
什么是格式化打印?体现在%d上,%d是一个占位符,该函数会根据该占位符将后面的值替换到该位置上,\n是一个转义字符,这个转义字符表示换行,
5、注释
C语言注释主要有两种风格://和/* */,前一种是单行注释,后一种是多行注释,使用注释可以让程序代码更具可读性。
四、程序调试程序的错误包括人为设计错误,这个就不讨论了,主要讨论的是语法错误和运行时错误,语法错误一般在编译时期就能知道,即可进行相应的修改,对于运行时错误,调式的方法主要有:使用printf函数断点打印,意思是在你认为有错的地方的前后对某些变量进行打印,这样就可以找到错误并改正过来,而另一种方式是使用调试器,这是较为标准的调试方式,调试器是我们开发中非常有用的工具。
下面简单介绍一下再codeblocks中调试程序的步骤:
1、设置断点
文章图片
2、开始调试
文章图片
3、查看变量值(打开Debug-> Debuging Windows-> Watches)
文章图片
4、选择调试,Next line单步调试,或选择其它调试类型
文章图片
推荐阅读
- C语言简明教程(五)(基本数据类型完整详解和使用实例)
- JavaScript对象的创建使用与访问
- 控制台上的Ghostrunner是最糟糕的播放方式
- 游戏评测(Genshin Impact源真冲击)
- Gears POP!游戏服务器正在关闭
- Gears 5 Story DLC将于12月推出
- 孤岛惊魂6和彩虹六号(检疫延迟)
- 漫威部队庞大且不断壮大的阵容中的每个角色
- Everspace 2在新的《赛博朋克2077》发布日期之后被推迟