1、河南财经学院2009年硕士研究生入学考试业务课试题专业名称:管理科学与工程考试科目:C程序设计(共150分)一、 填空: (本题共20个空,每空3分,共计60分)1. 定义m为无符号短整形变量,初值为15,写出变量定义 (1) 。2. printf(“abc”)输出结果为 (2) 。 3. double x=1.6;执行printf(“%8.5f”,x)后,输出的小数部分总共占 (3) 个字符的位置。4. 定义n为整型变量,初值为8,写出变量定义 (4) 5. 定义一个数组:float a20;数组的最大下标是: (5) 。 6. a=3; b=8; max=(ab) ? a-b : a+b;
2、 max的值 为: (6) 7. 有表达式 x=y=z=w=80,x的值为 (7.1),表达式的值为 (7.2) 。8. 定义数组:int a2030;数组a的最大行下标是(8.1) 。数组的元素个数是 (8.2) 。9. n = 5; m=+n; m 的值为 (9) 。10. n = 5; m=n+; m 的值为 (10) 。11. 有变量定义:int * p; 其中p是指向 (11.1) 型变量的 (11.2) 型变量。12. 有函数: void f1() static int x;.其中x的生命周期是 (12) 。13. 在文件f1.c中定义了外部变量int x,若要在文件f2.c中使用
3、外部变量x,在文件f2.c中的变量声明int x前应加关键字: (13) 。 14. int x ; scanf( “ %d ”, x ) ; 语句中的错误是: (14) 。15. float bw=25 ; float *p=&bw ; 则 * p的值 (15) 。 16. int x=6 ; int *p=&x ; x+; 则 * p的值为 (16) 。17. 有程序段如下: int i; char buffer=a1b2efab3ef5cd23bcdrqp; i=0; while(bufferi) i+; printf(i=%d,i); 程序段的执行结果是:i= (17) 。二、求1+2
4、+3+100 ,写出程序。(本题15分)三、在主函数中将10个数读入数组a,在被调用函数sum中将所有数组元素的总和累加到a0中,a0中是所有数组元素的总和。返回主程序,输出a0中的值。(本题15分)四、编写一个函数sum,求1000以内(含1000)的奇数和与偶数和,在主函数中调用sum函数,将计算结果在主函数中输出。(本题10分)五、编写函数pm判断一个数是否素数,在主函数中读入一个数,调用函数pm进行判断,返回主函数后,在主函数中输出结果。 (本题10分)六、有数组double arr10;在主函数中读入10个数,调用函数maxmin,在函数maxmin中编程序找出其最大值和最小值,在主
5、函数中显示结果。(本题10分)七、在主函数中定义两字符数组,char s110=abc; char s25=efg;调用函数link,在函数link中将”efg”连接在abc的末尾。在主函数中输出结果。不允许使用strcat函数。 (本题10分)八、编程序将数组中的若干个数由小到大排序。(本题10分)九、写一个函数invert(int *s,int i,int j),使用递归法将主函数传递过来的数组按逆序存放,在主函数中输出结果。(本题5分)十、创建三个函数:max、min和gcd,max求两个整数中的最大值,min求两个整数中的最小值,gcd用递归法求两个整数中的最大公约数,在主函数中用函数指针数组分别调用这三个函数,并在主函数中输出结果。(本题5分) 第 3页 共3页