《C语言程序设计》(谭浩强第五版) 第1章 程序设计和C语言 习题解析与答案
你也可以上程序咖(https://meta.chengxuka.com/#/mooc),打开大学幕题板块,不但有答案,讲解,还可以在线答题。
题目1:什么是程序?什么是程序设计?
答:
程序:就是一组计算机能识别和执行的指令集合,每一条指令使计算机执行特定的操作。
程序设计:是指从确定任务到得到结果、写出文档的全过程。
题目2:为什么需要计算机语言?高级语言有哪些特点?
答:
为什么需要计算机语言:计算机语言解决了人和计算机交流是的语言问题,使得计算机和人都能识别。
高级语言有哪些特点:
2.1 高级语言的数据结构要比汇编和机器语言丰富;
2.2 高级语言与具体机器结构的关联没有汇编以及机器语言密切;
2.3 高级语言更接近自然语言更容易掌握;
2.4 高级语言编写的程序要经过编译或解释计算机才能执行;
题目3:正确理解以下名词及其含义:
(1)源程序,目标程序,可执行程序。
(2)程序编辑,程序编译,程序连接。
(3)程序,程序模块,程序文件。
(4)函数,主函数,被调用函数,库函数。
(5)程序调试,程序测试。
答:
(1)源程序,目标程序,可执行程序。
源程序:指未编译的按照一定的程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令
目标程序:为源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以.obj作扩展名
可执行程序:将所有编译后得到的目标模块连接装配起来,在与函数库相连接成为一个整体,生成一个可供计算机执行的目标程序,成为可执行程序
(2)程序编辑,程序编译,程序连接。
程序编辑:上机输入或者编辑源程序。
程序编译:
先用C提供的“预处理器”,对程序中的预处理指令进行编译预处理
对源程序进行语法检查, 判断是否有语法错误,直到没有语法错误未知
编译程序自动把源程序转换为二进制形式的目标程序
程序连接:将所有编译后得到的目标模块连接装配起来,在与函数库相连接成为一个整体的过程称之为程序连接
(3)程序,程序模块,程序文件。
程序:一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具
程序模块:可由汇编程序、编译程序、装入程序或翻译程序作为一个整体来处理的一级独立的、可识别的程序指令
程序文件:程序的文件称为程序文件,程序文件存储的是程序,包括源程序和可执行程序
(4)函数,主函数,被调用函数,库函数。
函数:将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,来完成一定功能
主函数:又称main函数,是程序执行的起点
被调用函数:由一个函数调用另一个函数,则称第二个函数为被调用函数
库函数:一般是指编译器提供的可在c源程序中调用的函数。可分为两类,一类是c语言标准规定的库函数,一类是
编译器特定的库函数
(5)程序调试,程序测试。
程序调试:是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程
程序测试:是指对一个完成了全部或部分功能、模块的计算机程序在正式使用前的检测,以确保该程序能按预定的方式正确地运行
题目4:编写一个C程序,运行时输出Hello World!
这个程序是一-些国外C教材中作为第一个程序例子介绍的,一-般称为Hello程序。
答:
#include
int main()
{
printf("*****************«********\n\n");
printf(" Hello World !\n\n");
printf("*****************«********\n\n");
return 0;
}
运行结果:
题目5:编写一个C程序,运行时输出以下图形:
*****
*****
*****
*****
答案代码:
#include
int main()
{
printf("*****\n");
printf(" *****\n");
printf(" *****\n");
printf(" *****\n");
return 0;
}
运行结果:
说明: 由于目前只见过printf 函数,只能用这种最简单的方法。在学过循环后,可以利用循环语句编写程序,只须用一个printf 函数输出5个"*
"号。请读者在学过第5章(循环)后,回过头用循环语句编写程序处理此问题。在学过第7章(函数)后,还可定义一个函数来实现输出5个'*
',然后在main函数中调用该函数。
题目6:编写一个C程序,运行时输人a,b,c三个值,输出其中值最大者。
答案代码:
#include
int main()
{
int a, b, c, max;
printf("please input a,b,c: \n");
scanf("%d,%d,%d", &a, &b, &c);
max = a;
if (max < b)
max = b;
if (max < c)
max = c;
printf("The largest number is %d\n", max);
return 0;
}
运行结果:
输入3个数:18,-43,34,输出最大数34。
注意:输入的3个数以英文状态下的痘哦好风格,如果以空格分割会出错,读者可试一下,请思考为什么?
题目7:看懂《C程序设计(第五版)学习辅导》第16章中介绍的用Visual Studio 2010对C程序进行编辑、编译、连接和运行的方法,并进行以下操作:
(1)建立一个新项目,定名为project1。
(2)建立一个新文件,定名为test1。
(3)向test1文件输人源程序(此源程序为读者自己编写的程序)。
(4)编译该源程序,如发现程序有错,请修改之,直到不出现“编译出错”为止。
(5)连接并运行,得到结果。分析结果。
解:
(1)建立一个新项目,定名为project1。
(2)建立一个新文件,定名为test1。
(3)向test1文件输人源程序(此源程序为读者自己编写的程序)。
(4)编译该源程序,如发现程序有错,请修改之,直到不出现“编译出错”为止。
(5)连接并运行,得到结果。分析结果。