2022年C语言程序设计考研真题答案及解析(一)

考研 希赛网 浏览 699 来源:希赛网

考研真题,是用来研究考试规律的。考生可通过真题,来确定自己的复习范围,来研究考试的重点、难点是哪些内容。希赛网为大家整理2022年C语言程序设计考研真题答案及解析,供大家参考!

本文提供2022年C语言程序设计考研真题答案及解析,以下为具体内容

1、下面四个选项中,所给出的三个标识符都是不合法的用户标识符的选项是( )。

A、

B、

C、

D、

2、下列程序段执行后s值为( )。

A、15

B、9

C、6

D、4

3、执行以下语句后:int s=100;s=s>>1;则变量s的值为( )。

A、100

B、50

C、200

D、不确定

4、执行以下程序段时,以下答案正确的是( )。

A、循环体执行一次

B、循环体执行两次

C、循环体执行无数次

D、系统提示有语法错误

5、以下程序的输出是( )。

A、2 3 4 5 6

B、1 2 3 4 5

C、6 2 3 4 5

D、6 7 8 9 10

6、以下函数的功能是( )。

A、比较a和b所指字符串是否相等

B、将b所指字符串复制到a所指字符串中

C、将b所指字符串连接到a所指字符串后面

D、比较a和b所指字符串大小

7、已知有以下int p[5],*a[5];,则正确的表达式是( )。

A、p=a

B、p[1]=a

C、*(a+3)=p

D、a[0]=20

8、有以下语句,则表达式*((int *)(p-1)+2)的值为( )。

A、10

B、7

C、3

D、11

9、对a数组元素不正确的引用是( )。int a[]={1,2,3,4,5,6},*p=a,i;其中0≤i≤5。

A、a[p-a]

B、*(&a[i])

C、p[i]

D、p+i

10、对于语句int(*p)[8];,以下说法正确的是( )。

A、p是一个指针,指向一个数组,数组的每个成员包含8个整型数据

B、p是一个指针,指向一个数组,数组中有8个整型数据

C、p是一个数组,它的每一个元素是指向整型数据的指针

D、p是一个数组,它的每一个元素是指向8个整型数据的指针

1、试题答案:C

试题解析:

A选项,A、P_0合法。B选项,_A合法。D选项,_123、temp合法。故本题选C。
C语言规定标识符只能由字母、数字、下划线3种字符组成,且第一个字符必须为字母或下划线。关键字不能做合法标识符。

【考点】本题考查基本数据类型--命名规则。

2、试题答案:C

试题解析:

由题,在while循环中,当i%2==1,即i为奇数时,结束此次循环。因此题中while循环的功能是计算0到i之间(不包括i)所有偶数之和。故s的值为6;故本题选C。
需要注意:while语句中条件表达式--i!=0,由--i先执行,第一次判断时i的值不是5(为4)。
改变循环执行的状态的语句:
break语句,直接终止整个循环过程,不再判断执行循环的条件是否成立。
continue语句,结束本次循环,即跳过循环体下面未执行的语句,转到循环体结束点之前。不终止整个循环的执行。

【考点】本题考查循环结构---continue语句。

3、试题答案:B

试题解析:

100的二进制为1100100;s>>1运算后,右移1位为110010,转换成10进制,s的值为50。故本题选B。
按位运算(参加运算的数据,按二进制位进行运算):右移运算符(>>):对一个二进制数的各二进制位全部右移若干位,正数左补0,负数左补1,右边丢弃。

【考点】本题考查按位运算。

4、试题答案:C

试题解析:

循环语句的条件表达式为x,而x的值一直在-1与1之间变换,不会变为0,即条件表达式不会为0(假),即恒为真,循环会一直执行下去。故本题选C。

【考点】本题考查循环结构。

5、试题答案:C

试题解析:

表达式(*p)++的作用是将p所指向的变量的值加1,没有改变p所指向的地址。故函数中for循环指向了5次,p所指向的变量x[0]的值加了5。故程序输出是6 2 3 4 5。故本题选C。
p++是使p指向下一元素;*(p)++是使p所指的变量的值加1;*(p+1)是p指针所指元素的下一个元素的值。

【考点】本题考查程序设计综合运用。

6、试题答案:D

试题解析:

函数fun中while循环条件是指针a,b所指的元素不为空且相等,若成立则执行a++,b++;使得指针a,b指向下一元素,继续循环;若不成立则结束循环。函数的返回值是指针向量a,b所指元素的差值。综上,函数fun的功能是返回a和b所指字符串中对应位置,第一对不相等的元素的差值;即比较a和b所指字符串的大小。故本题选D。

【考点】本题考查程序设计综合设计。

7、试题答案:C

试题解析:

选项A,p是一个地址常量,不能给它赋值。选项B,不能将a(地址)赋值给p[1](整型变量)。选项C,将p的地址赋值给指针变量a[3],表达式成立。选项D,a[0]是一个指针变量,不能直接将20赋值给它。综上本题选C。

【考点】本题考查指针变量的赋值。

8、试题答案:C

试题解析:

由题中程序块可知,p=a+1;即p指向a[1]。对于表达式*((int *)(p-1)+2),其中p-1使得p指向a[0],(int *)(p-1)将(p-1)数据类型强制转换为int*型(整型指针),故*((int *)(p-1)+2)就是a[0]({1,2,3,4})中第三个元素的值,即表达式的值为3。故本题选C。
强制类型转换运算符的一般形式为(类型名)(表达式)。注意,表达式应该用括号括起来,如果写成(int)x+y,则只将x转换为整型,然后与y相加。需要说明的是,在强制转换类型时,得到一个所需类型的中间数据,而原来变量的类型未发生改变。

【考点】本题考查强制类型转换。

9、试题答案:D

试题解析:

由题,p-a=0,故a[p-a]表示数组元素a[0]。*(&a[i])、p[i]都表示数组元素a[i]。p+i是使p所指的地址向后移i个相对单位,表示数组元素a[i]的地址,未引用数组元素。故本题选D。

【考点】本题考查指针指向数组。

10、试题答案:B

试题解析:

由下表可知,int(*p)[8];表示p是一个指针,指向一个数组,数组中有8个整型数据。故本题选B。


【考点】本题考查指针变量。

点击查看【完整】试卷>>

责任编辑:希赛网

📅 本文最后更新于 2023-07-07

温馨提示:因考试政策、内容不断变化与调整,本网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!
新人礼包 新人礼包 课程咨询 课程咨询 企业团报 企业团报 电话咨询 电话咨询

客服热线:400-111-9811

售后投诉:156-1612-8671

公众号 公众号
希赛网公众号二维码
扫二维码 关注希赛网
APP下载 APP下载
希赛网APP下载二维码
扫二维码 下载APP
二维码
二维码
第1步:扫码添加老师微信  第2步:领取备考资料
!
咨询在线老师!