谭浩强【C语言程序设计】第一章习题详解

news2024/11/28 6:37:08

目录

1,什么是程序?什么是程序设计?

2,为什么需要计算机语言?高级语言有哪些特点?

3,正确理解以下名词及其含义:

(1)源程序,目标程序,可执行程序。

(2)程序编辑,程序编译,程序连接。

(3)程序,程序模块,程序文件。

(4)函数,主函数,被调用函数,库函数。

(5)程序调试,程序测试。

4,编写一个C程序,运行时输出:Hello World!

这个程序是一些国外C教材中作为第一个程序例子介绍的,一般称为Hello程序。

5,编写一个C程序,运行时输出以下图形:

6, 编写一个C程序,运行时输入a,b,c三个值,输出其中值最大者。

7,看懂《C程序设计(第五版)学习辅导》第16章中介绍的用Visual Studio 2010 对C程序进行编辑、编译、连接和运行的方法,并进行以下操作:

(1)建立一个新项目,定名为 projiect1。

(2)建立一个新文件,定名为 test1。

(3)向 test1 文件输入源程序(此源程序为读者自己编写的程序)。

(4)编译该源程序,如发现程序有错,请修改之,直到不出现“编译错误”为止。

(5)连接并运行,得到结果,分析结果。 


1,什么是程序?什么是程序设计?

  • 程序:就是一组计算机能识别和执行的指令集合,每一条指令使计算机执行特定的操作。
  • 程序设计:是指从确定任务到得到结果、写出文档的全过程。

2,为什么需要计算机语言?高级语言有哪些特点?

  • 计算机语言解决了人和计算机交流的语言问题,使得人和计算机都能够识别到。
  • 高级语言的数据类型比汇编语言更加丰富
  • 高级语言更加亲近自然语言,人们更加容易去掌握高级语言
  • 高级语言编写的代码需要经过编译才能变成程序
  • 高级语言和具体的计算机结构没有很强的关系,而机器语言和机器是有较强关系的 

3,正确理解以下名词及其含义:

(1)源程序,目标程序,可执行程序。

  • 源程序:指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令
  • 目标程序:为源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以 .obj  作扩展名
  • 可执行程序:将所有编译后得到的目标模块连接装配起来,再与函数库相连接成为一个整体,生成一个可供计算机执行的目标程序,称为可执行程序

(2)程序编辑,程序编译,程序连接。

  • 程序编辑:上机输入或者编辑源程序

程序编译:

  •  先用C提供的“预处理器”,对程序中的预处理指令进行编译预处理
  • 对源程序进行语法检查,判断是否有语法错误,直到没有语法错位为止
  • 编译程序自动把源程序转换为二进制形式的目标文件
  • 程序连接:将所有编译后得到的目标模块连接装配起来,再与函数库相连接成为一个整体的过程称之为程序连接 

(3)程序,程序模块,程序文件。

  • 程序:一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具
  • 程序模块:可由汇编程序、编译程序、装入程序或翻译程序作为一个整体来处理的一级独立的、可识别的程序指令
  • 程序文件:程序的文件称为程序文件,程序文件存储的是程序,包括源程序和可执行程序

(4)函数,主函数,被调用函数,库函数。

  • 函数:将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,来完成一定功能
  • 主函数:又称main函数,是程序执行的起点
  • 被调用函数:由一个函数调用另一个函数,则称第二个函数为被调用函数
  • 库函数:一般是指编译器提供的可在C源程序中调用的函数,可分为两类:一类是C语言标准规定的库函数,一类是编译器特定的库函数

(5)程序调试,程序测试。

  • 程序调试:是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程
  • 程序测试:是指对一个完成了全部或部分功能、模块的计算机程序在正式使用前的检测,以确保该程序能按预定的方式正确的运行

4,编写一个C程序,运行时输出:Hello World!

这个程序是一些国外C教材中作为第一个程序例子介绍的,一般称为Hello程序。

  1. 在vs2019(编译器)当中创建一个新的项目
  2. 在项目当中添加源文件
  3. 在源文件当中书写源代码
  4. 观察输出结果
#include <stdio.h>
int main()
{
	printf("Hello World!\n");

	return 0;
}

🌴运行结果:

 

5,编写一个C程序,运行时输出以下图形:

#include <stdio.h>
int main()
{
	printf("*****\n");//第一行
	printf("  *****\n");//第二行
	printf("    *****\n");//第三行
	printf("      *****\n");//第四行

	return 0;
}

 🌴运行结果:

🍂注意:打印的时候需要增加换行符"\n"

6, 编写一个C程序,运行时输入a,b,c三个值,输出其中值最大者。

#include <stdio.h>
int main()
{
	int a, b, c;
	printf("请输入3个值:>");
    //从标准输入当中获取三个值
	scanf("%d%d%d", &a, &b, &c);
	int max = -1;
	if (a < b)
	{
		max = b;
	}
	else//a > b
	{
		max = a;
	}
	if (c > max)
	{
		max = c;
	}
	//输出
	printf("max = %d\n", max);

	return 0;
}

 🌴运行结果:

7,看懂《C程序设计(第五版)学习辅导》第16章中介绍的用Visual Studio 2010 对C程序进行编辑、编译、连接和运行的方法,并进行以下操作:

(1)建立一个新项目,定名为 projiect1。

(2)建立一个新文件,定名为 test1。

(3)向 test1 文件输入源程序(此源程序为读者自己编写的程序)。

#include <stdio.h>
int main()
{
	printf("Hello World!\n");

	return 0;
}

(4)编译该源程序,如发现程序有错,请修改之,直到不出现“编译错误”为止。

依次点击工具栏 ---> 生成 ---> 生成解决方案

如果程序没有错误,会生成一个可执行文件 

 

如果程序有错误,则编译器底部的输出栏中会报错并显示错误原因,依次改之即可 

 

(5)连接并运行,得到结果,分析结果。 

点击 “本地Windows调试器”,就可以在输出当中看到 “Hello World!”了。

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

免费小程序HTTPS证书

随着互联网的快速发展&#xff0c;小程序已经成为人们日常生活中不可或缺的一部分。然而&#xff0c;在小程序的开发和使用过程中&#xff0c;安全问题一直是开发者们关注的重点。其中&#xff0c;HTTPS 证书是保障小程序安全的重要工具之一。在这方面&#xff0c;免费的小程序…

【机器学习】正则化到底是什么?

先说结论&#xff1a;机器学习中的正则化主要解决模型过拟合问题。 如果模型出现了过拟合&#xff0c;一般会从两个方面去改善&#xff0c;一方面是训练数据&#xff0c;比如说增加训练数据量&#xff0c;另一方面则是从模型角度入手&#xff0c;比如&#xff0c;降低模型复杂…

HDR 成像技术学习(四)

HDR(High Dynamic Range,高动态范围)仿佛是成像领域永恒的话题,动态范围越大,图像能清晰呈现的明暗差别也就越大。与传统的SDR(标准动态范围)相比,HDR图像能够以更高质量同时显示画面的亮部和暗部。 随这些年CMOS图像传感器工艺技术进步,以及后端数字信号处理算力的提升…

编译内核源码

本文将记录内核源码编译步骤&#xff0c;供有需要的人参考使用。 一、内核源码下载网址 内核源码网址&#xff1a;https://kernel.org/ 二、准备编译环境 这里需要注意区分x86架构和arm架构&#xff0c;需要不同的架构内核就准备对应的服务器即可&#xff0c;在服务器上安装…

arthas常用命令

arthas常用命令 IDEA插件 arthas idea退出arthasjad 反编译watch 方法执行数据观测tracemonitor https://arthas.aliyun.com/doc/ IDEA插件 arthas idea 退出arthas # quit或者exit命令,只是退出当前的连接, Attach到目标进程上的arthas还会继续运行&#xff0c;端口会保持开…

火力全开!腾讯云这次直接开卖5年

如果你是一名网站管理员&#xff0c;或者是一名创业公司的CEO&#xff0c;那么腾讯云这个词一定不会陌生。作为国内领先的云计算服务提供商&#xff0c;腾讯云一直以来都在为各行各业的用户提供着高效、稳定、安全的云计算服务。 而在今天&#xff0c;我们要给大家带来一个重磅…

2020年五一杯数学建模B题基于系统性风险角度的基金资产配置策略分析解题全过程文档及程序

2020年五一杯数学建模 B题 基于系统性风险角度的基金资产配置策略分析 原题再现 近年来&#xff0c;随着改革开放程度的不断提高&#xff0c;我国经济运行中的各种风险逐渐暴露并集中传导和体现于金融领域。党的“十九大”报告提出“守住不发生系统性金融风险的底线”要求&am…

官媒代运营:让大众倾听品牌的声音

在当今数字时代&#xff0c;媒体的影响力和多样性远远超出了以往的范畴。品牌和企业越来越依赖媒体来传播信息、建立声誉以及与大众互动。而媒体矩阵成为了现代品牌传播的关键策略&#xff0c;使大众能够倾听品牌的声音。媒体矩阵&#xff1a;多元化的传播渠道 媒体矩阵是指利…

使用双动态令牌混合器学习全局和局部动态以进行视觉识别

TransXNet: Learning Both Global and Local Dynamics with a Dual Dynamic Token Mixer for Visual Recognition 1、问题与解决2、引言3、方法3.1 双动态令牌混合器(D- Mixer)3.2 IDConv(Input-dependent Depthwise Convolution)3.3 Overlapping Spatial Reduction Attention …

玩具品牌的国际化之路:市场推广战略解析

玩具产业一直是全球市场中备受瞩目的领域之一。随着全球化的发展和互联网的普及&#xff0c;越来越多的玩具品牌开始进军国际市场。这既是机遇&#xff0c;也是挑战。在竞争激烈的全球市场中&#xff0c;如何成功推广玩具品牌是一个关键的问题。本文Nox聚星将和大家探讨玩具品牌…

Live800:企业客户服务如何数字化转型?

现代社会&#xff0c;随着互联网的快速发展&#xff0c;企业客户服务也在不断的数字化转型。数字化转型不仅可以更好地为客户提供服务&#xff0c;也可以提高企业的效率和降低成本。那么&#xff0c;企业客户服务如何数字化转型呢&#xff1f; 一、在线客服系统 在线客服系统是…

ECharts常用配置

1.使用&#xff1a; &#xff08;1&#xff09;.下载引入 npm install echarts(版本号) --save import * as echarts from "echarts"; &#xff08;2&#xff09;.准备一个DOM容器 &#xff08;3&#xff09;.初始化echarts实例对象 echarts.init(document.getE…

获取小程序页面路径完整流程

应用场景&#xff1a;因为所涉及的功能要跳转到滴滴打车小程序的代驾页面&#xff0c;而我并不知道他的appid和对应的页面路径&#xff0c;所以跟着我的步骤走下&#xff0c;这里拿滴滴打车小程序举例。 现在的话我们是拿到了小程序对应的appid了&#xff0c;接下来就去获取小程…

软件测试:性能测试工具Jmeter与Locust

Apache JMeter™和Locust都是是最受欢迎的性能测试工具。 JMeter 和 Locust 简介 JMeter是久经考验的性能框架之一&#xff0c;其第一个版本大约在20年前发布。 它是用纯Java语言编写的。 最初&#xff0c;JMeter开发用于执行Web和FTP应用程序的负载测试。 但是&#xff0c;现…

算法打卡02——删除有序数组中的重复项

题目&#xff1a;删除有序数组中的重复项 给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑…

ECRS工时分析软件:精益成本管理的得力助手

在制造业领域&#xff0c;精益成本管理已经成为提高企业竞争力、实现持续发展的关键因素。而在精益成本管理中&#xff0c;ECRS改善分析法是一种非常实用的工具。ECRS工时分析软件&#xff0c;结合了ECRS改善分析法和VIOOVI精益成本管理法的精髓&#xff0c;为IE部门在优化生产…

游读广州|康园环保行

“走出家门&#xff0c;共享阳光”残障人士游读广州项目是由广州市慈善会、广州市善城社区公益基金会资助、广州市黄埔区惠民社会服务中心实施的第四届“创善?微创投”广州市社区公益微创投项目&#xff0c;黄埔区康园工疗站约120名残障人士为服务对象&#xff0c;通过游玩与教…

解决Web server failed to start. Port XXXX was already in use.

这句错误描述意思是&#xff1a;当前程序的端口号被占用了&#xff0c;需要将占用该端口的程序停止掉才行。 解决方案&#xff1a; 1.winR键调出运行窗口&#xff0c;输入cmd进入命令行: 2.输入命令netstat -ano|findstr "XXXX"查看“XXXX”对应端口的程序占用情况…

平安人寿基于 Apache Doris 统一 OLAP 技术栈实践

导读&#xff1a;平安人寿作为保险行业领军企业&#xff0c;坚持技术创新&#xff0c;以数据业务双轮驱动的理念和更加开放的思路来应对不断增长的数据分析和应用需求&#xff1b;以深挖数据价值、保障业务用数效率为目标持续升级大数据产品体系。自 2022 年起平安人寿开始引入…

CSS3 用户界面、图片、按钮

一、CSS3用户界面&#xff1a; 在CSS3中&#xff0c;增加了一些新的用户界面特性来调整元素尺寸、框尺寸和外边框。CSS3用户界面属性&#xff1a;resize、box-sizing、outline-offset。 1、resize&#xff1a; resize属性指定一个元素是否应该由用户去调整大小。 <style…