2022年9月计算机二级C语言考前模拟练习题1

2022年度9月份的全国计算机考试时间马上就要到了,各位考生复习的怎么样了呢?下面是小编为大家准备的2022年9月计算机二级C语言考前模拟练习题,希望能够帮助到各位考生备考计算机二级考试。想要知道更多考试模拟练习题,敬请关注留学吧网站。

2022年9月计算机二级C语言考前模拟练习题

1.若有以下数组说明,则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

  2.若有说明: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

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

  3.对二维数组的正确定义是(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};

  4.已知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,的引用形式不正确。

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

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

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

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

  D、形参的数据类型

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

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

  B、 函数形参的数据类型

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

  D、任意指定的数据类型

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

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

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

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

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

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

  A、 auto

  B、 register

  C、static

  D、extern

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

  A、auto

  B、static

  C、extern

  D、register

  10. 若有以下说明语句:

  struct student

  { int num;

  char name[ ];

  float score;

  }stu;

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

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

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

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

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

  11.若有以下说明语句:

  struct date

  { int year;

  int month;

  int day;

  }brithday;

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

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

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

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

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

  12. 以下对结构变量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

  13.设有如下定义:

  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;

  14.设有以下说明语句:

  typedef struct stu

  { int a;

  float b;

  } stutype;

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

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

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

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

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

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

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

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

  C、p是指向int型数据的指针

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

16.C语言中,关系表达式和逻辑表达式的值是( B ) 。

  A、0

  B、 0或1

  C、 1

  D、‘T’或’F’

  17. 下面( D )表达式的值为4.

  A、 11/3

  B、 11.0/3

  C、 (float)11/3

  D、 (int)(11.0/3+0.5)

  【解析】(1)相同数据类型的元素进行数学运算(+、-、*、/)得到结果还保持原数据类型。

  (2)不同数据类型的元素进行数学运算,先要统一数据类型,统一的标准是低精度类型转换为高精度的数据类型。

  选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数部分全部舍掉,仅保留整数,因此11/3=3.

  选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B 11.0/3=3.666666

  选项C,先将整数11强制类型转换,转换为实型11.0,因此选项C变为11.0/3,其后计算过程、结果与选项B同

  选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到3.666666;再计算3.666666+0.5=4.166666,最后将4.166666强制类型转换为整型,即将其小数部分全部舍掉,结果为4

  18.设整型变量 a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( B )

  A、b=1.0/a

  B、b=(float)(1/A、

  C、b=1/(float)a

  D、b=1/(a*1.0)

  19. 若“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

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

  A、char a(10);

  B、 int a[];

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

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

  【解析】详见教材P143~144,一维数组的定义、初始化

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

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

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

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

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

  21.以下能对一维数组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}

  【解析】详见教材P145,一维数组的定义、初始化

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

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

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

  A、int a(10);

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

  C、int n;a[n];

  D、#define N 10

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

  A、a[10]

  B、a[3.5]

  C、a(5)

  D、a[0]

  【解析】详见教材P144,数组元素的引用

  数组名[下标]

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

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

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

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

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

  24.若有以下数组说明,则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

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

  A、2

  B、3

  C、4

  D、无确定值

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

  26.(A )是构成C语言程序的基本单位。

  A、函数

  B、过程

  C、子程序

  D、子例程

  27.C语言程序从 C 开始执行。

  A、 程序中第一条可执行语句

  B、 程序中第一个函数

  C、 程序中的main函数

  D、包含文件中的第一个函数

  28、以下说法中正确的是( C )。

  A、C语言程序总是从第一个定义的函数开始执行

  B、在C语言程序中,要调用的函数必须在main( )函数中定义

  C、C语言程序总是从main( )函数开始执行

  D、C语言程序中的main( )函数必须放在程序的开始部分

  29.下列关于C语言的说法错误的是( B ) 。

  A、 C程序的工作过程是编辑、编译、连接、运行

  B、 C语言不区分大小写。

  C、 C程序的三种基本结构是顺序、选择、循环

  D、C程序从main函数开始执行

  30.下列正确的标识符是(C )。

  A、-a1

  B、a[i]

  C、a2_i

  D、int t

  5~8题为相同类型题

  考点:标识符的命名规则

  只能由字母、数字、下划线构成

  数字不能作为标识符的开头

  关键字不能作为标识符

  选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)

  31.下列C语言用户标识符中合法的是(B )。

  A、3ax

  B、x

  C、case

  D、-e2 E)union

  选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);

  32.下列四组选项中,正确的C语言标识符是( C )。

  A、 %x

  B、a+b

  C、a123

  D、123

  选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)

  33、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。

  A、print _3d db8 aBc

  B、I\am one_half start$it 3pai

  C、str_1 Cpp pow while

  D、Pxq My->book line# His.age

  选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)

  34.C语言中的简单数据类型包括(D )。

  A、整型、实型、逻辑型

  B、整型、实型、逻辑型、字符型

  C、整型、字符型、逻辑型

  D、整型、实型、字符型

  35.在C语言程序中,表达式5%2的结果是 C 。

  A、2.5

  B、2

  C、1

  D、3

  %为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1; 5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;

  /为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=2

  推荐阅读:

  2018年3月计算机二级考试C语言考前特训习题9

  2018年9月计算机二级考试JAVA考前练习题(1)

  2018年3月计算机二级考试C语言考前特训习题1

  2018年9月计算机二级考试JAVA考前练习题(3)

  2018年9月计算机二级考试JAVA考前练习题(4)

  2018年9月计算机二级考试JAVA考前练习题(2)

分享

热门关注

全国计算机一级考试选择题上机真题及答案

计算机一级选择题上机真题

计算机二级MS Office考试真题及答案

计算机二级msoffice考试真题

计算机二级MS Office选择题库

计算机二级msoffice选择题

2022计算机二级MS Office考试模拟题目及答案

计算机二级msoffice考试模拟题

计算机二级必考选择题真题及答案

计算机二级选择题真题及答案

2022年9月计算机二级C语言考前模拟练习题2

计算机一级考试

2022年9月计算机一级MS Office选择题考前模拟练习1

计算机一级考试

2022年9月计算机一级MS Office选择题考前模拟练习4

计算机一级考试

2022年9月计算机一级MS Office选择题考前模拟练习3

计算机一级考试

2022年9月计算机一级MS Office选择题考前模拟练习2

计算机一级考试