山东女子学院成人教育《程序设计基础》期末考试复习题及参考答案.docx
《山东女子学院成人教育《程序设计基础》期末考试复习题及参考答案.docx》由会员分享,可在线阅读,更多相关《山东女子学院成人教育《程序设计基础》期末考试复习题及参考答案.docx(21页珍藏版)》请在冰豆网上搜索。
![山东女子学院成人教育《程序设计基础》期末考试复习题及参考答案.docx](https://file1.bdocx.com/fileroot1/2023-1/14/5f72c450-80b5-4f17-8f01-8bfb41526a45/5f72c450-80b5-4f17-8f01-8bfb41526a451.gif)
山东女子学院成人教育《程序设计基础》期末考试复习题及参考答案
1.结构体类型的定义允许嵌套是指()。
A成员是已经或正在定义的结构体型
B成员可以重名
C结构体型可以派生
D定义多个结构体型
参考答案:
A
2.在C语言中,形参的缺省存储类是()。
Aauto
Bregister
Cstatic
Dextern
参考答案:
A
3.若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为()。
Aprintf("%d",*(a+5));
Bprintf("%d",p[5]);
Cprintf("%d",*(p+5));
D.printf("%d",*p[5]);
参考答案:
D
4.若有int*p=(int*)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为()。
Ascanf("%d",p);
Bscanf("%d",&p);
Cscanf("%d",*p);
Dscanf("%d",**p);
参考答案:
A
5.以下叙述中不正确的是()。
A一个好的程序应该有详尽的注释
B在C程序中,赋值运算符的优先级最低
C在C程序中,j++;是一条赋值语句
DC程序中的#include和#define均不是C语句
参考答案:
B
6.以下有关类和对象的叙述不正确的是()。
A对象是类的一个实例
B任何一个对象都归属于一个具体的类
C一个类只能有一个对象
D类与对象的关系和数据类型与变量的关系相
参考答案:
C
7以下叙述中正确的是()。
A在程序的一行上可以出现多个有效的预处理命令行
B使用带参的宏时,参数的类型应与宏定义时的一致
C宏替换不占用运行时间,只占编译时间
D在以下定义中CR是称为“宏名”的标识符#defineCR045
参考答案:
C
8.以下有关构造函数的叙述不正确的是()。
A构造函数名必须和类名一致
B构造函数在定义对象时自动执行
C构造函数无任何函数类型
D在一个类中构造函数有且仅有一个
参考答案:
D
9.下列()不是语句。
Acout<<
B"abc"
Ca+b;
Da++;
参考答案:
A
10.以下关于for循环的说法不正确的是()。
AFor循环只能用于循环次数已经确定的情况
BFor循环是先判定表达式,后执行循环体语句
CFor循环中,可以用break语句跳出循环体
DFor循环体语句中,可以包含多条语句,但要用花括号括起来
参考答案:
A
11.在C语言中,char型数据在内存中的存储形式是()。
A补码
B反码
C原码
DASCI码
(答案)D
12.以下不正确的叙述是()
A在C程序中,每行只能写一条语句
B若a是实型变量,C程序中允许赋值A=10,因此实型变量中允许存放整型
C在C程序中,无论是整数还是实数,都能被准确无误地表示
D在C程序中,%是只能用于整数运算的运算符
参考答案:
ABC
13.若有说明inta[3][4];则a数组元素的非法引用是()。
Aa[0][2*1]
Ba[1][3]
Ca[4-2][0]
Da[0][4]
参考答案:
D
14.C语言中三种基本的类型为()。
Aint
Bchar
Cfloat
Dstruct
参考答案:
ABC
15.设C语言中,int类型数据占2个字节,则short类型数据占()。
A1个字节
B2个字节
C4个字节
D8个字节
参考答案:
B
16.以下选项中不合法的字符常量是()。
AB
B010'
C68
DD
参考答案:
ACD
17.提供函数重载机制的意义在于()。
A实现程序代码共享
B使用方便,提高可读性
C提高函数运行效率
D减少函数存储空间
(答案】B
18.以下运算符中,优先级最高的运算符是()。
AII
B%
B!
D=
参考答案:
C
19以下对C语言函数的描述中,正确的是()。
AC程序必须由一个或一个以上的函数组成
BC函数既可以嵌套定义又可以递归调用
CC函数必须有返回值,否则不能使用函数
DC程序中有调用关系的所有函数必须放在同一个程序文件中
参考答案:
A
20.以下只有在使用时才为该类型变量分配内存的存储类说明是()。
Aauto和static
Bauto和register
Cregister和static
Dextern和register
参考答案:
B
21.在C++的类继承中,不能被派生类继承的有()。
A类型转换函数
B构造函数
C虚函数
D静态成员函数
参考答案:
D
22.以下的选择中,正确的赋值语句是()。
Aa=1,b=2
Bj十十
Ca=b=5;
Dy=int(x)
参考答案:
C
23.下列说法不正确的是()。
A对象可以赋值给数组元素
B对象可以用作函数参数
C对象之间不可以相互赋值
D对象可以用作另一对象的数据成员
参考答案:
C
24.C++中,被private修饰的成员能被()访问。
A父类
B子类
C除了自身之外均不能访问
D友元
参考答案:
D
25.能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是()。
Aa>=5ora<=0
Ba>=5|a<=0
Ca>=5&&a<=0
Da>=5|a<=0
参考答案:
D
26关于C#程序的书写,下列不正确的说法是()。
A区分大小写一行可以写多条语句
B一条语句可以写成多行
C一个类中只能有一个Main()方法,因此
D多个类中可以有多个Main()方法
参考答案:
D
27C++借助于()实现封装。
A结构
B类
C数组
D函数
参考答案:
B
28.chara[]="Thisisaprogram.";输出前5个字符的语句是()。
Aprintf("%.5s",a);
Bputs(a);
Cprintf("%s",a);
Da[5*2]=0;puts(a);
参考答案:
A
29.t为int类型,进入下面的循环之前,t的值为Odo{·······.·}while(t==1);则以下叙述中正确的是()
A循环控制表达式的值为0
B循环控制表达式的值为1
C循环控制表达式合法
D以上说法都不对
参考答案:
AC
30.下列语句执行后a的值为()。
a=6+5%2-5/2;
A6
B5.5
C5
D7
参考答案:
C
31.inta=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为()。
A1
B2
C3
D不一定
参考答案:
A
32.下列关于注释的说法哪个是错误的()。
A注释不是程序中的可执行语句
B注释对于程序的执行有很重要的意义
C注释将在程序的编译阶段被编译器剔除
D编程时在程序中添加适当的注释是一个良好的编程风格
参考答案:
B
33.算法设计应该遵守()的设计原则。
A自底向上,逐步求精
B自顶向下,逐步求精
C自底向上,』同步扩展
D自顶向下,同步扩展
参考答案:
B
34假定int类型变量占用两个字节,若有定义:
int[]x=newint|10]{0,1,2,3,4};,则数组x在内存
中所占字节数是()。
A10
B20
C40
D80
参考答案:
A
35应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。
Afclose()
Bclose()
Cfread()
Dfwrite
参考答案:
A
36下面那些为合法整型常量()
A190
BOxf
C765
DOxk
参考答案:
ABC
37.lf语句后面的表达式应该是()。
A逻辑表达式
B条件表达式
C算术表达式
D任意表达式
参考答案:
A
38.关于while语句与do-while语句,以下正确的是()。
Awhile是当型结构
Bdo-while是直到型结构
C两者有区别
D两者无区别
参考答案:
ABC
39.下述4种情况中,最适宜采用内联函数方式实现的是()。
A函数代码多,不常调用
B函数代码少,经常调用
C函数为递归调用函数
D函数体含有复杂的循环语句
参考答案:
B
40.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!
y)的值是()。
A0
B语法错
C1
D假
参考答案:
C
41.以下正确的说法是:
在C语言中()。
A实参和与其对应的形参各占用独立的存储单元
B实参和与其对应的形参共占用一个存储单元
C只有当实参和与其对应的形参同名时才共占用存储单元
D形参是虚拟的,不占用存储单元
参考答案:
A
42.下列语句中正确的是()。
AenumDoctor{Tom,Lily,Mark};
BenumDoctor{char*Tom,char*Lily,char*Mark};
CstructStudent{name,sex,age};
DstructStudent{char*name,char*sex,intage};
参考答案:
A
43下列为c语言的关键字是()
Aif
Bstruct
Cunion
DInt
参考答案:
ABC
44.函数rewind的作用是()。
A使位置指针重新返回文件的开头
B将位置指针指向文件中所要求的特定位置
C使位置指针指向文件的末尾
D使位置指针自动移至下一个字符位置
参考答案:
A
45.下列哪种方式不是高级语言中参数的传递机制()。
A传值调用
B函数调用
C传址调用
D引用调用
参考答案:
B
46.有定义语句:
int[,]a=newint[5,6],则下列正确的数组无素的引用是()。
Aa(4,5)
Ba(4)(5)
Ca[4][5]
Da[4,5]
参考答案:
D
47.以下运算符中,优先级最高的运算符是()。
A=
B!
=
C(乘号)
D()
参考答案:
D
48.以下标识符中,不能作为合法的C用户定义标识符的是()。
Aputchar
Bdouble
C123
DINT
参考答案:
C
49所有在函数中定义的变量及函数的形式参数都属于()。
A全局变量
B局部变量
C外部变量
D常量
答案】B
50.以下叙述正确的是()。
Ado···while语句构成的循环不能用其他语句构成的循环来代替
Bdo···while语句构成的循环只能用break语句退出
C用do···while语句构成的循环,在while后表达式为true时结束循环
D用do···while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式
参考答案:
D
51.设有以下定义inta=0;doubleb=1.25;charc='A';#defined2则下面语句中正确的是()。
Aa++;
Bb++;
Cc++;
Dd++;
参考答案:
ABC
52.C语言中要求对变量作强制定义的主要理由是()。
A便于移植
B便于写文件
C便于编辑预处理程序的处理
D便于确定类型和分配空间
参考答案:
D
53下列程序的输出结果是()。
main(){intx=1,y=0,a=0,b=0;switch(x){case1.switch(y){case0.a++;break;case1.b++;break;}case2.a+-じ
Aa=1,b=2
Ba=2,b=1
Ca=1,b=1
Da=2,b=2
参考答案:
B
54.下列数组初始化语句错误的是()。
Achars[3]=“abc”;
BcharLetter[2][3]={'a','b','c','d','e','f'};
CintStudent[5]={1,2,3};
Dinta[2][3]={{1,2,3},{4,5,6}};
参考答案:
A
55.已知函数的调用形式fread(buffer,size,count,fp);其中buffer代表的是()。
A一个整数,代表要读入的数据项总数
B一个文件指针,指向要读的文件
C一个指针,指向要读入数据的存放地址
D一个存储区,存放要读的数据项
参考答案:
C
56.关于建立函数的目的,以下正确的说法是()。
A提高程序的执行效率
B提高程序的可读性
C减少程序的篇幅
D减少程序文件所占内存
参考答案:
B
57.下列哪个的函数原型的定义是正确的()。
AintMoveToPosition(intx=0,inty,intz=0);
BintMoveToPosition(x=0,y,z=0);
CintMoveToPosition(intx,inty=0,int:
(0=Z
DintMoveToPosition(intx=0,inty=0,intz);
参考答案:
C
58.对以下说明语句inta[10]={6,7,8,9,10};的正确理解是()o
A将5个初值依次赋给a[1]至a[5]
B将5个初值依次赋给a[0]至a[4]
C将5个初值依次赋给a[6]至a[10]
D因为数组长度与初值的个数不相同,所以此语句不正确
参考答案:
B
59下列程序设计语言中()是面向对象语言。
AFORTRAN
BC语言
CC++
D汇编语言
参考答案:
C
60.要退出应用程序的执行,应执行下列的()语句。
AApplication.Exit();
BApplication.Exit;
CApplication.Close();
DApplication.Close;
参考答案:
A
61.关于for(表达式1,表达式2,表达式3)循环,以下正确的是()。
A三个表达式都不可省略
B表达式1可以省略
C表达式2可以省略
D表达式3可以省略
参考答案:
BCD
62.NET的目的就是将()作为新一代操作系统的基础,对互联网的设计思想进行扩展。
A互联网
BWindows
CC#
D网络操作系统
参考答案:
A
63在C#语言中,下列能够作为变量名的是()。
Aif
B3ab
Cb3a
Da-bc
参考答案:
C
64.逻辑运算符两侧运算对象的数据类型()。
A只能是0或1
B只能是0或非0正数
C只能是整型或字符型数据
D可以是任何类型的数据
参考答案:
D
65.在C语言中,能代表逻辑值“真”的是()。
ATRUE
B大于0的数
C非0整
D非0的数
参考答案:
D
1.一个C源程序可以由一个main()函数和若干个其它函数组成。
A正确
B错误
参考答案:
正确
2.当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。
A正确
B错误
参考答案:
错误
3.在C程序中,注释说明只能位于一条语句的后面。
A正确
B错误
参考答案:
错误
4.C语言可以直接访问物理位元元址。
()
A正确
B错误
答案]正确
5.可以将一个整型数据赋给一个指针变量,如p=2000.Α正确
B错误
参考答案:
错误
6.自增自减运算符++,--可以用于int型、float型和double型资料。
()
A正确
B错误
答案)正确
7.语句char*str="Howareyou!
"的含义是将字符串存入到变量str中。
A正确
B错误
(答案)错误
8.若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是()。
Aa=b=c=d=100;
Bd++;
Cc+b;
Dd=(c=22)-(b++);
参考答案:
ABD
9.有unsignedinta=16;a=a<<2;则a的值是64.()
A正确
B错误
【答案正确
10.用指针变量做函数参数时,参数间进行的是地址传递。
A正确
B错误
参考答案:
正确
11.若a=2,b=-4;则执行a||b++后,b为-4.()
A正确
B错误
参考答案:
正确
12字符串常量"China!
"在存储时,系统为其分配7个字节的空间。
A正确
B错误
参考答案:
正确
13实参和与其对应的形参占用不同的存储单元。
Α正确
B错误
【答案)正确
14.continue语句可用于switch语句,也可用于for、while和do循环语句中。
()
A正确
B错误
参考答案:
错误
15若定义charstr[];则str="yellow";是正确的。
()
A正确
B错误
参考答案:
错误
16数组初始化时,初始值个数小于数组元素的个数,C语言自动将剩余的元素初始化为初始化列表中的最后一个初始值。
A正确
B错误
参考答案:
错误
17在某种意义上,char和int通用。
()
A正确
B错误
参考答案:
正确
18.宏不存在类型问题,宏名无类型,它的参数也无类型。
A正确
B错误
参考答案:
正确
19.格式字符%md中的m只能为正,不能为负。
()
A正确
B错误
【(答案】正确
20ar和putchar函数能够在标准输入输出设备上输入或输出字符,使用时必须在程序的开
头写上#include"string.h".A正确
B错误
【(答案】错误
21.假设变量x的值为10,要输出x值,下列正确的语句是()。
ASystem.Console.writeline("x")
BSystem.Cosole.WriteLine(“x”)
CSystem.Console.WriteLine(“x={0}”,x)
DSystem.Console.WriteLinel“x={x}”)
参考答案:
C
22.下列程序的输出结果是()。
main(){charc1=97,c2=98;printf("%d%c",c1,c2);}
A9798
B97b
Ca98
Dab
参考答案:
B
23.若有intx,y,z;x=y=z=1;则执行++x&&++y&&++z后,x,y,z的值分别为2,1,1.(
A正确
B错误
【答案)错误
1.叙述程序段的功能,写出程序的结果。
ints=0,t=3,i:
for(i=1;i<=3;i++){
s=s+t:
t=10*t+3:
printf("%d",s);
参考答案:
369功能是计算S的值:
S=3+33+333
2.写出运行结果。
intmain()
inti.x.a.b.c.0.24-0
for(1-0,1.10.1.+)1
scanf(d'.&x):
if(x'0)a++:
elseif(x<0)b4:
elsec4:
printf('ed.d.od",a.b.c);
rettrn0:
参考答案:
统计10数中的正数、负数、和0的个数。
3.staticcharc[]=”
Chinese
char*p;
p=a;
while(*p)
printf(“%c”
,*p-32);
参考答案:
死循环
4.写出运行结果。
inta=5:
voidfun(intb){
inta=10;
a+=b++;printf("%d",a);
{
intmain(){
intc=20;
fun(c);
a+=c++;
printf("%d\n",a);
参考答案:
24、3020
1.简述面向对象分析的主要原则。
参考答案:
面向对象分析的主要原则为:
构造与分解、抽象化与具体化、封装、相关和行为约束。
2.什么是软件生命周期?
它分为哪几个阶段?
参考答案:
对于一个软件的研制,从问题的提出,经过开发、使用、维护、修订,直到最后中止使用,
软件这个状态变化的过程称为软件的生命周期。
软件生命周期分为可行性分析、需求分
析、概要设计、详细设计、编码、测试、维护等阶段。
3.结构化程序设计方法的主要技术是什么?
参考答案:
结构化程序设计方法的主要技术是自顶向下、逐步求精。
具体地说,就是在接受一个任务之
后,纵观全局,先设想好整个任务分为几个子任务,每一个子任务又可以进行细分,直到不
需要细分为止。
这种方法就叫做"自顶向下、逐步求精"。
采用这种方法考虑问题比较周全,
结构清晰,层次分明。
用这种方法也便于验证算法的正确性。
在向下一层细分之前应检查本
层设计是否正确,只有上一层是正确的才可以继续细分。
如果每一层设计都没有问题,则整
个算法就是正确的。
由于每一层向下细分时都不太复杂,因此容易保证整个算法的正确性。
检查时也是由上而下逐层检查,这样做思路清晰,可以有条不紊地一步一步地进行,既严谨
又方便。
4.算法的5个特性是什么?
算法与程序的区别有哪些?
参考答案:
算法的五个特性:
输入、输出、确定性、有限性、可行性算法与程序的区别在于:
有限性并不是用于程序,比如操作系统;在描述方法上二者也不同,程序总要用某种设计语言来书写并最终被其所运行,而算法却没有这种限制,其描述方式相对灵活。
5.冯·诺伊曼原理的主要思想是什么?
参考答案:
"冯·诺伊曼原理"的主要思想就是"存储程序控制"原理。
"存储程序控制"原理的基本内容是:
(1)用二进制形式表示数据和指令;
(2)将程序(数据和指令序列)预先存放在主存储器中,使计算机在工作时能够自动高速地从存储器中取出指令,并加以执行,这是"存储程序控制"的基本特点;(3)确立了计算机系统的5大基本部件:
存储器、控制器、运算器、输入设备和输出设备,同时也规定了5大部件的基本功能。
冯·诺依曼型计算机的两大特征是"程序存储"和"采用二进制"。
冯·诺伊曼思想实际上是电子计算机设计的基本思想,奠定了现代电子计算机的基本结构,开创了程序设计的时代
6.简述函数重载的意义及如何实现函数重载。
(答案】
当需要多个函数对不同类型数据进行相同处理时,定义同名函数会为程序的编写带来极大方
便,使用方便,提高可读性,这种定义同名函数的语法就是函数重载。
函数重载分为两种方
式:
参数类型不同、参数个数不同。
7.快速开发原型的途径有哪些?
参考答案:
(1)利用计算机模拟软件系统的人机界面和人机交互方式。
(2)开发一个工作原型,实现软件系统的部分功能,而这部分功能是重要的,也可能是容易产生误解的。
(3)利用类似软件向客户展示软件需求中的部分或全部功能。
8高级语言解释执行的一般步骤是什么?
解释执行
【答案)
解释执行需要有一个解释程序,它将源代码程序逐句读入,然后直接分析语句的含义,立刻
9.给出执行结果。
由于解释执行时只看到一个语句,难于优化、执行效率较低。
10.简述计算机程序设计语言的分类和各类的特点。
参考答案:
一般分为三类:
机器语言(也称机器指令集),汇编语言和高级语言。
机器语言是每台计算机出厂时,厂家都为它配备一套机器语言,不同的计算机,其机器语言通常是不同的。
由于机器语言是面向具体机器的,所以其程序缺乏通用性,编写程序的过程繁琐复杂,易出错,错了又不易查找和修改,编出的程序可读性极差。
汇编语言是机器语言的符号化形式。
用汇编语言编写的程序(又称源程序)经汇编器加工处理后,就转换成可由计算机直接执行的目标程序。
汇编语言提高了程序设计效率和计算机利用率。
汇编语言仍属面向机器的一种低级语言,其程序的通用性和可读性较差。
高级程序设计语言是指通用性好,不必对计算机的指令系统有深入的了解就可以编写程序。
采用高级语言编写的程序在不同型号的计算机上只需做某些微小的改动便可运行,