(1-40)每题1分,(41-50)每题2分,共60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
A) 1000字节
B) 1024字节
C) 1000×1000字节
D) 1024×1024字节
A) 256
B) 512
C) 1024
D) 2048
A) 单片机
B) 单板机
C) 不装备任何软件的计算机
D) 只装备操作系统的计算机
A) 链接程序
B) 解释程序
C) 编译程序
D) 编辑程序
A) 64
B) 8
C) 4
D) 1
A) 继续在后台运行
B) 继续在前台运行
C) 终止运行
D) 暂停运行
A) 用鼠标拖动窗口中的任何部位
B) 用鼠标拖动窗口的边框
C) 用鼠标拖动窗口的控制按钮
D) 用鼠标拖动窗口的标题栏
A) 打印当前窗口的内容
B) 打印屏幕内容
C) 复制屏幕到剪贴板
D) 复制当前窗口到剪贴板
A) TCP/IP
B) BBS
C) WWW
D) FTP
A) 计算机病毒只感染可执行文件
B) 计算机病毒只感染文本文件
C) 计算机病毒只能通过软件复制的方式进行传播
D) 计算机病毒可以通过网络或读写磁盘等方式进行传播
A) 有零个或多个输入
B) 有零个或多个输出
C) 有穷性
D) 可行性
A) C语言的源程序不必通过编译就可以直接运行
B) C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C) C源程序经编译形成的二进制代码可以直接运行 // link
D) C语言中的函数不可以单独进行编译
A) 1.2E0.5
B) 3.14.159E
C) .5E-3
D) E15
A) _main B) If C) txt D)int
enclude -max REAL k_2
sin turbo 3COM _001
A) x1=26.8%3
B) 1+2=x2
C) x3=0x12
D) x4=1+2=3;
int a=0; double b=1.25; char c='A'; #define d 2
则下面语句中错误的是(D)。
A) a++;
B) b++
C) c++;
D) d++;
A) (a+B) *h/2
B) (1/2)*(a+B) *h
C) (a+B) *h*1/2
D) h/2*(a+B)
main( )
{
int x=102,y=012;
printf("%2d,%2d\n",x,y);
}
执行后输出结果是(C)。
A) 10,01
B) 02,12
C) 102,10
D) 02,10
A) {;}
B) a=0,b=0,c=0;
C) if(a>0);
D) if(b==0) m=1;n=2;
A) scanf("%d",pa) ;
B) scanf("%d",a) ;
C) scanf("%d",&pa) ;
D) scanf("%d",*pa) ;
A) if((a>B) &&(b>C) ) k=1; B) if((a>B) ||(b>C) ) k=1 else k=0; else k=0; C) if(a<=b) k=0; D) if(a>B) k=1; else if(b<=C) k=1; else if(b>C) k=1;
main( )
{
char k; int i;
for(i=1;i<3;i++)
{
scanf("%c",&k);
switch(k)
{
case '0': printf("another\n");
case '1': printf("number\n");
}
}
}
程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是(C)。
A) another B) anotherC) another D) number number number number number another number
main( )
{
int x=0,y=5,z=3;
while(z-->0&&++x<5)
y=y-1;
printf("%d,%d,%d\n",x,y,z);
}
程序执行后的输出结果是(B)。
A) 3,2,0
B) 3,2,-1
C) 4,3,-1
D) 5,-2,-5
main( )
{
int i,s=0;
for(i=1;i<10;i+=2)
s+=i+1;
printf("%d\n",s);
}
程序执行后的输出结果是(D)。
A) 自然数1~9的累加和
B) 自然数1~10的累加和
C) 自然数1~9中的奇数之和
D) 自然数1~10中的偶数之和
main( )
{
int i,n=0;
for(i=2;i<5;i++)
{
do{
if(i%3) continue;
n++;
}while(!i);
n++;
}
printf("n=%d\n",n);
}
程序执行后的输出结果是(D)。
A) n=5
B) n=2
C) n=3
D) n=4
double myadd(double a,doubleB) { return (a+B) ; }
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是(A)。
A) double myadd(double a,B) ;
B) double myadd(double,double);
C) double myadd(double b,double A) ;
D) double myadd(double x,double y);
char fun(char x , char y)
{
if(x<y)
return x;
return y;
}
main( )
{
int a='9',b='8',c='7';
printf("%c\n",fun(fun(a,b) ,fun(b,c) ));
}
程序的执行结果是(D)。
A) 函数调用出错
B)8
C)9
D)7
A) p=1;
B) *q=2;
C) q=p;
D) *p=5;
void f(int v , int w)
{
int t;
t=v;v=w;w=t;
}
main( )
{
int x=1,y=3,z=2;
if(x>y)
f(x,y);
else if(y>z)
f(y,z);
else
f(x,z);
printf("%d,%d,%d\n",x,y,z);
}
执行后输出结果是(C)。
A) 1,2,3
B) 3,1,2
C) 1,3,2
D) 2,3,1
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
b中的值是(D)。
A) 5
B) 6
C) 8
D) 9
main( )
{
char a[]="abcdefg",b[10]="abcdefg";
printf("%d %d\n",sizeof(A) ,sizeof(B) );
}
执行后输出结果是(C)。
A) 7 7
B) 8 8
C) 8 10
D) 10 10
void swap1(int c[])
{
int t;
t=c[0];c[0]=c[1];c[1]=t;
}
void swap2(int c0,int c1)
{
int t;
t=c0;c0=c1;c1=t;
}
main( )
{
int a[2]={3,5},b[2]={3,5};
swap1(a);
swap2(b[0],b[1]);
printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]);
}
其输出结果是(B)。
A) 5 3 5 3
B) 5 3 3 5
C) 3 5 3 5
D) 3 5 5 3
void sum(int *A)
{
a[0]=a[1];
}
main( )
{
int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
for(i=2;i>=0;i--)
sum(&aa[i]);
printf("%d\n",aa[0]);
}
执行后的输出结果是(A)。
A) 4
B) 3
C) 2
D) 1
int f(int b[][4])
{
int i,j,s=0;
for(j=0;j<4;j++)
{
i=j;
if(i>2) i=3-j;
s+=b[i][j];
}
return s;
}
main( )
{
int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};
printf("%d\n",f(a) );
}
执行后的输出结果是(D)。
A) 12
B) 11
C) 18
D) 16
#include<string.h> char a[10],*b=a;
不能给数组a输入字符串的语句是(B)。
A) gets(a)
B) gets(a[0])
C) gets(&a[0]);
D) gets(b) ;
main( )
{
char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"};
printf("%d\n",strlen(p[4]));
}
执行后输出结果是(A)。
A) 2
B) 3
C) 4
D) 5
int a=2;
int f(int *a)
{return (*a)++;}
main( )
{
int s=0;
{
int a=5;
s+=f(&a) ;
}
s+=f(&a) ;
printf("%d\n",s);
}
执行后输出结果是(C)。
A) 10
B) 9
C) 7
D) 8
#define f(x) x*x
main( )
{
int i;
i=f(4+4)/f(2+2);
printf("%d\n",i);
}
执行后输出结果是(A)。
A) 28
B) 22
C) 16
D) 4
typedef struct S
{
int g; char h;
} T;
则下面叙述中正确的是(B)。
A) 可用S定义结构体变量
B)可以用T定义结构体变量
C)S是struct类型的变量
D)T是struct S类型的变量
struc STU
{
char name[10];
int num;
};
void f1(struct STU C)
{
struct STU b={"LiSiGuo",2042};
c=b;
}
void f2(struct STU *C)
{
struct STU b={"SunDan",2044};
*c=b;
}
main( )
{
struct STU a={"YangSan",2041},b={"WangYin",2043};
f1(a) ;f2(&b) ;
printf("%d %d\n",a.num,b.num);
}
执行后的输出结果是(A)。
A)2041 2044
B)2041 2043
C)2042 2044
D)2042 2043
main( )
{
unsigned char a,b;
a=4|3;
b=4&3;
printf("%d %d\n",a,b);
}
执行后输出结果是(A)。
A) 7 0
B) 0 7
C) 1 1
D) 43 0
* *** ***** *******
main( )
{
int i,j;
for(i=1;i<=4;i++)
{
for(j=1;j<=4-i;j++)
printf(" ");
for(j=1;j<=i*2-1;j++)
printf("*");
printf("\n");
}
}
在下划线处应填入的是(B)。
A) i
B) 2*i-1
C) 2*i+1
D) i+2
void sort(int a[],int n)
{
int i,j,t;
for(i=0;i<n-1;i+=2)
for(j=i+2;j<n;j+=2)
if(a[i]<a[j]) {
t=a[i]; a[i]=a[j]; a[j]=t;
}
}
main()
{
int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(aa,10);
for(i=0;i<10;i++)
printf("%d",aa[i]);
printf("\n");
}
其输出结果是(C)。
A) 1,2,3,4,5,6,7,8,9,10,
B) 10,9,8,7,6,5,4,3,2,1,
C) 9,2,7,4,5,6,3,8,1,10,
D) 1,10,3,8,5,6,7,4,9,2,
A) char s[10]="abcdefg";
B) char t[]="abcdefg",*s=t;
C) char s[10];s="abcdefg";
D) char s[10];strcpy(s,"abcdefg");
#include <string.h>
main(int argc,char *argv[])
{
int i,len=0;
for(i=1;i<argc;i+=2)
len+=strlen(argv[i]);
printf("%5d\n",len);
}
经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行
ex abcd efg h3 k44
执行后输出结果是(D)。
A) 14
B) 12
C) 8
D) 6
void f(int a[],int i,int j)
{
int t;
if(i<j){
t=a[i]; a[i]=a[j];a[j]=t;
}
f(a,i+1,j-1);
}
}
main( )
{
int i,aa[5]={1,2,3,4,5};
f(aa,0,4);
for(i=0;i<5;i++)
printf("%d,",aa[i]);
printf("\n");
}
执行后输出结果是(A)。
A) 5,4,3,2,1,
B) 5,2,3,4,1,
C) 1,2,3,4,5,
D) 1,2,3,4,5,
struct STU
{
char name[10];
int num;
int Score;
};
main( )
{
struct STU s[5]={{"YangSan",20041,703},{"LiSiGuo",20042,580},
{"wangYin",20043,680},{"SunDan",20044,550},
{"Penghua",20045,537}},*p[5],*t;
int i,j;
for(i=0;i<5;i++)
p[i]=&s[i];
for(i=0;i<4;i++)
for(j=i+1;j<5;j++)
if(p[i]->Score>p[j]->Score)
{
t=p[i];p[i]=p[j];p[j]=t;
}
printf("5d %d\n",s[1].Score,p[1]->Score);
}
执行后输出结果是(C)。
A) 550 550
B) 680 680
C) 580 550
D) 580 680
#include<stdio.h>
#include<memory.h>
struct NODE{
int num;
struct NODE *next;
};
main( )
{
struct NODE *p,*q,*r;
int sum=0;
p=(struct NODE *)malloc(sizeof(struct NODE));
q=(struct NODE *)malloc(sizeof(struct NODE));
r=(struct NODE *)malloc(sizeof(struct NODE));
p->num=1;q->num=2;r->num=3;
p->next=q;q->next=r;r->next=NULL;
sum+=q->next->num;
sum+=p->num;
printf("%d\n",sum);
}
执行后的输出结果是(B)。
A) 3
B) 4
C) 5
D) 6
#include<stdio.h>
main()
{
FILE *fp; int i,k=0,n=0;
fp=fopen("d1.dat","w");
for(i=1;i<4;i++)
fprintf(fp,"%d",i);
fclose(fp);
fp=fopen("d1.dat","r");
fscanf(fp,"%d%d",&k,&n);
printf("%d %d\n",k,n);
fclose(fp);
}
执行后输出结果是(B)。
A) 1 2
B) 123 0
C) 1 23
D) 0 0
(提示:程序中fseek(fp,-2L*sizeof(int),SEEK_END) ;语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)
#include<stdio.h>
main( )
{
FILE *fp; int i,a[4]={1,2,3,4},b;
fp=fopen("data.dat","wb");
for(i=0;i<4;i++)
fwrite(&a[i],sizeof(int),1,fp);
fclose(fp);
fp=fopen("data.dat","rb");
fseek(fp,-2L*sizeof(int),SEEK_END) ;
fread(&b,sizeof(int),1,fp);/*从文件中读取sizeof(int)字节的数据到变量b中*/
fclose(fp);
printf("%d\n",b) ;
}
执行后输出结果是(D)。
A) 2
B) 1
C) 4
D) 3
(每空2分,共40分)
请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上, 答在试卷上不得分.
(1) E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【@】 。
(2) 计算机网络分为广域网和局域网,因特网属于【广域网】 。
(3) 从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为【exit】 。
(4) 在Windows环境下,只要在"开始"菜单中单击【文档】选项,就可以查阅最近打开过的文档清单。
(5) 计算机的运算速度可以用MIPS来描述,1MIPS是指每秒执行【100万】条指令。
(6) 已知字符A的ACSII码值为65,以下语句的输出结果是【B 66】
char ch='B';
printf("%c %d\n",ch,ch);
(7) 有以下语句段
int n1=10,n2=20;
printf("n1=%d\nn2=%d\n",n1,n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
(8) 有以下程序
main( )
{
int t=1,i=5;
for(;i>=0;i--)
t*=i;
printf("%d\n",t);
}
执行后输出结果是【0】 。
(9) 有以下程序
main( )
{
int n=0,m=1,x=2;
if(!n) x-=1;
if(m) x-=2;
if(x) x-=3;
printf("%d\n",x);
}
执行后输出结果是【-4】 。
(10) 有以下程序
#include<stdio.h>
main( )
{
char ch1,ch2; int n1,n2;
ch1=getchar();
ch2=getchar();
n1=ch1-'0';
n2=n1*10+(ch2-'0');
printf("%d\n",n2);
}
程序运行时输入:12<回车>,执行后输出结果是【12】 。
(11) 有以下程序
void f( int y,int *x)
{
y=y+*x;
*x=*x+y;
}
main( )
{
int x=2,y=4;
f(y,&x);
printf("%d %d\n",x,y);
}
执行后输出的结果是【8 4】 。
(12) 函数fun的功能是计算x^n
double fun(double x,int n)
{
int i; double y=1;
for(i=1;i<=n;i++)
y=y*x;
return y;
}
主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算:m=a^4+b^4-(a+b)^3。实现这一计算的函数调用语句为【fun(a,4)+fun(b,4)-fun(a+b,3);】 。
(13) 下面rotate函数的功能是:将n行n列的矩阵A转置为A',例如:
1 2 3 4 1 5 9 13
5 6 7 8 2 6 10 14
当 A= 9 10 11 12 则 A'= 3 7 11 15
13 14 15 16 4 8 12 16
请填空
#define N 4
void rotate(int a[][N]) {
int i,j,t;
for(i=0;i<N;i++)
for(j=0;j<=N;j++) { //
t=a[i][j];
a[i][j]=a[j][i]; //
a[j][i]=t;
}
}
(14) 以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空
void sstrcpy(char *s,char *t)
{
while(*s++=【*t++】);
}
main( )
{
char str1[100],str2[]="abcdefgh";
sstrcpy(str1,str2);
printf("%s\n",str1);
}
(15) 下列程序的运行结果是:【efgh】
#include<stdio.h>
char *ss(char *s)
{
return s+strlen(s)/2;
}
main( )
{
char *p,*str="abcdefgh";
p=ss(str);
printf("%s\n",p);
}
(16) 下面程序的运行结果是:【6】
int f( int a[], int n)
{
if(n>1)
return a[0]+f(&a[1],n-1);
else
return a[0];
}
main ( )
{
int aa[3]={1,2,3},s;
s=f(&aa[0],3);
printf("%d\n",s);
}
#include<stdio.h>
#include<memory.h>
main ( )
{
double *p;
p=(double *) malloc(【sizeof(double)*3】);
p[0]=1.5;p[1]=2.5;p[2]=3.5;
printf("%f%f%f\n",p[0],p[1],p[2]);
}
(18) 以下程序的运行结果是【2002Shangxian】
#include<stdio.h>
typedef struct student{
char name[10];
long sno;
float score;
}STU;
main( )
{
STU
a={"zhangsan",2001,95};
b={"Shangxian",2002,90};
c={"Anhua",2003,95},d,*p=&d;
d=a;
if(strcmp(a.name,b.name)>0) d=b;
if(strcmp(c.name,d.name)>0) d=c;
printf("%ld%s\n",d.sno,p->name);
}
(19) 以下sum函数的功能是计算下列级数之和。
S=1+x+x^2/2!+x^3/3!+........+x^n/n!
请给函数中的各变量正确赋初值。
double sum( double x, int n )
{
int i; double a,b,s;
【a=1.0,b=1.0,s=1.0;】
for( i=1;i<=n;i++)
{
a=a*x; b=b*i; s=s+a/b; }
return s;
}
本页共789段,26992个字符,32195 Byte(字节)