申嵌培训-c语言基础篇课件_第1页
申嵌培训-c语言基础篇课件_第2页
申嵌培训-c语言基础篇课件_第3页
申嵌培训-c语言基础篇课件_第4页
申嵌培训-c语言基础篇课件_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章

数组回顾2-1理解算法、流程图以及程序的概念理解程序逻辑掌握用C语言进行程序设计的基本方法。掌握C语言的基础知识,包括基本数据类型、表达式、控制结构等掌握C语言的高级知识,包括数组、指针、函数、字符串、结构等回顾2-2break语句用在循环中时,可以直接终止循环,将控制转向循环后面的语句continue语句的作用是跳过循环体中剩余的语句而执行下一次循环嵌套循环时,必须将被嵌套的循环语句完整地包含在外层循环的循环体内目标理解为什么要使用数组理解C语言中数组熟练掌握一维数组的使用掌握二维数组的使用熟悉用数组实现常用的算法本章结构数组的必要性数组数组实现的常用算法数组的分类C语言中的数组一维数组二维数组C语言中的数组Rate945.39873210Rate[4]数组名下标标明了元素在数组中的位置

数组元素下标数组大小数组是可以在内存中连续存储多个元素的结构数组中的所有元素必须属于相同的数据类型数组类型2-2声明一维数组datatypearrayName[size];类型说明符int、char、float…数组名常量表达式:数组大小intnum[50];charlist_of_initials[20];doublepressure_level[6];#defineLIMIT20...intemp_codes[LIMIT];内存emp_code[0]emp_code[1]emp_code[2]emp_code[3]emp_code[4]12991499169918992099初始化一维数组intemp_code[5]={1299,1499,1699,1899,2099};

emp_code其他的初始化情况:intarr[10]={10,9,8,7,6,5,4,3,2,1,0};

//错误!越界了intarr[10]={9,8,7,5};//正确,后面的6个元素未初始化intarr[]={9,8,7};

//正确:元素个数为3intarr[]={};

//错误,到底是几个元素?内存为一维数组动态赋值floatprice[4];printf(“Enterpricesof4books\n”);for(i=0;i<=3;i++){scanf(“%f”,&price[i]);}price[0]price[1]price[2]price[3]price12.341002.1017.511.12一维数组示例#include<stdio.h>intmain(){ inti; floatitem_rate[5],total=0;printf("\n请输入商品价格:"); for(i=0;i<5;i++) { scanf("%f",&item_rate[i]); total=total+item_rate[i]; } printf(“\n所有商品的合计费用:%f\n",total);}

内存循环执行5次请输入商品价格:35.5045.82340.780itotal00Item_rate35.5035.5045.82340.7806225.0所有商品的合计费用:225.000000二维数组3-1datatypearrayName[rowsize][colsize];intnum[4][2];内存numnum[0][0]num[0][1]num[1][0]num[1][1]num[2][0]num[2][1]num[3][0]num[3][1]4X2=88*sizeof(int)字节num[0][0]num[0][1]num[1][0]num[1][1]num[2][0]num[2][1]num[3][0]num[3][1]num为了便于理解,二维数组一般理解为几行几列的矩阵二维数组3-2intbooks[4][2]={{11,1294},{22,450},{33,4000},{44,79}};

intarr[][3]={{1,2,3},{4,5,6}

};

intarr[2][]={{1,2,3},{4,5,6}

};

错误二维数组3-3inti,j,num[4][2];for(i=0;i<=3;i++){for(j=0;j<=1;j++){

scanf("%d",&num[i][j]);}}ijnum[i][j]0010001200103001140020500216003070031800第一行第二行第三行第四行第一列第二列(3,1)800(3,0)700(2,1)600(1,1)400(0,1)200(2,0)500(1,0)300(0,0)100行下标列下标num[0][0]二维数组示例inti,j,student[3][2];for(i=0;i<3;i++){printf("\n输入学号%d两个学期的成绩:",i+1);

for(j=0;j<2;j++)

scanf("%d",&student[i][j]);}printf("\n学员的学号及其两个学期的成绩为:\n");printf("\n\t学号\t第一学期\t第二学期");for(i=0;i<3;i++){printf("\n\t");printf("%d\t",i+1);

for(j=0;j<2;j++)printf("%d\t\t",student[i][j]);printf("\n");}i=0i=1i=2j=0657889j=1568066内层循环执行6次,读入6个值输出数组元素的值

输入学号1两个学期的成绩:6556

输入学号2两个学期的成绩:7880

输入学号3两个学期的成绩:8966

学员的学号及其两个学期的成绩为:学号第一学期第二学期165562788038966Pressanykeytocontinue问题描述:求一组数中的最大值和最小值。数组应用1intmain(){ intnum[5],max,min,i; printf("请输入5个数:\n"); for(i=0;i<5;i++) scanf("%d",&num[i]); max=num[0]; min=num[0]; for(i=1;i<5;i++) { if(max<num[i]) max=num[i]; if(min>num[i]) min=num[i]; }printf("\n最大值为:%d",max); printf("\n最小值为:%d\n",min);}读入5个值保存在数组中求最大值和最小值问题描述:编写C程序实现冒泡排序算法,按照降序排列一组数。数组应用3#defineN5……intgrade[N],temp;for(i=0;i<N;i++)scanf("%d",&grade[i]);for(i=0;i<N;i++){for(j=0;j<N-i-1;j++){ if(grade[j]<grade[j+1]) { temp=grade[j+1]; grade[j+1]=grade[j]; grade[j]=temp; }}}……读入5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论