elseprintf(“Yes\n”);
}
4、对于结构体数组,求四人中年龄最大的人的姓名及年龄
#defineNULL0
staticstructnode
{charname[20];
intage;
}person[]={“Lihong”,18,”zhangfang”,19,”Liqing”,18,”wanglin”,20};
main()
{structnode*p,*q;
intold=0;
q=NULL;
p=person;
for(;________;p++)
if(oldage)
{q=p;
__________;
}
printf(“%s,%d\n”,q->name,q->age);
}
四、编程题
1、36块砖36人搬,男子一人一次搬4块,女子一人一次搬3块,小孩2人一次搬一块,正好一次全搬完,求男子、女子、小孩各多少人?
2、输入序号n,求费波拉斐数列(第n项)
3、用循环将a[3][4]的第一行与第三行对调。
a0297271113
5136851368
2711130297
全国高等学校(安徽考区)
2002年6月计算机水平考试试卷
(二级C语言)
计算机文化基础部分
单项选择题(每题1分,共10分)(缺)
C语言部分
三、填空
1、intk=-1;执行printf(“%o”,k),结果是________。
2、c语言中,______类型变量的所有成员以覆盖方式共享存储单元。
3、若打开一已存在的非空文件”FILE1”进行修改,正确的打开语句是_____。
4、设所有变量已定义为int型,运行以下程序段后结果是________。
a=b=c=0;x=34;
if(x)x--;
elseif(b);if(c)c=3;
elsex=4;
5、执行下列语句后,a、b、c的值为_________。
intx=10,y=9;inta,b,c;
a=(--x>y++)?
—x:
++y;
b=x++;c=y;
6、字符串”101\x44\\102ab\nd”的长度是_________。
7、已知函数定义int*st(intx,float*p){...},则函数类型是_____。
8、设charstr1[10]=”ABCDEF”,str2[]=”xyz”;执行printf(“%s”,strlen(strcpy(str1,str2));后输出结果______。
四、选择(22=11×2)
1、以下不合法的c标识符是________
A、_12abB、voidC、imaxD、str_124_Li
2、已知inta,*p,**w;p=&a,w=&p;取a值的表达式________
A、&aB、&*pC、**pD、**w
3、inta[10],*p=a;对数组元素a[i]的正确引用________
A、a+iB、p+iC、*(p+i)D、*(a[0]+i)
4、使用scanf(“x=%f,y=%f”,&x,&y);要求x、y均为3.12,正确输入_____
A、3.12,3.12B、3.123.12C、x=3.12,y=3.12D、x=3.12y=3.12
5、设x,y为浮点型变量,合法赋值语句是________
A、x=8+y;B、(float)3C、y=(x%2)/10D、*x=10
6、若有下面定义:
#defineN2
#defineY(n)((N+1)*5)
执行语句:
z=2*(N+Y(5))后结果是_____
A、语句有错误B、z=34C、z=70D、z=15
7、设整型变量a,b,c,m,n均为1,执行(m=a>b)&&(n=a>b)后m,n值是____
A、0,0B、0,1C、1,0D、1,1
8、下面语句中错误的是_______
A、while(x=y--)10;B、dox++;while(x=5);
C、while(0);D、do3;while(a==b);
9、设a、b为int型变量,执行下面语句后b的值_________
a=1;b=10;
do{b-=a;a++;}while(b--<0);
A、9B、-2C、-1D、8
10、若有以下定义,则值为3的表达式
inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;
A、p+=2,*(p++)B、p+=2,*++p
C、p+=3,*p++D、p+=2,++*p
11、函数的功能是交换x、y值,且通过正确调用返回交换结果,不能正确执行此功能的函数是________
A、fa(int*x,int*y)
{int*p;*p=*x;*x=*y;*y=*p;}
B、fb(intx,inty)
{intt;t=x;x=y;y=t;}
C、fc(int*x,int*y)
{intp;p=*x;*x=*y;*y=p;}
D、fd(int*x,int*y)
{*x=*x+*y;*y=*x-*y;*x=*x-*y;}
12、定义如下结构:
structstu
{longsno;
charname[10];
floatscore;};
表达式“sizeof(structstu)”的值为______。
A、10B、14C、18D、22
五、读程题,写出运行结果
1、main()
{inti,j,m,n;i=7;j=10;
m=++i;n=j++;
printf(“%-5d%5d\n%-5d%5d”,i,j,m,n);
}
2、main()
{inta=0,i;
for(i=1;i<5;i++)
{switch(i)
{case0:
case3:
a+=3;
case1:
case2:
a+=2;
default:
a+=5;
}
}
printf(“\n%d”,a);
}
3、#defineN6
main()
{inti,j,a[N][N];
for(i=0;i{a[i][i]=1;a[i][0]=1;}
for(i=2;ifor(j=1;ja[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i{for(j=0;j<=i;j++)
printf(“%6d”,a[i][j]);
printf(“\n”);
}}
4、intk=2;
f(intm)
{m+=k;k+=m;
if(m<=6)return(f(++m));
elseprintf(“%d,%d”,m,k++);
}
main()
{inti=4;f(i++);
printf(“%d,%d\n”,i,k);}
5、main()
{chara[2][5]={“1234”,”2354”};
char*p[2];
inti,j,s=0;
for(i=0;i<2;i++)p[i]=a[i];
for(i=0;i<2;i++)
for(j=0;p[i][j]>’\0’;j+=2)
s=s*10+p[i][j]-‘0’;
printf(“%d\n”,s);
}
六、程序填空
1、用下列公式计算Π的值,请完善程序
Π/4=1-1/3+1/5-1/7+...+1/n(程序要求|1/n|<=10-5)
#include“math.h”
main()
{floatpi=0.0,n=1.0,t,s=1.0;
do{t=s/n;
pi=________;
s*=________;
n+=2;
}while(_______>1e-5);
printf(“pi=%f\n”,_______);}
2、求n!
,计算1!
,2!
,...,n!
(n由键盘输入)
longsp(inti)
{staticlongk=1;
k=___________;
returnk;
}
main()
{intn,i;scanf(“%d”,&n);
for(i=1;________;i++)
printf(“%d!
=%ld\n”,_______);
}
3、字符串中小写字母转换成大写字母
#include
voidmain(void)
{char*chp,str[20]={”Heifei”};
__________;
while(*chp!
=’\0’)
{if(*chp>=’a’&&*chp<=’z’)
*chp=___________;
__________;
}
puts(str);
}
七、编程题
1、统计从键盘输入的字符串中数字、字母、空格及其他符号的个数。
2、从键盘输入一个2×3矩阵,将其转置为3×2的矩阵输出。
3、编程实现由主函数输入m,n,按下述公式计算Cnm的值。
Cnm=n!
/(m!
*(n-m)!
)
全国高等学校(安徽考区)
2003年6月计算机水平考试试卷
(二级C语言)
计算机文化基础部分
单项选择题(每题1分,共10分)
1、pc硬件在逻辑上主要由____、存储器、输入设备、输出设备等部件组成。
A、运算器B、CPUC、显示器D、键盘
2、二进制数101110转换成等值的八进制数是_______。
A、45B、56C、67D、46
3、在计算机硬件中,Cache是_______存储器。
A、只读B、可编程只读C、可擦可只读D、高速缓存
4、操作系统是一种_______。
A、通用软件B、系统软件C、应用软件D、编译程序
5、_______简称为DVD光盘。
A影视光盘B、音乐光盘C、数字视频光盘D、多媒体课件
6、IP地址是由_______位二进制数字组成。
A、64B、32C、16D、8
7、下列设备中,_________不是多媒体计算机系统的必备部件。
A、视频卡B、声频卡C、CD-ROMD、音箱
8、下列不属于计算机病毒的特性_________。
A、传染性B、破坏性C、潜伏性D、免疫性
9、关闭一个应用程序窗口,可以按快捷键_________。
A、Alt+F4B、Ctrl+F4C、Alt+EscD、Ctrl+Esc
10、windows98自带的只能处理纯文本的文字编辑工具是_______。
A、写字板B、剪贴板C、记事本D、Word
C语言部分
一、单项选择题(每题2分,共30分)
1、C语言中运算对象必须是整型的运算符为_________。
A、%=B、/C、=D、<=
2、设x为一数字字符,则其所对应的十进制数值为_______。
A、xB、x-‘0’C、*xD、&x
3、字符串”\t\x42\\bcd\n”的长度是_______。
A、7B、10C、12D、13
4、若x、y、z均为int变量,则执行以下语句后,x、y的值分别为______。
x=y=1;t=++x||++y;
A、1和1B、2和2C、2和1D、1和2
5、为表示关系x>y≥z,则正确的C语言表达式为________。
A、x>y>=zB、(x>y)and(y>=z)C、(y=z)D、(x>y)&(y>=z)
6、若有语句scanf(“%d%d”,&a,&b),要使变量a、b分别得23、45,则正确的输入形式为_______。
A、2345B、23,45C、23;45D、2345
7、已知大写字母A的ASCⅡ码值是65,小写字母a的ASCⅡ码值是97,则用八进制表示的字符常量’\101’为________。
A字符AB、字符aC、字符eD、非法常量
8、若有宏定义#definew(x)3+x,则表达式a=2*w(3)的值为______。
A、8B、12C、6D、9
9、若有定义intx=2,y=3,z=4;则表达式!
(x+y)+z-1&&y+z%2的值为________。
A、4B、0C、1D、2
10、有如下程序
main ()
{intn=8;
while(n>5){n--;printf(“%d”,n);}
}
该程序的输出结果是_____。
A、876B、765C、8765D、7654
11、下列语句中,合法的数组定义是_________。
A、chara[3][]={‘abc’,’12’,”fox”};
B、chara[][3]={‘abc’,’12’,”cd”};
C、chara[3][]={‘a’,”12”,”fox”};
D、chara[][3]={“a”,”12”,”cd”};
12、设有下列结构型变量w的定义,则表达式”sizeof(w)”的值是_______。
Struct
{longnum;
charname[15];
union{floatx;shortz;}yz;
}w;
A、19B、20C、23D、25
13、设有以下的语句
inta[4][2]={1,2,3,4,5,6,7,8};则*(*(a+2)+1)的值是______。
A、3B、4C、5D、6
14、设有一个名为”myfile.c”的c程序,其主函数为main(intargc,char*argv[]),如果在执行时,输入的命令行为myfileaabbcc,则形式参数argc的值是______
A、3B、4C、myfileD、aabbcc
15、rewind函数的作用是_______
A、重新打开文件B、返回文件长度值
C、使文件位置指针重新回到文件末D、使文件位置指针重新回到文件开始
二、程序分析题(每题5分,共25分)写程序运行结果
1、voidmain()
{charc1=97;
if(c1>=’a’&&c1<=’z’)
printf(“%d,%c”,c1,c1++);
elseprintf(%c”,c1);运行结果为___________
}
2、main()
{inta[10]={1,2,3,4,5,6,7,8,9,10};
int*pa,*pb,x,i;
for(i=0,pa=a,pb=a+9;i<5;i++,pa++,p--)
{x=*pa;*pa=*pb;*pb=x;}
for(pa=a;paprintf(“%3d”,*pa);
}
运行结果为___________________________________
3、main()
{inti,j,k;
for(i=0;i<5;i++)
{for(k=0;k<=5-i;k++)printf(“”);
for(j=0;j<2*i-1;j++)printf(“*”);
printf(“\n”);
}
}
运行结果为:
4、#include
main()
{charc;若从键盘输入:
321回车
while((c=getchar())!
=’\n’)运行结果为:
_________
switch(c-‘1’)
{case0:
case1:
putchar(c+2);
case2:
putchar(c+3);break;
case3:
putchar(c+4);
default:
putchar(c+1);break;
}
printf(“\n”);
}
5、#include
longfun(intn)
{longs;
if(n==1||n==2)s=2;
elses=n+fun(n-1);
returns;
}
voidmain()
{printf(“%d\n”,fun(5));}运行结果为_____________
三、填空题(每空2分,共16分)
4、设有定义:
intn,*p=&n;以下语句将利用指针变量p读写变量n的内容,请将语句补充完整。
scanf(“%d”,______);
printf(“%d”,______);
5、用下列公式计算Π的值,请完善程序
Π/4=1-1/3+1/5-1/7+...+1/n(程序要求|1/n|<10-5)
#include______
main()
{floatpi=0.0,n=1.0,t,s=1.0;
do{t=s/n;
pi+=t;
s*=________;
n+=2;
}while(_______);
printf(“pi=%f\n”,4*pi);
}
3、下列程序是删除给定字符串中的逗号字符,请完善程序。
#include
main()
{chars[]=”this,is,string”,
charc=’,’;
printf(“%s\n”,s);
delete(_______,c);
printf(“%s\n”,s);
}
delete(chars[],charc)
{inti,j;
for(i=j=0;s[i]!
=’\