数组的基本知识及练习题
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);//这个是加一个数组的长度
}
以上是关于数组的基本知识及练习题的主要内容,如果未能解决你的问题,请参考以下文章
代码练习(二维数组的定义,字符串加减,子元素的创建及绑定,排序算法)
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段
spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段