浙江大学C语言程序设计理论考试模拟试题答案_第1页
浙江大学C语言程序设计理论考试模拟试题答案_第2页
浙江大学C语言程序设计理论考试模拟试题答案_第3页
浙江大学C语言程序设计理论考试模拟试题答案_第4页
浙江大学C语言程序设计理论考试模拟试题答案_第5页
已阅读5页,还剩10页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、浙江大学C 语言理论考试模拟试题答案一、判断题共 10 题,每题1 分,共 10 分。正确的请选择A ,错误的请选择B 。1、在C语言中,函数不可以嵌套定义,但函数可以嵌套调用。AA、正确B、错误解答: A2、 在程序中else 子句可以单独使用。BA、正确B、错误解答: B3、 C 语言源程序文件通过了编译、连接之后, 生成一个后缀为.EXE 的文件。() AA、正确B、错误解答: A4、 _ya 是不合法的C 语言标识符。BA、正确B、错误解答: B5、 在数组初始化时,如果初值个数多于数组长度,将出现错误。AA、正确B、错误解答: A6、 C 语言规定,函数返回值的类型是由return

2、语句中的表达式类型所决定。BA、正确B、错误解答: B7、 若有定义int *p, 则表达式p+ 的值就是p 所指向的变量的地址值加1。BA、正确B、错误解答: B8、 'n'不是一个字符常量。BA、正确B、错误解答: B9、 表达式 (z=0, (x=2)|(z=1),z) 的值是 1。 BA、正确B、错误解答: B10、 若打开文件的方式为“w ”而该文件已经存在,则文件中原有数据被清空。A、正确B、错误解答: A二、单选题请从给定的选项中选择一个唯一正确的选项。每小题2 分,共 10 题, 20 分。1、 C 下面有关变量的命名,不合法的是:()A. _intB. _in

3、tintC. _int&intD. _intintintC解答: C2、 有变量定义int a;float c; 下面输入语句有语法错误的是()。A. scanf("%d,%f", &a, &c);B. scanf("x=%d, c=%f", &a, &c);C. scanf("%d%f", &a, &c);D. scanf("%f %d",&a, &c);D解答: D3、 下面关于函数参数使用的说法,不正确的是:()A. 函数调用时实参按顺序

4、传递到形参;B. 函数调用时实参把值传递给形参;C. 函数的实参和形参个数可以不一致,但使用时应尽量一致;D. 函数的实参和形参可以同名;C解答: C)。4、 已知 int k=1; for(k=1;1;k+) if(k) break; for 语句的循环次数是(A. 0B. 1C. 2D. 无限次B解答: B5、 下面定义的max函数返回值的数据类型是()max(float a,float b)return(a>b?a :b) ;A. intB. floatC. doubleD. 不确定A解答: A(此题似乎有争议)此题应该没有争议,因为max()的函数头决定了 max()的返回值必定

5、是int,return 后面的表达式必须转化成int。 BlackWhite 注6、 已知 int a = 10 , x = 0 ; x = a; 则 x 的值为() 。A. -1B. 0C. -11D. 负无穷大C解答: C7、 表达式 (float)10/2 的值的数据类型是() 。A. intB. longC. floatD. doubleC解答: D 这题才有争议,这个题明显出得不好。因为按C99标准,该表达式的类型为float,而按C89标准,则表达式的类型为double。证明方法如下:在 TC 中输出 sizeof(float)10/2) 可以得8,而在 VC 中输出 sizeof

6、(float)10/2) 则得4。 。 BlackWhite 注8、 表达式 !(x>0|y>0) 等价于 。A. !x>0|!y>0B. !(x>0)|!(y>0)C. !x>0&&!y>0D. !(x>0)&&!(y>0)D解答: D9、 不正确的赋值或赋初值的方式是。A. char str ="string"B. char str10; str="string"C. char *p="string"D. char *p; p="

7、string"C解答: B10、 声明语句为“ int a34; ",下列表达式中与数组元素a21等价的是。A. *(a2+1)B. a9C. *(a1+2)D. *(*(a+2)+1 colorkj等价于 *(colork+j)也可以写成 *(*(color+k)+j)A解答:A三、填空题。在解答的文本框中填写正确的答案。共 10小题,每小题2分,共20分。1、 表达式 int a=97;表达式b'<a= =97<'1'的值 _(1)_。(1) 解答:1 (左边为假,则为 0,右边也为 0,故总体为真,值为 1.)2、 equal()函

8、数用于判断两个数是否相等,请写出最简单的形式二使与形式一等价。形式一:int equal(int x,int y)if(x=y) return 1;else return 0;形式二:int equal(int x,int y)return (_X=Y);解答:x=y3、 定义下列变量的值为:int x=5, y=2, z=0;则表达式:(x|(y=5), x&&z|(y=1), x+y+z)的值为:(1)6解答:64、下面程序段运行结束后a的值为:_(1)int a b;for< a-1fb=l;a<=100;a+) if(b>20) break;if(b5

9、-=l)( b+=5 ;continue;I b-=5;)5解答:55、下列程序段的输出结果是 。int c = 10f 0, -10;int *k=c+l;prints(*k一一);0*K-引用*k 所指向的元素, K 指向数组的上一个元素 解答:06、下列程序的输出结果是。#include <stdio * h> void p(int int y) +y=y+2;)void main() int x=2f y=3;P (syf y);printf(f y);)2#4解答:2#47、下列printf输出的结果是 。#def ine MA (k, y) (x*y)main() pr

10、intfMA(5, 3+2) -7);10解答:108、以下程序的输出结果是:irtt f (i nt x) if (x-0 | x=l) return (3);e 1 se return (x-f (x-2) ) ;main() printf (rd、f (9) ) j7解答:79、若有以下的定义和语句,则表达式*(+p)->b用d输出的值是 ost ruct 5*七int a, *b;*P;int xO- llf 12 xl = 31f 32 );11 八=:"二上一二一:/叱二,弱二,; pt;31解答:3110、系统提供了平方根函数,其函数名是 。_解答:sqrt四、选

11、择性程序阅读题。在给定的四个选项中,选出唯一一个正确答案。共5题,每题4分,共20分。1、阅读以下程序,程序运行时输入3 123 1234 12345后回车,请写出程序的运行结果。#include "s七dio.h" void main()int 上尸 p.n , s-0; long x;scanf;for(p=0;p<n;p+)(scanf (,TldrTf -ftx);while(x>0)(r = x % 10;±f( r % 3 =0 ) break;x = x/10;s += r;)printf< ITd#n,s);A. 0#B. 0#4

12、#C. 0#4#13#D. 13#C解答:C2、 运行时输入 banana apple pear orange的输出结果是 。void main。(int k;char v4 20J , ±p二v0;for(k=0;k<4;k+)scanf ("%sTTf vk);for(k=l; k<4; k+)if(strcmp(vkz p)>0) p=vk; printf (rr%sT p);A. pearB. bananaC. appleD. orangeA解答:A3、下列程序的输出结果是 。#includeh>void main() int k,t;x=2

13、;s=0; t=x;for (k=l; k<-3; k+) t=t*10+x;S=5+t; printf (TT%d#T s);A.22#244#2466#B.2#24#246#C.2#24#66#D. 22#64#126#A解答:A4、假设文本文件a.txt中存放了下列数据: apple?pear?1234?output?文本文件b.txt中存放了下列数据:apple?pear?1604?input?假定文件都能正确打开,下列程序的输出结果是 ,# include <stdio.h># include <stdlib.h>void main () ( int c

14、o unt;char chi, ch2;FILE *f lf *f2;fl = fopen (cAa. tnttrr,f);f2 = fopen (rrc: Wb. txtrr, TFrrr);count=0;while (ifeof(fl)|IfeofJf2) chl=fgetc(fl);ch2-fgetc(f2);if (chll=ch2) printf (,r%c0%c#,r, chi, ch2); printf("&d#"r count);break;if (chll ?1) count+4-;fclose(fl); fclose (f2);A. 2#6#2

15、#B. apple?pear?12#C. apple?pear?110#D. 2#6#10#D解答:D5、下列程序的输出结果是include <stdio,h> void main() int i, k, m;int a 8 = 17,22,85,73, 91, 79, 81, 8 9), s 10;for (k=0 ; k<10; k+ +) sk, =0;for (1=0 ; i<8 ; i+) k=ai/10; sk+;m-s0; k=l;while (k<10)if (s k 1=0) printf (rr%d0tF, sk);if (s k. <m

16、) m=s k;Jc+ +;)printf ( Ydl m);)A. 1#1#2#3#1#3B. 2#1#1#1#1#2#2C. 1#1#2#3#1#1D. 1#1#2#3#1#0D解答:D五、选择性程序填空题。共 30分,5题*3空=15个空,每空2分。请在给定的选项中为每空选择一个唯一 正确的选项,使程序补充完整。1、 输入两个正整数 m和n(1<m, n <=1000),输出mn之间所有的Fibonacci数。Fibanacci序列(第1项 起):1, 1,2, 3, 5, 8, 13, 21, oA. m=(m+n)/2 B. m=m+n C. n=n+mD. cur<

17、;n E. cur<=n F. cur>=nG. pre1+pre2 H. cur=pre1 I. cur=pre2# inc lude< s td io. h> void main ()int m干 ii;int pre 1=1, pre 2=1, cur=l;printf (TTTnpu-t m n:;scanf (f 8$ in);if (m>n) (1);n=m-n; ni=m- n ;)while (2)if (cur >= m) printf% cur);cur =(3);prel = pre2;pre2 cur;I B E G解答:B解答:E解

18、答:G2、输入1个正整数n (n>=6),将n分解为3个素数之和,要求只输出一组。如:输入24,则输出24= 2+3+19输入11,则输出11= 3+3+5int prime(int x)(int i,flag-1;for(1-2;i<<int)sqrt(x);i+)if(xi=0) flag=O;break;J_(3);#include stdioJin #include "math, hT, void main ()(int a ,b,c,j , n;int prime(int x);scanf&n);a- (1> ;print£。M=维

19、<1匕卬 a);n-n-a;for(b=2;b<=n/2;b+) if(prime(b) £&(2) break;)print f( "+W+dnTT t bfn-b); B EIA. if(n%2=0) a=2;else a=3; B. n%2+2 C. n/2+2D. prime(n-b)=0 E. prime(n-b) F. prime(b)G. return 0 H. return 1 I. return flag解答:B解答:E解答:I3、输入若干学生的成绩,如果输入成绩>100或<0时输入结束,请按等级对成绩进行分类统计,并输出各

20、等级及对应的学生人数。等级划分如下:A:100>=优秀 >=90B:良好 >=80;C:中等>=70D:及格>=60E:不及格<60。例如,输入 95 56 88 76 34 90 66 79 74 81 84 67 83 75 100 82 70 -1则输出:A:3 B:5 C:5 D:2 E:2#include <stdio.h> int main()(int. xi r 七;st at ±c int count5;scanf ( TTLn;while(1)Ir= (2);if (i?= =5) count 4 + + ;else countr+;scanty ”权1" r&x);for (x=4 ;i>-0 ;i-) printf("%c二先d " f (3) tcount ±);)A. x<60?0:x/10-5 B. 'A'+i C. x<60?0:(x-60)/10D. 0<=x<=100 E. x>=0 | x<=100 F. x<=100G. x>=0 && x<=100 H. x/10-5 I. 'E'-iG C A I解答:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论