C程序设计第五版谭浩强 || 第一章习题答案

本文介绍了程序和程序设计的基本概念,阐述了计算机语言的重要性,讲解了源程序、目标程序和可执行程序的区别,以及程序编辑、编译、连接等关键步骤。通过实例演示如何编写C程序输出文字、图形和比较输入值找出最大值。
摘要由CSDN通过智能技术生成

目录

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

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

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

3.1. 源程序,目标程序,可执行程序

3.2. 程序编辑,程序编译,程序连接

3.3. 程序,程序模块,程序文件

3.4. 函数,主函数,被调用函数,库函数

3.5. 程序调试,程序测试

4. 编写一个c程序运行时输出 Hello world!

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

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


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

  • 【程序】:一组计算机能识别和执行的指令。
  • 【程序设计】:
  • 将特定问题的解决方案转化为计算机可执行的指令集的过程。
  • 从确定任务到得到结果、写出文档的全过程。

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

【为什么需要计算机语言】

  • 人和计算机交流信息要解决语言问题,所以需要创造一种计算机和人都能识别的语言。

【高级语言的特点】

  • 接近于人们习惯使用的自然语言和数学语言。
  • 容易理解和使用。
  • 语言功能强,且不依赖于具体机器,用它写出的程序对任何型号的计算机都适用(或只需作很少的修改)。

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

3.1. 源程序,目标程序,可执行程序

  • 【源程序】:用C语言编写的程序。
  • 【目标程序】:用编译程序(又称“编译器”)把C源程序翻译成的二进制形式的程序。
  • 【可执行程序】:可供计算机执行的目标程序。

3.2. 程序编辑,程序编译,程序连接

  • 【程序编辑】:上机输入和编辑源程序。
  • 【程序编译】:
  • 用C编译系统提供的“预处理器”(又称“预处理程序”或“预编译器”)对程序中的预处理指令进行编译预处理。
  • 对源程序进行检测,判定它有无语法方面的错误,如有,则发出“出错信息”,告诉编译人员认真检查改正。直到没有语法错误为止。
  • 编译程序自动把源程序转换为二进制形式的目标程序(后缀为.obj)。
  • 【程序连接】:把所有的编译后得到的目标模块连接装配起来,再与函数库相连接成一个整体,生成可执行程序。

3.3. 程序,程序模块,程序文件

  • 【程序】:一组计算机可以识别和执行的指令。
  • 【程序模块】:一个程序中的一部分函数组成的一个程序文件。
  • 【程序文件】:一个存放函数的文件。

3.4. 函数,主函数,被调用函数,库函数

  • 【函数】:C程序的主要组成部分,包括函数首部和函数体。
  • 【主函数】:程序总是从主函数开始执行的,一个C程序必须且只能包含一个主函数。
  • 【被调用函数】:由一个函数调用另一个函数,则称第二个函数为被调用函数。
  • 【库函数】:将函数封装入库,供用户使用的一种方式。

3.5. 程序调试,程序测试

  • 【程序调试】:通过上机发现和排除程序中故障的过程。
  • 【程序测试】:设计多组测试数据,检查程序对不同数据的运行情况,从中尽量发现程序中存在的漏洞,并修改程序,使之能适用于各种情况。

4. 编写一个c程序运行时输出 Hello world!

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

#include <stdio.h>
int main() {
    printf("Hello World!");
    return 0;
}

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

*****

  *****

     *****

        *****

#include <stdio.h>
int main()
{
    printf("******\n");
    printf("  *****\n");
    printf("    *****\n");
    printf("      *****\n");
    return 0;
}

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

#include <stdio.h>
int main()
{
    int max(int x,int y);
	int a,b,c,d;
    scanf_s("%d %d %d",&a,&b,&c);
    d=max(max(a,b),c);
    printf("max=%d",d);
    return 0;
}

int max(int x,int y)
{
    int z;
    if(x>y){
        z=x;
    }
    else{
        z=y;
    }
    return (z);
}


  • 33
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值