一维数组试题

合集下载

C语言程序设计单元测试题三【精品-doc】

C语言程序设计单元测试题三【精品-doc】

C语言程序设计_单元测试题三本单元包含“数组、函数”的内容。

一、选择题1.以下为一维整型数组a的正确说明是_________.A)int a(10); B)int n=10,a[n];C)int n; D)#define SIZE 10;scanf("%d",&n); int a[SIZE];int a[n];2.以下对二维数组a的正确说明是________.A)int a[3][]; B)float a(3,4);C)double a[1][4] D)float a(3)(4);3.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为______.(假设a[0][0]位于数组的第一个位置上。

)A)i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+14.若二维数组a有m列,则在a[i][j]前的元素个数为________.A)j*m+i B)i*m+j C)i*m+j-1 D)i*m+j+15.25.若有以下程序段:int a[]={4,0,2,3,1},i,j,t;for(i=1;i<5;i++){t=a[i];j=i-1;while(j>=0&&t>a[j]){a[j+1]=a[j];j--;}a[j+1]=t;}... ...则该程序段的功能是_________.A)对数组a进行插入排序(升序) B)对数组a进行插入排序(降序)C)对数组a进行选择排序(升序) D)对数组a进行选择排序(降序)6.有两个字符数组a、b,则以下正确的输入语句是_______.A)gets(a,B); B)scanf("%s%s",a,B);C)scanf("%s%s",&a,&B); D)gets("a"),gets("b");7.下面程序段的运行结果是_________.char a[7]="abcdef";</P< p>char b[4]="ABC";strcpy(a,B);printf("%c",a[5]);A)空格B)\0 C)e D)f8.判断字符串s1是否大于字符串s2,应当使用_______.A)if(s1>s2) B)if(strcmp(s1,s2))C)if(strcmp(s2,s1)>0) D)if(strcmp(s1,s2)>0)9.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔,请选择填空。

c语言基础试题及答案

c语言基础试题及答案

c语言基础试题及答案一、选择题1、在C语言中,引用数组元素时,其数组下标的数据类型允许是。

A、整型常量B、整型表达式C、整形常量或整形表达式D、任何类型的表达式2、以下对一维整型数组a的正确说明是____A、int a(10) ;B、int n=10,a[n];C、int n;scanf(“%d”,&n);int a[n];D、#define SIZE 10int a[SIZE];3、若有定义:int a[10],则对数组a元素的正确引用是A、a[10]B、a[3.5]C、a(5)D、a[10-10]4、以下能对一维数组a进行正确初始化的语句是。

A、int a[10]={0,0,0,0,0};B、int a[10]={} ;C、int a[ ] = {0} ;D、int a[10]={10*1} ;5、若有定义:int a[3][4],则对数组a元素的正确引用是________A、a[2][4]B、a[1,3]C、a(5)D、a[10-10]6、以下能对二维数组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}} ;7、若有说明:int a[3][4]={0};则下面正确的叙述是_______A、只有元素a[0][0]可得到初值0B、此说明语句不正确C、数组a中各元素都可得到初值,但其值不一定为0D、数组a中每个元素均可得到初值08、下面是对s的初始化,其中不正确的`是_____A、char s[5]={“abc”};B、char s[5]={‘a’,’b’,’c’,’d’,’e’,’0’};C、char s[5]=””;D、char s[5]=”abcdef”;二、程序填空1、以下程序把一个由小到大的有序数列放在a[1]到a[n]中,a[0]用作工作单元,程序把读入的x值插入到a数组中,插入后,数组中的数仍然的序。

第一章测试题参考答案

第一章测试题参考答案

第一章测试试题参考答案一、单选题1.一个数组元素a[i]与____A____的表示等价。

A、*(a+i)B、a+iC、*a+iD、&a+i2.下面程序段的时间复杂度为____C________。

for(int i=0; i<m; i++)for(int j=0; j<n; j++) a[i][j]=i*j;A、O(m2)B、O(n2)C、O(m*n)D、O(m+n)3.执行下面程序段时,执行S语句的次数为_____D_____。

for(int i=1; i<=n; i++)for(int j=1; j<=i; j++) S;A、n2B、n2/2C、n(n+1)D、n(n+1)/24.下面算法的时间复杂度为______B______。

int f( unsigned int n ){ if ( n==0 || n==1 ) return 1; else return n*f(n-1); }A、O(1)B、O(n)C、O(n2)D、O(n!)二、填空题1.数据的逻辑结构被分为__集合__、___线性结构__、_树形结构_和____图状结构_四种。

2.数据的存储结构被分为_顺序存储结构___和_____链式存储结构_____两种。

3.在线性结构、树形结构和图形结构中,前驱和后继结点之间分别存在着__一对一___、___一对多_____和__多对多__的联系。

4.一种抽象数据类型包括__数据模型(数据对象及数据关系)_和_该模型上的操作两个部分。

5.当一个形参类型的长度较大时,应最好说明为_指针或引用型____,以节省参数值的传输时间和存储参数的空间。

6.当需要用一个形参访问对应的实参时,则该形参应说明为__指针或引用型___。

7.在函数中对引用形参的修改就是对相应__实参___的修改,对__值型__形参的修改只局限在该函数的内部,不会反映到对应的实参上。

8.一个数组a所占有的存储空间的大小即数组长度为___sizeof(a)____,下标为i的元素a[i]的存储地址为__a+i______,或者为____a+i*sizeof(a[0])___。

数据结构试题(含答案)讲解

数据结构试题(含答案)讲解

数据结构试题一、单选题1、在数据结构的讨论中把数据结构从逻辑上分为(C )A 内部结构与外部结构B 静态结构与动态结构C 线性结构与非线性结构D 紧凑结构与非紧凑结构。

2、采用线性链表表示一个向量时,要求占用的存储空间地址(D )A 必须是连续的B 部分地址必须是连续的C 一定是不连续的D 可连续可不连续3、采用顺序搜索方法查找长度为n的顺序表时,搜索成功的平均搜索长度为( D )。

A nB n/2C (n-1)/2D (n+1)/24、在一个单链表中,若q结点是p结点的前驱结点,若在q与p之间插入结点s,则执行( D )。

A s→link = p→link;p→link = s;B p→link = s; s→link = q;C p→link = s→link;s→link = p;D q→link = s;s→link = p;5、如果想在4092个数据中只需要选择其中最小的5个,采用( C )方法最好。

A 起泡排序B 堆排序C 锦标赛排序D 快速排序6、设有两个串t和p,求p在t中首次出现的位置的运算叫做( B )。

A 求子串B 模式匹配C 串替换D 串连接7、在数组A中,每一个数组元素A[i][j]占用3个存储字,行下标i从1到8,列下标j从1到10。

所有数组元素相继存放于一个连续的存储空间中,则存放该数组至少需要的存储字数是( C )。

A 80B 100C 240D 2708、将一个递归算法改为对应的非递归算法时,通常需要使用( A )。

A 栈B 队列C 循环队列D 优先队列9、一个队列的进队列顺序是1, 2, 3, 4,则出队列顺序为( C )。

10、在循环队列中用数组A[0..m-1] 存放队列元素,其队头和队尾指针分别为front和rear,则当前队列中的元素个数是( D )。

A ( front - rear + 1) % mB ( rear - front + 1) % mC ( front - rear + m) % mD ( rear - front + m) % m11、一个数组元素a[i]与( A )的表示等价。

2015山西省数据结构(C++)理论考试试题及答案

2015山西省数据结构(C++)理论考试试题及答案
A)(a,b) B)(c,d)
C)空表 D)((a,b),(c,d))
38、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
C)查找 D)定位
9、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
5、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
6、下面关于线性表的叙述中,错误的是哪一个?( D )
C) O(m*n) D)O(1)
10、下列序列中,执行第一趟快速排序后得到的序列是( A )。
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]
1、用一维数组A进行顺序存储时,若起始地址为loc(A1),元素长度为c,则A的第i个数组单元在存放地址loc(Ai),等于( B )。
A)loc(A1)+i*c B)loc(A1)+(i-1)*c
C)loc(A1)+i*c+1 D)loc(A1)+(i+1)*c
A)9 B)11 C)15 D)不能确定
23、n个顶点的强连通图至少有( A )条边。

大学数据结构期末考试试题(有答案)

大学数据结构期末考试试题(有答案)

“数据结构”期末考试试题一、单选题(每小题2分,共12分)1.在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。

A. HL=ps p一〉next=HLB. p一>next=HL;HL=p3C. p一>next=Hl;p=HL;D. p一〉next=HL一>next;HL一〉next=p;2.n个顶点的强连通图中至少含有( )。

A。

n—l条有向边 B.n条有向边C.n(n-1)/2条有向边 D。

n(n一1)条有向边3.从一棵二叉搜索树中查找一个元素时,其时间复杂度大致为( )。

A。

O(1) B.O(n)C.O(1Ogzn)D.O(n2)4.由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。

A.24 B.48C. 72 D. 535.当一个作为实际传递的对象占用的存储空间较大并可能需要修改时,应最好把它说明为( )参数,以节省参数值的传输时间和存储参数的空间。

A。

整形 B。

引用型C。

指针型 D。

常值引用型·6.向一个长度为n的顺序表中插人一个新元素的平均时间复杂度为()。

A.O(n) B.O(1)C.O(n2) D.O(10g2n)二、填空题(每空1分,共28分)1.数据的存储结构被分为——、——、——和-—四种.2.在广义表的存储结构中,单元素结点与表元素结点有一个域对应不同,各自分别为——域和——域。

3.—-中缀表达式 3十x*(2.4/5—6)所对应的后缀表达式为—-——。

4.在一棵高度为h的3叉树中,最多含有—-结点。

5.假定一棵二叉树的结点数为18,则它的最小深度为-—,最大深度为——·6.在一棵二叉搜索树中,每个分支结点的左子树上所有结点的值一定-—该结点的值,右子树上所有结点的值一定-—该结点的值。

7.当向一个小根堆插入一个具有最小值的元素时,该元素需要逐层—-调整,直到被调整到——位置为止。

c语言一维数组上机考试题目

c语言一维数组上机考试题目

c语言一维数组上机考试题目
以下是一些关于C语言一维数组的常见上机考试题目:
1. 编写一个程序,输入一个整数n,求出1到n之间所有偶数的和。

2. 编写一个程序,输入一个整数n,求出1到n之间所有数字的阶乘之和。

3. 编写一个程序,输入一个整数n,求出1到n之间所有数字的立方之和。

4. 编写一个程序,输入一个整数n,求出1到n之间所有数字的平方之和。

5. 编写一个程序,输入一个整数n,求出1到n之间所有数字的倒数之和。

6. 编写一个程序,输入一个整数n,求出1到n之间所有数字的绝对值之和。

7. 编写一个程序,输入一个整数n,求出1到n之间所有数字的因子之和。

8. 编写一个程序,输入一个整数n,求出1到n之间所有数字的质因子之和。

9. 编写一个程序,输入一个整数n,求出1到n之间所有数字的奇数因子之和。

10. 编写一个程序,输入一个整数n,求出1到n之间所有数字的因子个数之和。

以上题目只是示例,实际上关于C语言一维数组的上机考试题目还有很多其他类型。

考生应该掌握一维数组的基本概念和操作,并且能够灵活运用数组来解决问题。

国家开放大学C语言试题及参考答案

国家开放大学C语言试题及参考答案

1.C语言中的循环类语句有3条,它们是()。

选择一项:A. for,if,whileB. for,while,doC. while,do,switchD. for,break,do正确答案是:for,while,do2.C语言中的跳转类语句有四条,它们是goto,return和()。

A. break,constB. static,continueC. break,continueD. while,extern正确答案是:break,continue3.当不需要函数返回任何值时,则所使用的返回类型为()。

A. IntB. unionC. voidD. Void 正确答案是:void4.在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。

选择一项:A. 表达式B. 语句C. 函数体D. 参数表正确答案是:参数表5.在一个程序文件的开始,若需要使用一个包含命令包含一个头文件时,则命令标识符为A. #cludeB. #constC. #includeD. #defile正确答案是:#include6.在#include预处理命令中,不可以包含()。

A. 系统头文件B. 程序文件C. 用户头文件D. 目标文件正确答案是:目标文件7.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据占用的字符位置个数为()。

选择一项:A. 5B. 6C. 4D. 2正确答案是:68.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其小数部分占用的字符位置个数为()。

选择一项:A. 5B. 6C. 4D. 2正确答案是:29.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其整数部分占用的字符位置个数为()。

A. 6B. 4C. 3D. 2正确答案是:310.在scanf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输入的数据类型为()。

C试题-在c语言中文,一维数组的定义方式为:类型

C试题-在c语言中文,一维数组的定义方式为:类型

C试题一、选择题:1、以下对一维整型数组a的正确说明是A int a(10);B int n=10,a[n];C int n;D #define SIZE 10scanf(“%d”,&n);int a[SIZE];int [a];2、若有说明:int a[10];则对a数组元素的正确引用是A a[10]B a[3.5]C a (5)D a [10-10]3、在c语言中文,一维数组的定义方式为:类型说明符数组名A[常量表达式] B[整型表达式]C[整型常量]或[整型表达式]D[整型常量]4、以下能对二维数组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}};5、若有说明:int a[3][4]={0};则下面正确的叙述是A只有元素a[0][0]可得到初值0B 此说明语句不正确C 数组a中文各元素都可得到初值,但其值不一定为0D 数组a 中每个元素均可得到初值06、以下各组选项中,均能正确定义二维实型数组a的选项是A float a[3][4];B float a(3,4);float a[] [4]; float a[3][4];float a[3][]={{1},{0}} float a[][]={{0},{0}};C float a[3][4];D float a[3][4];static float a[][4]={{0},{0}}; float a [3][];auto float a [][4]={{0},{0},{0}}; float a[][4]10、下面程序中文有错误的行是(每行程序前面的数字表示行号)1 main()2 {3 int a[3]={1};4 int i;5 scanf(“%d”,&a);6 for (i=1;i<3;i++) a[0]=a[0]+a[i];7 printf(“a[0]=%d\n”,a[0]);8 }A 3B 6C 7D 511、若二维数组a有m列,则计算机任一元素a[i][j]在数组中文位置的公式为(假设a[0][0]位于数组的第一个位置上。

数组c语言试题库及答案

数组c语言试题库及答案

数组c语言试题库及答案1. 请解释C语言中数组的概念。

答:在C语言中,数组是一种数据结构,它允许将多个相同类型的数据项存储在连续的内存位置。

数组可以是一维的,也可以是多维的。

2. 如何声明一个整型数组?答:声明一个整型数组的语法是 `int array_name[size];`,其中`array_name` 是数组的名字,`size` 是数组中元素的数量。

3. 请写出一个程序,用于计算一个整型数组中所有元素的和。

```c#include <stdio.h>int main() {int array[] = {1, 2, 3, 4, 5};int sum = 0;for(int i = 0; i < 5; i++) {sum += array[i];}printf("Sum of array elements: %d\n", sum);return 0;}```4. 如果一个数组的元素数量是动态的,应该如何声明?答:在C语言中,可以使用指针来处理动态数组。

声明方式为`int *array_name;`,然后在程序中使用 `malloc` 或 `calloc` 函数分配内存。

5. 请解释数组的索引。

答:数组的索引是从0开始的,它表示数组中元素的位置。

例如,对于一个名为 `array` 的数组,`array[0]` 是数组的第一个元素。

6. 如何初始化一个整型数组?答:可以使用花括号 `{}` 来初始化数组,例如 `int array[] = {1, 2, 3, 4, 5};`。

7. 请写出一个程序,用于交换数组中的两个元素。

```c#include <stdio.h>int main() {int array[] = {1, 2, 3, 4, 5};int temp;int index1 = 1; // 第二个元素int index2 = 3; // 第四个元素temp = array[index1];array[index1] = array[index2];array[index2] = temp;for(int i = 0; i < 5; i++) {printf("%d ", array[i]);}return 0;}```8. 在C语言中,数组的元素可以是什么数据类型?答:数组的元素可以是任何数据类型,包括整型、浮点型、字符型、结构体等。

C语言试题+提纲

C语言试题+提纲

计算机应用(C语言):100分一、选择题;二填空题;三、判断题;四、根据程序写出结果;五、补充完善程序;根据题目要求完善程序;计算机应用上机(C语言):100分共3道大题,其中自定义函数并调用一定存在,主要参考实验、典型例题以及少量自编考试题。

计算机应用和应用上机(C语言)fx提纲第一章1、C语言的特点2、C语言的基本操作与常使用的快捷键等visual Studio6.0环境:原程序、编译、组建和运行后程序的后缀和快捷方式分别为??(visual C++6.0环境下执行相对应的操作后左下角显示后缀名)第二章1、算法的定义与特点一个算法应该具有以下特点:___、______,零个或多个输入,一个或多个输出,___ __。

2、表示算法的常用方法3、结构化程序设计的基本结构结构化程序设计的三种基本程序结构为_______、___ _____、___ _____。

第三章1、常用的数据类型(int,float和char)以及不同数据类型占用的字节数和有效数字和有效范围(输出结果)visual C++6.0中数据类型float的数占的字节数为( ) 。

A)1 B)2C)4 D)32、正确与错误的标识符的判定——正确条件:(1)只能使用字母、数字和下划线_;(2)首字符只能是字母或下划线_;(3)不能使用关键字作为标识符;正确的自定义标识符是()A) #33 B) a>bC) tt D) 3days3、常量、变量等的定义4、字符常量的特殊符号(如\)和转义符号的正确判断——(1)注意特殊转移字符如\n,\t,\v,\\,\‘等;(2)注意\ddd和\xhh,其中ddd只能是3位八进制的数0-7,hh是2位16进制的数,0-9和A,B,C,D,E,F错误的转义字符是( ) 。

A)'\091' B) '\\'C) '\0' D) '\'''以下常用转义符号代表换行的是( ) 。

国家开放大学C语言试题及答案【最新整理】

国家开放大学C语言试题及答案【最新整理】

1.C语言中的循环类语句有3条,它们是()。

选择一项:A. for,if,whileB. for,while,doC. while,do,switchD. for,break,do正确答案是:for,while,do2.C语言中的跳转类语句有四条,它们是goto,return和()。

A. break,constB. static,continueC. break,continueD. while,extern正确答案是:break,continue3.当不需要函数返回任何值时,则所使用的返回类型为()。

A. IntB. unionC. voidD. Void 正确答案是:void4.在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。

选择一项:A. 表达式B. 语句C. 函数体D. 参数表正确答案是:参数表5.在一个程序文件的开始,若需要使用一个包含命令包含一个头文件时,则命令标识符为A. #cludeB. #constC. #includeD. #defile正确答案是:#include6.在#include预处理命令中,不可以包含()。

A. 系统头文件B. 程序文件C. 用户头文件D. 目标文件正确答案是:目标文件7.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据占用的字符位置个数为()。

选择一项:A. 5B. 6C. 4D. 2正确答案是:68.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其小数部分占用的字选择一项:A. 5B. 6C. 4D. 2正确答案是:29.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其整数部分占用的字符位置个数为()。

A. 6B. 4C. 3D. 2正确答案是:310.在scanf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输入的数据类型为()。

帮你掌握数据结构(第三章系列经典试题及答案)

帮你掌握数据结构(第三章系列经典试题及答案)

第3章栈和队列一、填空题(每空1分,共15分)1。

向量、栈和队列都是线性结构,可以在向量的任何位置插入和删除元素;对于栈只能在栈顶插入和删除元素;对于队列只能在队尾插入和队首删除元素。

2。

栈是一种特殊的线性表,允许插入和删除运算的一端称为栈顶。

不允许插入和删除运算的一端称为栈底。

3。

队列是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算的线性表。

4。

在一个循环队列中,队首指针指向队首元素的前一个位置。

5。

在具有n个单元的循环队列中,队满时共有n-1 个元素.6. 向栈中压入元素的操作是先存入元素,后移动栈顶指针。

7.从循环队列中删除一个元素时,其操作是先移动队首指针,后取出元素。

8。

〖00年统考题〗带表头结点的空循环双向链表的长度等于0。

解:二、判断正误()(每小题1分,共10分)(×)1。

是一个复杂类型。

错,线性表是逻辑结构概念,可以顺序存储或链式存储,与元素数据类型无关。

(×)2。

在表结构中最常用的是线性表,栈和队列不太常用。

错,不一定吧?调用子程序或函数常用,CPU中也用队列。

(√)3. 栈是一种对所有插入、删除操作限于在表的一端进行的线性表,是一种后进先出型结构。

(√)4. 对于不同的使用者,一个表结构既可以是栈,也可以是队列,也可以是线性表.正确,都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。

( ×)5. 栈和链表是两种不同的数据结构。

错,栈是逻辑结构的概念,是特殊殊线性表,而链表是存储结构概念,二者不是同类项。

(×)6. 栈和队列是一种非线性数据结构。

错,他们都是线性逻辑结构,栈和队列其实是特殊的线性表,对运算的定义略有不同而已。

(√)7。

栈和队列的存储方式既可是顺序方式,也可是链接方式。

(√)8。

两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端。

(×)9. 队是一种插入与删除操作分别在表的两端进行的线性表,是一种先进后出型结构。

java数组的面试题

java数组的面试题

java数组的面试题在面试中,Java数组是经常被问到的话题之一。

面试官通常会通过一些问题来考察候选人对Java数组的理解和应用能力。

本文将介绍一些常见的Java数组面试题,并提供详细的解答和示例代码。

问题一:如何声明和初始化一个一维数组?回答:声明和初始化一维数组可以通过以下方式实现:```int[] arr = new int[5]; //声明并初始化一个长度为5的int类型数组double[] arr2 = {1.2, 2.3, 3.4}; //声明并初始化一个包含3个double 类型元素的数组```问题二:如何访问和修改数组元素?回答:可以通过索引来访问和修改数组元素,数组索引从0开始。

示例代码如下:```int[] arr = {1, 2, 3};System.out.println(arr[0]); //输出数组第一个元素的值,即1arr[0] = 10; //修改数组第一个元素的值为10System.out.println(arr[0]); //输出修改后的数组第一个元素的值,即10```问题三:如何遍历数组并打印所有元素?回答:可以使用for循环来遍历数组,并通过System.out.println()方法打印数组元素。

示例代码如下:```int[] arr = {1, 2, 3};for (int i = 0; i < arr.length; i++) {System.out.println(arr[i]);}```问题四:如何计算数组的长度?回答:可以使用数组的.length属性来获取数组的长度。

示例代码如下:```int[] arr = {1, 2, 3};System.out.println(arr.length); //输出3,表示数组的长度为3```问题五:如何使用Arrays类对数组进行排序?回答:可以使用Arrays类提供的sort()方法对数组进行排序。

十套数据结构试题及答案(1)

十套数据结构试题及答案(1)

数据结构试卷(一)一、单选题(每题2 分,共20分)1.栈和队列的共同特点是( )。

A.只允许在端点处插入和删除元素B。

都是先进后出C。

都是先进先出D。

没有共同点2.用链接方式存储的队列,在进行插入运算时( )。

A. 仅修改头指针 B。

头、尾指针都要修改C. 仅修改尾指针 D。

头、尾指针可能都要修改3.以下数据结构中哪一个是非线性结构?()A. 队列B。

栈 C. 线性表 D. 二叉树4.设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,问A[3][3](10)存放在什么位置?脚注(10)表示用10进制表示。

A.688 B.678 C.692 D.6965.树最适合用来表示( ).A.有序数据元素B.无序数据元素C。

元素之间具有分支层次关系的数据D。

元素之间无联系的数据6.二叉树的第k层的结点数最多为( ).A.2k—1 B.2K+1 C.2K—1 D。

2k—17.若有18个元素的有序表存放在一维数组A[19]中,第一个元素放A[1]中,现进行二分查找,则查找A[3]的比较序列的下标依次为( )A. 1,2,3B. 9,5,2,3C. 9,5,3D. 9,4,2,38.对n个记录的文件进行快速排序,所需要的辅助存储空间大致为A。

O(1)B。

O(n) C. O(1og2n) D。

O(n2)9.对于线性表(7,34,55,25,64,46,20,10)进行散列存储时,若选用H(K)=K %9作为散列函数,则散列地址为1的元素有()个,A.1 B.2 C.3 D.410.设有6个结点的无向图,该图至少应有()条边才能确保是一个连通图.A。

5 B.6 C.7 D。

8二、填空题(每空1分,共26分)1.通常从四个方面评价算法的质量:_________、_________、_________和_________。

2.一个算法的时间复杂度为(n3+n2log2n+14n)/n2,其数量级表示为________.3.假定一棵树的广义表表示为A(C,D(E,F,G),H(I,J)),则树中所含的结点数为__________个,树的深度为___________,树的度为_________。

C语言测试题及答案(1)(1)

C语言测试题及答案(1)(1)

一.选择题1.int i=10;float x; 执行x=5/i; 后x的值为 __C______。

A.0.5 B.0 C.0.0 D.1.02. 以下标识符中,哪一个是C语言的合法标识符 CA) 2abcd B)int C)a-2c D)_char E)#456xy3. 以下 C 是不正确的转义字符:A) '\n' B)’\’’C)'061' D)'\0'4.执行下面的程序后# include<stdio.h># define SQR(X) (X) * (X)void main (){ int a=10,K=2,m=1;a /= SQR(K+m) / SQR(K+m);printf(”a=%d”,a);}输出结果是a=__B_____。

A.10 B.1 C.9 D.05. 现有定义char str1[]="China",str2[5]={'C','h','i','l','e'};则有AA)strcmp(str1,str2)>0B)strcmp(str1,str2)<0C)strlen(str1)=6D)str1与str2所占存储空间大小一样6.有以下的结构体变量定义语句:struct student { int num; char name[9]; } stu;则下列叙述中错误的是B 。

A.结构体类型名为student B.结构体类型名为stuC.num是结构体成员名 D.struct是C的关键字7. 执行以下程序:# include<stdio.h>void main (void){char c=0;printf(“%c\n”,c);}输出结果是 _D_______。

A.‘\0’ B.语法错,不能执行 C.0 D.一个空行8.C语言对嵌套 if 语句的规定是: else 总是和 D 配对A)其之前最近的 if B) 缩进位置相同的 ifC)第一个 if D) 其之前最近且不带 else 的 if9.设有定义语句enum aa{add,sub,mul,div}opera;,以下对枚举变量opera的操作中,不正确的是 BA. opera=(enum aa)2B. scanf(“%d”,&opera)C. opera=add+1D. if(opera==sub)print(”OK”);10. 下列宏定义命令中,哪一个格式是正确的___D_____A.#define pi=3.14159;B. define pi=3.14159C. #define pi="3.14159"D. #define pi (3.14159)11.以下不正确的描述是 AA)在 switch 语句中使用 break 语句或continue语句的作用相同B)在循环语句中使用 continue 语句是为了结束本次循环,而不是终止整个循环C)break 语句不能用于循环语句和 switch 语句之外的任何其他语句D)在循环语句中使用 break 语句是为了使流程跳出循环体,提前结束循环12.定义int x=3,执行while(x){printf(“%d”,x);x--;}语句后,x的值为:A 。

计算机等级《二级C语言程序设计》押题卷

计算机等级《二级C语言程序设计》押题卷

计算机等级《二级C语言程序设计》预测试卷(一)一、单项选择题(共40题,合计40分)1以下能正确定义一维数组的选项是()。

A.int a[5]={0.1,2.3.4,5);B.char a口={0,1,2,3,4,5);C.char a={'A’,'B','C');D.int a[5]=”0123”;[正确答案]B试题解析:数组下标从0开始,A选项中所赋值的个数超过了数组的长度;c选项中定义a为字符型变量,而不是数组,赋值错误;D选项中,整型数组不能赋字符串。

2视图设计一般有3种设计次序,下列不属于视图设计次序的是( )。

A.自顶而下B.由内向外C.由外向内D.自底向上[正确答案]C试题解析:视图设计的设计次序分3种:自顶向下、自底向上和由内向外。

它们为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握。

3链表不具有的特点是()。

A.不必事先估计存储空间B.町随机访问任意元素C.插入、删除不需要移动元素D.所需空间与线性表长度成正比[正确答案]B试题解析:链表采用的是链式存储结构,它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,插入、删除不需要移动数据元素。

但是链式存储结构也有不足之处:每个结点中的指针域需额外占用存储空间,它是一种非随机存储结构。

4有以下程序:main(){ int x,i;for(i=l;i<=50;i++){x=i;if(x%2=0)if(x%3=0)if(x%7=0)printf(”%d,i)”;}}输出结果是( )。

A.28B.27C.42D.41[正确答案]C试题解析:只有当3个if条件同时成立,即能够同时被2、3、7整除时,才输出i的值,而从0到50能够同时被2、3、7整除的数只有42,故选择C选项。

5若已定义:int a口一(0,1,2,3,4,5,6,7,8,9),*p=a,i;其中0≤i≤9,则对a 数组元素的引用不正确的是()。

[云南开放大学]C++语言程序设计(20秋)形考任务6-答案

[云南开放大学]C++语言程序设计(20秋)形考任务6-答案

云南开放大学-C++语言程序设计(20秋)形考任务6试卷总分:100 得分:100一、单选题 (共 10 道试题,共 100 分)1.以下对一维数组a进行初始化的是()[A.]int a[10]=(0,0,0,0,0);[B.]int a[10]={};[C.]int a[]={0}[D.]int a[10]={2*10}[提问:认真对上述试题分析,并进行相应作答]参考答案:C2.已知”int a[10]={1,2,3,4,5,6,7,8,9,10};”则cout<<a[a[3]*a[1]];输出的是()[A.]3[B.]9[C.]10[D.]8[提问:认真对上述试题分析,并进行相应作答]参考答案:B3.C++程序中的语句必须以()结束[A.]冒号[B.]分号[C.]回车[D.]return 0[提问:认真对上述试题分析,并进行相应作答]参考答案:B4.以下所列的函数首部正确的是()[A.]void paly(var a: Integer, var b:Integer)[B.]void play(int a,b)[C.]play(int a,int b)[D.]void play(a as integer, b as integer)[提问:认真对上述试题分析,并进行相应作答]参考答案:C5.若有以下定义,则说法错误的是()int a=100,*p=&a;[A.]声明变量p,其中*表示p是一个指针变量[B.]变量p经过初始化获得变量a的地址[C.]变量p只可以指向一个整型变量[D.]变量p的值为100[提问:认真对上述试题分析,并进行相应作答]参考答案:D。

数据结构历年试题及答案

数据结构历年试题及答案

试卷代号:1252中央广播电视大学2012-2013学年度第二学期“开放本科”期末考试一、单项选择题(每小题2分,共30分)1.在C语言中,顺序存储长度为3的字符串,需要占用( )个字节。

A.4 B.3 C.6 D.12 2。

串函数StrCat(a,b)的功能是进行串( )。

A.比较B.复制C.赋值D.连接3.-棵有n个结点采用链式存储的二叉树中,共有( )个指针域为空。

A.n+l B.n C.n-l D.n-2 4.设一棵哈夫曼树共有n个非叶结点,则该树有( )个叶结点。

A.n B.n+l C.n-l D.2n 5.从一个栈顶指针为top的链栈中删除一个结点时,用变量x保存被删结点的值,则执行( )。

A. x=top->data;top=top->next B.x=top->dataC. top= top->next; x=top->dataD.top=top->next;x=data6.一棵完全二叉树共有5层,且第5层上有六个结点,该树共有( )个结点。

A.30 B.20 C.21 D.237.在一个无向图中,所有顶点的度数之和等于边数的( )倍。

^A.O上;.B.3 C.1.5 D.2 8.已知如图1所示的一个图,若从顶点V,出发,按深度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。

9.已知如图2所示的一个图,若从顶点a出发,按广度优先搜索法进行遍历,则可能得到的一种顶点序列为( )。

A. abcedf B. abcefd C. aebcfd D. acfdeb10.对二叉排序树进行( )遍历,可以使遍历所得到的序列是有序序列。

A.按层次B.后序C.中序D.前序11.在有序表(2,4,7,14,34,43,47,64,75,80,90,97,120)中,用折半查找法查找值80 时,经( )次比较后查找成功。

A.4 B.2 C.3 D.512.有一个长度为9的有序表,按折半查找对该表进行查找,在等概率情况下查找成功的平均比较次数为( )。

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

C语言考试试题[一维数组]
姓名:学号:成绩:
一、填空题:(每题1分,共10分)
1、数组是构成的集合。

2、数组元素被顺序连续地存放在内存中,并通过进行访问。

3、数组元素的下标从开始。

长度为n的数组中,最后一个元素下标为。

4、一维数组是最简单的数组,其定义形式是:。

5、一个C字符串是以结束的字符序列。

6、专门用于字符串的输入和输出的函数是。

7、float fv[]={0,4,5,12,-7,,0};数组fv的长度是_________。

8、存储字符串“\0”占用________字节的存储单元。

9.有定义int a[]={4,6,78,3456,98,2,89};该数组元素最大的下标为___________。

二、单项选择题,请将答案写在下列答题卡中(每题2分,共24分 )。

1、以下正确的概念是()
A、数组名的规定与变量名不相同。

B、数组名后面的常量表达式用一对圆括号括起来。

C、数组下标的数据类型为整型常量或整型表达式。

D、在C语言中,一个数组的数组下标从1开始。

2、对数组初始化正确的方法是:
A、int a(5)={1,2,3,4,5};
B、int a[5]={1,2,3,4,5};
C、int a[5]={1…5};
D、int a[5]={0,1,2,3,4,5};
3、若有以下的数组定义:char x[]=”12345”; char y[]={‘1’,’2’,’3’,’4’,’5’};
则正确的描述是:()
A、x数组和y数组长度相同
B、x数组长度大于y数组长度
C、x数组长度小于y数组长度
D、两个数组中存放相同的内容
4、以下程序运行时,从键盘输入:AhaMA Aha<回车>,则下面程序的
运行结果是()
#include <>
main()
{char s[80],c=’a’;
int m=0; scanf(“%s”,s);
while(s[m]!=’\0’)
{ if(s[m]==c) s[m]=s[m]-32;
else if(s[m]==c-32) s[m]=s[m]+32;
m++;}
puts(s);}
A、ahAMa
B、AhAMa
C、AhAMa ahA
D、ahAMa ahA
5、给出以下定义:char x[]=”abcdefg”; char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’};则正确的叙述为:()A 数组A和数组属于空数组 B 数组X和数组Y的长度相同
C 数组X的长度大于数组Y的长度 D数组X的长度小于数组Y的长度
6、下面程序的运行结果是()
main()
{char a[]=”morn ing”,t;int m,n=0;
for(m=1;m<7;m++)
if(a[n]<a[m]) n=m;
t=a[n];a[n]=a[7];a[7]=a[n];puts(a);}
A、mogninr
B、mo
C、morning
D、mornin
7、字符数组C在内存中所占字节数是:()
char c[]={“language”};
A、9
B、10
C、11
D、12
8、下列程序的输出结果是()
main()
{int n[2],m,k;
for(m=0;m<2;m++) n[m]=m;k=2;
for(m=0;m<3;m++) printf(“%d\n”,n[k]);}
A、不确定的值
B、3
C、2
D、1
9、在C语言中引用数组元素时,其数组下标的数据类型允许是()A.整型常量 B.整型表达式
C.整型常量或整型表达式 D.任何类型表达式
10.定义一个具有8个元素的整型数组,应使用的语句是()
A.int a[8]; a[2,4]; C. int a[]; *a[8];
11.字符串“w\x53\\\np\103q”长度是()
A.7 .9 C
12.已知int cn=20;下列关于数组的定义正确的是()
A.int a[cn]; cmt[];
nm[8]=”2014高考”; x[31];
三、程序分析题,写出下面各程序的输出结果。

(每小题5分,共20分)①、#include “”
main()
{int x,sum=3;
int a[]={2,3,4,5,6,7,8,9};
for(x=1;x<7;x*=2)
sum=sum+a[x];
printf(“sum=%d\n”,sum);
}
程序运行结果:
②、 #include “”
main()
{ int a[8]={1,4,3,56,77,44,66,88};
int x=0,y=0,i;
for (i=0;i<8;i++)
{ if(a[i]%2==0)
x=x+1
else y=y+1; }
printf(“X=%d,Y=%d\n”,x,y);
}程序运行结果:
③、#include <>
main( ) {int m,f[10];
f[0]=f[1]=1;
for(m=2;m<10;m++)
f[m]=f[m-2]+f[m-1];
for(m=0;m<10;m++)
{ printf(“%3d”,f[m]);}
2.连续向数组输入若干成绩,并输出这些成绩。

当输入负数时停止接收数据。

}程序运行结果:
④、main( )
{int a=2,b=3,c=4;
++a;c+=++b;
c=b*3;a+=c; printf(“A:%d,%d,%d\n”,a,b,c);
a+=c; printf(“B:%d,%d,%d\n”,a,b,c);}
printf(“C:%d,%d,%d\n”,a,b,c);}
}程序运行结果:
四、程序填空题:(前两题15分,最后一题16分,共46分)。

1.从键盘输入20个数存入在一个数组中,计算所有元素之和及平均值,并找
出最大值和最小值。

3.从键盘上输入一行字符(不多于40个,以回车行符作为输入结束标记)将其
中的大写字母转换成小写字母,其它字符不变,然后输出。

相关文档
最新文档