省二C复习资料 下载本文

return 0;

}

5、以下程序的运行结果为_____________________。

#include int f (int n) { if(n==0)

return 0; else

return n+f(n+1); }

int main( ) {

printf(“%d\\n”,f(-5)); return 0;

}

四、编程题(共20分)

1、编写程序计算并输出下面式子的值(要求用循环语句实现)。(7分) 5+10+15+??+490+495+500

2、编写程序输出下面图形(要求用嵌套的循环语句实现)。(7分) 1 21 321 4321 54321

3、编写程序将字符串中所有小写字母转换为大写字母,并统计其中字母的个数。要求输出转换后的字符串和字母个数。(6分) 运行结果如下:

HELLO 2009,WE ARE READY. N=15

程序框架如下:

#include int main( ) { char s[100]= “Hello 2009,We are ready.”; int n=0;

/*考生在此完善程序*/ ?? return 0; }

31/48

计算机水平考试模拟试卷3(二级C)

一、单项选择题(第题1分,共40分)

1. 在计算机领域中,MIPS通常用来描述计算机的_______

A)运算速度 B)内容容量 C)分辨率 D)主频 2. 下面属于计算机输出设备的是___________

A)显示器 B)鼠标 C)键盘 D)扫描仪 3. 微型计算机在工作中突然断电,则_______中的信息全部丢失。

A)硬盘 B)RAM C)ROM D)光盘

4. 若X是二进制数1011,Y是十进制数13,Z是十六进制数1D,则X、Y、Z从大到小

的顺序是_______。 A)ZYX B)YZX C)XYZ D)ZXY 5. 在Windows中,下面关于删除文件的描述错误的是_______。

A)U盘上的文件被删除后,不能从回收站中还原 B)可以不经过回收站直接将文件删除

C)可以将文件先复制到回收站,需要时再将其从回收站还原 D)利用“清空回收站”选项可以把回收站中的文件全部删除 6. 下面关于E-mail功能的描述中,错误的是_______。

A)在发送电子邮件时,可以同时发送给多人 B)在发送电子邮件时,可以发送附件

C)在接收电子邮件时,可以将附件下载到本地计算机上 D)在接收电子邮件时,必须将附件下载到本地计算机上 7. 为减少多媒体数据所占存储空间,常采用_______技术。

A)高速缓冲 B)数据压缩 C)多通道 D)流媒体 8. http://www.ahedu.gov.cn中的“http”指的是_______。

A)计算机主机域名 B)文件传输协议 C)超文本传输协议 D)TCP/IP协议 9. 下面关于计算机病毒的描述中,正确的是_______。

A)计算机病毒不能感染安装了杀毒软件的计算机系统 B)计算机病毒只能通过网络传播

C)计算机病毒不能感染加密或压缩后的文件 D)计算机病毒可以通过U盘进行传播 10. 下面系统软件中,最核心的是_______。

A)编译系统 B)语言处理系统 C)操作系统 D)数据库管理系统 11. 下列定义变量的语句中错误的是_______。

A)int _abc; B)double int_; C)char For; D)float US$; 12. 设有int x=3,y=4;,以下不合法的C语言语句是_______。

A)x=y= =5; B)x=y&2.8; C)x=y=5; D)x+=x+2; 13. 下列可以正确表示字符常量的是_______。

A)?\\x41? B)\\008 C)a D)”a” 14. 设有定义:int k=0;,以下值为0的表达式是_______。

A)k-1 B)k-=1 C)k-- D)--k 15. 下列常数中不能作为C语言常量的是_______。

A)0xA5 B)2.5e-2 C)3e2 D)0582 16. 设有float f1=2.6,f2=2.5;,则表达式(int)f1+f2的值为_______。

A)5 B)4.5 C)4 D)5.5 17. 设变量x,y,z均为int 类型,则以下程序段的输出结果是_______。

x=y=6;

32/48

z=x,++y;

printf(“%d”,x) A)9 B)8 C)7 D)6 18. 设有int a=2,b=1,c=3,d=4;,则表达式a>b?a+b:c+d值为_______。

A)1 B)2 C)3 D)7 19. 设有int a=52,b=6,c=2;,则表达式a

A)0 B)1 C)2 D)3

20. 若变量c为char类型,以下不能正确判断其为大写字母的表达式是_______。

A)?A?<=c<=?Z? B)c>=?A?&&c<=?Z? C)(c+32)>=?a?&&(c+32)<=?z? D)!(c?Z?) 21. 若从键盘上输入88<回车>后,以下程序的输出结果是_______。

#include “stdio.h> void main( ) { int a;

scanf(“%d”,&a);

if(a>90) printf(“%d”,a); if(a>80) printf(“%d”,a); if(a>70) printf(“%d”,a);

}

A)888888 B)8888 C)88 D)8 22. 以下程序段的输出结果是_______。

int a=2,b=1,c=2;

if(a

A)w= =1 B)w= =0 C)w!=1 D)w!=0 24. 以下程序段的输出结果是_______。

int a=1,b=2,c=3,t; while(b

t=a;a=b;b=t; c--; }

Printf(“%d,%d,%d”,a,b,c); A)1,2,3 B)2,1,2 C)1,2,1 D)2,1,1 25. 以下能正确定义和初始化一维数组a的选项是_______。

A)int a[5]={0,1,2,3,4,5}; B)int a[]=”01234”; C)int a[5]=(?A?,?B?,?C?); D)int a[]={1,2,3,4,5}; 26. 函数strlen(“1234\\0ab\\0c”的返回值是_______。

A)4 B)5 C)8 D)9 27. 若有说明:int a[4][5];,则对数组a的元素的非法引用是_______。

A)a[0][2*2] B)*(*(a+1)+2) C)a[4-2][0] D)a[0][5] 28. 判断字符串s1是否大于字符串s2,正确的表达式是_______。

A)s1>s2 B)strcat(s1,s2) C)strcpy(s1,s2) D)strcmp(s1,s2)>0 29. 在C语言中,函数返回值的类型取决于_______。

A)函数定义中函数首部所说明的类型

33/48

B)在return语句中表达式值的类型 C)调用函数时主调用函数所传递的实参的类型 D)函数定义中形参的类型

30. 若从键盘上输入3,4<回车>后,则以下程序的输出结果是_______。

#include “stdio.h” void swap(int x,int y) { int t;

t=x;x=y;y=t;

printf(“%d,%d”,x,y);

}

void main( ) { int a,b;

scanf(“%d,%d”,&a,&b); swap(a,b);

printf(“%d,%d”,a,b); }

A)3,4,3,4 B)4,3,3,4 C)4,3,4,3 D)3,4,4,3 31. 一个源文件中定义的全局变量的作用域是_______。

A)本函数的全部范围 B)从定义开始至本文件结束 C)本文件的全部范围 D)本程序的全部范围 32. 下列关于C语言函数的说法中正确的是_______。

A)函数可嵌套定义 B)函数不可以嵌套调用 C)函数可以嵌套调用,但不能递归调用 D)函数嵌套调用和递归调用均可以 33. 有如下程序段

int a=10,b=2,*p; p=&a;a=*p+b;

执行该程序段后,a的值为_______。 A)12 B)11 C)10 D)编译出错 34. 设有 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;,则p[5]的值是_______。

A)5 B)6 C)7 D)8 35. 运行程序:

#include “stdio.h” void func(int x,int *y) { x=x+1;*y=*y+1;} void main( ) { int a=10,b=20; fun(a,&b);

printf(“%d,%d\\n”,a,b); }

输出结果是_______。 A)10,20 B)11,21 C)10,21 D)11,20 36. 若有定义 char str[ ]=”uvwxyz”,*p=str;,则执行语句printf(“%c\\n”,*(p+3));后的输出结

果是_______。 A)x B)xyz C)元素str[3]的地址 D)字符x的地址 37. 以下程序的输出结果是_______。

#define MUL(x) x*x

34/48

#include “stdio.h” void main( ) { int a=4,b=2;

printf(“%d\\n”,MUL(a)/MUL(b)); } A)4 B)8 C)16 D)32 38. 以下类型说明和变量定义中正确的是_______。

A)typedef struct B)str REC; { int n;char c;}REC; {int n;char c;}; REC t1,t2; REC t1,t2; C)typedef struct REC; B)str{int n;char c;} REC; { int n=0;char c=‘A’;} t1,t2; REC t1,t2; 39. 已知int x=56;,则执行语句printf(“%d\\n”,x>>2);后的输出结果为_______。

A)34 B)14 了 C)224 D)56

40. 若要用fopen( )_函数以读写方式打开一个已存在的二进制文件,则打开方式是

_______。 A)“a” B)“wb+” C)“ab” D)“rb+”

二、填空题(每空2分,共20分)

1. 已知char c=?A?;,则执行语句printf(“%d”,c);后输出结果为 (1) 。 2. 已知double x=56.78;,则执行语句printf(“%1.1f\\n”,x);后输出结果为 (2) 。 3. 已知int a=2,b=3;,则执行语句a*=b+4;后输出结果为 (3) 。 4. 已知double x=1,y?;,则表达式y;后输出结果为=x+3/2的值为 (4) 。 5. 数学表达式1≤x≤3的C语言表达式为 (5) 。 6. 已知int k=-5;,则下面while循环执行的次数是 (6) 。

while (k<=0) k=k+1;

7. 以下程序段的输出结果为 (7) 。

char s[ ]=”Hello,World!” s[5]=?\\0?;

printf(“%s”,s);

8. 若有定义:union {long x[2];char y[6];}m;,则执行语句printf(“%d\\n”,sizeof(m));后的

输出结果为 (8) 。 9. 在C语言中,若需调用数学库函数对数据进行处理,则需包含头文件 (9) 。 10. 已知文件指针fp指向某文件的末尾,则!feof(fp)的值是 (10) 。

三、阅读理解题(每题4分,共20分)

1. 以下程序的运行结果为________________。

#include void main( )

{ int i,a=0,b=0,c=0; for(i=1;i<5;i++) switch(i)

{ case 1:a++;

case 2:b++;

case 3:a++;b++;break; default: c++;

}

35/48