东北大学期末考核《高级语言程序设计基础》期末考试备战高分题集

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

高级语言程序设计基础期末考试备战题集
第一部分(填空题):
1.下面关于计算机正确的是( )。

A.计算机由硬件系统和软件系统两部分构成
B.只要有硬件系统,计算机就能工作
C.计算机只能处理文本信息
D.计算机只能处理计算问题
答案:A
2.( )是c语言提供的合法的数据类型关键字。

A.Long
B. int
C.Char
D.integer
答案:B
3.软件按功能可以分为: 应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( )。

A.编译程序
B. 操作系统
C.教务管理系统
D.汇编程序
答案:C
4.以下选项中关于C语言常量的叙述错误的是( )。

A.所谓常量,是指在程序运行过程中,其值不能被改变的量
B.常量分为整型常量、实型常量、字符常量和字符串常量
C.常量可分为数值型常量和非数值型常量
D.经常被使用的变量可以定义成常量
答案:D
5.下面描述中正确的是()。

A.C语言提供了专门的输入/输出语句
B.C语言调用输入/输出函数时需要使用include命令包含头文件
C.C语言可以直接使用输入/输出函数
D.输入/输出函数所在的头文件是stdlib.h
答案:B
6.假设有char型变量c1,c2,执行下面程序段:
c1=gatchar( );
c2=gatchar( );
printf(“c1=%c,c2=%c\n”,c1,c2);
如果c1和c2的值分别为字符a和b,则从键盘正确的输入方式是()。

A.ab<回车>
B.a<回车>b<回车>
B.C.a<空格>b<回车> D.a<tab>b<回车>
答案:A
7.执行下面程序段的结果是()。

int a=10,b=2021
floatx=1.234,y=123.0;
printf(“a=%d,b=%d,x=%f,y=%f\n”,a,b,c);
A.a=10,b=2021=1.234,y=123.0
B.a=10,b=2021=1.234000,y=123.000000
C.10,1.234,1.234000,123.000000
D.10,1.234,1.234,123.0
答案:B
8.有如下语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确格式是( )。

A.132
B.1,3,2
C.a=1,b=3,c=2
D.a=1 b=3 c=2
答案:C
9.下面哪组是正确的运算符()。

A. << || +++
B.=> == ++
C.= ?: %
D. sizeOF ++ &
正确选项:C
10.下面说法正确的是()。

A.表达式计算时要考虑运算符的优先级和结合性
B.表达式计算需要考虑运算符的优先级
C.表达式计算时需要考虑运算符的结合性
D.括号()可以改变运算符的优先级
正确选项:A
11.逻辑运算符两侧运算对象的数据()。

A.只能是0或1
B.只能是0或非0正数
C.只能是整型或字符型数据
D.可以是任何类型的数据正确选项:D
12.正确描述数学式10≤x≤10的表达式是()。

A. -10<=x<=10
B.-10<=x&&x<=10
C.x>=-10&x<=10
D.-10<=x||x<=10
正确选项:B
13.结构化程序的实现由( )组成程序逻辑。

A. 顺序结构
B. 分支结构
C. 循环结构
D. 顺序结构、分支结构和循环结构
答案:D
14.假设变量a为整型量,语句if (a!=0);和语句if(a);相比较,正确答案()。

15. A. 两者作用不同 B. 两者作用等价
16.C. 两者作用相反 D. if(a)语法错
答案:B
17.阅读下面程序:该程序( )。

18. #include "stdio.h"
19. main( )
20. {
int x=-10, y=5, z=0;
if (x=y+z)
printf("***\n" );
else
printf("$$$\n");
}
A. 有语法错不能通过编译
B. 输出***
C. 可以通过编译但不能通过连接
D. 输出$$$
正确选项:B
21.阅读程序,该程序的输出结果是( )。

22.void main( )
23. { int x=0,a=1,b=1;
24. switch(x){
25. case 0: a++;
26. case 1: b++;break;
27. case 2: a++;b++;
28. }
29. printf("a=%d,b=%d\n",a,b);
30.}
31. A. a=3,b=3 B. a=2,b=2
32.C. a=1,b=1 D. 没有正确结果
答案:B
33.设有:int x=100,y;
for(y=100;x!=y;++x,y++)
printf("****\n");
则关于以下for循环的正确判断是()。

A. 循环体只执行一次
B. 是无限循环
C. 循环体一次都不执行
D. for语句中存在语法错误
答案:C
34.以下不是无限循环的是()。

35. A. for(y=6,x=1;x<y;x+=2,y-=2) ; B. for( ; ; ) ;
36.C. while(-5) x++; D. for(i=2021; i--) sum+=i;答案:A
37.以下程序段中的do-while循环()。

m=-1;
do
{ m=m*m;
}while(!m);
A.是死循环
B.执行二次
C.执行一次
D.有语法错误
正确选项:C
38.以下对二维数组a的正确说明是()。

A.int a[3][];
B.float a(3,4);
C.double a[1][4];
D.float a(3)(4);
答案:C
39.在C语言中,引用数组元素时,其数组下标的数据类型允许是()。

A.整型常量
B.整型表达式
C.整型常量或整型表达式
D.任何类型的表达式
答案:C
40.以下正确的函数说明是()。

A.int fun(int a, b);
B. float fun(int a; int b);
C.double fun( );
D. int fun(char a[ ][ ]);
答案:C
41.以下正确的描述是()。

A. 定义函数时,形参的类型说明可以放在函数体内
B. return后面的值不能为表达式
C. 如果函数类型与rerutn返回值类型不一致,以函数类型为准
D. 如果实参与形参的类型不一致,以实参类型为准
答案:C
42.以下程序的运行结果是()。

main( )
{ int a=1, k;
for (k=0; k<3; k++)
printf("%4d", f1(a));
}
f1(int x)
{ static int z=3, y=0;
y++;
z++;
return(x+y+z);
}
A.6 8 10
B.
6 6 6
C. 7 8 9
D. 7 9 11答案:A
43.程序中对fun函数有如下说明: void fun( );
下面说明是错误的是( )。

A. fun函数无返回值
B. fun函数的返回值可以是任意的数据类型
C. fun函数没有形式参数
D. void可以省略
答案:B
第二部分(编程题):
1.输入三个整数x,y,z,请把这三个数由小到大输出。

答案:
#include “stdio.h”
#include “conio.h”
main( )
{
int x,y,z,t;
scanf(“%d%d%d”,&x,&y,&z);
if (x>y)
{t=x;x=y;y=t;} /*交换x,y的值*/
if(x>z)
{t=z;z=x;x=t;} /*交换x,z的值*/
if(y>z)
{t=y;y=z;z=t;} /*交换z,y的值*/
printf(“small to big: %d %d %d\n”,x,y,z);
getch( );
}
2.古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
正确选项:
#include "stdio.h"
#include "conio.h"
main( )
{
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=2021++)
{
printf("%12ld %12ld",f1,f2);
if(i%2==0) printf("\n"); /*控制输出,每行四个*/
f1=f1+f2; /*前两个月加起来赋值给第三个月*/
f2=f1+f2; /*前两个月加起来赋值给第三个月*/ }
getch( );
}。

相关文档
最新文档