数组练习题

简介: 数组练习题

1 知识点

(1)数组是相同类型的一段连续的空间

(2)对于int arr[] = {1,2,(3,4),5}数组,里面总共有4个元素,(3,4)为逗号表达式,逗号表达式会从左向右依次计算,去最后一个表达式的结果,所以取后者,因此数组中元素分别为:1,2,4,5

(3)数组名既可以表示数组的地址,也可以表示数组首元素的地址,两个在数值上是一样的,但是含义不一样。

(4)数组名只有在sizeof和&后才代表整个数组(虽然&arr 打印出来的还是首元素地址,但是,&arr+1,打印出来的地址,比arr多了一个数组地址)。其它都表示首元素的地址

(5)把一组数字逆序,第一种方法 指针的方法*(s-1+ret-i),第二种数组的方法arr(s-1+ret-i)

第三种方法,最后一个数字和第一个数字交换(在函数习题里,有写过字符串逆序,类似可用)

2 定义了一维 int 型数组 a[10] 后,下面错误的引用是:(c )

作业内容

A.a[0] = 1;

B.a[0] = 5*2;//可以的,正确

C.a[10] = 2;

D.a[1] = a[2] * a[0]//可以的,正确

3 将数组A中的内容和数组B中的内容进行交换。(数组一样大)

代码展示:

1. #include <stdio.h>
2. int main()
3. {
4.  int arr1[] = { 1,2,3,4,5 };
5.  int arr2[] = { 6,7,8,9,10 };
6.  int a = 0;
7.  a = sizeof(arr1) / sizeof(arr1[0]);
8.  int i = 0;
9.  for (i = 0; i < a; i++)
10.   {
11.     int b = 0;
12.     b = arr1[i];
13.     arr1[i] = arr2[i];
14.     arr2[i] = b;
15.   }
16.   for (i = 0; i < a; i++)
17.   {
18.     printf("%d ", arr1[i]);
19.   }
20.   printf("\n");
21.   for (i = 0; i < a; i++)
22.   {
23.     printf("%d ", arr2[i]);
24.   }
25.   return 0;
26. }


相关文章
|
8月前
|
存储 C语言
遍历二维数组C语言,小白必看的绝绝子技巧!
遍历二维数组C语言,小白必看的绝绝子技巧!
一维数组笔试题及其解析
一维数组笔试题及其解析
58 0
|
8月前
|
C语言
C语言期末习题之数组逆序存放
C语言期末习题之数组逆序存放
128 0
|
5月前
|
Java
Java数组几道练习题
Java数组几道练习题
50 11
|
7月前
|
存储 C语言
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
【C语言刷题系列】求一个数组中两个元素a和b的和最接近整数m
|
8月前
|
Java
每日一题《剑指offer》数组篇之二维数组中的查找
每日一题《剑指offer》数组篇之二维数组中的查找
60 0
|
8月前
|
算法 前端开发 程序员
前端算法专栏-数组-167. 两数之和 II - 输入有序数组
前端算法专栏-数组-167. 两数之和 II - 输入有序数组
|
8月前
|
算法
牛客网-二维数组的查找
牛客网-二维数组的查找
56 0
|
8月前
剑指Offer LeetCode 面试题53 - I. 在排序数组中查找数字 I
剑指Offer LeetCode 面试题53 - I. 在排序数组中查找数字 I
39 0

热门文章

最新文章