北理c语言程序设计答案,北理工年C语言程序设计考试.doc

北理工年C语言程序设计考试.doc

C语言设计期末试题一、选择题(共24分,每题2分)1、下列不可以用作C语言程序变量名的是。A _myname B my_name C my.name D IF 答案C2、已知float x,*ya;则下列函数调用错误的是。 A scanff,x;B scanff,y;C printff,x;D printff,y; 答案D3、已知int x3,y0,执行语句xxxy后,x,y的值正确的是。A x0,y0; B x3,y0; C x0,y1; D x3,y1;答案A4、判别字符变量ch不是字母时,应采用下列表达式。A chZchAchzchaB chZchAchzchaC chZchAchzcha D chZchAchzcha答案A5、已知x1;则表达式“xx”的值为。A 2 B)3 C 4 D)6答案C6、用十进制表示,表达式0 x1212的值为。A 0 B)24 C 1 D)6答案A7、若有字符串说明语句char sI_amx20_a_0boyn;则字符串变量s的长度为。A 18 B)8 C 13 D)说明不合法,长度无法确定答案B8、将球体体积的计算公式为4 r3/3为圆周率,约等于3.14,r是圆的半径,r3是指半径的三次方,r的类型为浮点数,采用C语言表示正确的表达式为。A 4r3/3;B)4.0r*r*r/3.0; C 4.0*3.14*r3/3.0;D)4.0*3.14*r*r*r/3.0;答案D9、int *p4定义的类型是。 A 整型指针的数组;B)指向数组的指针; C 整型指针;D)函数调用,参数为4,返回类型为整数指针;答案A10、假设定义了函数void swapint *a, int *b,并定义了变量int x,y,*px,*qy则下面调用正确的是。A swapx,y B)swapx,q; swapx,y swapp,q C swap*p,*q;D)swapp,y;答案B11、 函数不正确的用法是。A Cmydata,rb B Cmydata,wC Cmydata,a D Cmydata,r答案D12、 已知文件mydata中的内容为“This is Cn program.”,文件打开后的指针为fp,则执行函数fgetss,12后,s的内容是。A “This is Cn0” B “This is Cn program.0”C “This is C0” D “This is Cn p0”答案A二、根据程序功能填空(共16分,每空2分) 1、利用递归函数fn,求解表达式fn1-23-4.n*-1n1的值,请完善下面的递归函数int fint nif n1return 【1】;if n1if n20return 【2】;return 【3】;return 0;【1】处应填入的是。A -1 B)1 C 2 D)0答案B【2】处应填入的是。A fn-1-n B)fn-1n C fn-11 D)-n;答案A【3】应填入的是。A fn-1-n B)fn-1n C fn-11 D)n;答案B2、要对全班100个同学的成绩,按照从高到低的顺序进行排序,以下程序是排序函数,其功能是将成绩数组score从大到小排序。请完善函数中的语句。void sortint scores,int n int i,j,temp;fori【4】;in-1;i forj0;j【5】;jif【6】tempscoresj;scoresjscoresj1 ;scoresj1temp;fori0;iN;i printfdn,scoresi;为保证程序循环次数最少,【4】处应填入。A 0 B)1 C -1 D)N/2答案B为保证程序循环次数最少,【5】处应填入。A N B)N-1 C N-i-1 D)N-i;答案D【6】处应填入。A scoresjscoresj1 B)scoresjscoresj1 C scoresjscoresj-1 D)scoresjscoresj-1答案A3、根据程序的初始值,打印选中学生的姓名与年龄,补充部分程序,并选择程序的运行结果include stdio.hstruct studentint id;char name12;int agevoid printstruct student *pprintfnamesn,*p.name;/*【7】*/printfagedn,【8】;/*打印输出年龄*/main struct student BIT31001,Zhang,19, 1002,Zeng,20,1003,Zang,21,; struct student *pBIT1;print p ;【7】处的输出结果为。A Zhang B)Zeng C Zang D)结果不确定答案B【8】处输出该学生的年龄,应填入。A p-age B)student.age C BIT1.age D)p.age答案C三、编程题_1 (10分)输入一个程序,将长度为N的字符串S,从其第K个字符起,添加长度为M的字符串I,输出新的长度为NM的字符串。N,M均小于100,KN例输入Wearestudents 5 BIT屏幕输出WeareBITstudents 测试输入期待的输出时间限制内存限制额外进程测试用例 1以文本方式显示1 Wearestudents2 53 BIT以文本方式显示1 WeareBITstudents1秒64M0隐藏用例 1以文本方式显示1 Wearestudents2 53 BIT以文本方式显示2 WeareBITstudents1秒64M0隐藏用例 2以文本方式显示1 Wearestudents2 23 BIT以文本方式显示3 WeBITarestudents1秒64M0隐藏用例 3以文本方式显示1 Wearestudents2 53 B以文本方式显示4 WeareBstudents1秒64M0隐藏用例 4以文本方式显示1 Wearestudents2 133 BIT以文本方式显示5 WearestudentsBIT1秒64M0隐藏用例 5以文本方式显示1 Wearestudents2 03 BIT以文本方式显示6 BITWearestudents1秒64M0三、编程题_2 (10分)输入行数 n 值和数字,输出由数字从左往右、从上往下依次递增围起的正方形。数字输出是循环的,即输出数字9后再输出的是数字0。例输入4 8屏幕输出(1表示为一个空格 ) 81910 11 9111110 0111111 11213 14 测试输入期待的输出时间限制内存限制额外进程测试用例 1以文本方式显示1 4 8以文本方式显示7 8 9 0 18 9 09 0 110 1 2 3 41秒64M0隐藏用例 1以文本方式显示1 4 8以文本方式显示1 8 9 0 12 9 03 0 14 1 2 3 41秒64M0隐藏用例 2以文本方式显示1 3 1以文本方式显示1 1 2 32 2 33 3 4 51秒64M0隐藏用例 3以文本方式显示1 5 0以文本方式显示1 0 1 2 3 42 1 23 2 34 3 45 4 5 6 7 81秒64M0隐藏用例 4以文本方式显示1 2 9以文本方式显示1 9 02 0 11秒64M0隐藏用例 5以文本方式显示1 5 8以文本方式显示1 8 9 0 1 22 9 03 0 14 1 25 2 3 4 5 61秒64M03、 编程题_3 (10分)编写一个函数,使用递归算法求一维整型数组的最大值。函数原型如下int maxint array,int n参数说明array为整型数组,n 为项数 n 0;返回值是数组元素的最大值。例如输入51 5 6 4 2, 输出6注意仅提交自编的max函数,不提交main函数。预设代码a3_3.cview plaincopy to clipboardprint1 /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */ 2 include stdio.h3 define N 1004 int maxint array,int n;5 main 6 7 int numN,count,i,val;8 scanfd,count;9 for i0;icount;i10 11 scanfd,numi;12 13 valmaxnum,count;14 printfdn,val;15 测试输入期待的输出时间限制内存限制额外进程测试用例 1以文本方式显示1 52 1 5 6 4 2以文本方式显示1 61秒64M0隐藏用例 1以文本方式显示1 52 1 5 6 4 2以文本方式显示1 61秒64M0隐藏用例 2以文本方式显示1 12 100以文本方式显示1 1001秒64M0隐藏用例 3以文本方式显示1 52 3 10 -1 9 10以文本方式显示1 101秒64M0隐藏用例 4以文本方式显示1 52 0 0 0 0 0以文本方式显示1 01秒64M0隐藏用例 5以文本方式显示1 62 2 5 6 4 2 20以文本方式显示1 201秒64M0答案哦include stdio.hdefine N 100int maxint array,int n;main int numN,count,i,val;scanfd,count;for i0;icount;iscanfd,numi;valmaxnum,count;printfdn,val; int max int array, int nif n2if arrayn-1 max array, n-1return arrayn-1;else return maxarray, n-1;else if array0array1return array0;else return array1;8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值