数组的基本知识及练习题

Posted 垚垚是小白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组的基本知识及练习题相关的知识,希望对你有一定的参考价值。

sizeof 和strlen的区别

1.sizeof 和strlen没有关系
2.strlen是求字符串长度–只能针对字符串求长度-库函数,需要头文件
3.sizeof 计算数组,变量,类型的大小–单位是字节-操作符

# include<stdio.h>
# include<string.h>
int main() {
	char arr1[] = "abc";
	char arr2[] = { 'a','b','c'};
	printf("%d\\n", sizeof(arr1));
	printf("%d\\n", sizeof(arr2));
	printf("%d\\n", strlen(arr1));
	printf("%d\\n", strlen(arr2));
}

结果 :4 3 3 随机数

顺序输出字符串的元素

# include<stdio.h>
# include<string.h>
int main() {
	char arr[] = "abcdef";
	int i;
	for (i = 0; i <= (int)strlen(arr); i++) {
		printf("%c\\n", arr[i]);
	}
}

输出地址

# include<stdio.h>
# include<string.h>
int main() {
	char arr[] = { 1,2,3,4,5,6,7,8,9 };
	int se = sizeof(arr) / sizeof(arr[0]);
	int i;
	for (i = 0; i <= se; i++) {
		printf("&arr[%d]=%p\\n", i,  &arr[i]);
	}
}

输出二维数组元素

# include<stdio.h>
# include<string.h>
int main() {
	int arr[3][3] = { {1,2,3} ,{1,2,3},{1,1,1} };//几行几列
	//只能省略行,不能省略列
	int i = 0,j;
	for (i = 0; i <= 2; i++) {
		j = 0;
		for (j = 0; j <= 2; j++) {
			printf("%d\\t", arr[i][j]);
		}
		printf("\\n");
	}
}

冒泡排序

# include<stdio.h>
# include<string.h>
 void bubble_sort(int arr[],int sz) {
	 //确定冒泡的趟数
	 int i = 0;
	 for (i = 0; i < sz - 1; i++) {
		 //每一趟冒泡排序
		 int flag = 1;//假设要拍的数据已经有序
		 int j = 0;
		 for (j = 0; j < sz - 1 - i; j++) {
			 if (arr[j] > arr[j + 1]) {
				 int temp = arr[j];
				 arr[j] = arr[j + 1];
				 arr[j + 1] = temp;
				 flag = 0;//这趟不完全有序
			 }
		 }
		 if (flag == 1) {
			 break;
		 }
	 }

}
int main() {
	int arr[] = { 9,8,7,6,5,4,3,2,1,0 };
	//对数组排序,升序
	int i;
	int sz = sizeof(arr) / sizeof(arr[1]);
	bubble_sort(arr, sz);//冒泡排序函数
	for (i = 0; i <sz; i++) {
		printf("%d\\n", arr[i]);
	}
	return 0;
}

数组地址

在这里插入图片描述

# include<stdio.h>
# include<string.h>
int main() {
	int arr[] = { 1,2,3,4,5,6,7,8,9 };
	printf("%p\\n", arr);//首元素的地址
	printf("%p\\n", arr+1);第二个元素的地址
	printf("%p\\n", &arr[0]);//第一个元素的地址
	printf("%p\\n", &arr[0]+1);第二个元素的地址
	printf("%p\\n", &arr);//数组的地址
	printf("%p\\n", &arr+1);//这个是加一个数组的长度
}

以上是关于数组的基本知识及练习题的主要内容,如果未能解决你的问题,请参考以下文章

(转) Java中的负数及基本类型的转型详解

方法的操作及数组的练习

代码练习(二维数组的定义,字符串加减,子元素的创建及绑定,排序算法)

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

Java开发 | 图书管理系统 | 小程序 | 小练习