电子商务范围,优化网站性能,武强网站建设,医疗 企业 网站建设大家好#xff0c;这里是争做图书馆扫地僧的小白。非常感谢各位的支持#xff0c;也期待着您的关注。 目前博主有着C语言、C、linux以及数据结构的专栏#xff0c;内容正在逐步的更新。 希望对各位朋友有所帮助同时也期望可以得到各位的支持#xff0c;有任何问题欢迎私信与… 大家好这里是争做图书馆扫地僧的小白。非常感谢各位的支持也期待着您的关注。 目前博主有着C语言、C、linux以及数据结构的专栏内容正在逐步的更新。 希望对各位朋友有所帮助同时也期望可以得到各位的支持有任何问题欢迎私信与我。 个人主页争做图书馆扫地僧的小白_-CSDN博客 C语言专栏C语言_争做图书馆扫地僧的小白的博客-CSDN博客 C专栏C系列_争做图书馆扫地僧的小白的博客-CSDN博客 linux系统linux系统_争做图书馆扫地僧的小白的博客-CSDN博客 数据结构数据结构_争做图书馆扫地僧的小白的博客-CSDN博客 最后送大家一句话路好不好走也许我不能决定但走不走却只有我能决定。 目录
前言
一、数组
一一维数组 1 一维数组的性质 2.一维数组的初始化 3练习题
二二维数组 1 二维数组 2 二维数组的初始化 3练习题1 4 练习题2 总结 前言 C语言是一门面向过程的计算机编程语言与C、C#、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。 本篇程序练习时对应博主的C语言学习笔记中-CSDN博客本次博客内容将围绕学习笔记中的相关知识点进行整理程序的相关练习也是博主在学习C语言的过程中所练习的一些题目希望对有需要的朋友有所帮助本篇包括一维数组、二维数组性质数组的初始化练习题以及综合的练习题。 提示以下是本篇文章正文内容下面案例可供参考
一、数组
一一维数组 1 一维数组的性质
#include stdio.hint main()
{int s[5];//给数组元素赋值s[0] 1;s[1] 2;s[2] 3;s[3] 4;s[4] 5;//读取数组元素的值printf(s[0] %d\n, s[0]);printf(s[1] %d\n, s[1]);printf(s[2] %d\n, s[2]);printf(s[3] %d\n, s[3]);printf(s[4] %d\n, s[4]);// 变量名 取地址符 可以获取变量的地址printf(s[0] %p\n, s[0]);printf(s[1] %p\n, s[1]);printf(s[2] %p\n, s[2]);printf(s[3] %p\n, s[3]);printf(s[4] %p\n, s[4]);//数组的长度元素的个数printf(sizeof(s) %ld\n, sizeof(s));//数组的元素是变量 允许被重新赋值s[0] 10;printf(s[0] %d\n, s[0]);//下标可以是一个变量int m 1;s[m] 1234;printf(s[m] %d\n, s[m]);//下标可以是一个表达式s[s[0]-519] 1314;printf(s[1] %d\n, s[1]);//遍历一维数组 方式1int i 0;for(i 0; i 5; i){printf(%d , s[i]);}printf(\n);//遍历一维数组 方式2for(i 0; i sizeof(s)/sizeof(s[0]); i){printf(%d , s[i]);}printf(\n);return 0;
} 2.一维数组的初始化
#include stdio.hint main()
{//完全初始化int s[5] {10, 20, 30, 40, 50};//不完全初始化int s[5] {10, 20};//全部初始化成 0int s[5] {0}; //省略下标的初始化int s[] {10, 20, 30};int i 0;for(i 0; i 5; i){printf(%d , s[i]);}printf(\n);return 0;
} 3练习题 定义一个长度为10的int类型的一维数组 从终端给数组的元素赋值 找出数组中最大的值输出最大值。 #include stdio.hint main()
{int s[10] {0};int i 0;//循环给数组赋值for(i 0; i 10; i){scanf(%d, s[i]);}//保存最大值的下标int max_index 0;for(i 1; i 10; i){if(s[max_index] s[i]){max_index i;}}//当循环结束的时候 max_index 中记录的就是最大值的下标printf(max_value %d\n, s[max_index]);return 0;
}
二二维数组 1 二维数组
#include stdio.hint main(int argc, const char *argv[])
{//每个元素都是一个 int 类型的 变量int s[3][4];//二维数组访问元素 数组名[行号][列号]s[0][0] 10;s[0][1] 2;s[2][2] 3;printf(s[0][0] %d\n, s[0][0]);printf(s[0][1] %d\n, s[0][1]);printf(s[2][2] %d\n, s[2][2]);//二维数组的大小 行数*列数*单个元素的大小printf(sizeof(s) %ld\n, sizeof(s));//48 3 * 4 * sizeof(int)//二维数组的元素再内存上也是连续的printf(%p\n, s[0][3]); printf(%p\n, s[1][0]);//遍历二维数组int i 0;int j 0;//外层循环控制行数for(i 0; i 3; i){//内层循环控制列数for(j 0; j 4; j){printf(%d , s[i][j]);}printf(\n);}return 0;
} 2 二维数组的初始化
#include stdio.hint main(int argc, const char *argv[])
{//完全初始化int s[3][4] {{1,2,3,4},\{5,6,7,8},\{9,10,11,12}};//不完全初始化 没有初始化的位 也是用0初始化int s[3][4] {{1,2},\{5,6},\{9}};//完全初始化int s[3][4] {1,2,3,4,5,6,7,8,9,10,11,12};//不完全初始化 没有初始化的位 也是用0初始化int s[3][4] {1,2,3,4,5,6};//全部初始化成0 int s[3][4] {0};//省略下标的初始化int s[][4] {1,2,3,4,5,6,7,8,9};printf(sizeof(s) %ld\n, sizeof(s));//遍历二维数组int i 0;int j 0;for(i 0; i 3; i){for(j 0; j 4; j){printf(%d , s[i][j]);}putchar(10);}return 0;
} 3练习题1 定义一个3行4列的二维数组并以行为单位完全初始化 初始化的数据随便指定找出数组中最大的元素及最大元素所在的行号、列号并输出。 代码示例
#include stdio.hint main(){int s[3][4] {{12,23,34,45},{11,22,33,44},{456,1,2,3}};int max_h 0;int max_l 0;int i 0;int j 0;for(i 0; i 3; i){for(j 0; j 4; j){if(s[i][j] s[max_h][max_l]){max_h i;max_l j;}}}printf(max_value %d max_hang %d max_lie %d\n,s[max_h][max_l], max_h, max_l);return 0;
} 4 练习题2 使用10*10的二维数组保存杨辉三角的数据 并输出。 代码示例
#include stdio.h#define N 10
int main(){int s[N][N] {0};s[0][0] 1;//循环给数组赋值int i 0;int j 0;for(i 1; i N; i){s[i][0] 1;//给每行的第一列赋值//其他列的值循环for(j 1; j i; j){s[i][j] s[i-1][j] s[i-1][j-1];}}//输出数组的值for(i 0; i N; i){for(j 0; j i; j){printf(%-4d, s[i][j]);}printf(\n);}return 0;
} 总结 以上就是今天要讲的内容 以上就是今天所整理的全部内容本篇包括一维数组、二维数组性质数组的初始化练习题以及综合的练习题。希望对正在学习的小伙伴们有所帮助同时也期待着您的关注。