《C语言程序设计与实践(第2版)》——第1章 C语言与程序设计概述 1.1初见C语言程序

简介: 我国古代数学家张邱建在其编写的《算经》里提出了历史上著名的“百钱买百鸡”问题:今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。凡百钱买鸡百只,问鸡翁、母、雏各几何?对于这个问题,很多读者在小学或初中的竞赛中可能都见到过,而且通常都采用不定方程求解。

本节书摘来自华章出版社《C语言程序设计与实践(第2版)》一书中的第1章,第1.1节,作者:凌云等著,更多章节内容可以访问云栖社区“华章计算机”公众号查看

第1章 C语言与程序设计概述

1.1 初见C语言程序

我国古代数学家张邱建在其编写的《算经》里提出了历史上著名的“百钱买百鸡”问题:今有鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。凡百钱买鸡百只,问鸡翁、母、雏各几何?对于这个问题,很多读者在小学或初中的竞赛中可能都见到过,而且通常都采用不定方程求解。现在我们用C语言解决该问题。通过例1-1所示的程序,初学者一方面可以对C语言有一个感性的认识,另一方面可以初步领略计算机高效和强大的解决问题的能力。
例1-1 用C语言程序解决“百钱买百鸡”问题。

#include <stdio.h>    /* 包含标准库的信息 */
int main()    /* 定义名为main的函数,它不接受参数值 */
{
     int x, y, z, money;    /* 声明x,y,z,money为整型变量 */
     printf("cocks hens chicks\n");    /* 输出表头信息 */
     for (x = 0; x <= 20; x++)    /* 控制循环次数,x由0变到20,共循环21次 */
         for (y = 0; y <= 33; y++)    /* 控制循环次数,y由0变到33,共循环34次 */
             for (z = 0; z <= 100; z++)
             {
                 money = 5 * x + 3 * y + z / 3;
                 if (x + y + z == 100 && money == 100 && z % 3 == 0)
                     printf("%5d%5d%7d\n", x, y, z);    /* 输出可行解 */
            }
    return 0;
}

运行程序,得到图1-1所示的结果。
screenshot

例1-1显示了一个完整的C语言程序,虽然规模很小,功能很简单,但能解决一个实际的问题。从程序中可以看出,在该问题的求解过程中,我们采用穷举法对所有可能的组合逐一进行检测,将符合要求的筛选出来。假设购买的鸡翁数量为x,购买的鸡母数量为y,购买的鸡雏数量为z,共买鸡100只,则x、y、z均应小于等于100。进一步分析,如果100元钱全部用来买鸡翁,则最多可买鸡翁20只,因此x的取值范围为0~20,同理,y的取值范围为0~33,z的取值范围为0~100。对以上范围内所有x、y、z的组合,如果x + y + z的总和为100,并且购买x、y、z花费的总钱数为100,则x、y、z就是满足条件的解。事实上,穷举法是计算机求解问题时常用的一种方法。
例1-1所示的程序称为C语言的源程序。在C语言源程序的描述中,要注意以下几点:
1)C语言源程序的扩展名必须为.c或.cpp。
2)C语言是大小写敏感的,也就是说,在C语言的源程序中,大小写是有区别的。
3)如果源程序中出现的逗号、分号、单引号和双引号等符号不是出现在双引号的内部,则均应该在英文半角状态下输入,比如分号不能写成中文分号,而应写成英文半角分号。
4)花括号、小括号、用作界定符的单引号和双引号等都必须成对出现。
例1-1是一个用C语言编写的解决实际问题的程序示例。读者可以思考一下,我们生活中碰到的哪些问题可以用类似的方法让计算机帮助我们解决。

相关文章
|
1月前
|
C语言
最简单的C语言程序示例
最简单的C语言程序示例
20 0
|
1月前
|
Serverless C语言
C语言程序通常具有以下基本结构
C语言程序通常具有以下基本结构
10 0
|
1月前
|
存储 C语言
C语言顺序结构:基础与实践
C语言,作为一种广泛使用的编程语言,其程序结构可以分为三种基本类型:顺序结构、选择结构和循环结构。在这篇文章中,我们将重点讨论顺序结构的概念、特点以及如何在C语言中实现顺序结构的程序设计。
38 1
|
1月前
|
C语言 C++
第一个c语言程序
第一个c语言程序
|
16天前
|
存储 编译器 C语言
深入探索C语言动态内存分配:释放你的程序潜力
深入探索C语言动态内存分配:释放你的程序潜力
28 0
|
1月前
|
C语言
C语言最基本程序控制结构
C语言最基本程序控制结构
14 0
|
1月前
|
存储 文件存储 C语言
《C语言程序设计》课程设计 -- 火车票票务管理系统
《C语言程序设计》课程设计 -- 火车票票务管理系统
23 1
|
1月前
|
存储 Serverless C语言
C语言程序的结构
C语言是一种广泛使用的编程语言,其程序结构清晰,易于理解。下面我们将详细探讨C语言程序的基本结构,并通过一个示例代码来展示这些组成部分是如何协同工作的。 一、C语言程序的基本结构
14 0
|
1月前
|
程序员 C语言
最简单的C语言程序举例
C语言是一种广泛使用的计算机编程语言,适合用于系统编程,也可以用于编写应用程序。它的语法清晰明了,功能强大,是很多程序员的首选语言。下面,我们将通过一个最简单的C语言程序来介绍其基本结构和语法。
26 0
|
1月前
|
前端开发 Unix Linux
Linux indent命令 (格式化C语言源代码的程序)
Linux indent命令 (格式化C语言源代码的程序)
18 0
Linux indent命令 (格式化C语言源代码的程序)