c数组及自定义数据类型.pptxVIP

  • 9
  • 0
  • 约1.03万字
  • 约 56页
  • 2020-02-22 发布于上海
  • 举报
第1页/共56页第5讲 C++数组及自定义数据类型5.1授课内容C++数组及自定义数据类型的使用。主要包括:1.一维和二维数组;2.字符数组与字符串;3.字符串函数;4.结构体的定义;5.结构变量的定义、初始化、结构成员的访问等;6.结构体与数组;7.结构与链表;8.共用体和枚举类型。第2页/共56页第5讲 C++数组及自定义数据类型5.2授课要求1.掌握数组的基本概念;2.掌握一维数组和二维数组的使用;3.掌握字符数组与字符串的关系以及字符串变量的表示;4.掌握结构体的概念和结构类型的定义;5.掌握结构体变量的定义和初始化;6.掌握结构体成员的访问、结构体赋值的含义以及结构体与指针的关系; 7.掌握共用体和枚举类型。 第3页/共56页第5讲 C++数组及自定义数据类型5.3授课重点1.一维数组和二维数组的定义及使用;2.结构的定义和使用。5.4授课难点1.数组名作函数的参数;2.结构体与指针的结合。第4页/共56页1.一维数组的定义和引用(1)定义一维数组格式为:类型标识符 数组名[常量表达式];例如:int a[10];它表示数组名为a,此数组为整型,有10个元素。第5页/共56页1.一维数组的定义和引用说明:A.数组名定名规则和变量名相同,遵循标识符定名规则。B.用方括号括起来的常量表达式表示下标值,如下面的写法是合法的: int a[10];int a[2*5];int a[n*2]; //假设前面已定义了n为常变量 第6页/共56页1.一维数组的定义和引用C.常量表达式的值表示元素的个数,即数组长度。例如:在“int a[3];”中,3表示a数组有3个元素,下标从0开始,这3个元素是: a[0],a[1],a[2]。 注意最后一个元素是a[2]而不是a[3]。D.常量表达式中可以包括常量、常变量和符号常量,但不能包含变量。即:C++不允许对数组的大小作动态定义。非法定义数组:int n;cinn; //输入a数组的长度int a[n]; //企图根据n的值决定数组的长度 第7页/共56页1.一维数组的定义和引用(2)引用一维数组的元素 数组必须先定义,然后使用。只能逐个引用数组元素的值而不能一次引用整个数组中的全部元素的值。数组元素的表示形式为:数组名[下标]下标可以是整型常量或整型表达式。例如a[0]= a[5]+ a[7]- a[2*3]第8页/共56页1.一维数组的定义和引用例1 数组元素的引用。#include iostreamusing namespace std;int main( ){int i,a[10]; for (i=0;i=9;i++)a[i]=i; for (i=9;i=0;i--)couta[i]“ “; coutendl; return 0;}运行结果如下: 9 8 7 6 5 4 3 2 1 0程序使a[0]~a[9]的值为0~9,然后按逆序输出。第9页/共56页1.一维数组的定义和引用(3)一维数组的初始化A.在定义数组时分别对数组元素赋予初值。例如int a[10]={0,1,2,3,4,5,6,7,8,9};B.可以只给一部分元素赋值。例如:int a[10]={0,1,2,3,4}; //剩余的元素值为0第10页/共56页1.一维数组的定义和引用C.如果想使一个数组中全部元素值为1,可以写成int a[10]={1,1,1,1,1,1,1,1,1,1};不能写成int a[10]={1*10};D.在对全部数组元素赋初值时,可以不指定数组长度。例如int a[5]={1,2,3,4,5};可以写成 int a[]={1,2,3,4,5};第11页/共56页数组的赋值1. 用“=”赋值 要在数组之间进行赋值,也只能一个一个元素地赋值。 例如:将数组a的值 赋给另一个同样大小的数组b,可以利用下面的循环完成赋值操作: for (i=0;i3;i++) b[i]=a[i];2. 用流命令赋值 语法格式为: cin数组名;或 cin数组名[下标]; 例如:对一个大小为5的字符型数组a赋值,可以用下列两种方式: char a[5]; cina;第12页/共56页数组的赋值3. 用scanf()函数, 其语法格式为: scanf(“类型标识”,数组名);或 scanf(“类型标识”,数组元素地址); 4. 用C++库函数中的strcpy()函数(字符串拷贝函数), 其常见语法格式为: strcpy(数组名,字符串); //将一个字符串赋值到一个字符数组中 例如: char str1[10]; strcpy(str1,”hello”); 注意,此例不能写为:str1=”hello”; //不合法 另一种常见的语法格式为: strcpy(数组

文档评论(0)

1亿VIP精品文档

相关文档