《C语言编程初学者指南》一1.2 认识main()函数

简介: 本节书摘来自华章出版社《C语言编程初学者指南》一书中的第1章,第1.2节,作者【美】Keith Davenport(达文波特) , M1ichael Vine(维恩),更多章节内容可以访问云栖社区“异步社区”公众号查看 1.2 认识main()函数 本小节首先介绍每个C程序开始的内容,也就是main()函数。

本节书摘来自异步社区《C语言编程初学者指南》一书中的第1章,第1.2节,作者【美】Keith Davenport(达文波特) , M1ichael Vine(维恩),更多章节内容可以访问云栖社区“异步社区”公众号查看

1.2 认识main()函数

本小节首先介绍每个C程序开始的内容,也就是main()函数。首先,我想要用打比方的方式说明什么是函数。从编程的角度来讲,函数使你能够将逻辑上的一系列的动作(或程序语句)组织到一个名字之下。例如,假设你想要创建一个名为bakeCake的函数。

烘焙蛋糕的算法(过程)如下所示:

在用于搅拌的碗中,搅拌湿的成分(水、奶油、蛋汁等);

加入干的成分(面粉等);

将面糊铺满烤盘;

在烤箱中,用350度的温度烘焙30分钟。

注意,给你的函数起一个富有描述性的名称,将有助于任何人读懂你的代码,即便你自己在以后某个日子里忘记了,也可以很容易读懂代码,从而明白这个函数要完成什么任务。

函数通常不是静态的,这意味着,它们是有生命的、会呼吸的实体,还是打个比方吧——它们会接受一些信息并返回一些信息。因此,bakeCake函数会接受要烘焙的成分的一个列表(称为参数),并且返回一个完成的蛋糕(称为值)。

main()函数和任何其他的函数一样,因为它也将动作组织到一起,并且能够接受参数(信息)并返回值(也是信息)。与其他函数的不同之处在于,main()函数是向操作系统返回值,而你在本书中所使用和创建的函数,向main()函数中的调用C语句返回值。

在本书中,我使用的main()函数不会从操作系统接受参数,并且只返回一个为0的值。

算法
 

算法(algorithm)是用于解决问题的一个按部就班的过程或者一组规则。算法可以像是烘焙一个蛋糕一样简单,也可以像一架巨大的波音747的自动驾驶系统的实现过程那样复杂。

算法通常从一个问题的描述开始(例如,蛋糕听起来不错。但是,我该怎么制作和烘焙蛋糕呢)?作为一名程序员,在编写任何代码之前,要看看这个问题并且将它分解为各个步骤来加以解决。一旦有了一个步骤列表作为指南,就可以开始真正的编码工作了。
 

技巧
 

尽管当一个程序执行完毕而没有错误的时候,它会自动地向调用程序返回一个为0的值,但很多程序员认为,让main()函数显式地返回一个为0的值来表明程序成功地执行了,这是一种好的做法。本书中的示例遵从这一做法,当你开始编写更为高级的程序,让main()函数返0以外的值以表明各种错误的条件,此时,这种做法变得很有用。

int main()
{
    return 0;
}

正如前面的例子所示,main()函数以关键字int和main开头,后面跟着一个空的括号()。这告诉计算机,该函数名为“main”并且它向操作系统返回一个整数值(int)。如果给一个函数传递了一个值,这个值就叫做参数(argument或parameter),括号内的内容表明了函数所接受的参数的类型。正如前面所提到的,本书所编写的main()函数都不使用函数参数,因此,这里的圆括号是空的。

陷阱
 

C语言是区分大小写的编程语言。例如,函数名main()、Main()和MAIN()是不同的名称。此外,如果不区分大小写的话,将会占用额外的计算机资源,因为像键盘这样的输入设备本身是区分大小写的。
圆括号的后面,跟着一对花括号。第一个花括号表示一个逻辑编程语句块的开始,最后的一个花括号表示逻辑编程语句块的结束。每个函数实现,都要求使用一个开始花括号({)和一个结束花括号()}。

如下的程序的代码,展示了一个有些简单但是很完整的C程序。通过这里的代码,我们可以了解到单个的程序语句是如何组合到一起,以构成一个完整的C程序的。传统的编程图书会把第一个程序命名为“Hello, World”,但是,我打算打破这个惯例——将这个程序命名为“C You Later, World”。

/* C Programming for the Absolute Beginner */
#include <stdio.h>

int main()
{
    printf("\nC you later\n");
    return 0;
}

当编译并运行前面的程序的时候,它会在计算机屏幕上显示文本“C you later”,如图1.2所示。


b2f00be8bdd9ace8dceac8be8d77ca21be539ce6

图1.2 一个简单的C程序的输出

看一下图1.3中的示例程序代码,你将会看到一个小小的C程序是由很多个部分组成的。


2d103b8236321e3e0011c5dd35f5f53a2585efb7

图1.3 一个简单的C程序的组成部分

本章剩下的部分将会介绍这些组成部分,以及使用每个部分来组成一个简单的C程序的方法。

相关文章
|
28天前
|
存储 C语言 开发者
【C语言】字符串操作函数详解
这些字符串操作函数在C语言中提供了强大的功能,帮助开发者有效地处理字符串数据。通过对每个函数的详细讲解、示例代码和表格说明,可以更好地理解如何使用这些函数进行各种字符串操作。如果在实际编程中遇到特定的字符串处理需求,可以参考这些函数和示例,灵活运用。
58 10
|
28天前
|
存储 程序员 C语言
【C语言】文件操作函数详解
C语言提供了一组标准库函数来处理文件操作,这些函数定义在 `<stdio.h>` 头文件中。文件操作包括文件的打开、读写、关闭以及文件属性的查询等。以下是常用文件操作函数的详细讲解,包括函数原型、参数说明、返回值说明、示例代码和表格汇总。
45 9
|
28天前
|
存储 Unix Serverless
【C语言】常用函数汇总表
本文总结了C语言中常用的函数,涵盖输入/输出、字符串操作、内存管理、数学运算、时间处理、文件操作及布尔类型等多个方面。每类函数均以表格形式列出其功能和使用示例,便于快速查阅和学习。通过综合示例代码,展示了这些函数的实际应用,帮助读者更好地理解和掌握C语言的基本功能和标准库函数的使用方法。感谢阅读,希望对你有所帮助!
38 8
|
28天前
|
存储 编译器 C语言
【C语言】数据类型全解析:编程效率提升的秘诀
在C语言中,合理选择和使用数据类型是编程的关键。通过深入理解基本数据类型和派生数据类型,掌握类型限定符和扩展技巧,可以编写出高效、稳定、可维护的代码。无论是在普通应用还是嵌入式系统中,数据类型的合理使用都能显著提升程序的性能和可靠性。
43 8
|
28天前
|
C语言 开发者
【C语言】数学函数详解
在C语言中,数学函数是由标准库 `math.h` 提供的。使用这些函数时,需要包含 `#include <math.h>` 头文件。以下是一些常用的数学函数的详细讲解,包括函数原型、参数说明、返回值说明以及示例代码和表格汇总。
46 6
|
28天前
|
存储 C语言
【C语言】输入/输出函数详解
在C语言中,输入/输出操作是通过标准库函数来实现的。这些函数分为两类:标准输入输出函数和文件输入输出函数。
205 6
|
28天前
|
存储 缓存 算法
【C语言】内存管理函数详细讲解
在C语言编程中,内存管理是至关重要的。动态内存分配函数允许程序在运行时请求和释放内存,这对于处理不确定大小的数据结构至关重要。以下是C语言内存管理函数的详细讲解,包括每个函数的功能、标准格式、示例代码、代码解释及其输出。
59 6
|
28天前
|
C语言 开发者
【C语言】断言函数 -《深入解析C语言调试利器 !》
断言(assert)是一种调试工具,用于在程序运行时检查某些条件是否成立。如果条件不成立,断言会触发错误,并通常会终止程序的执行。断言有助于在开发和测试阶段捕捉逻辑错误。
39 5
|
1月前
|
C语言
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性
C语言编程中,错误处理至关重要,能提升程序的健壮性和可靠性。本文探讨了C语言中的错误类型(如语法错误、运行时错误)、基本处理方法(如返回值、全局变量、自定义异常处理)、常见策略(如检查返回值、设置标志位、记录错误信息)及错误处理函数(如perror、strerror)。强调了不忽略错误、保持处理一致性及避免过度处理的重要性,并通过文件操作和网络编程实例展示了错误处理的应用。
70 4
|
1月前
|
存储 人工智能 算法
数据结构实验之C 语言的函数数组指针结构体知识
本实验旨在复习C语言中的函数、数组、指针、结构体与共用体等核心概念,并通过具体编程任务加深理解。任务包括输出100以内所有素数、逆序排列一维数组、查找二维数组中的鞍点、利用指针输出二维数组元素,以及使用结构体和共用体处理教师与学生信息。每个任务不仅强化了基本语法的应用,还涉及到了算法逻辑的设计与优化。实验结果显示,学生能够有效掌握并运用这些知识完成指定任务。
60 4