资源描述
学习资料
全国高等学校(安徽考区)
2002年1月计算机水平考试试卷
单项选择题(每题1分,共10分)
C语言部分
一、 填空
1、 若a为float型变量,且a=4.6785,则表达式(int)(a*100+0.5)/100.0的值为______
2、 若int x=11,y=10;则表达式x-->y?10:11>y++?’a’:’z’的值为____
3、 若所有变量均为int型,则执行下面程序段后x的值为______
x=80,a=10,b=16,y=9,z=0;
if(a<b) if(b!=15) if(!y) x=81; else if(!z)x=79;
4、 若i、j为int型,则下面循环体执行的次数为_____
i=1;j=0;
while(i+j<=10)
{if(i>j) j=j+2; else i=i+2;}
5、 若数组a[10]int型,元素及值如下:
数组元素:a[0] a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9]
值: 9 4 8 3 2 6 7 0 1 5
则*(a+a[9])的值为____
6、 以下函数调用语句中实参个数为_____
sub1((x1,x2),(x3,x4,x5),x6)
7、 若以下函数定义:int (*hs)( )
{......} /*函数体*/
则函数hs的返回值为______类型
8、 若int占2个字节,char占1个字节,float占4个字节,则定义如下:
struct stu
{union {char bj[5];
int bh[2];}class;
char xm[8];
float cj;}xc; 则sizeof(xc)的值为_______
9、 设有如下宏定义 #define a 6
#define b a+4
执行c=b*10;(c为int型);则c的值为_________
10、 在c中,文件指针变量的类型只能是_________
二、 读程序,写程序运行结果
1、 main()
{int i;float j;
i=18; j=29.4361;
printf(“i=%4d,j=%2.2f”,i,j);
}
2、 main()
{int k=10;char c=’b’;
do
{switch(c++)
{case ‘a’:k++;
case ‘b’:k--;
case ‘c’:k+=3;break;
case ‘d’:k=k%4;
}
while(c!=’c’);
printf(“%d\n”,k);
}
3、 main()
{char a[]=”computer”;
char t;
int i,j=0;
for(i=0;i<8;i++)
for(j=i+1;j<8;j++)
if(a[i]<a[j])
{t=a[i];
a[i]=a[j];
a[j]=t;
}
printf(“%s”,a);
}
4、 main()
{char *p,s[]=”abcdefg”;
for(p=s;*p!=’\0’;)
{printf(“%s\n”,p);
p++;
if(*p!=’\0’)p++;
else break;
}
}
5、 main()
{auto int i;
for(i=1;i<3;i++)
f(i);
}
f(int j)
{static int a=100;
auto int k=1;
++k;
printf(“%d\n”,a+k+j);
a+=10;
}
三、 程序填空
1、 判断一年是否是闰年1)能被4整除但不能被100整除2)能被400整除
main()
{int year,leap;
printf(“input year:”);
scanf(“%d”,&year);
if(year%400==0) _______;
else if((year%4==0)&&(year%100!=0))leap=1;
else leap=0;
if(leap!=____) printf(“%d is a leap year\n”,year);
else printf(“%d is not a leap year\n”,year);
}
2、 求3个变量的最小公倍数
max(int x,int y,int z)
{if(x>y&&x>z) return x;
else if(y>=x&&y>z) ___________;
else return z;
}
main()
{int x,y,z,s,i=1,j;
scanf(“%d%d%d”,&x,&y,&z);
s=___________;
while(1)
{j=i*s;
if(__________________)
break;
i++;
}
printf(“%d\n”,j);
}
3、 判断输入的字符是否中心对称
例:xyzzyx或xyzyx就是中心对称
main()
{char s[100],*p1,*p;
int n;
gets(s);
n=strlen(s);
p1=s;p2=_________;
while(p1<p2)
if(*p1!=*p2) break;
else {p1++;__________;}
if(p1<p2) printf(“no”);
else printf(“Yes\n”);
}
4、 对于结构体数组,求四人中年龄最大的人的姓名及年龄
#define NULL 0
static struct node
{char name[20];
int age;
}person[]={“Lihong”,18,”zhangfang”,19,”Liqing”,18,”wanglin”,20};
main()
{ struct node *p,*q;
int old=0;
q=NULL;
p=person;
for(;________;p++)
if(old<p->age)
{q=p;
__________;
}
printf(“%s,%d\n”,q->name,q->age);
}
四、 编程题
1、 36块砖36人搬,男子一人一次搬4块,女子一人一次搬3块,小孩2人一次搬一块,正好一次全搬完,求男子、女子、小孩各多少人?
2、 输入序号n,求费波拉斐数列(第n项)
3、 用循环将a[3][4]的第一行与第三行对调。
a 0 2 9 7 27 11 1 3
5 13 6 8 à 5 13 6 8
27 11 1 3 0 2 9 7
全国高等学校(安徽考区)
2002年6月计算机水平考试试卷
(二级C语言)
计算机文化基础部分
单项选择题(每题1分,共10分) (缺)
C语言部分
三、 填空
1、 int k=-1;执行printf(“%o”,k),结果是________。
2、 c语言中,______类型变量的所有成员以覆盖方式共享存储单元。
3、 若打开一已存在的非空文件”FILE1”进行修改,正确的打开语句是_____。
4、 设所有变量已定义为int型,运行以下程序段后结果是________。
a=b=c=0;x=34;
if(x)x--;
else if(b);if(c)c=3;
else x=4;
5、 执行下列语句后,a、b、c的值为_________。
int x=10,y=9;int a,b,c;
a=(--x>y++)?—x:++y;
b=x++;c=y;
6、 字符串”101\x44\\102ab\nd”的长度是_________。
7、 已知函数定义int *st(int x,float *p) {...},则函数类型是_____。
8、 设char str1[10]=”ABCDEF”,str2[]=”xyz”;执行printf(“%s”,strlen(strcpy (str1,str2));后输出结果______。
四、 选择(22=11×2)
1、 以下不合法的c标识符是________
A、_12ab B、void C、imax D、str_124_Li
2、 已知int a,*p,**w;p=&a,w=&p;取a值的表达式________
A、&a B、&*p C、**p D、**w
3、 int a[10],*p=a;对数组元素a[i]的正确引用________
A、a+i B、p+i C、*(p+i) D、*(a[0]+i)
4、使用scanf(“x=%f,y=%f”,&x,&y);要求x、y均为3.12,正确输入_____
A、3.12,3.12 B、3.12 3.12 C、x=3.12,y=3.12 D、x=3.12 y=3.12
5、设x,y为浮点型变量,合法赋值语句是________
A、x=8+y; B、(float)3 C、y=(x%2)/10 D、*x=10
6、若有下面定义:#define N 2
#define Y(n) ((N+1)*5)
执行语句:z=2*(N+Y(5))后结果是_____
A、语句有错误 B、z=34 C、z=70 D、z=15
7、设整型变量a,b,c,m,n均为1,执行(m=a>b)&&(n=a>b)后m,n值是____
A、0,0 B、0,1 C、1,0 D、1,1
8 、下面语句中错误的是_______
A、while(x=y--)10; B、do x++;while(x=5);
C、while(0); D 、do 3; while(a==b);
9、 设a、b为int型变量,执行下面语句后b的值_________
a=1;b=10;
do{b-=a;a++;}while(b--<0);
A、9 B、-2 C、-1 D、8
10、若有以下定义,则值为3的表达式
int a[]={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(int x,int y)
{int t;t=x;x=y;y=t;}
C、 fc(int *x,int *y)
{int p;p=*x;*x=*y;*y=p;}
D、 fd(int *x,int *y)
{*x=*x+*y;*y=*x-*y;*x=*x-*y;}
12、定义如下结构:struct stu
{ long sno;
char name[10];
float score;};
表达式“sizeof(struct stu)”的值为______。
A、10 B、14 C、18 D、22
五、 读程题,写出运行结果
1、 main()
{int i,j,m,n;i=7;j=10;
m=++i;n=j++;
printf(“%-5d%5d\n%-5d%5d”,i,j,m,n);
}
2、 main()
{int a=0,i;
for(i=1;i<5;i++)
{switch(i)
{case 0:
case 3:a+=3;
case 1:
case 2:a+=2;
default:a+=5;
}
}
printf(“\n%d”,a);
}
3、#define N 6
main()
{int i,j,a[N][N];
for(i=0;i<N;i++)
{ a[i][i]=1; a[i][0]=1;}
for(i=2;i<N;i++)
for(j=1;j<N-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<N;i++)
{ for(j=0;j<=i;j++)
printf(“%6d”,a[i][j]);
printf(“\n”);
} }
4、int k=2;
f(int m)
{m+=k;k+=m;
if(m<=6)return(f(++m));
else printf(“%d,%d”,m,k++);
}
main()
{int i=4;f(i++);
printf(“%d,%d\n”,i,k);}
5、main()
{char a[2][5]={“1234”,”2354”};
char *p[2];
int i,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( )
{float pi=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由键盘输入)
long sp(int i)
{static long k=1;
k=___________;
return k;
}
main()
{int n,i;scanf(“%d”,&n);
for(i=1;________;i++)
printf(“%d!=%ld\n”,_______);
}
3、 字符串中小写字母转换成大写字母
#include <stdio.h>
void main(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,按下述公式计算C n m的值。
C n m=n!/(m!*(n-m)!)
全国高等学校(安徽考区)
2003年6月计算机水平考试试卷
(二级C语言)
计算机文化基础部分
单项选择题(每题1分,共10分)
1、 pc硬件在逻辑上主要由____、存储器、输入设备、输出设备等部件组成。
A、运算器 B、CPU C、显示器 D、键盘
2、 二进制数101110转换成等值的八进制数是_______。
A、45 B、56 C、67 D、46
3、 在计算机硬件中,Cache是_______存储器。
A、只读 B、可编程只读 C、可擦可只读 D、高速缓存
4、 操作系统是一种_______。
A、通用软件 B、系统软件 C、应用软件 D、编译程序
5、_______简称为DVD光盘。
A 影视光盘 B、音乐光盘 C、数字视频光盘 D、多媒体课件
6、 IP地址是由_______位二进制数字组成。
A、64 B、32 C、16 D、8
7、 下列设备中,_________不是多媒体计算机系统的必备部件。
A、视频卡 B、声频卡 C、CD-ROM D、音箱
8、 下列不属于计算机病毒的特性_________。
A、传染性 B、破坏性 C、潜伏性 D、免疫性
9、 关闭一个应用程序窗口,可以按快捷键_________。
A、Alt+F4 B、Ctrl+F4 C、Alt+Esc D、Ctrl+Esc
10、windows98自带的只能处理纯文本的文字编辑工具是_______。
A、 写字板 B、剪贴板 C、记事本 D、Word
C语言部分
一、 单项选择题(每题2分,共30分)
1、 C语言中运算对象必须是整型的运算符为_________。
A、%= B、/ C、= D、<=
2、 设x为一数字字符,则其所对应的十进制数值为_______。
A、x B、x-‘0’ C、*x D、&x
3、 字符串”\t\x42\\bcd\n”的长度是_______。
A、7 B、10 C、12 D、13
4、若x、y、z均为int变量,则执行以下语句后,x、y的值分别 为______。
x=y=1;t=++x||++y;
A、1和1 B、2和2 C、2和1 D、1和2
5、 为表示关系x>y≥z,则正确的C语言表达式为________。
A、x>y>=z B、(x>y)and(y>=z) C、(y<x)&&(y>=z) D、(x>y)&(y>=z)
6、 若有语句scanf(“%d%d”,&a,&b),要使变量a、b分别得23、45,则正确的输入形式为_______。
A、23 45 B、23,45 C、23;45 D、2345
7、 已知大写字母A的ASCⅡ码值是65,小写字母a的ASCⅡ码值是97,则用八进制表示的字符常量’\101’为________。
A 字符A B、字符a C、字符e D、非法常量
8、 若有宏定义#define w(x) 3+x ,则表达式a=2*w(3)的值为______。
A、8 B、12 C、6 D、9
9、 若有定义 int x=2,y=3,z=4; 则表达式 !(x+y)+z-1&&y+z%2的值为________。
A、4 B、0 C、1 D、2
10、有如下程序
main ( )
{int n=8;
while(n>5) {n--;printf(“%d”,n);}
}
该程序的输出结果是_____。
A、876 B、765 C、8765 D、7654
11、下列语句中,合法的数组定义是_________。
A、char a[3][]={‘abc’,’12’,”fox”};
B、char a[][3]={‘abc’,’12’,”cd”};
C、char a[3][]={‘a’,”12”,”fox”};
D、char a[][3]={“a”,”12”,”cd”};
12、设有下列结构型变量w的定义,则表达式”sizeof(w)”的值是_______。
Struct
{long num;
char name[15];
union {float x ; short z; } yz;
}w;
A、19 B、20 C、23 D、25
13、设有以下的语句
int a[4][2]={1,2,3,4,5,6,7,8}; 则*(*(a+2)+1)的值是______。
A、3 B、4 C、5 D、6
14、设有一个名为”myfile.c”的c程序,其主函数为main( int argc,char *argv[ ] ),如果在执行时,输入的命令行为 myfile aa bb cc ,则形式参数argc的值是______
A、3 B、4 C、myfile D、aa bb cc
15、rewind函数的作用是_______
A、重新打开文件 B、返回文件长度值
C、使文件位置指针重新回到文件末 D、使文件位置指针重新回到文件开始
二、程序分析题(每题5分,共25分)写程序运行结果
1、 void main( )
{char c1=97;
if (c1>=’a’&&c1<=’z’)
printf(“%d,%c”,c1,c1++);
else printf(%c”,c1); 运行结果为___________
}
2、 main( )
{ int a[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;pa<a+10;pa++)
printf(“%3d”,*pa);
}
运行结果为___________________________________
3、 main( )
{ int i,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 <stdio.h>
main( )
{char c; 若从键盘输入:321回车
while ((c=getchar( ))!=’\n’) 运行结果为:_________
switch(c-‘1’)
{case 0:
case 1:putchar(c+2);
case 2:putchar(c+3); break;
case 3:putchar(c+4);
default:putchar(c+1);break;
}
printf(“\n”);
}
5、#include <stdio.h>
long fun(int n)
{long s;
if (n==1||n==2) s=2;
else s=n+fun(n-1);
return s;
}
void main()
{printf(“%d\n”,fun(5));} 运行结果为_____________
三、填空题(每空2分,共16分)
4、 设有定义:int n,*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( )
{float pi=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 <string.h>
main()
{ char s[]=”this ,is ,string”,
char c=’,’;
printf(“%s\n”,s);
delete(_______,c);
printf(“%s\n”,s);
}
delete(char s[],char c)
{int i,j;
for(i=j=0;s[i]!=’\0’;i++)
if(s[i]_____) s[j++]=s[i];
s[j]=_______;
}
四、程序设计题(1-5分,2,3--7分,共19分)
1、 从键盘输入若干学生的成绩,并输出最高成绩和最低成绩,当输入成绩为负值时结束。
2、 编写一个求k!的函数,计算s=1!+2!+...+n!
3、 将输入的n个整数从大到小排序输出,并统计所有下标为奇数且数组元素的值为偶数的个数。
2002-1
一, 1、4.68 2、a 3、79 4、5 5、6 6、3 7、整型指针 8、17 9、46 10 、FILE *
二,1、i= 18,j=29.44 2、12 3、utrpomec 4、abcdefg 5、103
cdefg 114
efg
g
三、1、leap=1 0 2、return y max(x,y,z) j%x= =0&&j%y= =0&&j%z= =0
3、s+n-1 p2-- 4、q<person+4 old=q->age
2002-6
一、1、177777 2、公用体 3、fopen(“FILE1”,r+); 4、x=4
5、11,9,11 6、10 7、整型指针 8、3
二、B D C C A B B B D A 11、C D 12、C
三、1、8 11 2、29 3、1 4、15,23 5,24
8 10 1 1
1 2 1 5、1 3 2 5
1 3 3 1
1 4 6 4 1
1 5 10 5 1
四、1、pi+t -1 t pi*4 2、k*i i<=n i,sp(i) 3、chp=str *chp-32 chp++
2003-6
文化基础:B B D B C B D D A C
一、A B A C C AADCB DCDBD
二1、98,a 2、10 9 8 7 6 5 4 3 2 1 3、* 4、64534 5、14
* * *
* * * * *
* * * * * * *
三、1、p *p 2、<math .h> -1 fabs(t)<1e-5 3、s !=c ‘\0’
安徽省09年6月二级C语言程序设计试题
仅供学习与参考
一:选择题(每空1分,共40分)
1.在计算机领域中,MIPS通常用来描述计算机的 1 。
A)运算速度 B)内存容量 C)分辨率 D)主频
2.下面属于计算机输出设备的是 2 。
A)显示器 B)鼠标 C)键盘 D)扫描仪
3.微型计算机在工作中突然断电,则 3 中的信息全部丢失。
A)硬盘 B)RAM C)ROM D)光盘
4.若X是二进制数1011,Y是十进制数13,Z是十六进制数1D,则X、Y、Z从大到小的顺序是 4 。(X,Y,Z都是无符号数)
A)Z Y X B)Y Z X C)X Y Z D)Z X Y
5.在Windows中,下面关于删除文件的描述错误的是 5 。
A)U盘上的文件被删除后,不能从回收站中还原
B)可以不经过回收站直接将文件删除
C)可以将文件先复制到回收站,需要时再将其从回收站还原
D)利用“清空回收站”选项可以把回收站中的文件全部删除
6.下面关于E-mail功能的描述中,错误的是 6 。
A)在发送电子邮件时,可以同时发送给多人
B)在发送电子邮件时,可以发送附件
C)在接收电子邮件时,可以将附件下载到本地计算机上
D)在接收电子邮件时,必须将附件下载到本地计算机上
7.为减少多媒体数据所占存储空间,常采用 7 技术。
A)高速缓冲 B)数据压缩
C)多通道 D)流媒体
8.中的“http”指的是 8 。
A)计算机主机域名 B)文件传输协议 C)超文本传输协议 D)TCP/IP协议
9.下面关于计算机病毒的描述中,正确的是 9 。
A)计算机病毒不能感染安装了杀毒软件的计算机系统
B)计算机病毒只能通过网络传播
C)计算机病毒不能感染加密或压缩后的文件
D)计算机病毒可以通过U盘进行传播
10.下面系统软件中,最核心的是 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;
z=x,++y;
printf(“%d”,z);
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=5,b=6,c=2; ,则表达式a<b||--c运算后,c的值为______。
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<’A’ || 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<b) if (b<0) c=0; else c+=1;
printf(“%d\n”,c);
A)0 B)1 C)2 D)3
展开阅读全文