大学C,C++语言习题答案(1-5章)南华大学 下载本文

内容发布更新时间 : 2024/5/18 0:05:14星期一 下面是文章的全部内容请认真阅读。

习题答案

习 题 1(参考答案)

1.程序与算法的概念及二者的区别是什么?

程序:为了实现特定目标或解决特定问题而用计算机语言偏写的指令序列,它由算法和数据结构组成。 算法:(Algorithm)是在有限步骤内求解某一问题所使用的一组定义明确的规则。通俗地讲,就是计算机解题的步骤。 算法与程序的区别:计算机程序是算法的一个实例,同一个算法可以用不同的计算机语言来表达。

2.简述程序设计语言发展的过程

程序设计语言经过最初的机器代码到今天接近自然语言的表达,经过了四代的演变。一般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代,面对象的编程语言为第四代。

3.简述高级程序设计语言中面向过程与面向对象的概念。

“面向过程”是一种以过程为中心的编程思想。首先分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步地实现,使用的时候依次调用函数即可。一般的面向过程是从上往下步步求精,所以面向过程最重要的是模块化的思想方法。

“面向对象”是一种以事物为中心的编程思想。面向对象的方法主要是将事物对象化,对象包括属性与行为。

面向过程与面向对象的区别:在面向过程的程序设计中,程序员把精力放在计算机具体执行操作的过程上,编程关注的是如何使用函数去实现既定的功能;而在面向对象的程序设计中,技术人员将注意力集中在对象上,把对象看做程序运行时的基本成分。编程关注的是如何把相关的功能(包括函数和数据)有组织地捆绑到一个对象身上。

4.C语言程序的特点是什么?

(1)C语言非常紧凑、简洁,使用方便、灵活,有32个关键字,有9种流程控制语句。 (2)C语言运算符丰富,共有45个标准运算符,具有很强的表达式功能,同一功能表达式往往可以采用多种形式来实现。

(3)数据类型丰富。C语言的数据类型有整型、实型、字符型、数组类型、结构类型、共用类型和指针类型,而且还可以用它们来组成更复杂的数据结构,加之C语言提供了功能强大的控制结构,因而使用C语言能非常方便地进行结构化和模块化程序设计,适合于大型程序的编写、调试。

(4)用C语言可直接访问物理地址,能进行二进制位运算等操作,即可直接同机器硬件打交道。它具有“高级语言”和“低级语言”的双重特征,既能用于系统软件程序设计,又能用于通用软件程序设计。

(5)C语言生成的目标代码质量高、程序执行速度快。一般只比用汇编语言生成的目标代码的效率低20%左右。

(6)可移植性好。

5.源程序执行过程中,有哪些步骤?

C语言源程序的执行要经过:编辑、编译、链接、运行等步骤。

6.简述MATLAB的主要应用领域有哪些?

MATLAB软件是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司开发的商业数学软件,主要包括MATLAB和Simulink两大部分。它和Mathematica、Maple并称为三大数学软件。MATLAB软件可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序,主要应用于工程计算、控制设计、信号处理与通信、图像处理、信号检测、金融建模设计与分析等领域,代表了当今国际科学计算软件的先进水平。

习 题 2(参考答案) 一、选择题 1 C 11 C 21 B 31 C 41 B 2 A 12 C 22 D 32 D 42 D 3 D 13 D 23 A 33 B 43 B 4 C 14 A 24 D 34 C 44 B 5 B 15 D 25 B 35 A 45 A 6 B 16 B 26 D 36 D 46 C 7 C 17 C 27 C 37 B 47 B 8 B 18 A 28 C 38 C 48 A 9 A 19 B 29 A 39 D 49 D 10 D 20 C 30 D 40 A 50 D 二、填空题 1. 255 2. 3. 4. 5. 6.

a/(b*c) 20 1.0 x==0或(x==0)?1:0 x<-5 || x>5

7. 8. 9. 97或字符 ‘a’ 0 2.5 10. 3.5 11. 3 12. 9, 11, 9, 10 13. a+=a;24, a-=2;10, a*=2+3;60, a%=(n%=2);0, a/=a+a;0, a+=a-=a*=a;0 14. 8 15. 2

习 题 3 (参考答案)

1.编程实现:用字符输入/输出函数输入3个字符,将它们反向输出。 参考代码(尽量运用本章所学知识)

#include main( )

{ char c1,c2,c3;

c1=getchar(); c2=getchar(); c3=getchar(); putchar(c3); putchar(c2); putchar(c1); }

2.编程实现:用格式输入/输出函数输入3个字符,将它们反向输出并输出它们的ASCII值。

参考代码(尽量运用本章所学知识)

#include main( )

{ char c1,c2,c3;

scanf (\%c%c%c\

printf(\%c %d,%c %d,%c %d \}

3.变量k为float 类型,调用函数:

scanf(\%d\

不能使变量k得到正确数值的原因是:

scanf(\%d\中的格式控制类型与变量k的定义类型不匹配,应将%d改为%f.

习题4答案

选择题

1. B 2 .A 3 . B 4.B 5. C 6.B 阅读程序,写结果

7. 12 8.13 9. *0**2*

10

if(s>=90) m=4; else if(s>=80) m=3;

else if(s>=70) m=2; else if(s>=60) m=1; else m=0;

11有4个整数a,b,c,d,编写程序按大小输出 #include main()

{ int a,b,c,d,t;

scanf(\if(a

printf(\}

12 据所输入的3条边长值,判断它们能否构成三角形,如能构成,再判断是等腰三角形、

直角三角形还是一般三角形。 源程序:

#include #include \main()

{float a,b,c,s,area;

scanf(\

if((a+b>c)&&(a+c>b)&&(b+c>a)&&(fabs(a-b)

{

if(a==b&&b==c)

printf(\等边三角形\ else if(a==b||b==c||a==c) printf(\等腰三角形\

else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a)) printf(\直角三角形\ else printf(\一般三角形\ }

else printf(\不能组成三角形\}

13 输入一个整数,如果能被3,4,5同时整除,则输出“YES”,否则输出“NO”。

#include main() { int t,flag;

scanf(\

if(t%3==0&&t%4==0&&t%5==0) printf(\ else

printf(\}

14 年号,判断是否为闰年。判别闰年的条件是:能被4整除但不能被100整除的年是闰年,

能被400整除的年也是闰年。

#include main()

{ int year;

printf(\ scanf(\

if(year%4==0&&year0!=0||year@0==0) printf(\ else

printf(\}

15 下面程序根据以下函数关系,对输入的每个x值,计算出y值。请分析程序填空。

x y x>10 3x+10 1

#include main()

{ double x,y;