




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、试题四参考答案与评分标准一、判断对错(6分,每题1分,对:错:X)1. 在C语言中,可以用typedef定义一种新的类型。()2. C语言中基本数据类型包括整型、实型、字符型。()3. 不同的函数中可以使用相同的变量名。()4. 形式参数是局部变量。()5. 若有定义int *p4;则标识符p是一个指向有四个整型元素的一维数组的指针变量。()6. 共用体所占的内存空间大小取决于占空间最多的那个成员变量。()二、单项选择题:(10分,每题2分)1. 判断字符串si与字符串s2相等,应当使用:-A)if(si = s2)B)if(strcmp(slf s2)7c)if(!strcmp(si, s2
2、)D)if(strcmp(si, s2) =2. 二维数组a有m行n列,则在ai j之前的元素个数为()。A j *n+i 、/B i犬n+jC i犬n+j-1D i犬n+j + 13. #include#includemain()printf (,%dnl strlen (,lIBMn012t,l0n);则程序运行后的输出结果是。7A) 10B) 11C) 16 D) 124. 有如下程序片段:int i = 0;while (i+ = 2);printf(n%d,fz i);则正确的执行结果是:A) 2 B) 37C) 4 D)程序陷入死循环5下面哪个定义是合法的oA) char a8 =
3、 language;B) int a5 = 0,1,2,3,4,5;7c)char *a = string;D) int a2 = 0,1,2,3,4,5,6;1. #include main ()int a = 5, b = 4, x, y;x = 2 * a+ ;printf ( n a=%d, x = %dnn, a, x); y = b * 2 ;printf (,fb=%d, y = %dnH z b, y); 则程序运行结果是:m= 6 r x=l 0b=3,y=62. #includevoid funl(int x)x=20;void fun2(int b4)int j;for
4、(j=0; j4; j+)b j=j;main()int x = 10;int a4 = lz 2,3,4 z k;funl(x);printf (lfx = %dn,fz x);fun2 (a);for(k=0; k4; k+)printf (l,%dn, ak);运行结果是:x = 100123#include main()int x, y;scanf (,%2d%*4s%2d, &x, &y); printfy-x);J程序运行时输入:123456789/则程序运行结果是:664. #include struct dateint year;int month;int day;;void
5、func (struct date p)p.year = 2000;p.month = 5;p.day = 22;main ()struct date d;d.year = 1999;d.month = 4;dday = 23;printf(H%dz %dnH, d.year, dmonth, dday); func(d);printf(H%dz %dnH, d.year, dmonth, dday);J程序运行结果为:1 999, 4 z 231 999, 4 z 235. #includevoid Fun(int *y)printf(H*y = %dnH, *y);*y += 20;pri
6、ntf(*y = %dnH, *y);main ()int x = 10;printf (x = %dnH, x);Fun(&x);printf(Mx = %dn, x);j程序运行结果是:x = 10*y = 10*y = 30x = 30四、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完 整并符合题目要求。(8分,评分标准:每空1分,正确得1分,错误扣1 分)1. 从键盘任意输入一个年号,判断它是否是闰年。若是闰年,输出“Yes”, 否则输出“No”。己知符合下列条件之一者是闰年:能被4整除,但不能被100整除。能被400整除。#include main ()int yea
7、r, flag;printf(HEnter year:H); scanf(M%dHz &year );if ( year$4=0&year$100!=Cl | year%400=0)flag = 1;elseflag = 0;if ( flag )printf(MYesnH);elseprintf(MNonn);J2. 编程判断加是否为素数。#include #include cmathhint IsPrime(int m);main()int n, flag;printf (Input n: n); scanf(M%dHz &n); flag = IsPrime(n);if (flag)pr
8、intf (它是素数n”);elseprintf (它不是素数n”);int IsPrime(int m)int i, k;if (m = 1)return 0;for (i=2; i=sqrt(m); i+)k = m % i;if (k = 0)return 0;return 1;五、在下面给出的4个程序中,共有18处错误(包括语法错误和逻辑错误), 请找出其中的错误,并改正之。(34分,每找对1个错误,加1分,每修 改正确1个错误,再加1分。只要找对17个即可,多找不加分。)1.下面程序的功能是从键盘输入一行字符,统计其中有多少单词。假设单 词之间以空格分开。已知:判断是否有新单词出现的
9、方法一一当前被检验字 符不是空格,而前一被检验字符是空格,则表示有新单词出现。(5个错误) #include main ()int i, num, n=20;char str n;/ char str 20;scanf (M%snz str);/gets(str);if (str0 != f 1)num = 1;elsenum = 0;for (i=l; i20; i+) /for (i=l; stri!=z0z; i+)if (str i! =1 f| | stri-l=, 1)/if (stri!=1 & stri-l=, 1)num = num+; / num+;printf(Hnum=
10、%dnM, num);2.编写一个函数InveiseQ,实现将字符数组中的字符串逆序存放的功能。(5#include #include#define ARRSIZE = 80;/#define ARR_SIZE 80void Inverse(char str)/ void Inverse(char str);main()char aARR_SIZE;printf(HPlease enter a string:); gets (a);Inverse(char a );/ Inverse (a);printf(HThe inversed string is: H); puts (a);void I
11、nverse (char str)int lenz i = 0, j;char temp;len = strlen(str);for (j=len; ij; i+, j-)/ for (j=len-l; ij; i+, j-)temp = stri;strj = stri;/ stri = strj;strj = temp;J3. 韩信点兵。韩信有一队兵,他想知道有多少人,便让士兵排队报数:按 从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵 报的数为5;按从1至7报数,最末一个士兵报的数为4:最后再按从1至 11报数,最末一个士兵报的数为10。你知道韩信至少有多少兵吗? (
12、4个 错误#include main()int x; /原來未初始化int x=l;while (1)if(x%5=l&x%6=5&x%7=4&x%11=10)/缺一个=if (x%5=l&x%6=5&x%7=4&x%ll=10)continue; /break;X+;/位置不对,这里的应该删掉,应该放到下/放到这里X+;printf( x = %dnf x);4 编程输入10个数,找出其中的最大值及其所在的数组下标位置。 个错误)#include int FindMax(int num, int n, int *pMaxPos);main ()int num10, maxValue, max
13、Pos, minValue, minPos, i;printf(HInput 10 numbers:n ”);for (i=0; i10; i+)scanfnumi) ; /缺&scanf (n%dH,;maxValue = FindMax(num, 10, maxPos);/改成&/ maxValue = FindMax(num, 10, &maxPos);printf(HMax=%d, Position=%dnH,maxValue, maxPos);int FindMax (int num , int n, int *pMaxPos) ; /去掉分号intImax;max=num0;for
14、(i/缺初始化语句*pMaxPos = 0; =1; i max)max = numi; *pMaxPos = i;return max;五、编程1.编程计算1!+2!+3!+.+10!的值。(42 分) 参考答案#include main ()long term = 1,sum = 0;/2int i;for (i = 1; i = 10; i+)/2term = term * i;/3sum = sum + term;/3printf(M1!+2! +.+10! = %ld nH f sum);参考答案2:#include main () long term f sum = 0;/2int
15、 i, j;for (i = 1; i = 10; i+)/Iterm = 1;/2for (j = 1; j = i; j+)/Iterm = term * j;/2sum = sum + term;/2printf (H1! +2 ! +.+10 ! = %ld nH, sum) ; /22.从键盘任意输入某班20个学生的成绩,打印最高分,并统计不及格学生的人数。(18分)#include int FindMax(int score, int n);/Iint CountFail(int score , int n);/Imain ()int i, score20zmax,count;for (i=0; i20; i+)/Iscanf(H%dnz sscorei);/Imax = FindMax(score, 20);/Iprintf(max = %dnrmax);/Icount = CountFail(score, 20);/Ip
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国农机保险市场发展及投资风险评估报告
- 2025-2030中国再生资源回收体系智能化改造与运营模式报告
- 2025-2030中国免税零售渠道变革研究及跨境消费回流与牌照价值评估分析报告
- 老年人长期护理保险-洞察及研究
- 设备认证安全策略-洞察及研究
- 干预时机选择标准-洞察及研究
- 状态同步同步机制-洞察及研究
- 环境友好高分子材料-洞察及研究
- 组织变革中的文化干预-洞察及研究
- 矿物微量元素分析-洞察及研究
- 魏桥供煤合同协议
- 中国工会章程试题及答案
- 炉窑安全管理制度
- 老带新活动方案
- 大学《Python程序设计》试题及答案
- T-CAS 952-2024 基于荧光标记二抗的免疫组织化学检测 质量控制规范
- 2025年长沙电力职业技术学院单招职业倾向性考试题库附答案
- 企业员工健康管理方案
- 2025年销售总监面试试题及答案
- 企业宣传片制作技术手册
- 2025年信用合作社住宅贷款协议
评论
0/150
提交评论