南昌大学c语言函数答案8,南昌大学学年C程序设计A卷试题及答案.doc

南昌大学学年C程序设计A卷试题及答案.doc

试卷编号 A 卷课程编号 H61050001 课程名称 C程序设计 考试形式 闭卷 适用班级 全校理工科 姓名 学号 班级 学院 专业 考试日期 2006、06、23 题号一二三四总分累分人 签名题分50182012100得分考生注意事项1、本试卷共9页,请查看试卷中是否有缺页或破损。如有立即举手报告以便更换。 2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。一、 单项选择题每空 2 分,共 50 分 请将各小题正确答案的字母序号填到相应小题的下划线上得分评阅人 1. C语言的运算符按运算对象的数目可以分为 。A 单目运算一种 B 单目和双目运算符C 单目、双目和三目运算符 D 单目、双目、三目运算和四目运算符2. C语言表达式2/5*10的值是 。A 0.04 B 4 C 4.0 D 0 3. 已知变量f和i的类型说明如下float f12.34; int i;则以下符合C语言语法的表达式是 。A iintf5B iintf5C if5D iint f54. 能正确表示数学式1x5的C语言表达式是 。A 1 x5 B x 1x5 C x1 x5 D 1 x5 x5. 设变量c的数据类型是char,i的数据类型是int,f的数据类型是float,则C语言表达式c*ic*f-i100值的数据类型为 。A int B float C char D 不确定南昌大学 20052006学年第二学期期末考试试卷6. 在下列选项中,合法的C语言用户标识符的是 。A) int B)sin C)if D)ij7. C程序的执行从 开始。A 程序中的第个语句 B 程序中的第个函数C 名为main 的函数 D 包含文件的第个函数8. 凡在C语言函数中未指定存储类别的变量,其隐含的存储类别为 。A 自动auto B 静态static C 字符串 D 字符或字符型变量值9. 以下程序运行时要求输入10和20分别存放在变量x和y中,能正确输入数据的是 。mainint x,y; scanfxd,yd,x,y; printfxyd,xy;说明用CR表示换行符,用表示空格符A 1020CR B x10,y20CRC 10CR D x10CR 20CR y20CR10. 下面程序的运行结果是 。main int a,b; a32767; ba1; printfad,bdn,a,b;A a32767,b-32768 B a32767,b32768 C a32767,b1 D 运行出错11. 在C语言中,以下错误的描述是 。A break语句不能用于循环语句和switch语句外的任何其它语句B 在switch语句中使用break语句或continue语句的作用相同C 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环D 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环12. 在C语言中,数组作为函数的形参,函数调用时,若用数组名作为函数的实参,则实际上传递给形参的是 。A 数组首地址 B 数组的第一个元素值C 数组中全部元素的值 D 数组元素的个数13. C语言编译系统对宏命令是 。A 在程序运行时进行替换处理B 在程序连接时进行处理C 和源程序中其它C语句同时进行编译D 在对源程序中其它成份正式编译之前进行处理14. 设 x、y为整型变量且已赋值,将其中较大的值输出的、正确的 if 语句是 。A if x y printf “ d ” , x ; B if x y printf “ d ” , x ;printf “ d ” , y ;C if x y ; printf “ d ” , x ; else printf “ d ” , y ; D if x y printf “ d ” , x ; else printf “ d ” , y ; 15. 对以下程序段描述正确的是 。x10;whilex xx/4;A 不执行循环体 B 循环体执行一次 C 循环体执行二次 D 死循环16. 在C语言中,引用数组元素时,对数组下标的数据类型以下说法错误的是 。A 数组下标可以用整型常量 B 数组下标可以用整型变量 C 数组下标可以用任意类型的表达式 D 数组下标可以用整型表达式17. 以下C函数的功能是 。int funint x,int y int z0; zxyxy; return z; A 求x 和y二者中的最大值 B 求x 和y二者中的最小值C 返回一个不确定的值 D 返回函数值为“0”18. 定义数组int s10;则数组元素下标的取值 。A 最小值为1,最大值为10 B 最小值为0,最大值为10 C 最小值为0,最大值为9 D 最小值为1,最大值为919. 已知 int i,s45;不能表示数组第3行第3列元素值的是 。A * * x 3 B x 3 3 C * * x 3 3 D * x 3 3 20. 以下C函数的类型是 。fun float f printf “ f n ” , f ; A int B float C void D 无法确定 21. 设char *s1,s2255“programing” ;以下操作正确的是 。A *s1 “function”; B s2“function”;s1s2; C s1 “function”;s2s1; D *s2P;s1 s2 ; 22. 设有说明语句struct student int num,age; ;struct student stu36001,20,6003,21,6005,19;struct student *pstu; 则下面的C语言表达式中,值为6003的是 。A p-num B p-numC *p.num D *p.num23. 已有定义 int * p ; 则指针 p 可以 。A 代表函数的返回值 B 指向函数的入口地址C 代表函数的类型 D 代表函数返回值的类型24. 若用下列语句输出26个大写英文字母1foraAZc,a;2foraZAc,a;3foraAZc,a;4foraAZc,a;以下说法正确的是 。A 全都能输出 B 只有前三个语句可以输出C 只有前两个语句可以输出 D 只有第一个语句可以输出25. 设以下程序用来求三个元素的数组中,第1个元素与第3个元素之和程序每行前面的数字表示行号。1 main2 int a33*0,i;3 fori1;i3;i scanfd,ai;4 fori1;i3;i a0a0ai1; 5 printfd,a0; 则下述说法正确的是 。A 第2行有语法错误 B 第3行有错误,程序得不到预期结果C 编译时第4行出现语法错误 D 可以得到正确结果二、 程序阅读题 每小题 3分,共18分 写出以下程序运行的结果 得分评阅人 1.includestdio.hmain int a,b,c,d; unsigned u; a12;b-24;u10; cau;dbu; printfaud,budn,c,d; 程序运行结果为2.include stdio.hmain int a10,b0; if a0 aa1;bb1; else aa2;bb2; printf“d,dn,a,b; 程序运行结果为3.define Vs s*s*sinclude stdio.hmain int volume; volumeV1;printfdt,volume; volumeV2;printfdt,volume; volumeV12;printfdn,volume; 程序运行结果为4.include stdio.hmain char s12345 void sub_s2char s ,int n; sub_s1s,5;sub_s2s,6; void sub_s1char s,int n int i,j; fori0;in;i forj0;ji;j printfc,sj5; printfn; void sub_s2char s ,int n int i,j; fori0;in;i for ji;jn;j printfc,sj5; printfn; 程序运行结果为5.include stdio.hmain int i,a;int funint m; fori0;i2;i afun4i;printfdn,a; int funint m static int n0; m/2;mm*2; ifm nn*m; return funm-2; else returnn;程序运行结果为6.include stdio.hmain int i,k0,s101,2,3,4,5,6,7,8,9,10; fori0;i10;i ifi2 ksi; forii-1;i0;i ifi5 0 printf“dt”,si; printf“dn”,k;程序运行结果为三、 填空题 每空 2 分,共 20 分 请在下划线上填入合适的内容,完成程序或程序段所要求的功能得分评阅人 1. 以下程序运行时从键盘输入字符串ABCDE按回车键结束输入,要求在下划线上填入合适的内容,使输入字符串中的A和B转换为字符输出,其它字符输出为*。 include stdio.hmain char c ; while c getchar switch c case A case B putchar ; _; default putchar * ; 2. 以下程序从键盘输入20个整数存入数组,统计输入非负数的个数,并计算输入的非负整数之和。请填空完成。 include stdio.hmain int i , a20,s,n; sn0; for i 0 ;i20;i ; fori0;i20;i if ai0 ; sai;n; printfsdt,ndn,s,n;3. 以下函数的功能是删除字符串s中所出现的与变量c相同的字符,请填空完成。void funchar s,char cint i,j; forij0; ;i ifsic _; sj0stdio.hmain _; i1; do ssi; i; while_; printfdn,s;5. 设fp为文件型指针变量,ch为字符变量,以下程序段从键盘输入字符,然后存入磁盘文件,直到输入一个为止,请填空完成。注不存入文件中chgetchar;while _; chgetchar; fclosefp;四、 程序设计题 第1小题 4 分,第2小题8分,共 12 分 得分评阅人 1. 编制一个自定义函数,函数的形参为字符数组s1和s2,函数功能是将字符串s1中的所有数字字符取出,存入另一字符数组s2中,使s2成为一个新的字符串,并在函数中将字符串s2输出。 请按题目要求只需用自定义函数完成全部功能2. 已知某数列前两项分别为2和3,其后继项根据数列最后两项的乘积,按下列规则生成1若乘积为一位数,则该乘积即为数列的后继项;2若乘积为二位数,则该乘积的十位数字和个位数字依次作为数列的两个后继项。编制程序计算数列前20 项之和并输出数列中的各项要求将数列前20项保存在数组中且不可多存。例如,数列前10项为2,3,6,1,8,8,6,4,2,4南昌大学0506学年第二学期C语言程序设计期终试卷答案及评分细则一、单项选择题每空 2 分,共 50 分1. C2. D3. A4. C5. B6. B7. C8. A9. B10. A11. B12. A13. D14. D15. C16. C17. A18. C19. A20. A21. D22. D23. B24. B25. B二、程序阅读题每小题 3分,共18分题号答案备注1au22,bu-14数值2分1个1分、格式1分211,1每个1.5分31 8 7每个1分41121231234123451234513451451511格式正确且数据正确30左右给1分、数据正确60左右给2分;数据正确但格式不正确给2分;数据60正确,但格式不正确给1分508每个1.5分66 1 30每个1分三、填空题每空2分,共20分题号答案备注1n0给1分break;2scanfd,ai或scanfd,ai用scanf函数,但没写运算符给1分continue3si0或si0或siistrlens 也正确给2分sjsi或sjsi, jsjsi, j 各1分4int i,s0或int s0,i没有赋初值给1分;只定义i或s给1分i11 或i105ch ch 给1分fputcch,fp函数正确,但参数不正确给1分四、编程题第1小题4分,第2小题8分,共12分1共4分本题考自定义函数的应用,用主函数完成题目的功能不给分void funchar s1,char s2 int i,j0; fori0;s1i;i 0.5分 ifs1i0s1i9 1分 s2js1i; 1分 s2j0 输出0.5分可用循环语句2共8分 include stdio.h1分main int x20,i,t,s0,k0; x02;x13;k2; sx0x1; 求出前2项之和为一位数存入数组2分 while k20 循环控制正确1分 txk-1*xk-2; ift10 st; xkt; 求出前2项之和为两位数存入数组3分,没有考虑超过20项的情况应扣分 else xkt/10;st/10; ifk20 xkt10;st10; i0;1分 whileik printf3d,xi;i; printfndn,s;第 11 页 共 11 页

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值