本节书摘来自华章出版社《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所示的结果。

例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语言编写的解决实际问题的程序示例。读者可以思考一下,我们生活中碰到的哪些问题可以用类似的方法让计算机帮助我们解决。

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

  1. 凌云c语言程序设计答案,C语言程序设计与实践 第2版

    图书简介 本书从C语言的基本语法.不同规模的项目实训.程序设计大赛及编程风格以及调试等方面介绍C程序设计的相关知识.C语言是计算机相关专业的专业基础课和信息类工科专业公共基础课,因不同学校在此课程上安 ...

  2. c#面向对象与程序设计第三版第三章例题代码_C#程序设计教程 | 教与学(教学大纲)...

    <C#程序设计教程>课程教学大纲 执笔人:xxx,xxx,xxx 编写日期:年 月 一.课程基本信息 1.课程名称:C#程序设计教程 2.课程编号: 3.课程体系/类别: 4.课程性质: ...

  3. c语言函数设计星号,《C语言及程序设计》实践参考——函数版星号图

    返回:贺老师课程教学链接  项目要求 [项目1-函数版星号图] 这一组的练习意在通过调用函数输出星号图,体会与理解函数的工作过程,并为其后编制自定义函数实现特定功能. (1)补充完下面的程序,使程序输 ...

  4. c语言 谭浩强第五版第五章习题第17题 乒乓球比赛

    两个乒乓球队进行比赛,各出三人.甲队为A,B,C3人,乙队为X,Y,Z3人.已抽签决定比赛名单.有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程序找出3对赛车的名单. #inclu ...

  5. 谭浩强 《C程序设计》(第五版)第二章

    这一部分学习的是算法,在我看来算法是一个非常重要的东西,他可以帮助我们在写程序的时候理清思路,如果我们熟悉算法,那么我们在那道题目的时候就会迅速的把握住题目的核心,找到求解问题的方法和步骤.在算法中, ...

  6. 谭浩强c程序设计试题汇编第三版 第四章解析

    我是谭老的学生 但是居然他的书没有解析! 第四章节部分 暂未写完 等待后续 欢迎一起交流这本习题! 11月3日更新

  7. Python 从入门到实践(第二版) 第九章 练习9-15 彩票分析

    刚学到第九章,昨晚习题9-15的彩票分析,产生一个想法,但苦于不知如何开头,求助大神指点(下面是思路,见笑了~): '''编写一个自动根据数字范围进行对比测试选出号码的代码, 其中包括: 七星彩(Se ...

  8. 谭浩强c程序设计试题汇编第三版 第五章解析

    后续还会更新 欢迎讨论

  9. 凌云版c语言程序设计与实践答案,C语言程序设计与实践 凌云,吴海燕,谢满德著 9787111310075...

    商品描述: 基本信息 书名:C语言程序设计与实践 原价:33.00元 作者:凌云,吴海燕,谢满德 编著 出版社:机械工业出版社 出版日期:2010-9-1 ISBN:9787111310075 字数: ...

最新文章

  1. 机器如何读懂人心:Keras实现Self-Attention文本分类
  2. notepad 替换行收尾字符串或在行首尾新增字符
  3. 跨域资源共享的10种方式
  4. couchbase_Couchbase:使用Twitter和Java创建大型数据集
  5. Spring —— IoC 容器详解
  6. ORB-SLAM 解读(六)ORB特征点构建BoW
  7. 5GC 网元介绍(AMF、SMF、UPF、UDM、PCF)
  8. 真实渗透改编--综合渗透 sql注入写马+文件上传+udf提权 安鸾靶场SQL注入学习
  9. 分贝通携手衡石科技,用心护好客户「钱袋子」 增收节流数百万
  10. Linux权限drwxrwxrwx是什么意思?
  11. Loner_li 机试题 将数字 例如12345.7895”,用程序实现显示壹万贰仟叁佰肆拾伍圆柒角玖分的方式
  12. 星之轨迹服务器维护,10月17日例行维护公告
  13. 小米强推5G手机,自家的4G手机却被迫大降价清仓
  14. python中叹号的用法_感叹号
  15. AcWing 1012 友好城市
  16. 怎么理解TPS、QPS、RT、吞吐量这些性能指标?
  17. 计算机 打印机型号编码不可用,打印机型号编码显示不可用
  18. 学完这篇 Nest.js 实战,还没入门的来锤我!(长文预警)
  19. 12-12. MySQL中常见运算符(算数运算符、比较运算符、逻辑运算符)
  20. 幼儿使用计算机需要注意事项,计算机在幼儿一日生活中的运用

热门文章

  1. 区位码\机器码\内码关系
  2. 网站api自己怎么写_网站描述怎么写?对网站优化有什么作用?
  3. liteos内核驱动和linux,移植RTOS必备基础知识
  4. sum 去重_Excel函数,用到什么学什么!多条件求和神器之SUMIFS和去重
  5. java webrtc ns降噪_单独编译和使用webrtc音频降噪模块(附完整源码+测试音频文件)...
  6. 华中科技大学应用高等工程数学_专业解析【第152期】| 机械电子工程课程设置及研究方向...
  7. 插件修复数据_APP 热修复都懂了,你会 SDK 热修复吗?最全方案在这里!
  8. jQuery就业课程之表单选择器系列
  9. javascript错误处理与调试
  10. mysql5.6安装51cto_MySQL 5.6 for Windows配置安装之解压缩版