数组练习题

简介: 数组练习题

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语言期末习题之求二维数组中的最大值
90 0
|
8月前
|
C语言期末习题之数组逆序存放
C语言期末习题之数组逆序存放
129 0
|
5月前
|
Java数组几道练习题
Java数组几道练习题
51 11
|
7月前
|
C语言学习记录——鹏哥二分法查找数组中元素 复习整理
C语言学习记录——鹏哥二分法查找数组中元素 复习整理
37 0
|
8月前
|
链表练习题-1
链表练习题
|
8月前
|
链表练习题-2
链表练习题
|
8月前
【链表之练习题】
【链表之练习题】
53 1
|
8月前
|
c语言编程练习题:7-25 求奇数和
c语言编程练习题:7-25 求奇数和
55 1
|
8月前
|
c语言编程练习题:7-48 求组合数
c语言编程练习题:7-48 求组合数
70 0
做几个链表相关的练习题吧!!
做几个链表相关的练习题吧!!
66 1
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等