【谭浩强C程序设计 学习辅导第3章】最简单的C程序设计——顺序程序设计(含详细源码)

文章目录

    • 一、 顺序程序设计题的解题思路及注意事项
      • 解题思路
      • 注意事项
    • 二、源码讲解
      • 第3章源码文件构成:
      • main.c 文件内容说明
      • chap3.c源码实现
      • chap3.h声明头文件
      • 测试结果展示
      • 源码链接

说明:本学习辅导题适用于谭浩强教辅第四版。

一、 顺序程序设计题的解题思路及注意事项

解题思路

  1. 根据题意确定计算公式(如有计算),确定公式中用到的库函数。
  2. 分析出所有需要用到的变量、变量类型、已知变量的初值。
  3. 如果用到标准输入输出函数,则#include <stdio.h>。
  4. 如果用到数学标准库函数,则#include <math.h>。

注意事项

  1. 数据溢出问题,比如 char 型是占1字节,最大是127,超过之后就得被截断,应存在 short 或 int 型变量中。
  2. 字符输入时(scanf 或者 getchar),两个字符之间不能加空格或者回车等,否则会被误认为是输入的字符。
  3. 注意强制类型转换,比如 int/int=int,所以计算为了提高精度,应将int数据转换成浮点数之后再计算。

二、源码讲解

第3章源码文件构成:

  • (1)测试环境:VScode+GCC
  • (2)文件夹命名:chap3_tanhaoqiang_vscode_c
  • (3)文件夹下文件组成:
    在这里插入图片描述
    • .vscode文件夹下是 tasks.json 和 launch.json ,它们分别是编译链接配置文件和调试配置文件。
    • chap3.c 和 chap3.h 是第3章所有的程序设计题函数实现的源码文件和声明文件。
    • main.c 文件里由main函数入口,是测试程序调用的入口。

main.c 文件内容说明

  • 试题源自:谭浩强 C程序设计(第四版)学习辅导

  • 章节说明:第3章 最简单的C程序设计——顺序程序设计

  • 源码说明

    • 本源码将本章节的全部试题融合到一个VScode工程中,一个工程只有一个main()函数入口,在main.c文件中,测试调用就在main()函数中。
    • 每一章编程题是一个单独的文件名(.c 和.h文件),在c文件中编写源码,在h文件中作外部声明。每一道题是一个独立的函数。
  • 编译配置:在.vscode下有两个文件tasks.json(编译配置)和launch.json(调试配置),对应需要修改的地方做了说明。

  • 测试说明:可以一个一个题目放开测试,不测试的双斜杠//注释掉

#include <stdio.h>
#include "chap3.h" // 包含第3章的头文件
int main()
{printf("\n现在测试第3章第1题:\n");Question1();//函数调用// printf("\n现在测试第3章第2题:\n");// Question2();// printf("\n现在测试第3章第3题:\n");// Question3();// printf("\n现在测试第3章第4题:\n");// Question4();// printf("\n现在测试第3章第5题:\n");// Question5();// printf("\n现在测试第3章第6题:\n");// Question6();// printf("\n现在测试第3章第7题:\n");// Question7();// printf("\n现在测试第3章第8题:\n");// Question8();return 0;
} 

chap3.c源码实现

  • 该文件实现了所有的程序设计题,函数的命名按照题目顺序名命名,如第一题的函数名为Question1。
  • 每个函数前面对该函数的功能进行了简要描述,在不对照书本的情况下也能进行参考学习。
  • 教辅中一些印刷错误,在程序实现中也有做相应描述,有心的同学可以发现。
    如下截图是 chap3.c 的部分程序。
    在这里插入图片描述

chap3.h声明头文件

chap3.h 是对 chap3.c 中的外部函数进行声明,这样在 main.c 中,只要包含 #include “chap3.h” 该头文件,就可以直接调用里面的函数进行测试。(对于初学到这一章的学生可能有些超纲,但先学会用,原理后面章节会慢慢解释)。

#ifndef _CHAP_3_H_
#define _CHAP_3_H_
//在这里作函数声明,声明后的函数可以外部调用
extern void Question1(void);
extern void Question2(void);
extern void Question3(void);
extern void Question4(void);
extern void Question5(void);
extern void Question6(void);
extern void Question7(void);
extern void Question8(void);
#endif //_CHAP_3_H_

测试结果展示

将全部测试函数放开(//注释符去掉)后,测试结果如下,感兴趣的同学可以将你的测试结果贴在评论区,相互参考。
在这里插入图片描述
运行结果:
在这里插入图片描述
单独测第8题:
在这里插入图片描述

一块测第8题:
在这里插入图片描述
这个测试存在的问题留给同学们讨论。

源码链接

源码免费下载链接


本节完

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/339538.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据库】视图索引执行计划多表查询笔试题

文章目录 一、视图1.1 概念1.2 视图与数据表的区别1.3 优点1.4 语法1.5 实例 二、索引2.1 什么是索引2.2.为什么要使用索引2.3 优缺点2.4 何时不使用索引2.5 索引何时失效2.6 索引分类2.6.1.普通索引2.6.2.唯一索引2.6.3.主键索引2.6.4.组合索引2.6.5.全文索引 三、执行计划3.1…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷⑩

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷10 目录 需要竞赛软件包环境以及备赛资源可私信博主&#xff01;&#xff01;&#xff01; 2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷10 模块…

【精选】小白 kali环境的linux基础设置 (超详细)

&#x1f36c; 博主介绍&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 hacker-routing &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【应急响应】 【python】 【VulnHub靶场复现】【面试分析】 &#x1f389;点赞➕评论➕收藏…

What does `rpm -ivh` do?

rpm -ivh 安装 并 显示安装进度 (–install–verbose–hash) rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm 安装rpm -ivh --relocate //opt/gaim gaim-1.3.0-1.fc4.i386.rpm 指定安装到 /opt/gaim[Ref] rpm -uvh和-ivh有什么区别以及zabbix 安…

3小时玩转微服务架构中的分布式流量防护

以下是我在极客时间带名企师友班时讲课的PPT&#xff0c;现在开放出来给广大技术爱好者&#xff0c;希望对大家有帮助&#xff0c;如果大家觉得有帮助&#xff0c;可以给一个免费的关注和点赞。 另外我的新书RocketMQ消息中间件实战派上下册&#xff0c;在京东已经上架啦&#…

EasyPOI导出报表(二)-合并单元格

上篇讲到EasyPOI导出常规报表&#xff0c;本篇是在此基础上再增加新的东西-合并单元格&#xff0c;这个功能在需求中也很常见。 这里我直接贴逻辑代码&#xff1a; EasyPOI工具类加上如下方法 /*** Description: excel导出-合并单元格* param[1] list 数据列表* param[2] tit…

动态画出300以内的质数曲线图

用python&#xff1a; # -*- coding: utf-8 -*- import matplotlib.pyplot as plt import numpy as np import time import os# 定义一个函数来检查一个数是否为质数 def is_prime(n): if n < 2: return False for i in range(2, int(n ** 0.5) 1): if n % i …

【LeetCode】第二高的薪水(数据库)

目录 题目&#xff1a; 方法一 验证一&#xff1a; 验证二&#xff1a; 方法二 验证一&#xff1a; 验证二&#xff1a; 方法三 验证一&#xff1a; 验证二&#xff1a; 题目&#xff1a; 方法一 SELECT DISTINCT Salary AS SecondHighestSalary FROM Employee O…

CRM管理系统如何对商机阶段进行管理?有哪些具体功能?

在任何开展销售的机构中&#xff0c;商机是机构生成实际收益的最重要记录。在典型的B2B机构中&#xff0c;所有商机都必须经历完整的销售周期&#xff0c;从识别热门潜在客户开始&#xff0c;以赢得或失去潜在客户结束。此销售周期内必须完成的活动有&#xff1a;发送产品信息给…

轻量化神奇!看3D模型格式转换工具HOOPS Exchange如何轻松实现减面操作?

现在很多CAD模型都比较复杂&#xff0c;有时候为了一些特殊用途&#xff08;轻量化显示、布尔运算、CAE网格剖分等&#xff09;&#xff0c;需要到对原始模型进行减面操作。在HOOPS Exchange中&#xff0c;就提供了对模型进行减面操作支持&#xff0c;以下内容就是HOOPS Exchan…

每日汇评:黄金多头能否在美国CPI数据发布后占有主动权?

黄金价格再次在2020美元附近找到支撑&#xff0c;因为所有人都在关注美国的通胀数据&#xff1b; 尽管最近美国国债收益率有所上升&#xff0c;但美元仍进一步下跌&#xff1b; 金价保持在21日移动均线和50日移动均线之间&#xff0c;等待区间突破&#xff1b; 在周四早盘的亚洲…

ChatGPT的发展现状

文章目录 前言一、人工智能发展进入新阶段&#xff08;一&#xff09;数据量的增加&#xff08;二&#xff09;计算能力的提升&#xff08;三&#xff09;算法的改进 二、ChatGPT新阶段的内涵&#xff08;一&#xff09;基于大数据的大模型&#xff08;二&#xff09;满足内容生…