C语言简明教程(四):C程序综合概述细节分析

接上一节GNU GCC、LLVM Clang和开发环境部署

本节正式进入C语言程序的学习和编写,首先我们先大概对C程序的编写有个了解,例如C程序的基本结构、头文件、main函数、变量声明以及最常用的printf打印函数等等,这些都是后面C编程常常遇到或使用到的元素,另外还有编程中一个很重要环节和必备技能:调试,关于程序调试的内容在本文的后部分会进行讨论,本文使用的C编程IDE是CodeBlocks,如果你需要使用该IDE,可以到这里下载:CodeBlocks官网立即吃瓜

C程序编程实例和详解

一、第一个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变量。

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单步调试,或选择其它调试类型

选择调试
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?