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

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

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

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

1、下列关于C语言程序描述正确的是( )。

A、一个C语言程序函数体语句必须缩进

B、在C语言源程序中对某条语句注释只能置于该语句的末尾

C、一个C语言程序执行从程序文件中的main函数开始,到main函数结束为止

D、 C语言源程序每行代码都必须以"; "结尾

2、设程序中有代码" char c1[]="\x50\x51\x40\x59\n"; int b= sizeof(c1); "则b的值为( )。

A、6

B、5

C、19

D、18

3、设代码中有定义"int a = 14",那么语句"printf( "%d",-a--) "的输出为( )。

A、-15

B、-14

C、13

D、-13

4、若某一数组定义为"int array[][3]= {1,2,3,4,5,6,7,8,9,10};",则数组array的第一维大小为( )。

A、3

B、4

C、5

D、6

5、当程序中定义一个公用体时,系统分配给它的内存是( )。

A、各成员所需内存量的总和

B、共用体结构中第-一个成员所需内存量

C、成员中占用内存最大者所需的内存量

D、结构体成员中最后一个成员所需内存量

6、C语言源程序经过编译后,生成文件的后缀名是( )。

A、 ".c"

B、".bas"

C、".exe"

D、".obj"

7、以下能判断变量ch是英文小写字符的选项的是( )。

A、 if(ch> ='a'&&ch<='z')

B、 if(ch>=a&&c<=z)

C、 if(a<=ch<=z)

D、 if('a'<=ch<='z')

8、下列关于循环语句的说法错误的是( )。

A、嵌套循环的内层和外层循环的循环控制变量不能同名

B、执行嵌套循环时是先执行内层循环,后执行外层循环

C、循环体中碰到break语句会直接终止该层循环

D、 do-while循环语句至少会执行循环体语句1次

9、设程序中某个函数声明为int fun(int a,int b),那么定义一个指向该函数的指针pfun的表达式是( )。

A、 int *pfun(int a,int b) = fun;

B、 int (*pfun)(int, int) = &fun;

C、 int (*pfun)() = &fun(int a,int b);

D、 int (*pfun)(int,int) = &fun(a,b);

1、试题答案:C

试题解析:

【考点】本题考查C语言概述。
A选项,C语言不要求代码的文本格式。B选项,注释一般形式为“//注释内容”或“/*注释内容*/”。“//”作用在当前行符号后的所有内容,“/*注释内容*/”作用在“/*”和“*/”之间的内容。D选项,每个数据声明和语句的最后必须 "; "结尾,而不是每行。综上,故本题选C。

2、试题答案:A

试题解析:

【考点】本题考查字符数组的定义和初始化。
"\x50\x51\x40\x59"是四个十六进制数,转换为字符是"PQ@Y",占四个字节,'\n '是转义字符(换行),占一个字节,还有系统自动加了一个'\0'。综上共6个字节,故sizeof(c1)=6;即b的值为6。故本题选A。
用字符串常量来初始化字符数组,对于字符串常量,系统会自动在所有字符后面加一个'\0'作为结束符。

3、试题答案:B

试题解析:

考点】本题考查运算符和表达式。
【解析】语句"printf( "%d",-a--) "可以写成{ printf( "%d",-a);a=a-1;},故输出的是-a,即-14。故本题选B。
自增和自减运算符,他们的作用是使变量的值增1或减1,如
++i(在使用i之前使i的值加1,如果i的原值为3,则执行j=++i,i的值先自增为4,然后将i的值赋值给j,j的值为4)。i++(在使用i之后使i的值加1,如果i的原值为3,则执行j=i++,先将i的值赋值给j,j的值为3,然后i的值自增为4)
++i和i++的作用相当于i=i+1,但他们不同之处在于++i是先执行i=i+1,再使用i的值;而i++是先使用i的值,再执行i=i+1。
--i和i--的运算规则同上。

4、试题答案:B

试题解析:

【考点】本题考查二维数组---初始化。
系统会根据数组第2维的长度一次往后赋值,若最后一个一维数组没有足够的数据去赋值,会自动填0。故第一维大小为4。故本题选B。
二维数组的初始化:
分行给二维数组赋初值。例如:float a[2][3]={{1,2,3},{4,5,6}};
可以将所有数组写到一个花括号内,按数组元素在内存中的排列顺序对各元素赋初值。例如float a[2][3]={1,2,3,4,5,6,7,8,9};,但是当数据多时,容易遗漏,不易检查。
可以对部分元素赋初值。例如:float a[2][3]={{1},{4}};,它的作用是只对各行的第一列(即序号为0的列)的元素赋初值,其余元素自动为0。
如果对全部元素都赋初值(即提供全部的初始数据),则定义数组时对第1维的长度可以不指定,但第2维的长度不能省略。例如:float a[][3]={1,2,3,4,5,6};。

5、试题答案:C

试题解析:

【考点】本题考查自定义数据类型---共用体类型。
使得几个不同类型的变量共用同一段内存的结构,称为“共用体”的结构。共用体变量所占内存长度等于最长的成员的长度。故本题选C。

6、试题答案:D

试题解析:

【考点】本题考查C语言的运行。
C语言源程序经过编译后,生成目标文件。故本题选D。
.c源文件、.bas标准模块文件、.exe可执行文件、.obj目标文件 。
对源文件的处理:
预编译,对源代码的宏进行替换,生成中间文件(文本,默认不保留);
翻译为汇编代码(文本,默认不保留);
由汇编器生成二进制文件(.obj);
连接为可执行文件( .exe )。

7、试题答案:A

试题解析:

【考点】本题考查逻辑运算符---逻辑与。
【解析】多重判断选择逻辑与'&&'运算符,故选项C、D错误。如a&&b,若a,b都为真则表达式为真,否则表达式为假。B选项,ch>=a&&c<=z中a和z没有使用符号'',表示变量a和z,所以错误。综上本题选A。

8、试题答案:B

试题解析:

【考点】本题考查循环结构。
【解析】C语言的执行顺序是自上而下,自左而右。程序从外循环执行下去,遇到内循环后就执行内循环语句。内循环语句执行完成后,继续往下执行,遇到外循环的语句时,进入下一次外循环。故本题选B。

9、试题答案:B

试题解析:

【考点】本题考查指针变量---指针与函数。
【解析】由题。int *pfun(int a,int b),是一个返回int指针的函数。int (*pfun)(int, int),是指向函数类型为(int, int)的函数的指针。而fun(a,b)是一个整型数据,与题意不符。综上,故本题选B。

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

责任编辑:希赛网

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

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

客服热线:400-111-9811

售后投诉:156-1612-8671

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