admin 管理员组文章数量: 1086019
2025年1月2日发(作者:google 商店 下载)
程序设计基础试题一及答案
考试时间: 总分:
题号 一 二 三 四 五
得分
一、填空题(每空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(“%dn”, m);
else printf(“%dn”,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)
1
t=a;
a=b;
b=t;
printf("b=%dn",b);
}
A)b=0 B)b=15 C)b=20 D)不确定
(14)以下程序段( )
x = -1 ;
do
while ( !x ) ;
A) 是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误
15)执行下面语句后,变量i的值是( )。
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++)
2
{ x = x * x ; }
(
for(i=1;i++<4;) ;
(
(
(
(
(
(
(
{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的
过程,并生成其二叉判定树。
3
参考答案
一、填空题
(1)机器 (2)时间复杂度 空间复杂度 (3)main (4)
(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 “stdio.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)
a
b c
d e f
g h i
(4)
i=0
1 2 3 4 5 6 7 8 9 10
3 9 11 20 29 46 77 80 97 100 120
low mid=(low+high)/2 high
因为20 i=0 1 2 3 4 5 6 7 8 9 10 3 9 11 20 29 46 77 80 97 100 120 4 low mid=(low+high)/2 high 12 因为20>T(mid)=11,所以检索后子表,置low=mid+1=3. i=0 1 2 3 4 5 6 7 8 9 10 3 9 11 20 29 46 77 80 97 100 120 low high mid=(low+high)/2 因为T(mid)=20,所以检索成功。 其二叉判定树为: 46 11 97 3 20 77 100 9 29 80 120 5
版权声明:本文标题:程序设计基础试题一及答案 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735840168a1694690.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论