辽宁省计算机等级考试省二真题.docx
- 文档编号:11120756
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:12
- 大小:22.32KB
辽宁省计算机等级考试省二真题.docx
《辽宁省计算机等级考试省二真题.docx》由会员分享,可在线阅读,更多相关《辽宁省计算机等级考试省二真题.docx(12页珍藏版)》请在冰豆网上搜索。
辽宁省计算机等级考试省二真题
2006年全国高等学校计算机考试(辽宁考区)二级C语言试题(真题)
一、单项选择题(本题共30小题,每小题1分,共30分)
1.通常说486机是指
A)其主频为486MHzB)其字长为486机C)其内存容量为486MBD)其所用的微处理器芯片型号为80486
2.微型计算机系统总线结构对CPU、存储器和外部设备进行连接。
总线通常由三部分组成,它们是
A)逻辑总线、传输总线和通信总线B)数据总线、信号总线和传输总线
C)数据总线、地址总线和控制总线D)数据总线、运算总线和逻辑总线
3.下列等式中,正确的是
A)1MB=1024BB)1GB=1024KBC)1GB=1024MBD)1MB=1024*1024KB
4.与十六进制数BB等值的十进制数是
A)185B)186C)187D)188
5.CPU不能直接访问的存储器是
A)硬盘B)ROMC)RAMD)Cache
6.如果要在当前系统中进行所有输入法之间的切换,应该使用
A)
7.要查找文件名中第二个字母为s,文件名长度为3,扩展名为.bat的文件,应该在“搜索文件或文件夹”对话框的“名称”框中输入
A).?
.batB)?
s?
.batC)*s.batD)*s-bat
8.在Windows中的“剪贴板”是
A)软盘中的一块区域B)内存中的一块区域C)硬盘中的一块区域D)高速缓存中的一块区域
9.以下设备中,既是输入设备又是输出设备的是
A)键盘B)显示器C)鼠标D)磁盘驱动器
10.十进制数114转换成二进制数
A)1110100B)1110010C)1110001D)1110011
11.关闭一个活动的程序窗口,可以使用快捷健
A)
12.在windows的“资源管理器”窗口左部,单击文件夹图标左侧的加号后,屏幕上显示结果的变化是
A)窗口左部显示的文件夹的下级文件夹消失B)窗口右部显示的文件夹的下级文件夹消失
C)该文件夹的下级文件夹显示在窗口左部D)该文件夹的下级文件夹显示在窗口右部
13.在Excel中,E2单元格所对应的工作表的行和列分别是
A)2,5B)5,3C)3,5D)5,2
14.在Excel中,某单元格中输入“=average(10,-3)-pi()”,这该单元格显示的值
A)大于0B)等于0C)小于0D)不确定
15.在Excel工作表的A2单元格中,若输入“=5^3”,则显示的结果为
A)15B)125C)#NAME?
D)5^3
16.在Excel工作表中,单元格C4中有公式“=A3+$C$5”,在第3行之前插入一行之后,单元格C5中公式为
A)=A4+$C$6B)=A4+$C$5C)=A3+$C$6D)=A3+$C$5
17.在WINDOWS编辑状态下,依次将A,B两个段落复制到剪贴板,然后在C、D位置处依次执行粘贴命令,则
A)C,D两处粘贴的均为A段落B)C,D两处粘贴的均为B段落
C)C处粘贴的A段落,D处粘贴的B段落D)C处粘贴的B段落,D处粘贴的A段落
18.保存WORD文件的快捷键是
A)C)
19.在WORD编辑状态下,打开文档ABC,修改后另存为ABD,则
A)ABC是当前状态B)ABD是当前状态C)ABC和ABD均是当前状态D)ABC和ABD均不是当前状态
20.为了选择整个段落的文本,可以用鼠标
A)左键单击该段落任意位置B)左键双击该段落任意位置C)左键三击该段落任意位置D)右键双击该段落任意位置
21.字符串常量“ab\\c\td\376”的长度是
A)7B)12C)8D)14
22.设有定义:
inta=3,b=4;执行语句printf("%d,%d",(a,b),(b,a));的输出是
A)3,4B)4,3C)3,3D)4,4
23.设有定义:
inta=5,b;执行下列语句后,b的值不为2的是
A)b=a/2B)b=6-(--a)C)b=a%2D)b=a>3?
2:
4
24.设有定义:
chara=3,b=6;则执行完语句c=(a^b)<<2后,c的8进制的值是
A)034B)07C)01D)024
25.设有定义:
chara[10]=“ABCD”,*p=a;则*(p+4)的值
A)“ABCD”B)’D’C)’\0’D)不确定
26.设有定义:
intx,a,b;则执行完语句x=(a=3,b=a--);后,x,a,b的值依次是
A)3,2,3B)3,2,2C)3,3,2D)2,3,2
27.下列程序的输出结果是
structabc{inta,b,c;};
main()
{structabcs[2]={{1,2,3},{4,5,6}};
intt;
t=s[0].a+s[1].b;
printf(“%d\n”,t);}
A)5B)6C)7D)8
28.若有如下定义,则正确的叙述为
charx[]="abcdefg";
chary[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’};
A)数组x和数组y等价B)数组x和数组的长度相同C)数组y的长度大于数组x的长度D)数组x的长度大于数组y的长度
29.设有如下程序段,则下面描述中正确的是
intk=8;
while(k==’8’){k--;}
A)循环语句k--;执行10次B)循环语句k--;执行无限次C)循环语句k--;执行一次D)循环语句k--;一次也不执行
30.设int型变量在内存中占用两个字节存储单元,定义如下结构体,则表达式sizeof(stul)的值是
structstudent
{charname[10];
charsex;
intage;
struct
{intyear;
intmonth;
intday;}birth;
}stul;
A)15B)19C)10D)13
二、阅读程序题(本题共10小题,每题3分,共30分)
1.main()
{inta=10,b=4,c=3;
if(a
if(a printf(“%d,%d,%d\n”,a,b,c); } 答案: 10,4,3 2.main() {intx=3,y=3,z=1; printf(“%d,%d\n”,(++x,y++),z+2); } 答案: 3,3 3.main() {intx=1,a=0,b=0; switch(x) {case0: b++; case1: a++; case2: a++;b++; } printf(“a=%d,b=%d\n”,a,b); } 答案: a=2,b=1 4.main() {inti,k,a[10],p[3]; k=5; for(i=0;i<10;i++) a[i]=i; for(i=0;i<3;i++) p[i]=a[i*(i+1)]; for(i=0;i<3;i++) k+=p[i]*2; printf(“%d\n”,k); } 答案: 21 5.fun(intx) {staticinta=3; a=a+x; returna; } main() {intk=2,m=1,n; n=fun(k); n=fun(m); printf(“%d\n”,n); } 答案: 6 6.unsignedfun(unsignednum) {unsignedk=1; do{k*=num%10;num/=10;}while(num); returnk; } main() {unsignedn=26; printf(“%d\n”,fun(n)); } 答案: 12 7.main() {inta=2,*p,**pp; pp=&p; p=&a; a++; printf(“%d,%d,%d\n”,a,*p,**pp); } 答案: 3,3,3 8.intA[]={2,4,6,8}; main() {inti; int*P=A; for(i=0;i<4;i++,P++)A[i]=*P; printf(“%d\n”,A[2]); } 答案: 6 9.#defineS(x)x*x main() {inta,k=3; a=S(k+4); printf(“%d\n”,a); } 答案: 19 10.char*fun(char*s,charc) {while(*s&&*s! =c)s++; returns; } main() {char*s=”abcdefg”,c=’c’; printf(“%s\n”,fun(s,c)); } 答案: cdefg 三、完善程序题(本题共10题,每小题2分,共20分) 1.下列函数fac的功能是计算n的阶乘(n! ) floatfac(intn) {if(n==1)return1.0; else_______; } 答案: returnn*fac(n-1) 2.下列函数的功能是求数组中前n个数的平均值。 floataverage(floatp[],intn) {floatsum=0,aver; inti; for(i=0;i {sum+=______;} aver=sum/n; returnaver; } 答案: p[i] 3.输入任意一个x的值,输出对应的函数值y。 y= #include“math.h” main() {floatx,y scanf(“%f”,&x); y=_______; printf(“y=%f\n”,y); } 答案: sqrt(x*x-5*x) 4.调用函数swap(),交换变量a,b的值。 voidswap(int*p1,int*P2) {intp; p=*p1; *p1=*p2; *p2=p; } main() {inta,b; scanf(“%d%d”,&a,&b); ___________; printf(“a=%d,b=%d”,a,b); } 答案: swap(&a,&b) 5.把终端读入一行字符串放在字符数组中,然后输出。 #include”stdio.h” main() {inti; chars[80],*p; for(i=0;i<80;i++) {s[i]=gerchar(); if(s[i]==’\n’)break; } s[i]=’\0’; _______________; while(*p)putchar(*p++); } 答案: p=s或p=&s[0] 6.以下函数的功能是用选择法将数组中的n个元素按由小到大的顺序排序。 voidsort(ints[],intn) {inti,j,k,t; for(i=0;i {k=i; for(j=i+1;j if(_________) k=j; if(k! =i) {t=s[i]; s[i]=s[k]; s[k]=t; } } } 答案: s[k]>=s[j]或s[j]<=s[k] 7.下面程序的功能是打印100以内个位数为6且能够被3整除的所有数。 main() {inti,j; for(i=0;i<10;i++) {j=i*10+6; if(j%3! =0) ___________; printf(“%d”,j); } printf(“\n”); } 答案: continue 8.输出字符串中的英文字符。 #include”stdio.h” main() {chara[80]; inti=0; gets(a); while(a[i]! =’\0’) {if(__________) putchar(a[i]); i++; } } 答案: (a[i]>='a'&&*a[i]<='z')||(a[i]>='A'&&*a[i]<='Z') 9.下列程序的功能是输出数组a中最大元素的下标。 main() {intk,i; inta[10]; for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;k=i;i<10;i++) if(a[i]>a[k]) ___________; printf(“k=%d\n”,k); } 答案: k=i 10.统计并输出当前盘当前目录下的文件myfile中所含字符个数。 #include”stdio.h” main() {FILE*fp; intnum=0; if((fp=fopen(“myfile”,”r”))==NULL) printf(“Cannotopenfile! \n”); exit(0); } while(fgec(fp)! =EOF)________________; fclose(fp); printf(“sum=%d”,num); } 答案: num++或num=num+1或++num 四、程序改错题(本题共5题,每小题2分,共10分,注意每小题只有一个错误,请写出有错误语句的行号,及改正后的语句全行。 ) 1.把从键盘输入的小写字母变成大写字母并输出。 (1)#include"stdio.h" (2)main() (3){charc,*ch=&c; (4)while((c=getchar())! ='\n') (5){if(*ch>='a'&*ch<='z'); (6)putchar(*ch-'a'+'A'); (7)else (8)putchar(*ch); (9)} (10)} 2.以下程序实现: 输出x,y,z中的最大者。 (1)main() (2){intx=13,y=6,z=9; (3)intu,v; (4)if(x (5)elseu=y; (6)if(u>z)v=u; (7)elsev=z; (8)printf(“v=%d”,v); (9)} 3.下列函数fun的功能是求两个参数的和,并将和的值返回给调用函数。 (1)intfun(intx,y) (2){intc; (3)c=x+y; (4)returnc; (5)} (6)main() (7){intx=8,y=10; (8)printf(“%d”,fun(x,y)); (9)} 4.下列程序的功能是计算3×3阶矩阵得主对角线元素之和。 (1)main() (2){inti,a[3][3]={1,2,3,4,5,6,7,8,9},sum=0; (3)for(i=0;i<=3;i++) (4)sum+=a[i][i]; (5)printf(“sum=%d\n”,sum); (6)} 5.函数fun()的功能是在串s中查找子串的t个数。 (1)intfun(char*s,char*t) (2){intn;char*p,*r; (3)n=0; (4)while(*s) (5){p=s;r=t; (6)while(*r) (7)if(*r==*p){r++;p++;} (8)elsebreak; (9)if(r==’\0’)n++; (10)s++; (11)} (12)returnn; (13)} 答案: 1.错误行号: (5) 改正: (5){if(*ch>='a'&&*ch<='z'); 2.错误行号: (4) 改正: (4)if(x>y)u=x; 3.错误行号: (1) 改正: (1)intfun(intx,inty) 4.错误行号: (3) 改正: (3)for(i=0;i<3;i++) 5.错误行号: (9) 改正: (9)if(*r==’\0’)n++; 五、程序设计题(本题共2题,每小题5分,共10分) 1.编写程序,通过函数调方式计算y=︱x︱。 参考答案: (1).doubleabsvalue(doublex)/*1分*/ {if(x>0)returnx;/*2分*/ elsereturn-x;/*1分*/ }/*1分*/ (2).doubleabsvalue(doublex) {doubley; if(x>0)y=x; elsey=-x; returny; } (3).doubleabsvalue(doublex) {doubley; y=x>0? x: -x; returny; } (4).doubleabsvalue(doublex) {doubley; if(x>0)y=x; if(x<=0)y=-x; returny; } (5).doubleabsvalue(doublex)/*2分*/ {return(x>=0? x: -x);/*3分*/ } (6).doubleabsvalue(doublex) {return(x<=0? -x: x); } 2.输入10个整数,统计并输出正数、负数和零的个数。 参考答案: (1).main() {longa[10], inti,num1,num2,num3;/*1分*/ for(i=0;i<10;i++) {scanf(“ld”,&a[i]); if(a[i]>0)num1++;/*3分*/ elseif(a[i]<0)num2++; elsenum3++; } printf(“%d,%d,%d”,num1,num2,num3);/*1分*/ } (2).main() {longa[10], inti,num1,num2,num3; for(i=0;i<10;i++) scanf(“%ld”,&a[i]); for(i=0;i<10;i++) if(a[i]>0)num1++; elseif(a[i]<0)num2++; elsenum3++; printf(“%d,%d,%d”,num1,num2,num3); } (3).main() {longa[10], inti,num1,num2,num3; for(i=0;i<10;i++) scanf(“%ld”,&a[i]); for(i=0;i<10;i++) if(a[i]>0)num1++; else if(a[i]<0)num2++; elsenum3++; printf(“%d,%d,%d”,num1,num2,num3); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 辽宁省 计算机等级考试 省二真题