设为首页 加入收藏

TOP

2015年计算机二级C语言测试题及答案解析(1)(二)
2015-07-16 10:59:43 来源: 作者: 【 】 浏览:251
Tags:2015年 计算机 二级 语言 测试题 答案 解析
为9. 因此a[a[i]]即为a[9]


  a[9]对应下面数组中的元素为6. 因此a[9]即为6


  22.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( B )


  A、2


  B、3


  C、4


  D、无确定值


  5 7


  D、3 6 9


  二维数组的一维大小,即指二维数组的行数,在本题中,按行对二维数组赋值,因此内层有几个大括号,数组就有几行


  23.对二维数组的正确定义是(C )


  详见教材P149~152,二维数组的定义、初始化


  类型符 数组名 [常量表达式][常量表达式]


  二维数组可以看做是矩阵


  类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;第一个常量表达式是指数组的行数;第二个常量表达式是指数组的列数;常量表达式的值只能是整数,不可以是变量,而且从1开始计数。


  一维数组初始化时可以省略数组长度


  二维数组初始化时可以省略行数,但不能省略列数


  选项A,B,都省略了列数


  选项D,不符合二维数组定义的一般形式,行、列常量表达式应该放在不同的[]中


  A、int a[ ][ ]={1,2,3,4,5,6};


  B、int a[2] []={1,2,3,4,5,6};


  C、int a[ ] [3]={1,2,3,4,5,6};


  D、int a[2,3]={1,2,3,4,5,6};


  24.已知int a[3][4];则对数组元素引用正确的是__C___


  A、a[2][4]


  B、a[1,3]


  C、a[2][0]


  D、a(2)(1)


  详见教材P150,数组元素的引用


  数组名[下标] [下标]


  引用数组元素时,[ ]中的下标为逻辑地址下标,只能为整数,可以为变量,且从0开始计数


  第一个[下标]表示行逻辑地址下标,第二个[下标]表示列逻辑地址下标。


  本题图示详见P149图6.7


  因此a的行逻辑地址范围0~2;a的列逻辑地址范围0~3;


  选项A,列逻辑地址下标超过范围


  选项B,D,的引用形式不正确。


  25.C语言中函数返回值的类型是由 A 决定的.


  A、函数定义时指定的类型


  B、 return语句中的表达式类型


  C、 调用该函数时的实参的数据类型


  D、形参的数据类型


  26. 在C语言中,函数的数据类型是指(A )


  A、 函数返回值的数据类型


  B、 函数形参的数据类型


  C、 调用该函数时的实参的数据类型


  D、任意指定的数据类型


  27.在函数调用时,以下说法正确的是( B )


  A、函数调用后必须带回返回值


  B、实际参数和形式参数可以同名


  C、函数间的数据传递不可以使用全局变量


  D、主调函数和被调函数总是在同一个文件里


  28. 在C语言中,表示静态存储类别的关键字是: ( C )


  A、 auto


  B、 register


  C、static


  D、extern


  29.未指定存储类别的变量,其隐含的存储类别为(A )。


  A、auto


  B、static


  C、extern


  D、register


  30. 若有以下说明语句:


  struct student


  { int num;


  char name[ ];


  float score;


  }stu;


  则下面的叙述不正确的是: (D )


  A、 struct是结构体类型的关键字


  B、 struct student 是用户定义的结构体类型


  C、 num, score都是结构体成员名


  D、 stu是用户定义的结构体类型名


  31.若有以下说明语句:


  struct date


  { int year;


  int month;


  int day;


  }brithday;


  则下面的叙述不正确的是__C___.


  A、 struct是声明结构体类型时用的关键字


  B、 struct date 是用户定义的结构体类型名


  C、 brithday是用户定义的结构体类型名


  D、year,day 都是结构体成员名


  32. 以下对结构变量stul中成员age的非法引用是 B


  struct student


  { int age;


  int num;


  }stu1,*p;


  p=&stu1;


  A、 stu1.age


  B、 student.age


  C、 p->age


  D、(*p).age


  33.设有如下定义:


  struck sk


  { int a;


  float b;


  }data;


  int *p;


  若要使P指向data中的a域,正确的赋值语句是 C


  A、 p=&a;


  B、 p=datA、a;


  C、p=&datA、a;


  D、*p=datA、a;


  34.设有以下说明语句:


  typedef struct stu


  { int a;


  float b;


  } stutype;


  则下面叙述中错误的是( D )。


  A、struct是结构类型的关键字


  B、struct stu是用户定义的结构类型


  C、a和b都是结构成员名


  D、stutype是用户定义的结构体变量名


  35.语句int *p;说明了 C 。


  A、p是指向一维数组的指针


  B、p是指向函数的指针,该函数返回一int型数据


  C、p是指向int型数据的指针 // 指针的定义教材P223


  D、p是函数名,该函数返回一指向int型数据的指针


  36.下列不正确的定义是( A )。


  A、int *p=&i,i;


  B、int *p,i;


  C.int i,*p=&i;


  D、int i,*p;


  选项A先定义一个整型指针变量p,然后将变量i的地址赋给p。然而此时还未定义变量i因此编译器无法获得变量i的地址。(A与C对比,选项C先定义变量i,则在内存中为i分配空间,因此i在内存空间的地址就可以确定了;然后再定义p,此时可以为p赋i的地址,C正确)


  37. 若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: ( D )


  A、p=q


  B、*p=*q


  C、n=*q


  D、p=n


  p,q同为整型指针变量,二者里面仅能存放整型变量的地址。


  选项A,q中为地址,因此可将此地址赋给p


  选项B,*p表示p所指向对象n的内容,即一个整数;*q表示q所指向对象的内容,由于在定义q时为其初始化,将p中n的地址给q,因此p中存放n的地址,*q表示q所指向对象n的内容.因此*p=*q 相当于 n=n;


  选项C,n=*q 等价于n=n;


  选项D,p中只能存放地址,不能将n中的整数值赋给p


  38.有语句:int a[10],;则 B 是对指针变量p的正确定义和初始化。


  A、int p=*a;


  B、int *p=a;


  C、int p=&a;


  D、int *p=&a;


  选项A,a是数组名,不是指针变量名,因此不可用*标注数组名a


  选项C,a是数组名,数组名就是地址,无需再用地址符号。而且在定义指针变量p时,应在变量名前加*,标明p是指针变量


  选项D,a是数组名,数组名就是地址,无需再用地址符号。


  39.若有说明语句“int a[5],*p=a;”,则对数组元素的正确引用是( C )。


  A、a[p]


  B、p[a]


  C、*(p+2)


  D、p+2


  首先定义一个整型数组a,a的长度为5,然后定义一个指针变量p,并同时对p进行初始化,将数组a的地址赋给p。因此此时p中存放的数组a的首地址,即数组中第一个元素a[0]的地址。


  对于数组元素下标的引用(详见p144), 一般形式 数组名[下标] 其中下标为逻辑地址下标,从0开始计数,方括号中的下标可以是变量,可以是表达式,但结果一定要是整数。


  选项A,p中存放的是地址,不是整数,不能做数组元素的下标


  选项B,a是数组名,数组名就是地址,不是整数,不能做数组元素的下标


  选项C,(重点!!!详见p231~234) p+2表示指向同一数组中的下两个元素的地址,当前p指向a[0],则p+2表示a[2]的地址,因此*(p+2)表示a[2]的内容


  40. 有如下程序


  int a[10]={1,2,3,4,5,6,7,8,9,10},*P=a;


  则数值为9的表达式是 B


  A、 *P+9


  B、 *(P+8)


  C、 *P+=9


  D、P+8


  (重点!!!

首页 上一页 1 2 3 下一页 尾页 2/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇2015年计算机二级《C语言》考试上.. 下一篇2015年计算机二级C语言测试题及答..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: