C语言数组练习及答案

合集下载

C语言数组答案

C语言数组答案

C第5次上机练习:数组
1、输入n个整数,用一维数组存放,然后将这n个整数逆序存放并输出。

2、将1-200中所有11的倍数存放到一个一维数组中,并输出。

3、有n个已经按由小到大排好序的整数,再输入一个整数,将其插入到这批数据中,要求插入该元素后仍然按由小到大的顺序排列。

4、(二维数组)求一个n*n矩阵对角线元素之和。

5、(一维字符数组)输入两个任意的字符串,编写程序实现两个字符串的链接。

(不能使用strcat()函数)
6、(一维字符数组)从键盘输入一个不超过30个字符的字符串,存储到一个字符数组中。

将下标为奇数位置上的字符按顺序复制到另外一个字符数组中并输出。

如:输入“abcdefg”,则输出”bdf”。

7、(一维字符数组)在一个指定的字符串中删除指定的字符,并输出该字符串。

广技师C语言复习题5.练习(数组)(有答案)

广技师C语言复习题5.练习(数组)(有答案)

一、选择题1. 以下对一维整型数组a的正确说明是。

A.int a(10); B.int n=10, a[n];C.int n;scanf(“%d”,&n);int a[n]; D.#define SIZE 10 int a[SIZE]2. 若有说明:int a[10]; ,则对a数组元素的正确引用是。

A.a[10] B.a[3.5] C.a(5) D.a[10-10]4. 以下对二维数组a的正确说明是。

A.int a[3][ ]; B.float a(3,4);C.double a[ ][4]; D.float a(3)(4);5. 若有说明:int a[3][4]; 则对a数组元素的正确引用是。

A.a[3][4] B.a[1, 3] C.a[1+1][0] D.a(2)(1)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,0},{ },{1,1}};7. 下面程序段(每行代码前面的数字表示行号)。

1 int a[3]={3*0};2 int i3 for(i=0; i<3; i++) scanf(“%d”,&a[i]);4 for(i=1; i<3; i++) a[0]=a[0]+a[i];5 printf(“%d\n”,a[0]);A.第1行有错误B.第5行有错误C.第3行有错误D.没有错误8. 若有定义float x[4]={1.3, 2.4, 5.6},y=6; 则错误的语句是。

A.y=x[3]; B.y=x+1; C.y=x[2]+1 D.x[0]=y;9. 定义如下变量和数组:int k;int a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是。

C语言数组练习及答案之欧阳索引创编

C语言数组练习及答案之欧阳索引创编

第四部分数组欧阳家百(2021.03.07)4.1选择题1. 以下关于数组的描述正确的是(c )。

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

A.int a(10);B. int n=10,a[n];C.int 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. 若有定义:intbb[ 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 )。

C语言习题六(数组部分)习题及答案

C语言习题六(数组部分)习题及答案

C语言习题六(数组部分)习题及答案习题六一.选择题1.在C语言中,引用数组元素时,其数组下标的数据类型允许是c 。

A)整型常量B)整型表达式C)整型常量或整型表达式C)任何类型的表达式2.以下对一维整型数组a的正确说明是DA)int a(10) ; B)int n=10,a[n];C)int n; D)#define SIZE 10scanf(“%d”,&n);int a[SIZE];int a[n];3.若有定义:int a[10],则对数组a元素的正确引用是 D 。

A)a[10] B)a[3.5] C)a(5) D)a[10-10]4.以下不能对一维数组a进行正确初始化的语句是B 。

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元素的正确引用是。

AA)a[2][3] B)a[1,3] C)a(5) D)a[10-10]6.以下能对二维数组a进行正确初始化的语句是B。

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.以下不能对二维数组a进行正确初始化的语句是。

CA)int a[2][3]={0} ;B)int a[][3]={{1,2},{0}} ;C)int a[2][3]={{1,2},{3,4},{5,6}} ;D)int a[][3]={1,2,3,4,5,6} ;8.若有说明:int a[3][4]={0};则下面正确的叙述是D。

A)只有元素a[0][0]可得到初值0B)此说明语句不正确C)数组a中各元素都可得到初值,但其值不一定为0D)数组a中每个元素均可得到初值09.若有说明:int a[][4]={0,0};则下面不正确的叙述是D。

C语言数组练习及答案之欧阳美创编

C语言数组练习及答案之欧阳美创编

第四部分数组4.1选择题1. 以下关于数组的描述正确的是(c )。

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

A.int a(10);B. int n=10,a[n];C.int 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. 若有定义:intbb[ 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<stdio.h>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 )。

c语言数组考试题及答案

c语言数组考试题及答案

c语言数组考试题及答案一、选择题1. 在C语言中,数组的下标从哪个数字开始?A. 0B. 1C. 2D. 3答案:A2. 下列哪个选项是正确的数组声明?A. int arr[] = {1, 2, 3};B. int arr[5] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr[] = {1, 2, 3, 4, 5};答案:B3. 若有数组声明 int arr[5] = {1, 2, 3, 4, 5}; 则arr[2]的值是多少?A. 1B. 2C. 3D. 4答案:C二、填空题1. 假设有一个数组声明为 int arr[10] = {0}; 则arr[0]的值是______。

答案:02. 如果声明了一个数组 int arr[5] = {1, 2, 3, 4, 5}; 那么arr 数组的元素个数是______。

答案:5三、简答题1. 请简述C语言中数组的初始化方式有哪些?答案:C语言中数组的初始化方式包括:- 静态初始化:在声明数组时直接指定数组的元素值。

- 动态初始化:在声明数组后,通过循环或逐个赋值的方式初始化数组。

2. 在C语言中,如何访问数组的最后一个元素?答案:可以通过数组的长度减去1来访问数组的最后一个元素,例如对于数组arr,访问最后一个元素的方式是arr[arr.length - 1]。

四、编程题1. 编写一个C语言程序,实现将一个整数数组按照从大到小的顺序排序。

答案:```c#include <stdio.h>void sortDescending(int arr[], int n) {for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {if (arr[j] < arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}int main() {int arr[] = {4, 2, 3, 1, 5};int n = sizeof(arr) / sizeof(arr[0]);sortDescending(arr, n);for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}return 0;}```该程序首先定义了一个排序函数sortDescending,它使用冒泡排序算法将数组从大到小排序。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
29. 下述对C语言字符数组的描述中错误的是(c
A.字符数组可以存放字符串
B.字符数组中的字符串可以整体输入、输岀
C.可以在赋值语句中通过赋值运算符"「对字符数组整体赋值
D.不可以用关系运算符对字符数组中的字符串进行比较
30.下述对C语言字符数组的描述中正确的是(a )o
A.任何一维数组的需称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占 存储空间
D.任何类型的表达式
4.以下对一维数组m进行正确初始化的是(c)。
A.int m[10] = (0,0, 0, 0) ;B. int m[10Z = { };
C. int m[ ] = {0};D. int m[10] = {10*2};
5.若有左义:int bb[8]“则以下表达式中不能代表数组元bb[l]的地址的是(c
}
A. 0650B. 1470C. 5430D.输出值不定
26.以下程序运行后,输出结果是(b ).
mainO
{
int aa[4] [4] = {{1,2, 3, 4}, {5, 6, 7,8}, {3,9, 10, 2}, {4,2, 9,6}}; int i, s=0;
for(i=0;i<4;i++) s+=aa[i][1]:
A.输岀abed B.输出aC.
36.下而程序运行后,输出结果是(c
mainO
{
char ch[7]={ "65ab21"};
int i, s=0;
for(i=0;ch[i]>= '0'&&ch[i]<= '9';i+二2)
s二10*s+ch[i]-,0,;
printf (z,%d\nz\ s);
}
C.static char a[2]={ i, '2', '3'};
34.若给出以下泄义:
char x[ Wbcdefg";
char y[]二{m’mTfTg'};则正确的叙述为(c )o
A•数组x和数组y等价
C・数组x的长度大于数组y的长度
35.
A.4个字节B.5个字节
35.若有泄义和语句:
char s[10];s二"abed":printf("%s\n", s);则结果是(以下-代表空格)(d )o
}
该程序的输出结果是G )o
A. 18B. 19C. 20
2&若泄义如下变量和数组:
int i;
int x⑶[3] = {1, 2, 3, 4, 5, 6, 7, 8, 9};
则下面语句的输出结果是(c )o
for(i=0;i<3;i++) printfx[i] [2-i]);
A. 1 5 9B・ 1 4 7C・ 3 5 7
mainO
int i, a[10L x, flag=0;
for(i=0;i<10;i++)
scanf (z,%dz\&a[i]);
scanf (,z%d/z, &x);
for(i=0;i<10;i++)辻{flag=i+l; break;}
printf ("%d\n: flag);
}
A. x!=a[i]B. ! (x-a[ij)C. x~a[ilD. !x~a[i]
}
A.不确楚的值B・2C. 1
12・以下程序运行后,输岀结果是(b)。
mainO
{
int y=18, i=0, j, a[8];
do
{a[i:=y%2; i++;
y=y/2;
}wh订e(y>=l);
for(j=i-l;j>=0;j--)printf(“%d", a[j]);printf ("\n");
printf (/,%d%d%d/,, a[2], a[5], a⑻);
}
A. 258B. 741C. 852
11・以下程序运行后,输出结果是(d )° mainO
{
int n[5] = {0, 0, 0}, i, k=2;
for (i=0 ;i<k; i++) n [i] =n[i]+l;
printf (z,%d\nz\ n[k]);
B.一维数组的元素在引用时其下标大小没有限制
C.任何一个一维数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方 式占用存储空间
D.一维数组的第一个元素是其下标为1的元素
31.不能把字符串:Hello!赋给数组b的语句是(b)0
A.char str[10]= {'H‘,T„ !'};
B.char str[10];str二"Hello!";
A.int a(10) ;B・ int n=10, a[n];
C.int n;D. #define SIZE 10
scanf (z/%d?z, &n) ;int a [SIZE];
int a[n];
3.在C语言中,引用数组元素时,其数组下标的数据类型允许是(c)。
A.整型常量
B.整型表达式
C.整型常量或整型表达式
I
I
I
}
A. a+(i++)B.&a[i+l.C. a+i
9.执行下面的程序段后,变量k中的值为(a )o
int k=3ts[2];
s[O]=k;k=s[l]*10;
A.不立值B. 33C. 30
10.以下程序的输出结果是(c)mainO
{
int i, a[10];
for(i=9;i>=0;i--)a[i]=10-i;
char c二'a', d, g;
则数值为4的表达式是(d)
A. aFg-c]B・ a[4]C.D. a['d' -c]
8.以下程序段给数组所有的元素输入数据,请选择正确答案填入G)。#include<stdio. h>
mainO
{
int a[10], i=0;
while(i<10) scanf);
40.判断两个字符串是否相等,
A. while(sl==s2)
2)
C. while(strcmp(sl, s2)=0)
41.以下程序的输出结果是a)o mainO
}
38. 运行下而的程序,如果从键盘上输入:ab〈回车〉
c〈回车〉
def〈回车〉
则输出结果为(c )o
#include<stdio. h>
Sdefine N=6 mainO
{
char c[N];
inti二0;
for(;i<N;c[i]=getchar 0 , i++);
for( i=0;i<N;i++) putchar(cLil); printfCXn");
23.若二维数组c有m列,则计算任一元素c[i][j]在数组中的位置的公式为(d)。 (假设cEO] [0]位于数组的第一个位置)
A. i*m+jB・ j*m+iC・D・ i*m+j+1
24.若有以下定义语句,则表达式“x[l][l]*x⑵⑵”的值是(a ). float x[3][3]二{{1・0,2.0,3. 0},{4.0,5.0,6. 0}};
A. 12ba56B. 6521C. 6D. 62
37.运行下而的程序,如果从键盘上输入:123<空格>456<空格>789〈回车〉,输岀结果是(d )o
A.123,456,789
C.1,23, 456, 789
mainO
{
char s[100.;int c, i;
scanf(”%c:&c); scanf("玄d", &i); printf (/z%c, %d,玄s\n", c, i, s);
printf(“%d\n” , s);
}
A. 11B. 19C. 13
27.有以下程序
main()
{
int aC3] [3]={{1,2}, {3,4}, {5, 6}}, i, j, s二0;
for(i=l;i<3;i++)
for (j=0;j<=i;j++)s+=a[i][j]:
printf("%d\n", s);
k二5;
for (i=0;i<10;i++)a[i]=i;
for (i=0;i<3;i++)p[i]=a[i*(i+l)];
for (i=0;i<3;i++) k+二p[i]*2;
printf(”%d\n", k);
}
A. 20B. 21C. 22D. 23
15.以下程序运行后输出结果是(d)°
main()
{
int nL3], i, j, k;
for(i=0;i<3;i++)
n[i]=0;
k=2;
for (i=0;i<k;i++)
for (j=O;j<k;j++)
n[j]=n[i]+l;
printf(”%d\n: n[l]);}
A. 2B・ 1C. 0D. 3
相关文档
最新文档