2016年C语言程序设计考研真题答案及解析(一)
考研真题,是用来研究考试规律的。考生可通过真题,来确定自己的复习范围,来研究考试的重点、难点是哪些内容。希赛网为大家整理2016年C语言程序设计考研真题答案及解析,供大家参考!
本文提供2016年C语言程序设计考研真题答案及解析,以下为具体内容
1、在C语言中,可以用来定义包含多个不同类型独立属性值变量的类型是( )。
A、指针
B、联合体
C、结构体
D、枚举
2、假设所有变量均为整型,表达式R=(B=5,++B,A=2,A+B)则R的值是( )。
A、7
B、8
C、6
D、2
3、设有整型变量n=10,i=4,则赋值运算n%=i-1执行后,n的值是( )。
A、0
B、1
C、2
D、3
4、若有以下说明语句:struct worker{int no;char *name;}work,*p=&work;则以下引用方法不正确的是( )。
A、work.no
B、(*p).no
C、
D、
5、若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为( )。
A、*(a+j*n+i)
B、*(a+i*n+j)
C、*(*(a+i)+j)
D、*(*a+i)+j
6、设有语句int a=3;执行了语句a+=a-=a*=a;后,变量a的值是( )。
A、3
B、0
C、9
D、-12
7、以下选项中,合法的数组定义是( )。
A、int a[]="language";
B、int a[5]={0,1,2,3,4,5};
C、char a="string";
D、char a[]={"0,1,2,3,4,5"};
8、若有定义:char (*p)[10];该语句声明了一个( )。
A、指向含有10个元素的一维字符型数组的指针变量p
B、指向长度为10的字符串的指针变量p
C、有10个元素的指针数组p,每个元素可以指向一个字符串
D、有10个元素的指针数组p,每个元素存放一个字符串
1、试题答案:C
试题解析:
C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,被称为结构体。故本题选C。
使用几种不同类型的变量存放到同一段内存中,即几种变量都是从同一地址开始存放,称为共用体(联合体)。
如果一个变量只有几种可能的值,可以定义枚举类型,将变量的值一一列举处理,变量的值只能在列举出来的范围内,称为枚举。
2、试题答案:B
试题解析:
由题,表达式B=5,++B,A=2,A+B从左至右依次执行,则有B=5,B++即B=B+1=6,A=2,A+B=8;表达式R=(B=5,++B,A=2,A+B)的值就是A+B的值8,故本题选B。
逗号表达式一般形式为:表达式1,表达式2,...,表达式n(表达式从左至右依次执行)。逗号表达式的值就是表达式n的值。
3、试题答案:B
试题解析:
由题,n%=i-1就是n=n%(i-1)=10%3=1,故本题选B。
复合赋值运算符(在等号'='前加一个运算符)。如:
a+=3等价于a=a+3
x*=y+8等价于x=x*(y+8)
4、试题答案:D
试题解析:
由题,work是结构体类型struct worker的变量,使用work引用成员变量,不能使用指向成员运算符;故work->no语法错误,本题选D。
引用结构体变量中成员的值,引用方式为:结构体变量名.成员名
若p指向一个结构体变量stu,以下3种用法等价:(1)stu.成员名;(2)(*p).成员名;(3)p->成员名。
5、试题答案:C
试题解析:
由下表可知,*(*(a+i)+j)表示数组元素a[i][j],故本题选C。
6、试题答案:B
试题解析:
由题,表达式可以写成a=a*a=3*3=9,a=a-a=9-9=0,a=a+a=0+0=0,即a的值为0;故本题选B。
复合赋值运算符(在等号'='前加一个运算符)。如:
a+=3等价于a=a+3
x*=y+8等价于x=x*(y+8)
7、试题答案:D
试题解析:
选项A不合法,不能使用字符串对int型数组进行整体赋值。选项B不合法,给数组a赋值超出数组长度,会使得其后的变量的值无端被修改。选项C不合法,不能使用字符串对字符变量进行赋值,类型不匹配。选项D合法,将字符串"0,1,2,3,4,5"赋值给数组a。综上本题选D。
8、试题答案:A
试题解析:
由下表可知,p为指向包含10个元素的一维数组的指针变量,故本题选A。