没有合适的资源?快使用搜索试试~ 我知道了~
大学计算机基础及C语言程序设计补学分复习资料.doc
0 下载量 149 浏览量
2023-07-08
21:12:19
上传
评论
收藏 406KB DOC 举报
温馨提示
试读
59页
大学计算机基础及C语言程序设计补学分复习资料.doc
资源推荐
资源详情
资源评论
大学计算机基础及 C 语言程序设计补学分复习资料
复习题 1
1. 选择题
(1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再
依次出栈,则元素出栈的顺序是
A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA
(2)下列叙述中正确的是
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B)在循环队列中,只需要队头指针就能反应队列中元素的动态变化情况
C)在循环队列中,只需要队尾指针就能反应队列中元素的动态变化情况
D)循环队列中元素的个数是由队头和队尾指针共同决定
(3)在长度为 n 的有序线性表中进行二分查找,最坏情况下需要比较的次数是
A)O(N) B)O(n
2
) C)O(log
2
n
) D)O(n log
2
n
)
(4)下列叙述中正确的是
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
C)顺序存储结构能存储有序表,链式存储结构不能存储有序表
D)链式存储结构比顺序存储结构节省存储空间
(5)数据流图中带有箭头的线段表示的是
A)控制流 B)事件驱动 C)模块调用 D)数据流
(6)在软件开发中,需求分析阶段可以使用的工具是
A)N-S 图 B)DFD 图 C)PAD 图 D)程序流程图
(7)在面向对象方法中,不属于“对象”基本特点的是
A)一致性 B)分类性 C)多态性 D)标识唯一性
(8)一间宿舍可住多个学生,则实体宿舍和学生之间的联系是
A)一对一 B)一对多 C)多对一 D)多对多
(9)在数据管理技术发展的三个阶段中,数据共享最好的是
A)人工管理阶段 B)文件系统阶段 C)数据库系统阶段 D)三个阶段相同
(10)有三个关系 R、S 和 T 如下:
R S T
A
B
B
C
A
B
C
m
1
1
3
m
1
3
n
2
3
5
由关系 R 和 S 通过运算得到关系 T,则所使用的运算为
A)笛卡尔积 B)交 C)并 D)自然连接
(11)以下叙述中正确的是
A)C 程序的基本组成单位是语句 B)C 程序中每一行只能写一条语句
C)简单 C 语句必须以分号结束 D)C 语句必须在一行内写完
(12)计算机能直接执行的程序是
A)源程序 B)目标程序 C)汇编程序 D)可执行程序
(13)以下选项中不能作为 C 语言合法常量的是
A)′cd′ B)0.1e+6 C)″\a″ D)″\011″
(14)以下选项中正确的定义语句是
A)double a;b; B)double a=b=7;
C)double a=7,b=7; D)double ,a,b;
(15) 以下不能正确表示代数式 的 C 语言表达式是______。
A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2 D)2*a*b/c*d
(16)C 源程序中不能表示的数制是
A)二进制 B) 八进制 C) 十进制 D) 十六进制
(17) 若有表达式(w)?(--x):(++y),则其中与 w 等价的表达式是
A) w= =1 B) w= =0 C)w!=1 D) w!=0
(18) 执行以下程序段后,w 的值为
int w=′A′,x=14,y=15;
w=((x||y)&&(w<′a′));
A)-1 B)NULL C)1 D) 0
(19)若变量已正确定义为 int 型,要通过语句 scanf(“%d,%d,%d ”,&a,&b,&c);给 a 赋值
1,给 b 赋值2, 给 c 赋值3, 以下输入形式中错误的是(u 代表一个空格符)
A)uuu1,2,3<回车> B)1u2u3<回车>
C)1,uuu2, uuu3<回车> D)1,2,3<回车>
(20) 有以下程序段
int a,b,c;
a=10; b=50; c=30;
if(a>b)a=b,b=c;c=a;
printf(″a=%d b=%d c=%d \n″,a,b,c);
程序的输出结果是
A) a=10 b=50 c=10 B) a=10 b=50 c=30
C) a=10 b=30 c=10 D) a=50 b=30 c=50
(21) 若有定义语句:int m[]={5,4,3,2,1},i=4;,则下面对 m 数组元素的引用中错误的是
A) m[--i] B)m[2*2] C)m[m[0]] D)m[m[i]]
(22)下面的函数调用语句中 func 函数的实参个数是
func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));
A)3 B) 4 C)5 D)8
(23)若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用 x 数组元素
的是
A)*p B)x[5] C)*(p+1) D)*x
(24) 若有定义语句:char s[10]= ″1234567\0\0″;,则 strlen(s)的值是
A)7 B)8 C)9 D)10
(25)以下叙述中错误的是
A) 用户定义的函数中可以没有 return 语句
B)用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值
C)用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型
D)函数的 return 语句中可以没有表达式
(26)以下关于宏的叙述中正确的是
A)宏名必须用大写字母表示 B)宏定义必须位于源程序中所有语句之前
C)宏替换没有数据类型限制 D)宏调用比函数调用耗费时间
(27)有以下程序
#include <stdio.h>
main()
{ int i,j;
for(i=3;i>=1;i--)
{ for(j=1;j<=2;j++) printf("%d",i+j);
printf("\n ") ;
}
}
程序的运行结果是
A) 2 3 4 B) 4 3 2 C) 2 3 D) 4 5
3 4 5 5 4 3 3 4 3 4
4 5 2 3
(28)有以下程序
#include <stdio.h>
main()
{ int x=1,y=2,z=3;
if(x>y)
if(y<z) printf("%d",++z);
else printf("%d",++y);
printf("%d\n", x++ );
}
程序的运行结果是
A)331 B)41 C)2 D)1
(29)有以下程序
#include <stdio.h>
main()
{ int i=5;
do
{ if(i%3==1)
if(i%5==2){ printf(“*%d”,i);break; }
i++;
} while(i!=0);
printf(“\n”);
}
程序的运行结果是
A)*7 B)*3*5 C)*5 D)*2*6
(30)有以下程序
#include <stdio.h>
int fun(int a,int b)
{ if(b==0) return a;
else return(fun(--a,--b));
}
main()
{ printf("%d\n", fun(4,2));}
程序的运行结果是
A) 1 B)2 C)3 D)4
(31)有以下程序
#include <stdio.h>
#include <stdlib.h>
int fun( int n )
{ int *p;
p=(int*)malloc(sizeof(int));
*p=n;return *p;
}
main()
{ int a;
a = fun(10);printf("%d\n",a+fun(10));
}
程序的运行结果是
A)0 B)10 C)20 D)出错
(32)有以下程序
#include <stdio.h>
void fun( int a,int b)
{ int t;
t=a;a=b; b=t;
}
main()
{ int c[10]={1,2,3,4,5,6,7,8,9,0}, i;
for(i=0;i<10;i+=2)fun(c[i], c[i+1]);
for(i=0;i<10;i++) printf("%d," ,c[i]);
printf("\n");
}
程序的运行结果是
A)1,2,3,4,5,6,7,8,9,0 B)2,1,4,3,6,5,8,7,0,9
C)0,9,8,7,6,5,4,3,2,1 D)0,1,2,3,4,5,6,7,8,9
(33) 有以下程序
#include <stdio.h>
struct st
{ int x, y;} data[2]={1,10,2,20};
main()
{ struct st *p=data;
printf("%d,",p->y); printf("%d\n",(++p)->x);
}
程序的运行结果是
A)10,1 B)20,1 C)10,2 D)20,2
(34) 有以下程序
#include <stdio.h>
void fun(int a[],int n)
{ int i,t;
for(i=0;i<n/2;i++){ t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{ int k[10]={1,2,3,4,5,6,7,8,9,10},i;
fun(k,5);
for(i=2;i<8;i++) printf("%d",k[i]);
printf("\n");
}
程序的运行结果是
A)345678 B)876543 C)1098765 D)321678
(35) 有以下程序
#include <stdio.h>
#define N 4
void fun(int a[][N], int b[])
{ int i;
for(i=0;i<N;i++) b[i] = a[i][i];
}
main()
{ int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;
fun(x,y);
for(i=0;i<N;i++) printf("%d,",y[i]);
printf("\n");
}
程序的运行结果是
A)1,2,3,4, B)1,0,7,0, C)1,4,5,9, D)3,4,8,10,
(36)有以下程序
#include <stdio.h>
int fun(int (*s)[4],int n, int k)
{ int m,i;
m=s[0][k];
for(i=1;i<n;i++)if(s[i][k]>m)m= s[i][k];
return m;
}
main()
{ int a[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},{31,32,33,34}};
printf("%d\n",fun(a,4,0));
}
程序的运行结果是
A)4 B)34 C)31 D)32
剩余58页未读,继续阅读
资源评论
matlab大师
- 粉丝: 2462
- 资源: 8万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功