2021年C语言程序设计考研真题答案及解析(三)
考研真题,是用来研究考试规律的。考生可通过真题,来确定自己的复习范围,来研究考试的重点、难点是哪些内容。希赛网为大家整理2021年C语言程序设计考研真题答案及解析,供大家参考!
本文提供2021年C语言程序设计考研真题答案及解析,以下为具体内容
1、未指定存储类别的变量,其隐含的存储类别为( )。
A、auto
B、static
C、extern
D、register
2、以下关于运算符优先顺序的描述中正确的是( )。
A、关系运算符<算术运算符<赋值运算符<逻辑运算符
B、逻辑运算符<关系运算符<算术运算符<赋值运算符
C、赋值运算符<逻辑运算符<关系运算符<算术运算符
D、算术运算符<关系运算符<赋值运算符<逻辑运算符
3、选出下列标识符中不是合法标识符的是( )。
A、hot_do
B、caB
C、_pri
D、2ab
4、设int x=1,y=1;表达式(!x--||y--)的值是( )。
A、0
B、1
C、2
D、-1
5、设int x=10;,执行表达式x+=x-=x*=x后,x的值是( )。
A、10
B、20
C、40
D、0
6、若有以下数组说明,则i=10,a[a[i]]元素数值是( )。int a[12]={23,21,19,17,15,13,11,9,7,5,3,1};
A、19
B、17
C、15
D、13
7、设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是( )。
A、b=1.0/a
B、b=(float)(1/a)
C、b=1/(float)a
D、b=1/(a*1.0)
8、已知字母A的ASCII码为十进制的65,则下面的程序输出是( )。#include<stdio.h>void main(){ char ch1,ch2; ch1='A'+'5'-'2'; ch2='A'+'7'-'3'; printf("%d,%c",ch1,ch2);}
A、D,D
B、68,D
C、68,E
D、不确定
9、若有声明“double t;”,则表达式t=2,t+3,t--的值是( )。
A、0
B、1.0
C、2.0
D、3.0
10、若已声明“int s;”,则以下表达式中与while(s)语句中的表达式s不等价的表达式是( )。
A、s==0
B、s>0||s<0
C、!s==0
D、s!=0
1、试题答案:A
试题解析:
关键字“auto”可以省略,不写auto则隐含指定为“自动存储类别”。故本题选A。
2、试题答案:C
试题解析:
【考点】本题考查C语言--数据的表现形式及其运算--运算符与表达式--运算符的优先级。
【解析】运算符优先级如下所示:
故本题选C。
3、试题答案:D
试题解析:
【考点】本题考查C语言--数据的表现形式及其运算--常量和变量--标识符及其命名规则。
【解析】选项D中,第一个字符为数字,故不合法,本题选D。
C语言规定标识符只能由字母、数字、下划线3种字符组成,且第一个字符必须为字母或下划线。编译系统将大写字母和小写字母认为是两个不同的字符。关键字不能作为用户标识符。
4、试题答案:B
试题解析:
【考点】本题考查
1、C语言--选择结构--逻辑运算符及表达式;
2、C语言--数据的表现形式及其运算--运算符与表达式--算术运算符--自增、自减运算符。
【解析】逻辑非运算符'!'的优先级高于自减运算符,那么x的初值为1(真),则!x为假(值为0)。表达式中,先使用!x和y的值,再进行自减;故有0||1=1,即表达式的值为1,本题选B。
自减符"--"在变量的左侧,则先令变量的值减1,再使用该变量的值;自减符"--"在变量的右侧,则先使用该变量的值,再令变量的值减1。
5、试题答案:D
试题解析:
【考点】本题考查C语言--C语句--赋值语句--复合赋值运算符。
【解析】由题,表达式可以写成x=x*x=10*10=100,x=x-x=100-100=0,x=x+x=0+0=0;故本题选D。
复合赋值运算符(在等号'='前加一个运算符)。如:
a+=3等价于a=a+3
x*=y+8等价于x=x*(y+8)
6、试题答案:B
试题解析:
【考点】本题考查C语言--数组--一维数组--一维数组元素的使用。
【解析】由题,i的值为10,a[i]即a[10]=3,那么a[a[i]]即a[3]=17,故本题选B。
7、试题答案:B
试题解析:
【考点】本题考查C语言--数据的表现形式及其运算--运算符与表达式--算术运算符--基本的算术运算符--除法运算符/。
【解析】题中选项A、C、D中,1.0、(float)a、(a*1.0)均为浮点型,那么执行除法运算,结果也为浮点型,结果为0.5。选项B中,先执行(1/a),结果为0,再执行(float)(0),将0转为浮点型。综上本题选B。
(float)表示为强制类型转换符,得到一个所需类型的中间数据,而原来变量的类型未发生改变。
'/'运算符:两个数(一个或一个以上为实数)相除的结果是实数。两个整数相除的结果是整数,如13/4的结果值为3,舍去小数部分。
8、试题答案:C
试题解析:
【考点】本题考查C语言--C语句--数据的输入输出--printf函数(输出)。
【解析】由题,'5'-'2'=3,'7'-'3'=4;那么ch1的值为'A'+3='D'(D的ASCII码值为68),ch2的值为'A'+4='E'(E的ASCII码值为69)。按%d,%c的格式输出ch1和ch2,故输出结果为68,E,本题选C。
使用printf语句按%c格式输出字符时,输出的是原字符。使用printf语句按%d(十进制)格式输出字符时,输出的是字符对应的ASCII码值。
9、试题答案:C
试题解析:
【考点】本题考查
1、C语言--数据的表现形式及其运算--运算符与表达式--算术运算符--自增、自减运算符;
2、C语言--数据的表现形式及其运算--运算符与表达式--逗号运算符及表达式。
【解析】由题,表达式t=2,t+3,t--的值就是t--的值(值为2),故本题选C。
自减符"--"在变量的左侧,则先令变量的值减1,再使用该变量的值;自减符"--"在变量的右侧,则先使用该变量的值,再令变量的值减1。
逗号表达式一般形式为:表达式1,表达式2,...,表达式n(表达式从左至右依次执行)。逗号表达式的值就是表达式n的值。
10、试题答案:A
试题解析:
【答案】A
【考点】本题考查C语言--选择结构--逻辑运算符及表达式。
【解析】由下表可知,与表达式s不等价的表达式是s==0,故本题选A。