江西财经大学2016-2022年研究生试题解析总结

前言:

1.卷子中的部分答案并非唯一,仅供参考
2.本总结是按题型进行分类的
3.2022年题型略微进行了改变,添加了程序分析题

1. 根据要求写出C语言表达式

2016年(20分)

(1)三元运算符 ※

在这里插入图片描述

答:f(n) = (n==1)?2:2*n*f(n-1);

(2)※

在这里插入图片描述

答:
(6*pow(x,4)+5*pow(y,3))/(4*a-2*pow(b,2))+(2*pow(x,5)-3*pow(y,2))/3*a*b
总结:

  1. 不用考虑a/b这些变量是否有定义,直接当成定义好就行了,不需要写int a、b,此题中,x的4次方可以写成x*x*x*x,但建议使用pow函数
  2. 注意添加必要的括号,增加阅读性和准确性

(3)※

在这里插入图片描述

答:(x*x)/(a*a)+(y*y)/(b*b)<1
注意审题,不用想太多,考虑根号什么的

(4)※

在这里插入图片描述

答:
(r%13 == 0) +(s%13 == 0) +(t%13 == 0) +(u%13 == 0) +(v%13 == 0) +(w%13 == 0) >= 2

2017年(20分)

(1)※

在这里插入图片描述

答:
(a1+a2+a3+a4)>= 315 && a1 >= 50 && a2 >= 75 && a3 >= 50 && a4 >= 75
备注:
注意不要漏了总分的情况

(2)

在这里插入图片描述

答:
cos(5*a+3*b)/(4*pow(x,2)-7*pow(y,2))+sin(6*c-5*d)/(5*pow(x,3)+2*pow(y,3))

(3)

在这里插入图片描述

答:
(c-a)*d - (c-b)*e

(4)

在这里插入图片描述

答:
(x%3 == 0)+(y%3 == 0)+(z%3 == 0)>=2 && (x%5 == 0)+(y%5== 0)+(z%5 == 0)>=2

2018年(10分)

(1)

在这里插入图片描述

答:
(x > 0 && x < 100) + (y > 0 && y < 100) + (z > 0 && z < 100) >= 2
备注:
注意细节问题:0-100一般不包含0和100

(2)取反 ※

在这里插入图片描述

答:
!(k > 12 && p > 12) && !((k >= 8 && k <= 12 && p > 12 )||(p >= 8 && p <= 12 && k >12)) && !(k < 8 && p < 8)
备注:
分析,不是优秀,也不是良好,也不是一般就是中等了,根据这个思想取反即可

2019年(12分)

(1)(2)

在这里插入图片描述

答:
(1)
!(c >= '0' && c <= '9')
注意:
这里不能写数字必须写字符二者含义不一样,c>=0,是ASCII码大于等于0,而c>=‘0’,是c大于0的ASCII码
(2)
答:
n % 1000 % 100 % 10 == n % 1000 / 100

(3)方法的定义 ※

在这里插入图片描述

答:
int find(char a[10],char b[10]){}
备注:
注意参数类型变量名不要重复

(4)文件的操作 ※

在这里插入图片描述

答:
str = fgets(str,10,fp)
备注:
复习文件的基本操作,读写的函数参数!

2020年 (10分)

(1)

在这里插入图片描述

答:
(x > 0)+ (y > 0)+(z > 0)>= 2

(2)

在这里插入图片描述

答:
gender = age >= 60?m:f

2021年(10分)

(1)勾股定理 ※

在这里插入图片描述

答:
(a == sqrt(b*b +c*c))|| (b == sqrt(a*a +c*c)) || (c == sqrt(b*b +a*a))

(2)

在这里插入图片描述

答:
(a >= 85) && ((b >= 1) + (c >= 1) + (d >=1) >= 2)
备注:
注意条件的阅读

2022年(10分)

(1)增长率问题 ※

在这里插入图片描述

答:
(s2-s1) / s1 <= 0.3
备注:
需要积累一些常见的公式

(2)※

在这里插入图片描述

答:
(a >= 80) + (b >= 70) + (c >= 70) == 3 || ((a >= 80) + (b >= 70) + (c >= 70) >=2 && (a+b+c)>=240 )
备注:
要特别注意审题!

总结

注意:
1.此种类型的题目要求一个语句搞定,不能出现多个语句
2.细心读懂题目给出的条件,注意且和或等字眼
3.注意常见的数学公式:勾股定理、增长率(2022年)等……
4.使用数字来表示条件表达式的出题形式每年必出!!
5.注意一些函数公式:pow、sqrt等……
6.注意书写格式:乘除号、括号、恒等比较==、三元运算符
7.有时可以利用取反的思想来解决问题(2018年第二题)
8.有时候还会出现书写方法的题型(2019年第三题)
9.注意考察文件操作(2019年出现过)

2. 写出表达式的值(2018年新增题型)

2018年(12分)

在这里插入图片描述

答:
※(1)4 (2)2 (3)0 (4)-1
备注:
注意数据类型,不要看错数

2019年(12分)

在这里插入图片描述

答:
(1)1 (2)3 (3)3 (4)20
备注:
1.注意各运算符的优先级
2.注意自增自减运算符的数值变化
3.注意数据类型的转化
4.注意逻辑运算符的判断及短路

2020年(12分)

在这里插入图片描述

答:
※(1)0.800000 (2)6 (3)1 (4)5
备注:
1.浮点型数据默认保留6位小数
2.注意三元运算符的计算

2021年(12分)

在这里插入图片描述

答:
(1)16.000000 (2)-2 (3)1 (4)8.800000

2022年(12分)

在这里插入图片描述

答:
(1)1 ※(2)1※ (3)0 ※(4)1.000000
备注:
1.逗号表达式
2.短路的运算规则

总结

1.&&的优先级大于||

printf("%d", 1 || 1 && 0);//1
printf("%d", 0 && 1 || 1);//1
printf("%d", 0 || 1 && 0);//0

2.逗号表达式

(1) 逗号表达式的运算过程为:从左往右逐个计算表达式。
(2) 逗号表达式作为一个整体,它的值为最后一个表达式(也即表达式n)的值。
(3) 逗号运算符的优先级别在所有运算符中最低。

3.注意数据类型和小数位(默认保留6位)
4.逗号表达式并不会马上赋值,而是先计算
例如:x=(x,2)-x先计算小括号等于2,再减去x原来的值,作差得到新值

3. 程序阅读题(2016-2021年)、程序分析题(2022年新增)

2016年(30分)

(1)条件累加求和

在这里插入图片描述

答:
t=63

(2)打印左直角三角形

在这里插入图片描述

答:
*********
*******
*****
***
*

(3)递归问题

在这里插入图片描述

答:
结果是:-39

(4)二维数组

在这里插入图片描述

答:
5,6,29,31,
Sum=31

(5)字符串删除元素+指针+字符串函数(strcpy)※

在这里插入图片描述
在这里插入图片描述

答:
976680415029
分析:
在这里插入图片描述
补充:
1.strcpy(参数1,参数2):是整体替换,参数2替换参数1,如上图
2.字符串类型如果使用*p作为判断,一直到’\0’结束,int类型数组会遇到0结束

2017年(30分)

(1)左直角三角形

在这里插入图片描述

答:
555555555
4444444
33333
222
1

(2)查找字符在字符串中的位置(二分查找)

在这里插入图片描述

答:
字符k的位置是:6
补充:
使用了二分查找

(3)字符串排序问题(strcpy)

在这里插入图片描述
在这里插入图片描述

答:
结果是:bcefjkmswy

(4)递归(取个位、十位、百位)※

在这里插入图片描述

答:
6,9,3,
备注:
注意打印的格式!

(5)数组的综合应用

在这里插入图片描述
在这里插入图片描述

0 6 1 0 0 4 0 1
补充:
1.%3d代表长度为3,默认右对齐即【空格空格数字】,数据长度大于3时无效

2018年(30分)

(1)方法的调用、返回值

在这里插入图片描述

答:
1

(2)字符串元素的删除(strcpy)

在这里插入图片描述
在这里插入图片描述

答:
bc@jxf.d.cn

(3)递归(static关键字、求阶乘)※

在这里插入图片描述
在这里插入图片描述

答:
5
4
3
2
1
120
补充:
1.static关键字只会执行一次,全局共享全局唯一

(4)删除数组中指定的元素(双指针法)

在这里插入图片描述

答:
mzing
补充:
1.%s会以’\0’作为结束输出

(5)二维数组

在这里插入图片描述

答:
0 2
4 6
8 10

2019年(30分)

(1)方法的调用

在这里插入图片描述

答:
9

(2)求和、方法调用、循环、数组

在这里插入图片描述

答:
i=1:sum=20
i=2:sum=30
i=3:sum=45

(3)数组+指针

在这里插入图片描述

答:
6.0,20

(4)二维数组(查找元素的位置)

在这里插入图片描述

答:
a[3][0]
a[3][1]
a[2][1]
a[2,1]=7

(5)递归(倒叙打印数字)

在这里插入图片描述

答:
0 8 9 7

2020年(30分)

(1)嵌套循环(3层)

在这里插入图片描述

答:
210 310 320 321 410
420 421 430 431 432
count=10

(2)递归(逆序输出字符串字符)

在这里插入图片描述

(3)方法的调用(static)

在这里插入图片描述

答:
1
3
6
10
15

(4)二维数组、嵌套循环、指针的操作

在这里插入图片描述

答:
0 2 4
1 3 5
2 4 6
补充:
1.指针-指针=间隔步长

(5)数组+指针(大小写转换)

在这里插入图片描述
在这里插入图片描述

答:
Hello world!

2021年(30分)

(1)循环、判断

在这里插入图片描述

答:
x=2,y=0
x=3,y=0
x=6,y=6
x=9,y=18
x=12,y=36
x=15,y=60
x=18,y=90
x=21,y=126
x=24,y=168
x=27,y=216
x=30,y=270
x=33,y=330

(2)递归(打印字符串)

在这里插入图片描述
在这里插入图片描述

答:
goodforyou

(3)数组+循环(打印30内的所有质数)

在这里插入图片描述

答:
2 3 5 7 11
13 17 19 23 29

(4)方法调用(static、三元运算符)

在这里插入图片描述

答:
1
-1
2
-2
3

(5)二维数组(矩阵的乘法)

在这里插入图片描述

答:
30 60
70 140

2022年(30分)

(1)找最大最小数(打擂台)※

在这里插入图片描述

答:
(1)不能确保a、b、c、d均能被赋初值。例如:当用户输入第一个数为正数时,只有a、c被赋予了初值,b、d此时并未被赋值,这会导致在后续输入时有可能将输入的数与未被赋初值的b、d进行大小比较,程序会出错。
(2)未考虑输入值为0的情况。0不属于正整数或负整数,而示例代码却将负整数与0归为一类进行处理,这会导致当用户输入0时,最大负整数的取值恒为0,显然不合理。
备注:
这种类型的题目主要难在讨论出所有情况

(2)方法调用、数组、指针(strcmp)※

在这里插入图片描述
在这里插入图片描述

答:
9998665128
补充:
strcmp函数说明

(3)递归(static、进制转换)※

在这里插入图片描述
在这里插入图片描述

答:
before:110 after:1232
该程序将输入的十进制整数转化为四进制整数后输出显示

(4)字符串压缩存储

在这里插入图片描述

答:
The result is: 3ab2c3b
该程序将输入的字符串进行压缩存储,压缩规则为:如果有多个连续相同的字符,则以“连续重复出现次数+1个该字符”的方式存储,比如将“aaa”存储为“3a”

(5)二维数组(对称矩阵)

在这里插入图片描述
在这里插入图片描述

答:
0 0 1
0 1 0
1 0 0
True.

总结

1.总体来说,此类题型难度较小
2.2022年题型大改,需要找出程序中出现的错误,并且说明程序的作用,可以借阅课本经典程序,了解一些常用的程序设计
3.要知道字符串函数strcmp、strcpy几乎必考
4.要知道递归、static等语法的使用
5.要知道指针的几种表示方式及使用
6.要了解二维数组的基本概念及操作
7.要注意printf函数打印的内容,避免遗漏,注意换行和类型等,例如:%3d、%.1f、\n……

4. 程序填空题

2016年(20分)

(1)折半查找法

在这里插入图片描述
在这里插入图片描述

答:
①:key
②:pos+1
补充:
1.数组的长度可以用数组的sizeof除数组类型的sizeof

(2)文件的操作

在这里插入图片描述

③:ch <= ‘Z’
④:i++

2017年(20分)

(1)递归(阶乘问题)

在这里插入图片描述

答:
①:n*fac(n-1)

(2)逆序打印

在这里插入图片描述
在这里插入图片描述

答:
②:*ph=*pt ③:data[k]
拓展:
可以利用本题指针的大小关系进行反转

(3)进制转换 ※

在这里插入图片描述

答:
④:h[i] <= 'F' && h[i] >= 'A'
⑤:p*h[i]

2018年(20分)

(1)完数(利用sqrt函数,课本经典程序)※

在这里插入图片描述

答:
①:m=sqrt(n)
②:s-=m
拓展:
C语言的复合赋值运算问题
x += 3 /* 等价于x=x+3 /
y = x + 6 / 等价于y=y
(x+6),而不是y=y*x+6 */

(2)数组中元素的和及平均值(课本程序)※

在这里插入图片描述
在这里插入图片描述

答:
③:a,10,&avg,&sum
④:*psum = 0
⑤:(*psum)+=a[i]
拓展:
1.此题尤其注意方法传参的书写格式,形参接收的参数为指针,实参需要传递地址!
2.使用复合赋值运算符时,指针引用时加上括号

2019年(20分)

(1)主串中寻找子串 ※

在这里插入图片描述

①:t[j] != '\0'
②:i++
拓展:
此题第②空i++有点牵强,属于该题特有的特殊情况

(2)二维数组(加权平均成绩)※

在这里插入图片描述
在这里插入图片描述

答:
①:int s[4][N],int c[N]
②:sum2+=c[i]
③:sum1+=s[i][j]*c[j]
补充:
1.本题还可以使用指针的方式进行表达
2.注意方法的声明,方法的声明里涵盖了参数类型信息

2020年(20分)

(1)二维数组(矩阵)

在这里插入图片描述

答:
①:a[i][k]=a[n-1-k][n-1-i]
②:found == 0

(2)字符串信息提取 ※

在这里插入图片描述

答:
③:num = num * 10 + (int)(*p-'0')
④:flag = 0
⑤:p++
拓展:
注意char类型的类型转换

2021年(20分)

(1)字符转换

在这里插入图片描述
在这里插入图片描述

答:
①:str[i]-'A'
②:str[i]-'a'

(2)类型转换 ※

在这里插入图片描述
在这里插入图片描述

答:
③:s++
④:k*=10
⑤:-d

2022年(15分)

(1)数组的综合

在这里插入图片描述
在这里插入图片描述

答:
①:arr1[arrSize-1]=temp;
②:arr1Rotate(arr1,ctr,N)

(2)二维数组(统计字符串)

在这里插入图片描述

答:
①:words[j][k++]
②:k=0
③:j=k-1;j>=0;j--

总结

1.早一些年份的题目读懂题就能填了,20年后的题需要进行反复阅读研究
2.可以关注一些重要线索,例如头文件信息,有时会给予填空提示
3.填空有时具有对称性,填不出来时可以猜
4.多阅读课本上的一些经典程序,有时候就是原题挖空的
5.注意在填空时,char类型数据有时可能需要数据转换

  • 30
    点赞
  • 112
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值