东华理工大学 2016 年硕士生入学考试初试试题C 语言程序设计.pdf
注意:答案请做在答题纸上,做在试卷上无效 第 1 页,共 5 页 东华理工大学2016年硕士生入学考试初试试题 科目代码: 814 ; 科目名称:C语言程序设计;( A 卷) 适用专业(领域): 电路与系统(077402,080902) 一、选择题:(共25小题,每小题2分,共50分) 1、设有定义“int a3,b,*p&a;”,则下列语句中使 b不为3 的语句是( ) (A) b* &a (B) b * p (C) ba (D) b *a 2、设指针 x 指向的整型变量值为 25,则“printf(%dn,+*x);” 的输出是( ) (A) 23 (B) 24 (C)25 (D)26 3、有定义int a=6,b=10,c; 执行语句“c=a/b+1.4;”后,c的值为( )。 (A)1.4 (B)1 (C)2.0 (D)2 4、若有说明:“ int i,j 7,*p &i;”,则与“i j;” 等价的语句是( ) (A) i *p (B) *p * &j (C) i=&j (D) i * *p 5、若有说明语句“int a10,*pa;”,对数组元素的正确引用是( ) (A) ap (B) pa (C) *(p+2) (D) p2 6、下面各语句中,能正确进行赋字符串操作的语句是( ) (A) char s5 =“ABCDE” (B) char s5 =A,B,C,D,E (C) char *s;s“ABCDE” (D) char *s;scanf(“%s”, &s ) 7、若有以下定义,则值为 3 的表达式是( ) int a 1,2 ,3 ,4 ,5 ,6 ,7,8 ,9 ,10,*pa ; (A) p 2 ,* (p+ ) (B) p 2 ,* +p (C) p 3 ,*p+ (D) p 2,+ *p 8、设有定义“char a10=”abcd“,*p=a;”,则*(p4)的值是( ) (A)“abcd” (B)d (C)0 (D)不能确定 9、设有代码“int(*ptr )10 ;” ,其中的 ptr是( ) (A)10个指向整型变量的指针 (B)指向10 个整型变量的函数指针 (C)具有10 个指针元素的一维数组 (D)一个指向具有10 个元素的一维数组的指针 10、若有以下定义,则数值为4 的表达式是( ) static int w34 0,1 ,2 ,4 ,5 ,8; int (* p)4 w; (A)*w1l (B) p+ ,*(p+1 ) (C) w22 (D) p11 11、C 语言允许函数类型缺省定义, 此时函数值隐含的类型是( ) (A)float (B) int (C)long (D)double 12、对于运算符优先顺序的描述中正确的是( )。 (A)赋值运算符 逻辑运算符 关系运算符算术运算符 (B)关系运算符 算术运算符 赋值运算符逻辑运算符 (C)逻辑运算符 关系运算符 算术运算符赋值运算符 (D)算术运算符 关系运算符 赋值运算符c)b=a;a=c;c=b; 则c 的值为( ). (A) 1 (B) 3 (C) 2 (D)不一定 二、程序阅读填空题:(共6小题,每小题5分,共30分) 1阅读下面程序:程序执行后的输出结果是( )。 main() static int a3 9 ,7 ,5 ,3 ,l,2 ,4 ,6 ,8 ; int i ,j,sl 0 ,s2 0 ; for(i 0 ;i3 ;i+ ) for(j 0 ;j3 ;j+ ) if(i j ) s1s1 aij; if(i+j 2)s2s2 aij; printf(“%dn%dn”, sl,s2 ); 注意:答案请做在答题纸上,做在试卷上无效 第 3 页,共 5 页 2阅读下面程序:下列程序执行后的输出结果是( )。 #define PR(ar) printf(%d,ar) main() int j, int a =1, 3, 9, 7, 15, 11,17; int *p=a+5; for(j=3;j=0;j-) switch (j) case 1: case 2: PR(*p+);break; case 3: PR(*(-p); printf(n); 3阅读程序完成填空1、空2和空3:由1、2、3、4四个数字能组成多少个互不相同且无重复数字的三位数? main( ) int i,j,k; printf(n); for(i=1;i【 1 】;i+) for(j=1;j【 2 】;j+) for (k=1;k【 3 】;k+) if (i!=k&i!=j&j!=k) printf(%d,%d,%dn,i,j,k); 4下面是一个计算3*3矩阵对角线元素之和的程序,利用双重for循环控制输入二维数组,阅读程序完成空1、空2和空3。 main() float a33,sum=0; int i,j; printf(please input rectangle element:n); for(i=0;【 1 】; i+) for(j=0;【 2 】) scanf(%f, &aj); for(i=0; i【 1 】) t=x;x=y;y=t; if(x【 2 】) t=z;z=x;x=t; if(y【 3 】) t=y;y=z;z=t; printf(small to big: %d %d %dn,x,y,z); 。 三、算法流程图设计题:(共3小题,每小题10分,共30分) (以下3题不需要编写程序,只写出算法思路和画出算法流程图) 1有一个34的矩阵,请编程找出其中最大的那个元素的值以及所在的位置(行号和列号)。要求:(10分) (1) 根据题意用文字叙述写出算法思路; (2) 设计出合理的程序流程图(如N-S图或BS图)。 2输入 20 个整数,将其中最小的数与第一个数对应交换,把最大的数与最后一个数对应交换。要求:(10分) (1) 根据题意,设计输入、输出、数据交换处理采用三个不同函数,主函数负责调用这三个函数实现功能,用文字叙述写出算法思路; (2) 设计输入、输出、数据交换处理和主函数的流程图(如N-S图或BS图)。 3假设有一个链表,链表结点数任意,请将该链表按逆序排列。(10分) (1) 根据题意用文字叙述写出算法思路; (2) 设计出合理的程序流程图(如N-S图或BS图)。 注意:答案请做在答题纸上,做在试卷上无效 第 5 页,共 5 页 四、程序设计题:(共4小题,共40分) 1工厂发放的奖金根据利润(IR)提成:当IR10万元时,奖金可提10%;当10IR20万元时,低于10万元的部分按10%提成,高于10万元的部分可提成8%;当20IR40万元时,高于20万元的部分可提成6%;当40IR60万元时,高于40万元的部分,可提成4%;当60IR100万元时,高于60万元的部分,可提成2.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润IR,求应发放奖金总数?要求:(10分) (1) 根据题意写出算法思路(不要画流程图,只需用文字叙述清楚); (2) 设计编写出合理的程序。 2假设已经有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。要求:(10分) (1) 根据题意写出编程的算法思路(不要画流程图,只需用文字叙述清楚); (2) 设计编写出合理的程序(关键处加注释)。 3假设树林里有一堆桃子,五只猴子来分。第一只猴子把这堆桃子平均分为五份,多了一个,这只猴子把多的一个吃了,且拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个吃了,拿走了一份,第三、第四、第五只猴子都是这样做的,问原来最少有多少个桃子?。要求:(10分) (1) 根据题意说明编程的算法思路(不用画流程图,只需用文字叙述写出算法思路); (2) 设计编写出合理的程序(关键处加注释)。 4在屏幕上用“*”显示0360度的余弦函数cos(x)曲线。要求:(10分) (1) 根据题意说明编程的算法思路或实现方法(不用画流程图,只需用文字叙述的形式写出算法思路); (2) 设计编写出合理的程序(关键处加注释)。