没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
选择题
(共 20 分,每小题 1 分)
下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项填在答题纸
的相应位置上,答在试卷上不得分。
1、在 STL 中, B 容器中的数据元素不存储在顺序线性数据结构中,它提供一个关键字 key
到值 value 的映射。
A、vector B、map C、list D、stack
2、在 STL 中, A 容器实质上就是一个动态数组,会根据数据的增加,动态的增加数
组空间。
A、vector B、map C、list D、stack
3、在 STL 中, A 容器具有 FILO(First In Last Out)的性质,是 STL 提供的一种容器适
配器。
A、stack B、queue C、set D、map
4、在 STL 中, B 容器具有 FIFO(First In First Out)的性质,是 STL 提供的一种容器
适配器。
A、stack B、queue C、set D、map
5、设有一个空栈,现有输入序列为 1、2、3、4、5, 经过 push,push,pop,push,pop,
push,push 后,输出序列是(A ) 。
A、23; B、32; C、42; D、24;
6、设栈 S 和队列 Q 的初始状态为空,元素 e1、e2、e3、e4、e5、e6 依次通过栈 S,一个元
素出栈后即进入队列 Q,若 6 个元素出队的顺序是 e2、e4、e3、e6、e5、e1,则栈 S 的容
量至少应该是( A )。提示:对于栈,可以全进再依次出;也可以进一个出一个;也
可以进一部分,出一个,再进一部分;但是出栈之后,不能再入栈。
A、3 B、4 C、6 D、2
7、设有一顺序栈 S,元素 s1,s2,s3,s4,s5,s6 依次进栈,如果 6 个元素出栈的顺序是
s2,s4,s3,s6,s5,s1,则栈的容量至少应该是( B )。
A、2 B、3 C、4 D、5
8、栈和队列的主要区别在于( D ) 。
A、它们的逻辑结构不一样 B、它们的存储结构不一样
C、所包含的运算不一样 D、插入、删除运算的限定不一样
9、一个队列的数据入列序列是 1,2,3,4,则队列的出队时输出序列是( B ) 。
A、4,3,2,1 B、1,2,3,4
C、1,4,3,2 D、3,2,4,1
10、一个栈的入栈序列 a,b,c,d,e,则栈的不可能的输出序列是( C )。提示:可以全
进再依次出;也可以进一个出一个;也可以进一部分,出一个,再进一部分;但是出栈之后,
不能再入栈。
A、edcba B、 decba C、 dceab D、abcde
11、执行下列语句后的输出结果是( C )。
int hot=100;
int &rad=hot;
hot+=100;
cout<<rad<<endl;
A、0; B、100; C、200; D、300;
12、void swap(int& a,int& b)
{ int t= a;a = b;b = t;}
在 main()中调用语句 swap(x,y);后结果( A )
A. 函数可以交换实参 x,y 的值; B. 函数不可以交换实参的值
13.已知
int a[10],*p,i; p=a;
则对数组元素的引用不正确的是(0<=i<10):( C )
A、a[i]; B、*(a+i); C、p+i; D、*(p+i);
14.变量的指针,其含义是指该变量的( B )。
A、 值 B、 地址 C、 名 D、 一个标志
15.下列函数调用中,不正确的是:( D )
A、max ( a, b ); B、max(3, a+b); C、max( 3, 5); D、int max ( a , b );
4.以下结果为整型的表达式(设有 int i; char c; float f;)是( D )。
A、i+f B、i*c C、c+f D、i+c+f
16.有说明:char *language[]={"FORTRAN","BASIC","PASCAL","JAVA","C"};
则表达式*language[1]>*language[2]比较的是( D )
A、字符 B 和字符 P B、字符串 FORTRAN 和字符串 BASIC
C、字符 F 和字符 B D、字符串 BASIC 和字符串 PASCAL
17.函数调用语句 f((x,y),(a,b,c),(1,2,3,4));中,所含的实参个数是( C ).
A、 1 B、 2 C、 3 D、 4
18.已有以下数组定义和 f 函数调用语句,则在 f 函数的说明中,对形参数组 array 的错误
定义方式是( B ).
int a[3][4];
f(A、;
A、f(int array[ ][6])
B、f(int array[ 3][ ])
C、f(int array[ ][4])
D、f(int array[ 2][5])
19、有枚举型定义如下:enum s {x1, x2=5, x3, x4=10} x; 则枚举变量 x 可取的枚举元素 x2、x3
所对应的整数常量值是 (D)
A、1,2 B、2,3 C、5,2 D、5,6
20、若要用下面的程序片段使指针变量 p 指向一个存储整型变量的动态存储单元:int *p;
p=___A _malloc(sizeof(int));则应填入 :
A、(int *) B、 int * C、 (* int) D、int
21、下面的叙述中不正确的是( B ) 。
A、用 typedef 可以定义各种类型名,但不能用来定义变量
B、 用 typedef 可以增加新类型
C、 用 typedef 只是将已存在的类型用一个新的标识符来代表
D、 使用 typedef 有利于程序的通用和移植
22、以下与库函数 strcpy(char *p, char *q)功能不相等的程序段是( D )。
A、 strcpy1(char *p, char *q)
{ while ((*p++=*q++)!='\0'); }
B、 strcpy2( char *p, char *q)
{ while((*p=*q)!='\0') {p++; q++;} }
C、 strcpy3(char *p, char *q)
{ while (*p++=*q++); }
D、 strcpy4( char *p, char *q) { while(*q != ‘\0’) *p++=*q++; }
23、下面程序段的运行结果是( C )。
#include "stdio.h"
int main()
{
char s[]="example!", *t;
t=s;
while( *t!='p')
{ printf("%c", *t-32); t++;} }
A、 EXAMPLE! B、 example! C、 EXAM D、 example!
24、以下正确的程序段是( C )。
A、 char s[]="12345", t[]="6543d21"; strcpy( s,t);
B、 char s[20], *t="12345"; strcat(s,t);
C、 char s[20]=" ", *t="12345"; strcat(s, t);
D、 char *s="12345", *t="54321"; strcat (s,t);
25、若有定义:int a[2][3];则对 a 数组的第 i 行第 j 列元素值的正确引用是 ( A ) 。
A、*(*(a+i)+j) B、(a+i)[j] C、*(a+i+j) D、*(a+i)+j
26、下面能正确进行字符串赋值操作的是( C )。
A.char s[5]={"ABCDE"}; B.char s[5]={'A','B','C','D','E'};
C.char *s; s="ABCDE"; D.char *s;scanf("%s",s);
27、有以下语句,则对 a 数组元素的引用不正确的是(0≤i≤9)( D )
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A、a[p-a] B、*(&a[i])
C、p[i] D、*(*(a+i))
28、若需要建立如图所示的存储结构,且已有说明 double *p, x=0.2345; 则正确的赋值语句
是( B )。
A 、 p=x; B 、 p=&x; C 、
*p=x; D、 *p=&x;
29、下面程序段的运行结果是(A)。
char *s=”abcde” ;
s+=2 ; printf(“%s”,s);
A、cde B、字符’c’ C、字符’c’的地址 D、不确定
30、下面程序段的运行结果是( C ) 。
char a[ ]=”language” , *p ;
p=a ;
while (*p!=’u’) { printf(“%c”,*p-32); p++ ; }
A、LANGUAGE B、language C、LANG D、langUAGE
31、以下与库函数 strcmp(char *s,char *t)功能相等的程序段是( C )。
A、strcmp1(char *s,char *t)
{ for ( ; *s++=*t++; )
if (*s= =’\0’) return 0 ;
return (*s-*t) ;
}
B、strcmp2(char *s,char *t)
{ for ( ; *s++=*t++; )
if (!*s) return 0 ;
return (*s-*t) ;
}
C、strcmp3(char *s,char *t)
{ for ( ; *t= =*s; )
{ if (!*t) return 0 ; t++ ; s++ ; }
return (*s-*t) ;
}
D、strcmp4(char *s,char *t)
{ for ( ; *s==*t; s++, t++ )
if (!*s) return 0 ;
return (*t-*s) ;
}
32、若有说明:char *language[]={“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则 language[2]的
值是( B ) 。
A、一个字符 B、一个地址 C、一个字符串 D、一个不定值
33、设有定义:char *cc[2]={“1234”,”5678”};则正确的叙述是 ( A ) 。
A、cc 数组的两个元素中各自存放了字符串”1234”和”5678”的首地址
B、cc 数组的两个元素分别存放的是含有 4 个字符的一维字符数组的首地址
C、cc 是指针变量,它指向含有两个数组元素的字符型一维数组
D、cc 元素的值分别维”1234”和”5678”
34、已知指针 p 的指向(图一)的 a[1],则执行语句*p++;后,*p 的值是(B)。
A、20 B、30 C、21 D、31
a[0] a[1] a[2] a[3] a[4]。
10
20
30
40
50
(图一)
35、已知指针 p 的指向(图一)的 a[1],则表达式*++p 的值是(B)。
A、20 B、30 C、21 D、31
36、已知指针 p 的指向(图一)的 a[1],则表达式++*p 的值是(C)。
A、20 B、30 C、21 D、31
37、定义以下结构体类型
struct s
{
int a;
char b;
float f;
};
则语句 printf("%d",sizeof(struct s))的输出结果为:( D )
A、 4 B、 16 C、 18 D、 12
38、运行下列程序段,输出结果是( A )
struct country
{ int num;
剩余48页未读,继续阅读
资源评论
Designer小郑
- 粉丝: 7w+
- 资源: 155
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 技术面试最后反问面试官的话 校招面试非技术问题有哪些 非技术问题如何回答.png
- NB-IOT-BC26全网通模块Altium+ CADENCE +PADS三种格式(原理图SCH+PCB封装库)文件.zip
- 基于微信小程序开发的校园失物招领系统源码毕业设计(优质项目源码).zip
- 词向量是一种将自然语言中的单词转换为数值向量的技术,它能够捕捉词义和上下文信息
- nmap与masscan的简单使用
- MyBatis动态SQL.pdf
- 基于stm32单片机protues仿真的温湿度控制系统设计(仿真图、源代码)
- 词向量:自然语言处理的基石
- mybatis动态sql
- 40G微信小程序开发教程(工具插件+视频教程)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功