printf(“a=%d,b=%d,c=%d\\n”,a,b,c); }
2. 以下程序的运行结果为________________。
#include
{ int s=0,x=5639; while(x>0) { s=s+x; x=x/10; }
printf(“%d\\n”,s); }
3. 以下程序的运行结果为________________。
#include
{ char s[]=”PROGRAM”; int i,j=0;
for(i=1;s[i]!=?\\0?;i++) if(s[j]>s[i]) j=i; printf(“%c\\n”,s[j]); }
4. 以下程序的运行结果为________________。
#include
void main( ) { int i;
for(i=1;i<=4;i++)
printf(“%d\\n”,fun1(i));
}
5. 以下程序的运行结果为________________。
#include
return(1); else
return(n+fun2(n-1)); }
void main( ) {
printf(“%d\\n”,fun2(5));
}
36/48
四、编程题(共20分) 1.(6分)设计程序计算并输出2009~9002之间所有29或92的倍数的和。(要求用循环语句实现) 2.(7分)设计程序输出下面图形(要求用循环语句实现)。 9 09 009 2009 3.(7分)设计一个转换函数,将字符数组中的字母变换为其字母表顺序后的字母,如果是‘Z’或‘z’,则分别变成‘A’或?a?,非字母字符不变,即: ?a?—>?b?,?b? —>?c?, ?c? —>?d?, ???y? —>?z’ ?z? —>?a? ?A?—>?B?,?B? —>?C?, ?C? —>?D?, ???Y? —>?Z’ ?Z? —>?A? 函数框架如下:
void Change( char s[ ] ) {
?? } 例如:
对于字符数组:char a[ ]=”t&W”,b[ ]=”w&Z”; 转换后的结果分别为:u&X和x&A。 请完成??处的程序代码。
37/48
计算机水平考试模拟试卷4(二级C)
一、单项选择题(第题1分,共40分)
1. 冯·诺依曼型计算机的工作原理是_______
A)计算精度高 B)量子理论 C)运行速度快 D)存储并自动执行程序 2. 在计算机硬件系统中,CPU的组成主要包括___________
A)运算器和控制器 B)控制器和存储器 C)运算器和存储器 D)运算器和I/O设备 3. 计算机系统中的1个字节由_______位二进制数组成。
A)2 B)4 C)8 D)16 4. 在计算机系统中,管理软、硬件资源的是_______。
A)监控系统 B)操作系统 C)管理软件 D)应用软件 5. 在Windows中,回收站里的文件占用_______空间。
A)内存 B)光盘 C)软盘 D)硬盘 6. 电子邮件地址的格式是_______。
A)用户名.主机域名 B)主机域名.用户名 C)用户名@主机域名 D)主机域名@用户名 7. 下列选项中,_______通常作为音频文件扩展名。
A)mp3 B)doc C)exe D)txt 8. 在计算机网络分类中,LAN表示_______。
A)广域网 B)蜂窝网 C)城域网 D)局域网 9. 下列选项中,_______不是计算机病毒的特征。
A)传染性 B)破坏性 C)免疫性 D)隐蔽性 10. 用_______编写的程序不需要编译,可以在计算机上直接运行。
A)人工智能语言 B)机器语言 C)汇编语言 D)高级语言 11. C语言源程序文件的扩展名是_______。
A)C B)EXE C)OBJ D)BAK 12. 在一个源程序中,main( )函数的位置_______。
A)必须在最开始 B)必须在系统调用的库函数的后面 C)可以在最后 D)必须在最后 13. 下列关于变量a,b定义及初始化中正确的是_______。
A)int a=b=0; B)char a=97,b=?b?; C)float a=3,int b=2; D)double a=0.0;b=4.5; 14. 下列选项中能作为变量名的是_______。
A)3G B)G3 C)int D)G+3 15. 下列选项中不是整型常量的是_______。
A)123 B)0123 C)0x123 D)0189 16. 设有int a=1,b=2,c=1;,由表达式b A)0 B)1 C)2 D)3 17. 下列程序的输出结果是_______。 #include “stdio.h> void main( ) { int x=3,y=4;; printf(“%d\\n”,(x,y)); A)0 B)1 C)3 D)4 38/48 18. 设有int x=10;,则表达式x-=x+10值为_______。 A)-20 B)-10 C)0 D)10 19. 设有int a=6,b=8,c=4;,则逻辑表达式a A)4 B)3 C)2 D)1 20. 设a为int型变量,则不能正确表示数学关系式|a|>10的表达式是_______。 A)a>10||a<-10 B)a>10&&a<-10 C)!(a>=-10&&a<=10) D)!(a<=10)||a<-10 21. 以下是if语句的基本形式: if(表达式) 语句 其中“表达式”_______。 A)必须是逻辑表达式 B)必须是关系表达式 C)必须是逻辑表达式关系表达式 D)可以是任意合法的表达式 22. 下列叙述中正确的是_______。 A)break语句只能用于switch中 B)在switch语句中必须使用default C)break语句必须与switch语句中的case配对使用 D)在switch语句中不一定使用break语句 23. 设有int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是_______。 A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;} C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;} 24. 下列叙述正确的是_______。 A)for循环只能用于循环次数已经确定的情况 B)for循环同do-while循环一样,先执行循环体再判断条件 C)for循环同while循环一样,先判断条件再执行循环体 D)for循环体内不可以嵌套while循环 25. 有以下程序段: int k=0; while (k=1) k++; 则循环体_______。 A)执行无限次 B)有语法错,不能执行 C)一次也不执行 D)执行一次 26. 执行语句for(i=3;i<16;i+=2);后,变量i的值是_______。 A)15 B)16 C)17 D)18 27. 设有int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};,则表达式a[1][2]+a[2][1]的值是_______。 A)4 B)6 C)7 D)14 28. 以下程序段执行后的输出结果是_______。 char s1[ ]=”BEIJING”,s2[ ]=”SHANGHAI”; printf(“%d\\n”,strlen(strcpy(s2,s1))); A)8 B)7 C)15 D)9 29. 设有 char str1[ ]=”123456”; char str2[ ]={?1?,?2?,?3?,?4?,?5?,?6?}; 则下列叙述中正确的是_______。 A)str1和str2数组长度不相等 B)str1和str2数组长度相等 C)数组str1和str2不相同,str1是指针数组 D)数组str1和str2完全相同 39/48 30. 下列关于函数说法正确的是_______。 A)函数的定义可以嵌套,但函数的调用不可以嵌套 B)函数的定义不可以嵌套,但函数的调用可以嵌套 C)函数的定义和函数的调用均不可以嵌套 D)函数的定义和函数的调用均可以嵌套 31. C语言中,如果在定义函数时没有指定函数值的类型,系统会隐含指定为_______类型。 A)int B)char C)float D)static 32. 下列描述中,不正确的是_______。 A)调用函数时,实参可以是常量、变量或表达式 B)定义函数时,形参可以是常量、变量或表达式 C)在不同的函数中可以使用相同名字的变量 D)函数中的形参变量是局部变量 33. 设有int a=3;,则对整型指针p的定义和初始化正确的是_______。 A)int *p=a; B)int p=a; C)int *p=*a; D)int *p=&a; 34. 设有int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a+2;,则p[2]的值是______。 A)3 B)4 C)5 D)6 35. 对于类型相同的两个指针变量之间,不能进行的运算是_______。 A)< B)= C)+ D)- 36. 下列定义结构体变量的语句中,错误的是______。 A)struct xyz{char x;int y;float z;};struct xyz a; B)struct xyz{char x;int y;float z;}struct xyz a; C)struct xyz{char x;int y;float z;} a; D)struct {char x;int y;float z;} a; 37. 下列叙述正确的是______。 A)一个共用体变量中不能同时存放其所有成员 B)一个共用体变量中可以同时存放其所有成员 C)共用体变量所占存储单元是其所有成员所占存储单元之和 D) 结构体类型定义中不能出现共用体类型的成员 38. 下列关于编译预处理命令的说法中,正确的是_______。 A)一条文件包含命令能包含多个文件 B)文件包含命令不可以嵌套使用 C)编译预处理命令是在编译之前被处理的命令 D)编译预处理命令中的“#”可以省略 39. 设有int x=8;,则执行语句printf(“%d\\n”,x<<1);后的输出结果是_______。 A)2 B)4 C)8 D)16 40. 对文件操作的一般步骤是_______。 A)打开文件->操作文件->关闭文件 B)操作文件->打开文件->关闭文件 C)读写文件->打开文件->关闭文件 D)读文件->写文件->关闭文件 二、填空题(每空2分,共20分) 1. 在C语言中,标识符只能由字母、 (1) 和下划线组成,且第一个字符必须 为字母或下划线。 2. 设有int x;float y=4.5;,则执行语句x=y*2+(int)y%3;后,x的值是 (2) 。 3. 字符串”computer\\n\\101\\\\”的长度是 (3) 。 4. 设有int x,y;scanf(“%d%d”,&x,&y);,在输入数据给x,y时,分隔符可以用空格、Tab键 和 (4) 。 5. C语言提供的三种逻辑运算符是&&、||、 (5) 。 40/48