C++蓝桥等考导学/十级:一维数组/之四:(19一维数组的储存)

一、观看视频

01】数组存储空间的限制【02】数组越界

03】数组的拷贝

二、研读学生讲义

【学生讲义】01】数组存储空间的限制【学生讲义】02】数组越界

【学生讲义】【03】数组的拷贝

三、练习题(不清楚回头查看有关视频或讲义)

01】下面哪个代码会由于数组的空间限制而出现运行错误:

 

 

02】下面语句片段,不出现数组越界的是:

①int a[10];a[-3]=5;

②int a[10];a[0]=0;

③int a[10];a[10]=10;

④int a[10];a[20]=15;

⑤int a[10];int k = a[30];

03】有关数组越界,下面描述错误的是:

①当出现数组越界时,程序会马上抛出运行错误;

②当把小标写成负数、大于等于数组元素的个数时,程序编译的时候不会报错。

04】下面代码,有编译错误的是:

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int a[10]={1}, b[10];    for(int i=0;i<10;i++)  b[i] = a[i];    for(int i=0;i<10;i++)cout << b[i] << " ";    return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>using namespace std;int main(){    int a[10]={1}, b[10];    b = a;    for(int i=0;i<10;i++)cout << b[i] << " ";    return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>#include<cstring>using namespace std;int main(){    int a[10]={1}, b[10];    memcpy(b, a, sizeof(a));    for(int i=0;i<10;i++)cout << b[i];  return 0;}

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>#include<cstring>using namespace std;int main(){    int a[10]={1}, b[10];    memcpy(b, a, sizeof(int)*5);    for(int i=0;i<10;i++)cout << b[i];    return 0;}

05】OpenJudge练习

OpenJudge-1.9-09】直方图

OpenJudge-1.9-12】最长平台

OpenJudge-1.9-13】整数去重