计算机等级 百分网手机站

计算机二级考试C语言冲刺题(2)

时间:2018-01-09 12:07:43 计算机等级 我要投稿

2017计算机二级考试C语言冲刺题

  16. 若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是(A)

  A、1

  B、4

  C、4.333333

  D、4.6

  “(int)f“表示将f中的值强制类型转换为整型,即将13.8的小数部分舍掉,转换为13;然后计算13%3,结果为1,再将结果赋给变量n,因此n的值为1

  17. 以下对一维数组a的正确说明是: D

  A、char a(10);

  B、 int a[];

  C、int k=5,a[k];

  D、char a[3]={‘a’,’b’,’c’};

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

  类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;常量表达式是指数组的长度(数组中包含元素的个数),其值只能是整数,不可以是变量,而且从1开始计数。

  选项A,常量表达式只能放在中括号 [ ]中

  选项B,只有在对数组初始化(即赋值)的时候才可以省略数组的长度,B中并未对a进行初始化。

  选项C,常量表达式不能为变量。

  18.以下能对一维数组a进行初始化的语句是:( C )

  A、int a[5]=(0,1,2,3,4,)

  B、 inta(5)={}

  C、 int a[3]={0,1,2}

  D、 int a{5}={10*1}

  选项B,D,常量表达式只能放在中括号 [ ]中

  选项A,数组可以看做是若干个相同数据类型元素的有序集合,因此以集合的形式对其初始化,使用{ }对其初始化,选项A用了().

  19.在C语言中对一维整型数组的正确定义为 D 。

  A、int a(10);

  B、int n=10,a[n];

  C、int n;a[n];

  D、#define N 10

  int a[N];

  20、已知:int a[10]; 则对a数组元素的正确引用是( D )。

  A、a[10]

  B、a[3.5]

  C、a(5)

  D、a[0]

  

  

  

  数组元素引用

  

  

  

  数组

  

  [下标]

  

  

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

  int a[10]表示定义了一个包含10个整型数据的数组a,数组元素的逻辑地址下标范围为0~9,即a[0] 表示组中第1个元素; a[1] 表示组中第2个元素; a[2] 表示组中第3个元素; ......;a[9] 表示组中第10个元素.

  选项A,超过了数组a的逻辑地址下标范围;

  选项B,逻辑地址下标只能为整数

  选项C,逻辑地址下标只能放在[ ]中

  

  21.若有以下数组说明,则i=10;a[a[i]]元素数值是(C )。

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

  A、10

  B、9

  C、6

  D、5

  先算a[a[i]]内层的a[i],由于i=10,因此a[i]即a[10].

  a[10]对应下面数组中的元素为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 )

  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};

  二维数组的定义、初始化

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

  二维数组可以看做是矩阵

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

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

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

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

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

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

  A、a[2][4]

  B、a[1,3]

  C、a[2][0]

  D、a(2)(1)

  数组元素的引用

  数组名[下标] [下标]

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

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

  因此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是用户定义的结构体类型名