12012年下半年全国高等学校(安徽考区)计算机水平考试试卷(二级C语言程序设计)一、单项选择题(每题1分,共40分)1.微型机的中央处理器主要集成了_____。A)控制器和CPUB)运算器和控制器C)控制器和存储器D)运算器和CPU2.计算机操作系统的功能是_____。A)能把高级语言的源程序代码转换为目标代码B)能完成科学计算和工程设计等工作C)管理计算机资源,控制程序执行,方便用户使用计算机D)完成计算机硬件与软件之间的转换3.目前广泛使用的航空(火车)售票系统、财务管理等软件,属于计算机在_____方面的应用。A)数据处理B)实时控制C)计算机辅助工程D)科学计算4.WindowsXP中,直接关闭主机电源可能产生的后果是_____。A)可能破坏系统设置B)可能破坏某些程序的数据C)可能造成下次启动故障D)以上情况均有可能5.下列不同进制的4个数中,最大的一个数是_____。A)(1010011)2B)(557)8C)(512)10D)(1FF)166.合法的电子邮件地址是_____。A)用户名@主机域名B)用户名#主机域名C)用户名+主机域名D)用户地址@主机名7.当用各种杀毒软件都不能清除U盘上的病毒时,则应对此U盘_____。A)丢弃不用B)重新格式化C)删除所有文件D)删除COMMAND.COM文件8.假设已正确安装了高质量的声卡及音响设备,但却始终听不到声音,其原因可能是_____。A)音响设备没有打开B)音量调节过低C)没有安装相应的驱动程序D)以上都有可能9.下列关于网络的特点的几个叙述中,不正确的一项是_____。A)网络中的数据可以共享B)网络中的外部设备可以共享C)网络中的所有计算机必须是同一品牌、同一型号D)网络方便了信息的传递和交换10.关于软件的概念,下列_____是正确的。A)软件就是程序B)软件就是说明C)软件就是指令D)软件是程序、数据及相关文档的集合11.下列不能作为变量名的是_____。A)_mathB)vc39C)STUDD)continue12.设有inta=8,b=2;,则表达式a/5*b的值是_____。2A)0B)2C)0.8D)3.213.设有inty=0;,执行语句y=5,y*4,y*2;后变量y的值是_____。A)0B)5C)10D)2014.设有floata=100.25,b=2.5;,则表达式(int)a/b的值是_____。A)40.1B)50.125C)40.0D)5015.设有inta=2,b=1,c=3,d=4;,则表达式ab?a+b:c+d的值为_____。A)7B)3C)2D)116.下列_____是正确的赋值语句。A)30=s;B)s=s*2;C)s-39=s;D)s=7+a=6+1;17.下列程序段的输出结果是_____。inta=5,b;b=a++;printf(“%d,%d\n”,a,b);A)5,6B)5,5C)6,5D)6,618.设有floata;charch[80];,则下列选项中正确的输入语句是_____。A)scanf(“%f%s”,&a,ch[0]);B)scanf(“%f%s”,&a,ch);C)scanf(“%f%s”,a,ch);D)scanf(“%f%s”,a,&ch);19.若变量c为char类型,下列选项中能正确判断出c为大写字母的表达式是_____。A)’A’=c=’Z’B)c=’A’||c=’Z’C)’A’=cand‘Z’=cD)c=’A’&&c=’Z’20.设有intx,y,min;,则下列选项中能将x、y中较小者赋给变量min的语句是_____。A)if(xy)min=x;B)if(xy)min=x;C)min=xy?x:y;D)min=xy?x:y;21.运行下列程序段Charc=’y’;if(c=’x’)printf(“%c”,c);if(c=’y’)printf(“%c”,c);if(c=’z’)printf(“%c”,c);则输出的结果是_____。A)yB)yyC)yyyD)xy22.下列叙述中正确的是_____。A)在switch语句中,不一定使用break语句B)break语句必须与switch语句中的case配合使用C)在switch语句中必须使用default语句D)break语句只能用于switch语句中23.执行语句for(i=1;i9;i+=2);后变量i的值是_____。A)8B)9C)10D)1124.下列选项中不能..正确定义并初始化二维数组的是_____。A)inta[][3]={20,34,56,78};B)inta[2][3]={20,34,56,78};C)inta[2][]={20,34,56,78};D)inta[][3]={{20,34},{56,78}};25.设有chararray[20]=”123456789ab”;,则数组array所占用的存储单元是_____个字节。A)20B)11C)12D)21326.下列程序段的输出结果是_____。chars[]=”\\\102abc”;printf(“%d\n”,strlen(s));A)5B)8C)9D)1027.设有intm[]={5,4,3,2,1},i=4;,则下列对数组m的元素引用中错误的是_____。A)m[i-1]B)m[4]C)m[m[0]]D)m[m[i]]28.若下列表达式_____为真时,说明字符串s1小于字符串s2。A)strcmp(s1,s2)0B)strcat(s1,s2)C)strcpy(s1,s2)D)strcmp(s1,s2)029.设有函数调用语句func(a1,(a2,a3),(a4,a5,a6));,则该调用语句中实参的个数是_____。A)6B)5C)4D)330.设有以下函数首部:intfunc(doublex[100],intn)如果在程序中需要对该函数进行声明,则下列选项中错误的是_____。A)intfunc(doublex[],intn);B)intfunc(double,int);C)intfunc(doublea[100],intb);D)intfunc(double*x,intn);31.C语言规定,函数返回值的类型是由_____决定。A)调用该函数时传递的实参类型B)定义该函数时指定的函数类型C)return语句中表达式的类型D)调用该函数的主调用函数类型32.若要说明a是字符型变量,p为指向a的字符型指针变量,则下列选项中正确的是_____。A)chara,*p=&a;B)chara,p=&a;C)chara,*p=a;D)char*p=&a,a;33.设有ints[]={2,4,6,8,10},*p=s;,则下列选项中值为8的表达式是_____。A)*p+2B)*p+3C)*(p+3)D)*(p+2)34.对于类型相同的两个指针变量之间,能进行的运算是_____。A)%B)=C)+D)/35.设有:structstudent{charname[21];charsex;intscore;}std={“LiMing”,’M’,90},*p;p=&std;则下列输出语句中错误的是_____。A)printf(“%d”,(*p).score);B)printf(“%d”,p-score);C)printf(“%d”,std.score);D)printf(“%d”,p.score);36.设有:unionun{inti;charc;floatf;}a;intb;4则下列语句中正确的是_____。A)a=1.6;B)a.c=’A’;C)b=a;D)printf(“%d\n”,a);37.设有:typedefstructstud{longNo;intage;charname[21];}STUDENT;则下列叙述正确的是_____。A)以上的说明形式非法B)stud是一个结构体变量C)STUDENT是一个结构体类型名D)STUDENT是一个结构体变量38.设有intx=24;,则执行语句x=x2;后的x的值是_____。A)6B)12C)24D)4839.设x,y,t均为int型变量,则执行语句:x=y=0;t=++x||++y;后,x和y的值分别为_____。A)0,0B)0,1C)1,0D)1,140.以读写方式打开一个已存在的文本文件“file.txt”,下列选项中正确的是_____。A)FILE*p;fp=fopen(“file.txt”,”rb”);B)FILE*p;fp=fopen(“file.txt”,”w”);C)FILE*p;fp=fopen(“file.txt”,”r”);D)FILE*p;fp=fopen(“file.txt”,”r+”);二、填空题(每空2分,共20分)1.已知charc=’M’;,则执行语句printf(“%c”,c+32);后的输出结果为__________。2.已知doublex=156.78;,则执行语句printf(“%.1f”,x);后的输出结果为__________。3.已知inta=2;b=3;,则执行语句a*=b-1;后,a的值为__________。4.已知doublex=10,y;,则表达式y=x+2%5的值为__________。5.数学表达式11≤x≤35的C语言表达式为__________。6.已知inta=-2;,则下面while语句循环执行的次数是__________。while(a=0)a=a+1;7.以下程序段的输出结果为__________。charstring[]=”ComputerWorld!”;string[8]=’\0’;printf(“%s”,string);8.在C语言中,若需调用数学类库函数第数据进行处理,则需包含头文件__________。9.设有#defineM(x)x*x,则M(2+5)的值是__________。10.设有enumweekday{Sunday=7,Monday=1,Tuesday,Wednesday,Thursday,Friday,Saturday};,则枚举元素Wednesday对应的数值是__________。三、阅读理解题(每题4分,共20分)1.以下程序的运行结果为__________。#include”stdio.h”voidmain(){5inti,j,s=0;for(i=1,j=8;ij;i++,j--)s=s*10+j;printf(“s=%d\n”,s);}2.以下程序的运行结果为__________。#include”stdio.h”voidmain(){inti,a=0,b=0,c=0;for(i=11;i15;i++)switch(i%5){case1:a++;case2:b++;case3:a++;b++;break;default:c++;}printf(“a=%d,b=%d,c=%d\n”,a,b,c);}3.以下程序的运行结果为__________。#include”stdio.h”#include”string.h”Voidmain(){chara[]=”Programming”;chart;inti,j=0,k;k=strlen(a);for(i=0;ik;i++)for(j=i+1;jk;j++)if(a[i]a[j]){t=a[i];a[i]=a[j];a[j]=t;}printf(“%s”,a);}4.以下程序的运行结果为__________。#include”stdio.h”intfun(intn){if(n==1)return(5);6elsereturn(10+fun(n-1));}voidmain(){intnum;num=fun(5);printf(“%d\n”,num);}5.以下程序的运行结果为__________。#include”stdio.h”voidmain(){chars1[]=”ABCDEFGH”,s2[]=”ab