程序设计基础试题一及答案

程序设计基础试题一及答案
程序设计基础试题一及答案

程序设计基础试题一及答案

一、填空题(每空1分,共10分)

(1)__________语言是计算机唯一能够识别并直接执行的语言。

(2)算法的复杂度包含两方面:和。

(3)__ 函数是C语言程序启动时惟一的入口。

(4)逗号表达式(a=3*4,a*5),则a的值为。

(5)数据的存储结构有两种:一种是顺序存储结构,另一种是______________。

(6)图的遍历有两种:_________________和广度优先搜索。

(7)对栈中元素的操作是按照“______________”的原则进行的。

(8)从是否关心软件内部结构和具体实现的角度,把软件测试分为__________________和_______________两类。

二、单选题(每题1分,共30分)

(1)世界上第一台电子计算机的英文名字为()。

A) EDVAC B)EDSAC C)ENIAC D) UNIVAC

(2)计算机的软件系统可分为()。

A)程序和数据 B)操作系统和语言处理系统

C)程序、数据和文档 D)系统软件和应用软件

(3)与十进制数100等值的二进制数是()。

A)0010011 B)1100010 C)1100100 D)1100110

(4)一个算法除了能对合法的输入数据得到正确的结果外,还应对非法的或者不合乎要求的输入数据作出正确合理的处理,这体现了算法的()。

A)正确性 B)健壮性 C)可读性 D)高效率

(5)程序设计应该遵守()的设计原则。

A) 自顶向下,逐步细化B) 自底向上,逐步细化

C) 自底向上,同步扩展D) 自顶向下,同步扩展

(6)下列关于注释的说法哪个是错误的()。

A)注释不是程序中的可执行语句

B)注释对于程序的执行有很重要的意义

C)注释将在程序的编译阶段被编译器剔除

D)编程时在程序中添加适当的注释是一个良好的编程风格

(7)下面四个选项中,不合法的用户标识符是()。

A)sum B)stu_name C)a>b D)_total

(8)设c是字符变量,以下语句中错误的是()。

A) c=’Y’; B) c=’\ \’; C) c=’Yes’; D) c =’\x23’

(9)判断char型变量ch是否为大写字母的正确表达式为()。

A) ‘A’<=ch<=’Z’ B) ‘a’<=ch<=’z’

C) (ch>=’A’)||(ch<=’Z’) D) (ch>=’A’)&&(ch<=’Z’)

(10)执行以下语句后b的值为()。

int a = 5 , b = 6 , w = 1 , x =2 , y = 3 , z = 4 ;

( a = w > x ) && ( b = y > z ) ;

A)6 B)0 C)1 D)4

(11)以下能正确地定义整型变量a,b和c并为其赋初值5的语句是()。

A) int a=b=c=5; B) int a,b,c=5;

C) int a=5,b=5,c=5; D) a=b=c=5;

(12)以下程序的运行结果是( )

main( )

{

int m = 5;

if ( m + + > 5) printf(“%d\n”, m);

else p rintf(“%d\n”,m - - );

}

A)4 B)5 C)6 D)7

(13)下面程序运行时从键盘上输入“15,20”,运行结果为( )。

#include “stdio.h”

void main()

{

int a,b,t;

t=0;

scanf("%d,%d",&a,&b);

if(a>b)

t=a;

a=b;

b=t;

printf("b=%d\n",b);

}

A)b=0 B)b=15 C)b=20 D)不确定

(14)以下程序段()

x = -1 ;

do

{ x = x * x ; }

while ( !x ) ;

A) 是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误

(15)执行下面语句后,变量i的值是()。

for(i=1;i++<4;) ;

A)3 B)4 C) 5 D) 不定

(16)若有说明:int a [10] ;则对a数组元素的正确引用是()。

A) a [10] B) a[3.5] C) a (5) D) a [10-10]

(17)以下能对二维数组a进行正确初始化的语句是()。

A) int a[2][ ] = {{1,0,1} , {5,2,3}}; B) int a[ ][3] = {{1,2,3},{4,5,6}} ;

C) int a[2][4] = {{1,2,3},{4,5},{6}} ; D)int a[ ][3] = {{1,0,1}{ },{1,1}} ;

(18)对两个数组a 和b进行如下初始化:

char a[ ] = “ABCDEF” ; char b[ ] = {‘A’,’B’,’C’,’D’,’E’,’F’} ;

则以下叙述正确的是()。

A)a与b数组完全相同 B)a与b长度相同

C)a和b中都存放字符串 D)a数组比b数组长度长

(19)关于函数,下列说法正确的是()。

A) 在程序中引入函数不但使程序结构清晰,而且可提高程序运行效率

B) 函数可以使程序结构清晰,但不能提高程序运行效率

C) 使用函数只是一种编程风格,既不能使程序结构清晰,也不能提高程序运行效率

D) 使用函数可以提高程序运行效率,但使程序结构趋于复杂

(20)所有在函数中定义的变量及函数的形式参数都属于()。

A)局部变量B)全局变量C) 外部变量D)常量

(21)以下正确的函数定义形式是()。

A) double fun (int x, int y ) B) double fun (int x ;int y)

C) double fun (int x, int y) ; D) double fun (int x,y) ;

(22)变量的指针,其含义是指该变量的()。

A) 值 B) 地址 C) 名 D)一个标志

(23)下面程序段的运行结果是()。

char *s = “abcde” ;

s + = 2 ; printf (“%d” ,s) ;

A) cde B) 字符’c’ C)字符’c’的地址 D)99

(24)下面程序段得运行结果为()。

#include

void main()

{

char s[80],*sp="HELLO!";

sp=strcpy(s,sp);

s[0]=h;

puts(sp);

}

A) h B) HELLO! C) hELLO! D)H

(25)树的典型特点是各个结点之间的关系是()。

A)没有直接关系 B)一对一关系C)一对多关系D)多对多

(26)在一个长度为n的顺序表中删除第i (0

A)n-i-1 B)n-i+1 C)n- i D)i

(27)有关二叉树的下列说法正确的是()。

A)二叉树的度为2

B)一棵二叉树的度可以小于2

C)二叉树中任何一个结点的度都为2

D)任何一棵二叉树中至少有一个结点的度为2

(28)用链表表示线性表的优点是()。

A)便于随机存取 B)便于插入和删除操作

C)花费的存储空间较顺序存储少 D)元素的物理顺序与逻辑顺序相同

(29)在有n个顶点的有向图中,每个顶点的度最大可达()。

A)2*n B)n+1 C)2*(n-1) D)n

(30)在软件需求完全确定的情况下,应该采用的软件开发模型是()。

A)螺旋模型B)瀑布模型 C)原型模型D)渐进式开发模型

三、程序填空题(每空4分,共20分)

(1)下面程序的功能是:输出1~100之间不能被3整除的所有整数,要求每行输出10个数,请填空。

main( )

{ int i,n=0;

for(i=1;i<=100;i++)

1

{if(i%3==0) ;

if(n%10==0) ;

printf("%6d",i);

n++;}

}

(2)下面程序的功能是:读入一个整数m,计算如下公式的值:

1 1 1 1 1

t = 1 + ── + ── + ── + ── + …… + ──

2 3 4 5 m

例如:若输入5,则应输出2.28333。

请在程序中三处横线上填入适当的内容。

double fun(int m)

{ float t=1.0; int i;

for(i=2;i<=m;i++) t+= ;

return ______ ; }

main ( )

{ int m;

printf("\nPlease enter 1 integer number:");

scanf("%d",&m);

printf("\nThe result is % \n",fun(m));}

四、编程与操作题(每题10分,共40分)

(1)编写程序输出输出九九乘法表。

(2)编写程序打印出以下的杨辉三角形,要求打印出前10行。

1

11

12 1

13 31

14 64 1

15 10105 1

16 1520156 1

(3)假设一棵二叉树的层次遍历序列为abcdefghij,中序遍历序列为dbgehjacif,请画出该二叉树。

(4)写出在数据序列3,9,11,20,29,46,77,80,97,100,120中用折半检索法查找数据20的过程,并生成其二叉判定树。

参考答案

一、填空题

(1)机器(2)时间复杂度空间复杂度(3)main (4) 12 (5)链式存储结构(6)深度优先搜索(7)先进后出或后进先出

(8)黑盒测试白盒测试

二、单选题

(1)~(5) CDCBA (6)~(10) BCCDA

(11)~(15) CCACC (16)~(20) DBDAA

(21)~(25) ABDCC (26)~(30) CBBCC

三、程序填空题

(1)continue printf(“\n”)

(2)1.0/i t f

四、编程与操作题

(1)

#include “stdio.h”

main()

{

int i,j;

for(i=1;i<=9;i++)

{

for(j=1;j<=i;j++)

{

printf("%d*%d=%d",j,i,i*j);

printf(",");

}

printf("\n");

}

}

(2)

#include “s tdio.h”

#define N 10

main()

{ int i,j,a[N][N];

for(i=0;i<10;i++)

{ a[i][i]=1;a[i][0]=1;}

for(i=2;i<10;i++)

for(j=1;j<=i-1;j++)

{ a[i][j]=a[i-1][j-1]+a[i-1][j];}

for(i=0;i<10;i++)

{ for(j=0;j<=i;j++)

printf("%3d",a[i][j]);

printf("\n");

}

}

(3)

(4)

因为20

a

d

b c

e

g h

f

i

3 9 11 20 29 46 77 80 97 100 120

low high

mid=(low+high)/2

i=0 1 2 3 4 5 6 7 8 9 10

3 9 11 20 29 46 77 80 97 100 120

1

因为20>T(mid)=11,所以检索后子表,置low=mid+1=3.

因为T (mid )=20,所以检索成功。 其二叉判定树为:

3

3 9 11 20 29 46 77 80 97 100 120 low

high mid=(low+high)/2

相关主题
相关文档
最新文档