C、C++程序设计:一维数组单元测试与答案

合集下载

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语言数组练习及答案第四部分数组4.1 选择题1. 以下关于数组的描述正确的是(c )。

A. 数组的大小是固定的,但可以有不同的类型的数组元素B. 数组的大小是可变的,但所有数组元素的类型必须相同C. 数组的大小是固定的,所有数组元素的类型必须相同D. 数组的大小是可变的,可以有不同的类型的数组元素2. 以下对一维整型数组a的正确说明是(d )。

a(10); B. int n=10,a[n];n; D. #define SIZE 10scanf("%d",&n); int a[SIZE];int a[n];3. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(c )。

A. 整型常量B. 整型表达式C. 整型常量或整型表达式D. 任何类型的表达式4. 以下对一维数组m进行正确初始化的是(c )。

A. int m[10]=(0,0,0,0) ;B. int m[10]={ };C. int m[ ]={0};D. int m[10]={10*2};5. 若有定义:int bb[ 8];。

则以下表达式中不能代表数组元bb[1]的地址的是(c )。

A. &bb[0]+1B. &bb[1]C. &bb[0]++D. bb+16. 假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是(d )。

A. 3B. 6C. 10D. 207. 若有以下说明:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;则数值为4的表达式是(d )A. a[g-c]B. a[4]C. a['d'-'c']D. a['d'-c]8. 以下程序段给数组所有的元素输入数据,请选择正确答案填入(a )。

#include<>main(){int a[10],i=0;while(i<10) scanf("%d",________ );┇}A. a+(i++)B. &a[i+1]C. a+iD. &a[++i]9. 执行下面的程序段后,变量k中的值为(a )。

一维数组练习题

一维数组练习题

一维数组练习题1、以下对一维数组a进展正确初始化的是OA) int a[10]=(0,0z0z0,0); B) int a[10]={ };C) int a[ ] = {0}; D} int a[10]={ 10*2};2、以下一维数组a的正确定义是oA) int a(10); B) int n=10,a[n];C) int n; D) #define SIZE 10scanf("%d"z8ιn);int a[SIZE];int a[n];3、执行下面的程序段后,变量k中的值为oint k=3z s[2];s[O]=k; k=s[l]*10;A)不定值B) 33C) 30 D) 104、以下程序执行后的输出结果是omain() <int a z b[5];a=0; b[0]=3; printf("%d z%d∖n",b[O],b[l]); }A) 3z0 B) 3 0C) 0,3 D) 3,不定值5、确定数组a的赋值状况如下所示,那么执行语句a[2]++;后a[l]和a[2]的值分别是oa[0] a[U a[2] a[3] a[4]I II 10 II_______ L 20 I II I I30 I 40 I 50 II I IA) 20 和30 B) 20 和31C) 21 和30 D) 21 和316、以下程序输出a数组中的最小值及其下标,在划线处应填入的是. main() < int i z p=0z a[10];for(i=0;i<10;i++) scanf("%d"r8ιa[i]);for(i=l;i<10;i + + )if(a[>]<a[p]);printf("%d,%d∖n",a[p],p);A) i=P C) p=j B) a[p]=a[∏D) P=i7、以下程序的输出结果是omain(){ int i,p=0,a[10]={l,5,9,0,∙3,8,7,0,l,2};for(i=l;i<10;i++)if(a[i]<a[p]) p=i;printf("%d z%d∖n",a[p]z p);)A) -3z4 B) 0,1 C) 9z2 D) 2,98、有如下说明:int a[10]=<0,l,2,3,4,5,6,7,8,9};那么数值不为9的表达式是oA) a[10-l] C) a[9]-0 B) a[8]D) a[9]-a[0]9、有如下程序main(){ int n[5]={0,0,0},i,k=3;for(i=0;i<k;i++) n[i]=i+l;printf("%d∖n",n[k]);}该程序的输出结果是O A)不确定的值C)2 B) 4 D) O10、以下程序的输出结果是Omain()( int i,x[9]={9,8,7,6,5,4,3,2,l};for(i=0;i<4;i+=2) printf("%d "z x[i]);}A) 5 2 B) 5 1C) 5 3 D)9 711、以下程序的功能是:从键盘上输入假设干个学生的成果,统计计算出平均成果,并输出低于平均分的学生成果,当输入负数时完毕。

C语言程序设计第六章数组习题及答案

C语言程序设计第六章数组习题及答案

1.以下对一维整型数组a的定义,正确的是_。

(2分)A.int a(10) ;B.int n = 10 , a[n] ;C.int n ;scanf( "%d" , &n ) ;int a[n] ;D.int a[10] ;2.若有定义:int a[10] ;,则对a数组元素的正确引用是_。

(2分)A.a[10]B.a[3.5]C.a(5)D.a[10-10]3.对定义int a[10] = {6 , 7 , 8 , 9 , 10} ; 的正确理解是_。

(2分)A.将5个初值依次赋给a[1]--a[5]B.将5个初值依次赋给a[0]--a[4]C.将5个初值依次赋给a[6]--a[10]D.因为数组长度与初值个数不相同,所以此语句不正确4..若有定义:int a[3][4]; , 则对a数组元素的正确引用是_。

(2分)A.a[3][4]B.a[1,3]C.a[1+1][0]D.a(2)(1)5.以下对二维数组a初始化正确的语句是_。

(2分)A.int a[2][ ]={{0 , 1 , 2}, {3 , 4 , 5}};B.int a[ ][3]={{0, 1, 2}, {3, 4, 5}};C.int a[2][4]={{0, 1 , 2}, {3 , 4}, {5}};D.int a[ ][3]={{0, 1, 2}, { }, {3, 4}};6.对二维数组a进行如下初始化:int a[ ][3]={0 , 1 , 2 , 3 , 4 , 5};则a[1][1]的值是_。

(2分)A.0B.3C.4D.17.下面程序段的运行结果是_。

(2分)#include<stdio.h>int main( ){int i , x[3][3] = {1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9} ;for( i = 0 ; i < 3 ; i++ )printf( "%2d" , x[i][2-i] ) ;return 0 ;}A.1 5 9B.1 4 7C.3 5 7D.3 6 98.以下对数组s的初始化,错误的是_。

C程序设计(数组)习题与答案

C程序设计(数组)习题与答案

C程序设计(数组)习题与答案C程序设计(数组)习题与答案数组是C语言中常用的数据结构之一,它可以存储多个相同类型的元素。

掌握数组的使用对于C程序设计至关重要,下面将为大家介绍一些关于C数组的习题及其答案。

1. 习题一:计算数组元素的和题目描述:编写一个程序,计算给定数组中所有元素的和,并输出结果。

解题思路:```c#include <stdio.h>int main() {int arr[5] = {1, 2, 3, 4, 5}; // 定义一个包含5个元素的整型数组int sum = 0; // 用于存储和的变量// 遍历数组,累加每个元素的值for (int i = 0; i < 5; i++) {sum += arr[i];}printf("数组元素的和为:%d\n", sum);return 0;}```2. 习题二:查找数组中的最大值题目描述:编写一个程序,找出给定整型数组中的最大值,并输出结果。

解题思路:```c#include <stdio.h>int main() {int arr[7] = {4, 7, 2, 9, 1, 5, 8}; // 定义一个包含7个元素的整型数组int max = arr[0]; // 假设第一个元素为最大值// 遍历数组,比较每个元素的值与当前最大值的关系for (int i = 1; i < 7; i++) {if (arr[i] > max) {max = arr[i];}}printf("数组中的最大值为:%d\n", max);return 0;}```3. 习题三:查找数组中的特定元素题目描述:编写一个程序,在给定整型数组中查找是否存在指定元素,并输出结果。

解题思路:```c#include <stdio.h>int main() {int arr[6] = {3, 6, 9, 2, 5, 8}; // 定义一个包含6个元素的整型数组 int target = 2; // 指定要查找的元素int found = 0; // 用于标记是否找到目标元素的变量// 遍历数组,比较每个元素的值与目标值的关系for (int i = 0; i < 6; i++) {if (arr[i] == target) {found = 1;break;}}if (found) {printf("数组中存在目标元素:%d\n", target);} else {printf("数组中不存在目标元素:%d\n", target);}return 0;}```4. 习题四:数组元素逆序排列题目描述:编写一个程序,将给定整型数组的元素逆序排列,并输出结果。

c语言一维数组例题

c语言一维数组例题

c语言一维数组例题当涉及到C语言的一维数组例题时,有很多不同的问题和示例可以提供。

下面是一些可能的问题和对应的回答。

1. 请解释一维数组是什么?一维数组是一种数据结构,用于存储相同类型的元素。

它由连续的内存单元组成,每个元素都有一个唯一的索引,可以通过索引访问和操作数组中的元素。

2. 如何声明和初始化一维数组?在C语言中,可以使用以下语法声明和初始化一维数组:c.数据类型数组名[数组大小] = {元素1, 元素2, ...};例如:c.int numbers[5] = {1, 2, 3, 4, 5};3. 如何访问一维数组中的元素?可以使用索引来访问一维数组中的元素。

索引从0开始,最大索引为数组大小减1。

例如,要访问上面声明的数组中的第三个元素,可以使用以下语法:c.int thirdElement = numbers[2];4. 如何在一维数组中查找特定的元素?可以使用循环结构遍历一维数组,并通过条件判断来查找特定的元素。

以下是一个示例代码,查找数组中是否存在某个特定的元素:c.int searchElement(int array[], int size, int target) {。

for (int i = 0; i < size; i++) {。

if (array[i] == target) {。

return i; // 返回元素在数组中的索引。

}。

}。

return -1; // 如果未找到,返回-1。

}。

5. 如何对一维数组进行排序?可以使用各种排序算法对一维数组进行排序,例如冒泡排序、插入排序、选择排序等。

以下是一个使用冒泡排序算法对整型数组进行升序排序的示例代码:void bubbleSort(int array[], int size) {。

for (int i = 0; i < size 1; i++) {。

for (int j = 0; j < size i 1; j++) {。

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语言程序设计练习题参考答案第四章(1)一维数组

C语言程序设计练习题参考答案第四章(1)一维数组

C语言程序设计练习题参考答案第四章(1)一维数组C语言程序设计练习题参考答案第四章 (1) 一维数组/* 4.11 fibonacci数列,前15项 1,1,2,3,5,。

*/ #include "stdio.h"void main(){int f[15]={1,1}, i;for(i=2;i<=14;i++) /* 计算 */f[i]=f[i-2]+f[i-1];printf("fibonacci数列,前15项\n"); /* 输出 */for(i=0;i<=14;i++){printf("%5d",f[i]);if((i+1)%5==0)printf("\n");}}/* 4.12 数组元素前移动一个位置 */#include "stdio.h" void main(){int a[10]={0,1,2,3,4,5,6,7,8,9};int i,t;printf("\n移动之前:\n");for(i=0;i<=9;i++)printf("%3d",a[i]);/* 移动 */t=a[0];for(i=0;i<=9;i++)a[i]=a[i+1];a[9]=t;printf("\n移动之后:\n");for(i=0;i<=9;i++)printf("%3d",a[i]);}/* 4.13 有序数列中插入若干个数,仍然保持有序 */#include "stdio.h" void main(){int a[100]={1,4,8,10};int i,k,x,count=4;/* i,k 循环变量, x 输入整数,count 有多少整数*/printf("\n请输入要插入的整数,输入之后按回车键,如要结束请输入-1\n"); scanf("%d",&x);while(x!=-1){/* 寻找插入位置 */for(i=0;i<count;i++)< p="">/* 找到插入位置 */if(a[i]>=x){/* 移动 */for(k=count;k>i;k--)a[k]=a[k-1];/* 插入 */a[i]=x;break;}}if(i>=count)a[i]=x;count=count+1;printf("\n插入之后的数组为:\n");for(i=0;i<count;i++)< p="">printf("%4d",a[i]);printf("\n请输入要插入的整数,输入之后按回车键,如要结束请输入-1\n"); scanf("%d",&x);}}/* 4.15 将十进制数转换成二进制数,并按位存放到数组中。

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

一、单选题
1、执行下面的程序段后,变量k中的值为()。

int k=3, s[2];
s[0]=k; k=s[1]*10;
A.30
B.不定值
C.1
D.33
正确答案:B
2、假定int类型变量占用4个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是()
A.3
B.40
C.10
D.12
正确答案:B
3、以下定义语句中,错误的是()。

A.int a[2]={1,2};
B. int n=2, a[n]={1,2};
C. int a[5]={1,2};
D. int a[]={1,2};
正确答案:B
4、以下对一维数组a进行正确初始化的是()。

A.int a[5]=(0,0,0,0,0);
B.int a[5]={1,2,3,4,5,6};
C.int a[5]={0};
D.int a[5]=1,2,3,4,5;
正确答案:C
5、有如下说明: int a[10]={0,1,2,3,4,5,6,7,8,9}; 则数值不为9的表达式是()。

A.a[8]
B.a[9]-a[0]
C.a[10-1]
D.a[9]
正确答案:A
二、判断题
1、使用数值型数组时,不可以一次引用整个数组,只能逐个引用元素。

正确答案:√
2、C语言中,数组名是一个常量,是数组首元素的内存地址,可以重新赋值。

正确答案:×
3、C语言中,数组元素在内存中是顺序存放的,它们的地址是连续的。

正确答案:√
三、填空题
1、假设有定义 int a[10]={1,3,5,7}; ,则7是元素()的值。

正确答案:a[3]
2、数组名是一个地址(),由系统自动为其分配,不能人为修改,代表了数组在内存中存放的首地址。

(提示:填“常量”或“变量”)
正确答案:常量。

相关文档
最新文档