第6章 程序设计语言 习题与答案教程文件

合集下载

C语言程序设计 第六章 函数 试题及答案

C语言程序设计 第六章 函数 试题及答案
A)实参可以是常量、变量或表达式
B)形参可以是常量、变量或表达式
C)实参可以是任意类型
D)实参应与其对应的形参类型一致
参考答案:B
6.8以下正确的说法是。
A)定义函数时,形参的类型说明可以放在函数体内
B)return后面的值不能为表达式
C)如果函数的类型与返回值类型不一致,以函数类型为准
D)如果形参与实参的类型不一致,以实参类型为准
A)float型B)int型C)long型D)double型
参考答案:B
6.12 C语言规定,函数返回值的类型是由所决定。
A)return语句中的表达式类型
B)调用该函数时的主调函数类型
C)调用该函数是系统临时指定
D)在定义该函数时所指定的函数类型
参考答案:D
*6.13下面函数调用语句含有实参的个数为。
if(m!=-1) n=m;
}
printf("\nn=%d",n);
}
【1】A)k*10 B)k%10 C)k/10 D)k*10%10
【2】A)a2*10 B)a2 C)a2/10 D)a2%10
参考答案:【1】C【2】A
6.18以下是有关汉诺塔问题的程序段,若在main函数中有调用语句hanoi(3,'A','B','C');则符合程序段运行结果的选项是。
A-->C A-->C B-->C B-->C
A-->B A-->B A-->C A-->C
参考答案:C
6.19若用数组名作为函数调用的实参,传递给形参的是。
A)数组的首地址B)数组第一个元素的值
C)数组中全部元素的值D)数组元素的个数

《C语言程序设计教程(第二版)》习题答案

《C语言程序设计教程(第二版)》习题答案

1 【C语言】《C语言程序设计教程(第二版)》习题答案说明1. 本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理工大学出版社出版的,绿皮。

2 第1章程序设计基础知识一、单项选择题(第23页)1-4.CBBC 5-8.DACA二、填空题(第24页)1.判断条件2.面向过程编程3.结构化4.程序5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分三、应用题(第24页)2.源程序:main(){int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */printf("cock hen chick\n");for(i=1;i<=20;i++)for(j=1;j<=33;j++)for(k=1;k<=33;k++)if (i+j+k*3==100&&i*5+j*3+k==100)printf(" %d %d %d\n",i,j,k*3);}执行结果:cock hen chick4 18 788 11 8112 4 843.现计算斐波那契数列的前20项。

递推法源程序:main(){long a,b;int i;a=b=1;for(i=1;i<=10;i++) /*要计算前30项,把10改为15。

*/{printf("%8ld%8ld",a,b);a=a+b;b=b+a;}}递归法源程序:main(){int i;for(i=0;i<=19;i++)printf("%8d",fib(i));}fib(int i){return(i<=1?1:fib(i-1)+fib(i-2));}执行结果:1 123 5 8 13 21 34 5589 144 233 377 610 987 1597 2584 4181 6765 4.源程序:#include "math.h";main(){double x,x0,deltax;x=1.5;do {x0=pow(x+1,1./3);deltax=fabs(x0-x);x=x0;}while(deltax>1e-12);printf("%.10f\n",x);}执行结果:1.32471795725.源程序略。

C语言程序设计教程 课后习题参考答案

C语言程序设计教程 课后习题参考答案
}
else if( carType == 2 ) //富康
{
if( distance < 3 )
totalMoney = 8.0;
else
totalMoney = 8 + fukang * (distance – 3);
}
else if( carType == 3 ) //富康
{
if( distance < 3 )
(3) 7BAB4BAB1BC
(4) ABABABC
(5) ******
******
******
******
4.
(1) a != b
(2) n / 10
(3) scanf(“%d”, &a);
5.(3)行int fac = 1, sum = 0;
6.
(1)
#include <stdio.h>
main( )
r = 2.5;
h = 3.5;
v = 3.14*r*r*h;
printf(“v=%lf\n”, v);
}
(2)
#include <stdio.h>
main( )
{
char ch;
ch = getchar( );
printf(“%c\n”, ch + 32);
}
(3)
#include <stdio.h>
scanf("%d", &carType);
printf("请输入您乘车的总路程:");
scanf("%lf", &distance);
if( carType == 1)//夏利

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。

b) 一个C程序中至少应包括一个 main函数。

c) 在C语言中,输出操作是有库函数 printf( )函数完成。

二、单选题1、A2、C3、B解析:第1题答案:A 。

因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。

且到main函数结束。

第2题答案:C 。

因为 main函数没有限制必须位于程序的最前面。

C程序书写自由,一行内可写几个语句。

在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。

不过C语言本身并没有输入输出语句,输入输出是由函数完成的。

第3题答案:B。

因为一个C语言程序是由若干个函数组成的。

但至少包含一个main 函数,且main函数的位置不限。

三、编程题1、编写一个输出“Welcome to C!”信息的小程序。

解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。

海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。

*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。

*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。

C语言程序设计第六章数组习题及答案

C语言程序设计第六章数组习题及答案

1.以下对一维整型数组a的定义,正确的是_。

(2分)A.int a(10) ;B.int n = 10 , a[n] ;C.int n ;scanf( "%d" , &n ) ;int a[n] ;D.int a[10] ;2.若有定义:int a[10] ;,则对a数组元素的正确引用是_。

(2分)A.a[10]B.a[3.5]C.a(5)D.a[10-10]3.对定义int a[10] = {6 , 7 , 8 , 9 , 10} ; 的正确理解是_。

(2分)A.将5个初值依次赋给a[1]--a[5]B.将5个初值依次赋给a[0]--a[4]C.将5个初值依次赋给a[6]--a[10]D.因为数组长度与初值个数不相同,所以此语句不正确4..若有定义:int a[3][4]; , 则对a数组元素的正确引用是_。

(2分)A.a[3][4]B.a[1,3]C.a[1+1][0]D.a(2)(1)5.以下对二维数组a初始化正确的语句是_。

(2分)A.int a[2][ ]={{0 , 1 , 2}, {3 , 4 , 5}};B.int a[ ][3]={{0, 1, 2}, {3, 4, 5}};C.int a[2][4]={{0, 1 , 2}, {3 , 4}, {5}};D.int a[ ][3]={{0, 1, 2}, { }, {3, 4}};6.对二维数组a进行如下初始化:int a[ ][3]={0 , 1 , 2 , 3 , 4 , 5};则a[1][1]的值是_。

(2分)A.0B.3C.4D.17.下面程序段的运行结果是_。

(2分)#include<stdio.h>int main( ){int i , x[3][3] = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9} ;for( i = 0 ; i < 3 ; i++ )printf( "%2d" , x[i][2-i] ) ;return 0 ;}A.1 5 9B.1 4 7C.3 5 7D.3 6 98.以下对数组s的初始化,错误的是_。

c++程序设计教程习题6_8章参考答案

c++程序设计教程习题6_8章参考答案
{
str=new char[100];
head=p;
else
tail->next=p;
tail=p;
cin>>c>>e;
}
tail->next=NULL;
return head;
}
void print(struct node *h)
{
struct node *p;
p=h;
while(p!=NULL)
{
if(p->next!=NULL)
cout<<p->coef<<'x'<<p->expn<<'+';
{
p2=p1;
p1=p1->next;
}
if(p1==NULL)
{
insert=new node;
insert->ch=c;
insert->count=1;
if(head==NULL)
{
insert->next=head;
head=insert;
}
else
{
insert->next=NULL;
p2->next=insert;
public:
void set(int a,double w,char c[10])
{
age=a;
weight=w;
strcpy(color,c);
}
void print()
{
cout<<"age:"<<age<<"\tweight:"<<weight<<"\color:"<<color<<endl;

C语言程序设计实例教程 第2版 习题答案 作者 李红 第6章 数组

C语言程序设计实例教程 第2版 习题答案 作者 李红 第6章  数组

6.4 课后习题6.4.1 项目练习一.练习目的1.进一步巩固一维数组的定义与数组元素的引用方法2.进一步巩固二维数组的定义与数组元素的引用方法3.进一步巩固字符数组的定义与引用方法二.练习内容1.用起泡法对10个数由大到小进行排序。

分析:起泡法的算法思想是,n个数排序,将相邻两个数依次进行比较,将大数调在前头,逐次比较,直至将最小的数移至最后,然后再将n-1个数继续比较,重复上面操作,直至比较完毕。

可采用双重循环实现起泡法排序,外循环控制进行比较的次数,内循环实现找出最小的数,并放在最后位置上(即沉底)。

#include "stdio.h"main(){int a[10];int i,j,t;printf("请输入10个整数:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<9;i++)for(j=0;j<9-i;j++)if(a[j]<a[j+1]){ t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("排序后的数为::\n");for(i=0;i<10;i++)printf("%d ",a[i]);printf("\n");getch();}2.从键盘输入10个整数,检查整数3是否包含在这些数据中,若是的话,它是第几个被输入的。

#include "stdio.h"main(){int i,a[10];printf("请输入这10个整数:");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++){if(a[i]==3) printf("3包含于数列中,输入顺序号是:%d",i+1);elseprintf("3不包含于此数列中");}getch();}3.编程:一个3*5的数组,要求每行都进行降序排列,并求出每行的平均值。

C语言程序设计第四版第六章答案_谭浩强

C语言程序设计第四版第六章答案_谭浩强

C语言程序设计第四版第六章答案_谭浩强1、用筛选法求100之内的素数。

解:#include#includeint main(){int i,j,n,a[101];for (i=1;i<=100;i++)a[i]=i;a[1]=0;for (i=2;i<sqrt(100);i++)< bdsfid="73" p=""></sqrt(100);i++)<>for (j=i+1;j<=100;j++){if(a[i]!=0 && a[j]!=0)if (a[j]%a[i]==0)a[j]=0;}printf("\");for (i=2,n=0;i<=100;i++){ if(a[i]!=0){printf("%5d",a[i]);n++;}if(n==10){printf("\");n=0;}}printf("\");return 0;}2、用选择法对10整数排序。

解:#includeint main(){int i,j,min,temp,a[11];printf("enter data:\");for (i=1;i<=10;i++){printf("a[%d]=",i);scanf("%d",&a[i]);}printf("\");printf("The orginal numbers:\");for (i=1;i<=10;i++)printf("%5d",a[i]);printf("\");for (i=1;i<=9;i++){min=i;for (j=i+1;j<=10;j++)if (a[min]>a[j]) min=j;temp=a[i];a[i]=a[min];a[min]=temp;}printf("\The sorted numbers:\");for (i=1;i<=10;i++)printf("%5d",a[i]);printf("\");return 0;}3、求一个3×3的整型矩阵对角线元素之和。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6章程序设计语言习题与答案第六章习题(1)复习题1、简述自然语言与形式语言的概念以及区别、汇编语言与机器语言的概念及区别。

自然语言是某一社会发展中形成的一种民族语言,而形式语言是进行形式化工作的元语言,它是以数学和数理逻辑为基础的科学语言。

用机器指令形式编写的程序称为机器语言,用带符号或助记符的指令和地址代替二进制代码成为语言进化的目标。

这些使用助记符语言的语言后来就被称之为汇编语言。

(P135 P136)2、什么是高级程序设计语言?它有什么特点?高级语言是汇编语言的一种抽象。

高级语言的设计目标就是使程序员摆脱汇编语言细节的繁琐。

高级语言同汇编语言都有一个共性,那就是:它们必须被转化为机器语言,这个转化的过程称为解释或编译。

(1)高级语言接近算法语言,易学、易掌握;(2)高级语言设计出来的程序可读性好,可维护性强,可靠性高;(3)高级语言与具体的计算机硬件关系不大,其程序可移植性好,重用率高;(4)高级语言自动化程度高,开发周期短,利于提高程序的质量。

(P138)3、列举程序设计语言的几种范型。

程序语言大致分为命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言等范型。

(P138-140)4、简述语言虚拟机。

提示:语言虚拟机是某种语言的解释器。

语言虚拟机是建立在硬件和操作系统之上,针对不同的硬件和操作系统有不同的虚拟机,通过语言虚拟机屏蔽掉硬件的差异。

这样使得硬件系统能够支持这种语言编写的程序的有效执行。

目前最流行的语言虚拟机是Java虚拟机。

(P147)5、计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?提示:主要有编译、解释等方式,也有两种方式的混合使用的形式。

编译是使用编译器将高级语言编写的源程序转换成计算机可以执行的机器语言可执行程序,也可以理解为用编译器产生可执行程序的动作。

编译方式是一次编译,然后执行程序可以反复多次执行。

解释是另一种将高级语言转换为可执行程序的方式。

与编译不同,解释性语言的程序不需要编译,省了道工序,解释性语言在运行程序的时候才翻译,每个语句都是执行的时候才翻译。

这样解释性语言每执行一次就要翻译一次,效率比较低。

近来随着网络的发展,为了实现跨平台但同时又保证一定的效率,出现了编译、解释混合的方式,先用伪编译形成效率较高中间代码,再用语言虚拟机进行解释执行,以屏蔽掉硬件的差异。

(P144-147)6、试分析对象和类的关系。

对象:对象是人们要进行研究的任何事物,它具有状态和操作。

面向对象语言把状态和操作封装于对象实体之中,并提供一种访问机制,使对象的“私有数据”仅能由这个对象的操作来访问。

用户只能通过向允许公开的操作提出要求(或发送消息),才能查询和修改对象的状态。

这样,对象状态的具体表示和操作的具体实现都被隐藏起来了。

类:类是面向对象语言必须提供的由用户定义的数据类型,它将具有相同状态、操作和访问机制的多个对象抽象成一个对象类。

在定义了类以后,属于这种类的一个对象称为类实例或类对象。

类代表一般,而该类的一个对象代表具体。

(P139)7、什么是IDE?IDE集成开发环境的简称(Integrated Develop Environment)是一套用于程序开发的软件工具集合,一般包括源代码编辑器、编译器、调试器和图形用户界面工具。

(P160)8、简述程序设计语言的基本构成元素。

程序设计语言的语法元素主要有:字符集、表达式、语句、标识符、关键字和保留字、注释等组成。

(P140-P141)9、简述标识符的概念。

标识符是程序设计时设计人员用来命名事物的符号。

(P151)10、说明将源程序转化为计算机能够识别的指令的过程。

提示:该转化过程即为编译的基本过程,包括词法分析;语法分析;中间代码生成;代码优化;目标代码生成等五个阶段,各阶段有具体的任务。

(P144-145)(2)练习题1、____________语言的书写方式接近于人们的思维习惯,使程序更易阅读和理解。

高级语言(P149)2、程序语言中的控制成分包括顺序结构、__________和重复结构。

选择结构(P155)3、在基于继电器的计算机器时代,所谓“程序设计”实际上就是设置__________开关,所以通常的情况是“设置程序”的时间比计算时间长。

继电器(P145)4、自然语言的基本特征包括_________和_____________________。

歧义性、不够严格和不够统一的语法结构(P146)5、面向对象最基本的概念包括___________、___________和___________。

对象、类、继承(P139)6、函数与过程最明显的区别在于_________________。

{ 过程本身不返回值,而函数本身返回值 }(P144)7、通常按照程序运行时数据的_____能否改变,将数据分为常量和变量。

{ 值 } (P142)8、程序语言的控制成分包括___________、___________、___________等三种。

{顺序结构、分支结构、循环结构}(P143)9、__________是将源程序转换为一种中间类型的代码,通常其生成的是非常接近机器语言的二进制代码。

伪编译(P147)10、集成开发环境(IDE)是一套用于程序开发的软件工具集合,一般包括___________、___________、___________和___________等工具。

{ 源代码编辑器、编译器、调试器和图形用户界面 } (P148)11、用运算符号按一定的规则连接起来的、有意义的式子称为__________。

表达式(P141)12、保留字也叫___________,指在语言中已经定义过的字,使用者不能再将这些字来命名其他事物。

关键字(P140)13、操作符是用来代表运算操作的符号,每个操作符表示一种运算操作。

通常语言中具备___________、___________、___________和___________等等几类。

赋值操作符、算术操作符、比较操作符、逻辑操作符、位操作符(P140)14、类是面向对象语言必须提供的由用户定义的数据类型,它是将具有相同___________、___________、___________的多个对象抽象而成的。

状态、操作和访问机制(P139)15、科学的语言基本上是___________性、___________性而非评论性的。

描述性、断定性(P147)16、_________是能被其他程序调用,在实现某种功能后能自动返回到调用程序去的程序。

子程序(P143)17、形式语言是进行形式化工作的元语言,它是以________和________为基础的科学语言。

数学和数理逻辑(P136)18、匈牙利命名法的基本原则是:标识符=____________+____________+____________。

属性类型对象描述(P140)19、程序语言的分类没有统一的标准,根据程序设计的方法将程序语言大致分为____________、____________、____________和____________设计语言等类型。

命令式程序设计语言、面向对象的程序设计语言、函数式程序设计语言和逻辑型程序设计语言(P149)20、逻辑型语言是一类以___________为基础的语言,其代表是Prolog语言,这种语言与数据库SQL语言有很多相似之处。

形式逻辑(P139)21、____________的选择是语言设计的第一件事。

字符集(P140)22、结构化程序设计主要强调的是______。

A、程序的规模B、程序的易读性C、程序的执行效率D、程序的可移植性B (P138)23、程序设计语言从机器语言发展到高级语言有好处很多,下列描述中不正确的是_____。

A、高级语言技术先进,运行更快B、可读性好,可维护性强,可靠性高C、设计的程序可移植性好,重用率高D、高级语言程序设计自动化程度高,开发周期短A (P138)24、下面是关于解释程序和编译程序的论述,其中正确的一条是__________A、编译程序和解释程序均能产生目标程序B、编译程序和解释程序均不能产生目标程序C、编译程序能产生目标程序而解释程序则不能D、编译程序不能产生目标程序而解释程序能A (P156)25、近来计算机报刊中常出现的“Java”一词是指_________。

A、一种计算机语言B、一种计算机设备C、一个计算机厂商云集的地方D、一种新的数据库软件A (P146)26、采用编译方法的高级语言源程序在编译后_________。

A、生成目标程序B、生成可在DOS下直接运行的目标程序C、生成可执行程序D、生成可在DOS下直接运行的可执行程序C (P156)27、用高级程序设计语言编写的程序,要转换成等价的可执行程序,必须经过____。

A、汇编B、编辑C、解释D、编译和连接D (P156)28、计算机硬件能直接执行的只有____。

A、符号语言B、机器语言C、机器语言和汇编语言D、汇编语言B (P147)29、只有当程序要执行时,它才会将原程序翻译成机器语言,并且一次只能读取、翻译并执行原程序中的一行语句,此程序称为____。

A、目标程序;B、编辑程序;C、解释程序;D、汇编程序。

C( P158)30、下列哪些元素不能用于标识符名称:A、字母B、数字C、空格D、下划线C (P142)31、如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为____。

A、静态变量B、动态变量C、外部变量D、内部变量D (P154)32、判断题精品资料(1)汇编语言语句与特定的机器指令有一一对应的关系()(2)支撑机器语言的理论基础是冯诺依曼模型()(3)形式化语言是人工语言符号系统发展的第三阶段(){(1)对,(2)错,(3)错}33、简述匈牙利命名法。

匈牙利命名法。

其基本原则是:标识符=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。

命名要基于容易记忆容易理解的原则。

(P152)34、试比较“while型”循环结构和“do-while型”循环结构。

“while型”循环结构的逻辑含义是先判断条件,若成立,则执行需要重复的程序块,然后再去判断重复条件, 以决定是否继续循环。

“do-while型”循环结构的逻辑含义是先执行需要重复的循环体,然后计算关系表达式,以决定是否继续循环。

也就是说使用“while型”循环结构可能不进行入循环,循环体一次也不执行;而“do-while型”循环结构至少要执行一次循环体。

(P155)仅供学习与交流,如有侵权请联系网站删除谢谢11。

相关文档
最新文档