数组练习题

简介: 数组练习题

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. }


相关文章
|
5月前
|
存储 C语言
遍历二维数组C语言,小白必看的绝绝子技巧!
遍历二维数组C语言,小白必看的绝绝子技巧!
|
5月前
|
C语言
C语言期末习题之数组逆序存放
C语言期末习题之数组逆序存放
75 0
|
2月前
|
Java
Java数组几道练习题
Java数组几道练习题
37 11
|
2月前
|
算法 C语言
【面试题】【C语言】寻找两个正序数组的中位数
【面试题】【C语言】寻找两个正序数组的中位数
23 0
|
5月前
|
Java
每日一题《剑指offer》数组篇之数组中重复的数字
每日一题《剑指offer》数组篇之数组中重复的数字
51 0
每日一题《剑指offer》数组篇之数组中重复的数字
|
5月前
|
Java
每日一题《剑指offer》数组篇之二维数组中的查找
每日一题《剑指offer》数组篇之二维数组中的查找
51 0
|
5月前
LeetCode(面试题:二维数组中的查找)
LeetCode(面试题:二维数组中的查找)
38 0
|
算法 C语言
C语言 PTA刷题(数组判重并输出重复元素以及个数)
C语言 PTA刷题(数组判重并输出重复元素以及个数)
C语言 PTA刷题(数组判重并输出重复元素以及个数)
|
C语言
C语言刷题系列——9.在数组中查找指定元素
C语言刷题系列——9.在数组中查找指定元素
197 0
函数和数组习题
函数和数组习题
85 0