25.如果有变量定义:int a=3,b=4,c=5;则表达式:
a>b!=c 的值为____(0)
26.如果有变量定义:int a=12,n=5;则表达式:
a%=(n%=2) 的值为____(0)
27.如果有变量定义:int a=2, b=3;float x=3.5,
y=2.5则表达式:
(float)(a+b)/2+(int)x%(int)y的值为____(3.5)
28.如果有变量定义:int x=3.5, y=2.5; 则表达式:
x/=x+y 的值为____(0)
29.如果有变量定义:int x=3.5, y=2.5; 则表达式:
z=(int)x%(int)y 的值为____(1)
30.如果有变量定义:int a=2, b=3;float y;则表达
式:y=(float)(a+b)/2 的值为____(2.5)
五、程序运行结果测试
要求在10分钟内回答5个问题(10分)。
1.以下程序的输出结果为____。
#include
int main()
{ char *c[]={"ENTER","NEW",POINT","FIRST"};
char **cp[]={c+3,c+2,c+1,c};
char ***cpp=cp;
printf("%sn",**++cpp);
return 0;}
2.以下程序输出的结果是____。
#include
#define N 2
6
#define M N+2
#define CUBE(x)(x*x*x)
int main()
{int i=M;
i=CUBE(i);
printf("%dn",i);
return 0;}
A.53 B.125 C.17 D.64
3.以下程序输出的结果是____。
#include
#define LETTER 0
int main()
{ char str[20]="C Language",c;
int i;
i=0;
while((c=str[i])!='0')
{ i++;
#if LETTER
if(c>='a'&&c<='z') c=c-32;
#else
if(c>='A'&&c<='Z') c=c+32;
#endif
printf("%c",c);
}
return 0;}
A.C LANGUAGE B.C Language
C.C language D.c language
4.下面程序执行后输出的结果是____。
#include
int main()
{ int i,j,a[10];a[0]=1;
for(i=0;i<5;i++)
for(j=i;j<5;j++)
a[j]=a[i]+1;
for(i=1;i<5;i++)
printf("%4d",a[i]);
printf("n");
return 0;}
A.10 4 6 8 B.8 10 4 6
C.6 8 10 4 D.4 6 8 10
5.对于以下程序:
当输入:65 14 时,其运行结果是:(1)。
当输入:14 63 时,其运行结果是:(2)。
当输入:25 125 时,其运行结果是:(3)。
#include
int main()
{ int m,n;
printf("Enter m,n:") ; scanf("%d%d",&m,&n);
while(m!=n)
{ while(m>n) m-=n;
while(n>m) n-=m;
}
printf("m=%dn",m);
return 0;}
A.(1) m=0 (2) m=2 (3) m=4
B.(1) m=1 (2) m=5 (3) m=11
C.(1) m=0 (2) m=1 (3) m=5
D.(1) m=1 (2) m=7 (3) m=25
6.下列程序的输出是____。
#include
int main()
{ int a=7,b=5;
printf("%dn",b=b/a);
return 0;
}
A.不确定值 B.5 C.1 D.0
7.从键盘输入:1 2 3 4 5 6 7 8 9程序执行后输出
的结果是 ____ 。
#include
int main()
{ int x[3][3],sum=0;
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&x[i][j]);
printf("n");
for(i=0;i<3;i++)
sum=sum+x[i][i];
printf("%6dn",sum);
return 0;}
A.24 B.6 C.13 D.15
8. 下列程序的输出为____。
#include
int main()
{ int k=0;
char c='A';
do { switch(c++)
{ case 'A': k++; break;
case 'B': k--;
case 'C': k+=2; break;
case 'D': k=k%2; continue;
case 'E': k=k*10; break;
7
default: k=k/3; }
k++;
} while(c<'G');
printf("k=%dn",k);
return 0;}
A.k=2 B.k=3 C.k=0 D.k=4
9.下列程序输出的结果是____。
#include
int main()
{ int i=0,j=0,a=6;
if((++i>0)||(++j>0)) a++;
printf("i=%d,j=%d,a=%dn",i,j,a);
return 0;}
A.i=0,j=0,a=6 B.i=1,j=1,a=7
C.i=0,j=1,a=7 D.i=1,j=0,a=7
10. 对于以下程序:
当从第一列开始输入:g时,其运行结果是:(1)。
当从第一列开始输入:a时,其运行结果是:(2)。
当从第一列开始输入:M时,其运行结果是:(3)。
当从第一列开始输入:Z时,其运行结果是:(4)。
#include
int main()
{ char ch,c1,c2;
printf("Enter a character:");
ch=getchar();
if((ch>='a') && (ch<='z'))
ch -= 32;
c1=ch-1; c2=ch+1;
if(ch=='A') c1=ch+25;
else if(ch=='Z') c2=ch-25;
putchar(c1); putchar(ch);
putchar(c2); putchar('n');
return 0;}
A.(1)gkd (2)zab (3)lmn (4)yza
B.(1)GKD (2)WAB (3)MNL (4)YZA
B.(1)fzh (2)zab (3)lmn (4)yza
D.(1)FGH (2)ZAB (3)LMN (4)YZA
11. 下列程序的输出是____。
#include
int main()
{ int a=9;
a+=a-=a+a;
printf("%dn",a);
return 0;}
A.-9 B.9 C.18 D.-18
12. 下列程序运行结果是:____ 。
#include
int main()
{ int i,x;
for(i=1,x=1;i<=50;i++)
{ if(x>=10) break;
if(x%2==1) { x+=5; continue; }
x-=3;
}
printf("x=%dt",x);
printf("i=%dn",i);
return 0;}
A.x=10 i=10 B.x=6 i=6 C.x=6 i=10 D.x=10 i=6
13. 以下程序的输出结果为_____。
#include
int main()
{ char s[]="123",*p;
p=s;
printf("%c%c%cn",*p++,*p++,*p++);
return 0;}
A.123 B.312 C.213 D.321
14.以下程序输出的结果是____。
#include
#define ADD(x) (x)+(x)
int main()
{ int a=4,b=6,c=7;
int d=ADD(a+b)*c;
printf("d=%d",d);
return 0;}
A.d=140 B.d=70 C.d=280 D.d=80
15.程序执行后输出的结果是____。
#include
int main()
{ int i,j,a[]={0,3,4,2,6};
for(i=1;i<=5;i++)
{ j=5-i;
printf("%d",*(a+j));
}
return 0;
}
A.43062 B.20346 C.03462 D.62430
16.下列程序运行结果是:____ 。
#include
int main()
{ int i=1;
while(i<10)
if(++i%3!=1) continue;
8
else printf("%d ",i);
return 0;}
A.0 3 5 B.4 6 8 C.3 6 9 D.4 7 10
六、程序填空测试
要求在10分钟内回答5个问题(10分)。
1. 下面程序由终端键盘输入字符,存放到文件中,用#
结束输入。
main()
{ FILE *fp; char ch, fname[10];
printf("Input name of filen") ;
gets(fname) ;
if((fp=fopen(fname,"w") ) ==NULL)
{printf("cannot openn") ; exit(0);}
printf("Enter data:n");
while( (1) !='#') fputc( (2) ) ;
fclose(fp) ;}
A.(1) (ch=getchar()) (2) ch,*fp
B.(1) (ch=putchar()) (2) ch,*fp
C.(1) (ch=putchar()) (2) ch,fp
D.(1) (ch=getchar()) (2) ch,fp
2. 以下程序用递归方法将一维数组中的数进行逆置。
#include "stdio.h"
#define SIZE 10
main()
{float s[SIZE];
readin(s);
invert(s,s+SIZE-1);
pri(s);
}
readin( (1) )
{for(i=0;iscanf("%f",&a[i]);}
}
invert(float *i,float *j)
{ float t;
if(i{t=*i; (2) ; (3) ; }
invert( (4) );}
pri(float *a)
{printf("%6.1f",a[i]);}
A.(1)float *a (2)*i=*j (3) j=t (4)++i,j++
B.(1)float a (2)*i=*j (3) j=t (4)--i,j++
C.(1)float a (2)*i=*j (3)*j=t (4)--i,--j
D.(1)float *a (2)*i=*j (3)*j=t (4)++i,--j
3. 以下程序调用函数swap1将指针s和t所指单元(a
和b) 中的内容交换。
main()
{int a=10,b=20,*s,*t;
s=&a; t=&b;
swap1(&s,&t);
printf("%d%d",a,b);}
swap1( (1) ss, int ** tt)
{int term;
term= (2) ;**ss= (3) ;**tt=term;}
A.(1)int ** (2)ss (3)**tt
B.(1)int (2)ss (3)*tt
C.(1)int (2)**ss (3)*tt
D.(1)int ** (2)**ss (3)**tt
4. 以下程序的功能是将字符串s中所有的空格字符
删去。
main()
{char *s="Our teacher teachs C language";
for(i=j=0;s[i]!='0';i++)
if(s[i]!=' ') (1) ;
(2) ;
printf("%sn",s); }
A.(1) s[j++]=s[i] (2) s[i]='0'
B.(1) s[i++]=s[j] (2) s[i]='0'
C.(1) s[i++]=s[j] (2) s[j]='0'
D.(1) s[j++]=s[i] (2) s[j]='0'
5. 以下程序的功能是输出字符串。
main()
{char *a[ ]={"Pascel","C language","dbase",
"Cobol"};
char (1) ;
int j=0;
p=a;
for(; j<4;j++)
printf("%sn",* (2) );}
A.(1) **p (2)p-- B.(1)*p (2)p—
C.(1)*p (2)p++ D.(1) **p (2) p++
6. 在()内填入正确的内容,使本题程序运行输出结果
是:
name:YangDezhong
birthday:1984,12
address:JiLin road
zipcode:130021
程序如下:
#define NAMESIZE 20
#define ADDRSIZE 100
struct birthday
9
{int year;
int month; };
struct person
{ char name[NAMESIZE];
struct birthday date;
char address[ADDRSIZE];
long zipcode;} struct person
p={"YangDezhong",{1984,12},"JiLin
road",130021};
main()
{printf("name:%sn",);
printf("birthday:%d,%dn", (1) , (2) );
printf("address:%sn",s);
printf("zipcode:%ldn",e);}
A.(1) (2)
B.(1) (2)
C.(1) year (2) month
D.(1) (2)
7. 用指针作函数参数,编程序求一维数组中的最大和
最小的元素值。
#define N 10
main()
{void maxmin(int arr[ ],int *pt1,int *pt2,int n);
int
array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,
a,b;
p1=&a; p2=&b;
maxmin(array,p1,p2,N);
printf("max=%d,min=%d",a,b);
}
void maxmin(int arr[ ],int *pt1,int *pt2,int n)
{int i;
*pt1=*pt2=arr[0];
for(i=1;iif(arr[i]>*pt1) (1) ;
if(arr[i]<*pt2) (2) ;}
A.(1) *pt1=arr[i] (2) pt2=arr[i]
B.(1) pt1=arr[i] (2) pt2=arr[i]
B.(1) pt1=arr[i] (2) *pt2=arr[i]
D.(1) *pt1=arr[i] (2) *pt2=arr[i]
8. 下面程序能将"Hello"反向显示出来,请填空。
#include "stdio.h"
main()
{ pt("nHellon");}
pt(char *string)
{ char *str= (1) ;
if(*str== (2) ) return;
while(*str) str++;
(3) ;
printf("%c",*str);
*str=NULL;
pt(string); }
A.(1)string (2) NULL (3) str++
B.(1) string (2) null (3) str++
C.(1)string (2)null (3) str—
D.(1)string (2)NULL (3)str--
9. 将6个数按输入时顺序的逆序进行排列。
main()
{ int i; char *p,num[6];
for(i=0;i<5;i++)
scanf("%d,",&num[i]);
(1) ;
p=&num[0];
sort(p,6);
for(i=0;i<5;i++)
printf("%d,",num[i]);
printf("%dn,num[5]); }
sort(p,m)
char *p; int m;
{ int i;
char change, (2) ;
for(i=0;i { p1=p+i;
(3) ;
change=*p1;
*p1=*p2;
*p2=change; } }
A.(1)scanf("%d",&num[5]) (2)p1,p2
(3)p2=p+(m-1-i)
B.(1)scanf("%d",num[5]) (2)p1,p2
(3)p2=p+(m-1-i)
C.(1)scanf("%d",num[5]) (2)*p1,*p2
(3)p2=p+(m-1-i)
D.(1)scanf("%d",&num[5]) (2)*p1,*p2
(3)p2=p+(m-1-i)
10. 输出指针数组各元素所指的整数值和它存放的地
址值。
#include
main()
{ int i;
int a[5]={1,3,5,7,9};
int *num[5];
10
int (1) ;
for(i=0;i<5;i++)
num[i]= (2) ;
p=num+0;
for(i=0;i<5;i++)
{ printf("%d %un", (3) );
p++; }
}
A.(1) *p (2) a+i (3) **p,*p
B.(1) *p (2) a-i (3) **p,p
C.(1) **p (2) a-i (3) **p,p
D.(1) **p (2) a+i (3) **p,*p
11. 以下程序求两个数的较大者。
max(x,y)
int x,y;
{ int z;
if(x>y) z=x;
else z=y;
(3) ; }
main()
{ int a,b,c;
(1) ;
printf("输入a,b的值:n");
scanf("%d%d",&a,&b);
(2) ;
c=(*p)(a,b);
printf("a=%d b=%d max=%dn",a,b,c); }
A.(1)int (*p)() (2)p=max (3)return
B.(1) int (*p) (2) p=max (3) return
C.(1)int (*p) (2)p=max (3)return(z)
D.(1) int (*p)() (2) p=max (3) return(z)
12. 下面的函数实现字符串的复制。
main()
{ char a[]="I love china!",b[20];
char (1) ;
while( (2) )
{ *p2=*p1;
p1++;
p2++;
}
*p2='0';
printf("string a is:%snstring b is:%sn",
(3) );}
A.(1) p1=a,p2=b (2) p1 (3) a,b
B.(1) *p1=a,*p2=b (2) p1 (3) a,b
C.(1) p1=a,p2=b (2) *p1 (3) a,b
D.(1) *p1=a,*p2=b (2) *p1 (3) a,b
13. 以下程序用两种方法输出字符串。
main()
{ int i;
char string[]="I love China!";
printf(" (1) n",string);
printf("------------n");
(2) ;
while(string[i])
{ printf("%c",string[i]);
(3) ; }
printf("n"); }
A.(1)%s (2)i=0 (3)i-- B.(1)%s (2)i=1 (3) i--
C.(1)%s (2)i=1 (3)i++ D.(1)%s (2)i=0 (3) i++
14. 用指针法求出数组元素中的最大者和最小者。
int max,min;
void max _min _value(array,n)
int array[],n;
{ (1) ;
max=min=*array;
for( (2) ;p if(*p>max) max=*p;
else if(*pmain()
{ int i,number[10],*p;
p=number;
printf("输入10个数据:n");
for(i=0;i<10;i++,p++)scanf("%d",p);
(3) ;
max _min _value(p,10);
printf("max=%-10dmin=%dn",max,min);
}
A.(1)int *p (2)p=array+1 (3) *p=number
B.(1)int p (2)p=array+1 (3)*p=number
C.(1) int p (2)p=array+1 (3) p=number
D.(1)int *p (2)p=array+1 (3)p=number
15.以下程序把从键盘输入的字符存放到一个文件中,
用字符#作为结束符,请按题意要求填空完善程序。
#include
main()
{ char ch,fname[10];
printf("Input the name of filen");
gets(fname);
if((fp=fopen( (1) ))==NULL)
{printf("can't openn");
(2) ;}
while((ch=getchar())!='#')
fputc( (3) );
fclose(fp);}
A.(1) fname,"w" (2) exit(0) (3) ch,*fp
B.(1) fname,"a" (2) exit(0) (3) ch,*fp
C.(1) fname,"r" (2) exit(0) (3) ch,fp
D.(1) fname,"w" (2) exit(0) (3) ch, fp
16.计算两个数的最大值、最小值和它们的和。
int process(x,y,fun)
int x,y, (2) ;
{ return((*fun)(x,y));}
int max(x,y)
int x,y;
{ return( (3) );}
int min(x,y)
int x,y;
{ return(xint add(x,y)
int x,y;
{ return( (4) );}
main()
{ int a,b;
scanf("%d,%d", (1) );
printf("max=%dn",process(a,b,max));
printf("min=%dn",process(a,b,min));
printf("sum=%dn",process(a,b,add)); }
A.(1)a,b (2)(*fun) (3)x>y?x:y (4)x+y
B.(1)a,b (2)(*fun) (3)x>y?x:y (4)x-y
C.(1)&a,&b (2)(*fun) (3)x>y?x:y (4)x-y
D.(1)&a,&b (2)(*fun)() (3)x>y?x:y (4)x+y
11
第二部分 笔试试卷
试卷1
试题一、基础知识选择题(每小题1分,共6分)
1.通常计算机系统是指(C)
A.硬件系统 B.系统软件和应用软件
C.硬件系统和软件系统 D.软件系统
2.所谓媒体是指(A)
A.表示和传播信息的载体 B.各种信息的编码
C.计算机的输入输出信息
D计算机屏幕显示的信息
3.(C)是内存储器中的一部分,CPU对它们只能读不
能写。
A.RAM B.随机存储器 C.ROM D.键盘
4.在表示存储器的容量时,M的准确含义是(B)
A.1米 B.1024K C.1024字节 D.1024
5.计算机用(B)方式管理程序和数据。
A.二进制代码 B.文件
C.存储单元 D.目录区和数据区
6.计算机与运算器的主要功能是进行(A)运算。
A.算术与逻辑 B.逻辑 C.算术 D.数值
试题二、Windows选择题(每小题1分,共6分)
1.将运行中的应用程序窗口最小化以后,应用程序(1)
A.在后台运行 B.停止运行
C.暂时挂起来 D.出错
2.磁盘碎片整理工具不能实现的功能是(2)
A.整理文件碎片 B.整理磁盘上的空闲空间
C.同时整理文件碎片和空闲碎片
D.修复错误的文件碎片
3.在Windows中,按下Ctrl键并用鼠标左键,在同
一驱动器的不同文件夹之间拖动某一对象,结果是
(3)。
A.移动该对象 B.无任何结果
C.复制该对象 D.删除该对象
4.关于"回收站"叙述正确的是(4)。
A.暂存所有被删除的对象
B."回收站"中的内容不能恢复
C.清空"回收站"后,仍可用命令方式恢复
D."回收站"的内容不占硬盘空间
5.对话框中的文本框可以(5)
A.显示文本信息 B.输入文本信息
C.编辑文本信息 D.显示、输入、编辑文本信息
6.Windows下,不正确的删除文件操作是(6)
A.选中文件后,按DEL键 B.将文件拖到回收站
C.选中文件后,用菜单中的删除命令项
12
D.选中文件后,用菜单中的剪切命令项
试题三、Office选择题(每小题1分,共6分)
1.如果想打印某张工作表中的一部分区域,则可以(1)
A.将此区域设置为打印区域
B.将此区域设置为标题行
C.将此区域设置为标题列
D.在分页预览中将此区域调制到白色区域以外
2.A1单元格中的内容是"信息化",B1单元格中的内
容为"办公",要在C1单元格放入"信息化办公",表达
式正确的是(2)
A.=A1+B1 B.=A1&B1 C.=SUM(A1&B1) D.=SUM(A1:B1)
3.PowerPoint软件的主要功能是(3)
A.制作幻灯片演示文档 B.数据处理
C.图像处理 D.网络应用
4.如果在Word 中主窗口中显示常用工具栏按钮,应
使用菜单(4)
A."工具"菜单 B."视图"菜单
C."格式"菜单 D."窗口"菜单
5.在一篇300页的Word 文档中,将光标快速移到第
40页的方法是(5)
A.利用鼠标拖动垂直滚动条上滑块
B.利用键盘上的Page Down键
C.利用编辑菜单中的定位命令
D.利用快捷键Ctrl+Page Down
6.在Word中,有关标尺中"左缩进标记"和"悬挂缩进
标记"的说法,正确的是(6)
A."左缩进标记"对光标所在的段中各行起作用
B."悬挂缩进标记"对光标所在的段中各行起作用
C."左缩进标记"对光标所在的段中各行不起作用
D."悬挂缩进标记"对光标所在的段中各行不起作用
试题四、综合选择题(每小题1分,共6分)
1.多媒体信息不包括(1)
A.景象、动画 B.文字、图形
C.音频、视频 D.声卡、光盘
2.计算机病毒是指(2)
A.带细菌的磁盘 B.已损坏的磁盘
C.具有破坏性的特制程序 D.被破坏了的程序
3.负责管理整个网络各种资源、协调各种操作的软件
叫做(3)
A.网络应用软件 B.通信协议软件
C.OSI D.网络操作系统
4.为了保证全网的正确通信,Internet为联网的每个
网络和每台主机都配置了唯一的地址,该地址由纯数
字并用小数点分隔,将它称为(4)
A.TCP地址 B.IP地址
C.WWW服务器地址 D.WWW客户机地址
5.在局域网中的各个节点,计算机都应在主机扩展槽
中插有网卡,网卡的正式名称是(5)
A.集线器 B.T型接头(连接器)
C.终端匹配器 D.网络适配器
6.为网络提供共享资源并对这些资源进行管理的计算
机被称为(6)
A.网卡 B.服务器 C.工作站 D.网桥
试题五、判断题(每小题1分,共6分)
1.在桌面上任何一点用鼠标右击,会弹出快捷菜单。
( )
2.计算机网络最主要的功能在于共享资源。( )
3.若想访问域中其它机器,应直接双击桌面上"网上
邻居"。( )
4.在不同磁盘之间拖放文件或文件夹执行移动命令。
( )
5.在Excel中建立好的图表可以直接利用剪贴板复制
到PowerPoint中。( )
6.不同型号的打印机需要不同的打印驱动程序。
( )
试题六、判断题(每小题2分,共10分)
1.C语言源程序的基本单位是函数。( )
2.在C语言中,if语句后的一对圆括号中,用以决定
分支流程的表达式可用任意表达式。( )
3.C语言程序中,若对函数类型未加显式说明,则函
数的隐含类型为int。( )
4.C语言中的文件类型只有二进制文件一种。( )。
5.指针变量可以由整数赋值,不能用浮点数赋值。
( )。
试题七、选择题(每题2分,共20分)
1.C语言执行程序的开始执行点是( )
A.程序中第一条可以执行语句
B.程序中第一个函数
C.程序中的main函数
D.包含文件中的第一个函数
2.在C语言中,为了结束由while语句构成的循环,
while后一对圆括号中表达式的值应该是( )。
A.0 B.1 C.true D.非0
3.指针变量不可以( )
A.比较 B.相减 C.相加 D.指向同一地址
4.C语言的if语句嵌套时,if与else的配对关系是
( )
A.每个else总是与它上面的最近的未配对的if配
13
对
B.每个else总是与最外层的if配对
C.每个else与if的配对是任意的
D.每个else总是与它上面的if配对
5.C语言中的文件的存取方式有( )
A.只能顺序存取 B.只能随机存取(或称直接存取)
C.可以顺序存取 D.只能从文件的开头进行存取
6.下列语句中,正确的是( )
A.static char str[ ]= "China";
B.static char str[ ]; str="China"
C.static char str1[5],str2[ ]={"China"};
str1=str2;
D.static char str1[ ],str[ ];str2={"China"};
strcpy(str1,str2);
7.已知p,p1为指针变量,a为数组名,i 为整型变量,
下列赋值语句中不正确的是( )
A.p=&i,p=p1; B.p=a; C.p=&a[i]; D.p=10;
8.当定义一个结构体变量时,系统分配给它的内存是
( )。
A.各成员所需内存量的总和
B.成员中占内存量最大者所需的容量
C.结构中第一个成员所需内存量
D.结构中最后一个成员所需内存量
9.下列数组说明中,正确的是( )
A.int array[ ][4]; B.int array[ ][ ];
C.int array[ ][ ][5]; D.int array[3][ ];
10.若有下列定义,则对a数组元素地址的正确应用
是( )
int a[10],*p=a;
A.&a[10]; B.&a C.a++ D.p+2
试题八、程序填空(每空2分,共20分)
1.以下程序将两个数从小到大输出。
main()
{float a,b, (1) ;
scanf( (2) ,&a,&b);
if(a>b)
{t=a;
(3) ;
b=t;}
printf("%5.2f,%5.2fn",a,b);}
2.以下程序计算数的阶乘。
main()
{int i,n; long np;
scanf("%d",&n);
np= (4) ;
for(i=2;i<=n;i++)
(5) ;
printf("n=%d n!=%ldn",n,np); }
3.输入10个整数,用选择法对其从小到大排序并输
出。
#define N 10
main()
{ int i,j,min,temp,a[N];
for(i=0; (6) ;i++)
{min =i;
for(j=i+1;j if(a[min]>a[j])min=j;
temp=a[i];
(7) ;
(8) ; }
for(i=0;i printf("n");
}
4.下面函数功能是实现字符串的复制。
main()
{char a[ ]="I love china!",b[20];
char (9) ;
while(*p1)
{*p2=*p1;
p1++;
p2++;
}
*p2='0';
printf("string a is:%sn string b is %sn",
(10) ); }
试题九、问答题(每空2分,共10分)
1.输入字母B时,程序输出结果为 (1)
main()
{char ch;
scanf("%c",&ch);
ch=(ch>=97&&ch<=122)?ch-32:ch;
switch(ch)
{ case 'A': printf("85-100n");break;
case 'B': printf("70-84n");break;
case 'C': printf("60-69n");break;
case 'D': printf("<60n");break;
default:printf("Errorn");
}}
2.从键盘输入1 2 3 4 5 6 7 8 9,执行后输出的结果
是(2)
main()
{int a[3][3],sum=0;int i,j;
14
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("n");
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("%6dn",sum);}
3.从键盘输入23,输出结果 (3)
int prime(int num)
{ int flag=1,n;
for(n=2;n if(num%n= =0)flag=0;
return(flag);}
main()
{ int num;
scanf("%d",&num);
if(prime(num)) printf("%dn",num);
else printf("*****n");}
4.假定所有变量均已正确定义,下列程序段运行后x
的值是 (4)
k1=1; k2=2; k3=3; x=15
if(!k1) x--;
else if(k2) if(k3) x=4;else x=3;
5.若输入英文小写字母e,选择程序的输出结果
(5)
#include "stdio.h"
main()
{char c1,c2;
c1=getchar();
c2=c1-32;
printf("c2=%cn",c2);}
试题十、写出程序运行结果(每空2分,共10分)
1.下列程序的运行结果是 (1)
main()
{ int x=2,y=4,z=40;
x*=3+2;
printf("%dn",x) ;
x=y=z;
printf("%dn",x); }
2.下列程序的运行结果是 (2)
main()
{int i;
for(i=1;i+1;i++)
{if(i>4){printf("%dt",i++);break;}
printf("%dt",i++);}}
3.下列程序的运行结果是 (3)
#include "stdio.h"
试卷1答案
main()
{int a=1,b=2,c=3; 试题一、基础知识选择题(每小题1分,共6分)
a++,c+=b; 1-6 CACBBA
{int b=4,c; 试题二、Windows选择题(每小题1分,共6分)
c=2*b; 1-6 ADCADD
a+=c;} 试题三、Office选择题(每小题1分,共6分)
printf("%d%d%dn",a,b,c);} 1-6 ABAACA
4.若输入4,下列程序的运行结果是 (4) 试题四、综合选择题(每小题1分,共6分)
main() 1-6 DCDBDB
{int x,y; 试题五、判断题(每小题1分,共6分)
scanf("%d",&x); 1-6 √√√×√√
if(x<1) 试题六、判断题(每小题2分,共10分)
{y=x ; 1-5 √√√××
printf("x=%d,y=x=%dn",x,y); 试题七、选择题(每题2分,共20分)
} 1-5 CACAC 6-10 ADAAD
else if(x<10) 试题八、程序填空(每空2分,共20分)
{y=2*x-1; (1)t (2) "%f%f" 或 "%f,%f" (3)a=b
printf("x=%d,y=2*x-1=%dn",x,y);} (4)1 (5)np=np*i (6)ielse (8)a[min]=temp (9)*p1=a,*p2=b (10)a,b
{y=3*x-11 ; 试题九、问答题(每空2分,共10分)
printf("x=%d,y=3*x-11=%dn",x,y); (1)70-84 (2)15 (3) 23
}} (4)4 (5)c2=E
5.若有以下的说明、定义和语句,则输出结果为 (5) 试题十、写出程序的运行结果(每空2分,共10分)
(已知字母A的十进制数为65)。 (1)10 回车 40
main() (2)135
{union un (3)1025
{int a; (4)x=4,y=2*x-1=7
char c[2] ; (5)60501
}w ;
w.c[0]='A' ;w.c[1]='a' ;
printf("%on",w.a); }
试卷2
试题一、基础知识选择题(每小题1分,共6分)
1.用四位二进制表示一位十进制的编码是(1)码。
A.BCD(8,4,2,1) B.ASCII C.机内 D.二进制
2.对于R进制数,每一位上的数字可以有(2)种。
A.R B.R-1 C.R/2 D.R+1
3.微机系统中存储器容量最大的部件是(3)。
A.硬盘 B.主存储器 C.高速缓存 D.软盘
4.表示存储器的容量时,K的准确含义是(4)个字节。
A.1000M B.1024M C.1000 D.1024
5.下列几种存储器访问速度最快的是(5)。
A.硬盘 B.CD-ROM C.RAM D.软盘
6.ROM和RAM的最大区别(6)。
15
A.不都是存储器 B.ROM是只读,RAM可读可写
C.访问RAM比访问ROM快
D.访问ROM比访问 RAM快
试题二、Windows选择题(每小题1分,共6分)
1.Windows是一种(1)。
A.操作系统 B.语言处理程序
C.字处理程序 D.图形处理程序
2.窗口最顶行是(2)。
A.标题栏 B.状态栏 C.菜单栏 D.任务栏
3.关于"回收站"叙述正确的是(3)。
A.暂存所有被删除的对象
B."回收站"中的内容不能恢复
C.清空"回收站"后,仍可用命令方式恢复
D."回收站"的内容不占硬盘空间
4.为了在资源管理器重快速查找.EXE文件,最快速且
准确定位的显示方式是(4)。
A.按名称 B.按类型 C.按大小 D.按日期
5.Windows文件系统采用(5)形式,替代了抽象的目
录。
A.路径 B.目录树 C.文件夹 D.小图标
6.在Windows中,为了防止无意修改某一文件,应设
置该文件属性为为(6)。
A.只读 B.隐藏 C.存档 D.系统
试题三、Word选择题(每小题1分,共6分)
1.中文word编辑软件的运行环境是(1)。
A.DOS B.WPS C.Windows D.高级语言
2.在Word中,下列字号最大的字号是(2)。
A.一号 B.二号 C.初号 D.三号
3.页面排版是对(3)内容进行操作的。
A.整个文档 B.某一段 C.某二段 D.某三段
4. Word 存盘文件的默认扩展名为(4)。
A.BMP B.TXT C.DOC D.XLS
5.利用剪贴板进行复制时,可以复制的次数为(5)。
A.一次 B.任意次 C.二次 D.三次
6.编辑文本时,插入字符和替换字符两种功能进行切
换的键是(6)键。
A.Insert B.Del C.End D.Home
试题四、综合选择题(每小题1分,共6分)
1.Excel文件的扩展名(1)。
A.xlc B.xls C.xlt D.xla
2.在Excel中,"B$2:E$2"是(2)。
A.相对地址 B.绝对地址
C.混合地址D.规则地址
3.幻灯片上可以插入(3)等媒体信息。
A.声音、音乐和图片 B.声音和影片
C.声音和动画 D.剪贴画、图片、声音和影片
4.OSI的中文含义是(4)。
A.网络通信协议 B.国家信息基础设施
C.开放系统互联参考模型 D.公共数据通信
5.文件被感染上病毒之后,不能出现的现象是(5)。
A.文件不能被执行 B.文件长度变短
C.文件长度加长 D.文件照常执行
6.对多媒体数据进行压缩是因为(6)。
A.多媒体数据量太大 B.多媒体数据的结构太复杂
C.多媒体数据不压缩硬件设备就无法播放
D.以上三种原因都有
试题五、判断题(每小题1分,共6分)
1.主存储器包含在CPU中。( )
16
2.打印机是输出装置。( )
3.磁盘驱动器兼具输入和输出的功能。( )
4.窗口的最小化按钮和还原按钮不可能同时出现。
( )
5.对文档内容进行格式化、删除、复制等操作时,必
须先对要操作的内容进行选择。( )
6.Internet的域名和IP地址之间的关系是唯一对应。
( )
试题六、判断题(每小题2分,共10分)
1.C语言程序输入数值数据时,对于整型变量只能输
入整型值;对于实型变量只能输入实型值。( )
2.一个变量的地址称为该变量的指针。( )
3.C语言执行程序的开始执行点是程序中第一个函数。
( )
4.C语言中文件由字符(字节)序列组成。( )。
5.C语言中,char类型数据占2个字节。( )。
试题七、选择题(每题2分,共20分)
1.在C语言中,能代表逻辑值"真"的是( )。
A.true B.大于0的数
C.非0整数 D.非0的数
2.执行下面两个语句后,输出地结果为( )。
char c1=97,c2=98;
printf("%d%c",c1,c2);
A.9798 B.97b C.a98 D.ab
3.执行下列语句的结果是( )。
i=3;printf("%d,",++i);
printf("%d",i++);
A.3,3 B.3,4 C.4,3 D.4,4
4.若有下列定义,则对a数组元素地址的正确引用时
( )。
int a[5],*p=a;
A.&a[5] B.p+2 C.a++ D.&a
5.数组名作为实参数传递给函数时,数组名被处理为
( )。
A.该数组的长度 B.该数组的元素个数
C.该数组的首地址 D.该数组中各元素的值
6.设i和x都是int类型,则for循环语句( )。
for(i=0;i<=9&&x!=876;i++)scanf("%d",&x);
A.最多执行10次 B.最多执行9次
C.是无限循环 D.循环体一次也不执行
7.在C语言中,为了结束由do -while语句构成的循
环,while后一对圆括号中表达式的值应该为( )。
A.0 B.1 C.true D.非0
8.在C语言中, if语句后的一对圆括号中,用以决定
分支流程的表达式( )。
A.只能用逻辑表达式 B.只能用关系表达式
C.只能用逻辑表达式和关系表达式
D.可用任意表达式
9.C语言中,double类型数据占( )个字节。
A.1 B.2 C.4 D.8
10.若x为float型变量,则以下语句( )
x=213.82631;printf("%-4.2fn",x);
A.输出格式描述符的域宽不够,不能输出
B.输出213.83 C.输出213.82 D.输出-213.82
试题八、程序填空(每空2分,共20分)
1.用"起泡法"对输入的10个字符排序后从小到大的
次序输出。
#define N 10
char str[N];
main()
{ int i,flag;
for(flag=1;flag= =1;)
{scanf("%s",str);
flag=0;
printf("n");
}
sort( (1) );
for(i=0;i"); }
sort(str)
char str[N];
{int i,j; char t;
for(j=1;j for(i=0;(i if(str[i]>str[i+1];
{t=str[i]; (2) ; (3) ; }
}
2.以下程序根据对x的输入,求1到x的累加和。
float fun(int n)
{int i; float c;
(4)
for(i=1;i<=n;i++) c+=i;
(5) ; }
main()
{int x;
scanf("%d", (6) );
printf("%fn",fun(x)); }
3.下面程序输入10个字符串(每串不多于9个字符),
依次放在a数组中,指针数组str中的每个元素依次
指向每个字符串的开始;然后从这些字符串中选最小
的那个串输出。
#include
17
#include
main()
{ char a[100],*str[10],*sp;
int i,k;
sp= (7) ;
for(i=0;i<10;i++)
{scanf("%s",sp);
str[i]=sp;
k=strlen(sp);
sp+= (8) ; }
for(i=0;i<10;i++)
if(strcmp(str[i],str[k]) (9) 0)
k=i;
(10) ; }
试题九、填空题(每空2分,共10分)
1.C语言表达式5>2>7>8的值是 (1)。
2.设x的值为15,n的值为2,则表达式x%=(n+=3)
运算后x的值是 (2)。
3.若所用变量都已正确定义,请填写以下for循环中
printf( )执行的次数 (3) 。a=2;b=10;
for(i=b;i<=a;i--,a++)printf("%3d",i);
4.C程序在执行过程中,不检查数组下标是否
(4) 。
5.C程序中,只能给指针变量赋地址值和 (5) 值。
试题十、写出程序的运行结果(每空2分,共10分)
1.若所用变量都已正确定义,请填写以下列程序段的
输出结果 (1) 。
main()
{ int s=7;
while(--s) ;s-=2 ;
printf("%dn",s) ; }
2.程序的运行结果是 (2) 。
main()
{int i,*p,b[6]={1,2,3,4,5,6};
p=&b[0];
for(i=5;i>=0;i--)
{printf("%d",*p);p++;}}
3.程序的运行结果是 (3) 。
#include "stdio.h"
main()
{int a[3]={0,1,2};
int i;
for(i=0;i<3;i++)a[i]+=a[i];
for(i=0;i<3;i++)printf("%d ",a[i]);}
4.程序的运行结果是 (4)。
#include "stdio.h"
main()
{int i;
for(i=1 ;i+1 ;i++)
{ if(i>4)
{printf("%dt ",i++);break;}
printf("%dt ",i++);}
}
5.下列程序的输出结果 (5) 。
f1(int a)
{int b=0;static int c=3;
b+=1;c++;
return(a+b+c);}
main()
{int a=1;i;
for(i=0;i<3;i++)
printf("%d ",f1(a)); }
试卷2答案
试题一、基础知识选择题(每小题1分,共6分)
1-6 AAADCB
试题二、Windows选择题(每小题1分,共6分)
1-6 AAABBA
试题三、Word选择题(每小题1分,共6分)
1-6 CCACBA
试题四、综合选择题(每小题1分,共6分)
1-6 BCDCBA
试题五、判断题(每小题1分,共6分)
1-6 ×√√×√×
试题六、判断题(每小题2分,共10分)
1-5 ×√×√×
试题七、选择题(每题2分,共20分)
1-5 DBDBC 6-10 AADDB
试题八、程序填空(每空2分,共20分)
(1)str (2) sr[i]=str[i+1] (3)str[i+1]=t
(4)c=0 (5)return c或return(c)
(6)&x (7)a (8)k+1 (9)<
(10) printf("%sn",str[k]);
试题九、填空题(每空2分,共10分)
(1)0 (2)0 (3) 0
(4)越界 (5)空 或 NULL
试题十、写出程序的运行结果(每空2分,共10分)
(1)-2 (2)123456(3)024
(4)135
(5)678
试卷3
试题一、基础知识选择题(每小题1分,共6分)
1.计算机运算器的主要功能是进行(1)运算。
A.算术与逻辑 B.逻辑 C.算术D.数值
2.计算机主要由(2)、存储器、输入设备和输出设备
等部件构成。
A .硬盘 B.软盘 C.键盘 D.CPU
3.计算机软件的组成是(3)。
A .系统软件与网络软件 B.应用软件与网络软件
C.系统软件与应用软件 D.操作系统与应用软件
4.(4)设备分别属于输入设备、输出设备和存储设备。
A.CRT、CPU、ROM B.磁盘、鼠标、键盘
C.键盘、显示器、硬盘
D.磁带、打印机、激光打印机
5.计算机存储器容量的基本单位是(5)。
A.字节 B.整数 C.数字 D.符号
6.在微型计算机中,动态存储器通常是指(6)。
A.ROM B.RAM C.CDROM D.EPROM
试题二、Windows选择题(每小题1分,共6分)
1.在Windows环境中,每个窗口的"标题栏"的右边都
有一个标有空心方框的方形按钮,用鼠标左键单击它,
可以(1)
18
A.将该窗口最小化 B.关闭该窗口
C.将该窗口最大化 D.将该窗口还原
2.在Windows中使用系统菜单时,只要移动鼠标到某
个菜单项上单击,就可以选中该菜单项。如果某菜单
项尾部出现(2)标记,则说明该菜单还有下级子菜单。
A.省略写(...) B.向右箭头
C.组合键 D.括号
3.将运行中的应用程序窗口最小化以后,应用程序
(3)。
A.在后台运行B.停止运行
C.暂时挂起来 D.出错
4.关于"回收站"叙述正确的是(4)。
A.暂存所有被删除的对象
B."回收站"中的内容不能恢复
C.清空"回收站"后,仍可用命令方式恢复
D."回收站"的内容不占硬盘空间
5.在Windows中,为了防止无意修改某一文件,应设
置该文件属性为为(5)
A.只读 B.隐藏 C.存档 D.系统
6.控制面板是用来改变(6)的应用程序,以调整各
种硬件和软件的选项。
A.分组窗口 B.文件 C.程序 D.系统配置
试题三、Word选择题(每小题1分,共6分)
1.在Word中,要取消文档中某些字符的粗体格式,
应(1)
A.选中这些字符,单击格式工具条中的粗体按钮
B.直接单击格式工具栏中的粗体按钮
C.选中这些字符,单击格式工具条中的非粗体按钮
D.单击格式工具条中的非粗体按钮
2.用Word编辑完一个文档文件后,想知道其打印效
果,可选择Word的(2)
A.打印预览B.模拟打印
C.提前打印D.屏幕打印
3.设定打印纸张大小时,应使用的命令是(3)。
A.文件菜单中的页面设置命令
B.文件菜单中的工具栏命令
C.视图菜单中的工具栏
D.视图菜单中的页面命令
4.利用剪贴板进行复制时,可以复制的次数为(4)
A.一次 B.任意次 C.二次 D.三次
5.退出Word可采用多种方式,下列(5)方式不能退
出Word。
A.ESC键 B.双击窗口左上角W
C.右上角关闭按钮
D.左上角控制菜单中关闭命令
6.在编辑Word文档时,输入的新字符总是覆盖文档中
已输入的字符(6)。
A.原因是当前文档正处于改写的编辑方式
B.原因是当前文档正处于插入的编辑方式
C.连按两次INSERT键,可防止覆盖发生
D.按键DEL可防止覆盖发生
试题四、综合选择题(每小题1分,共6分)
1.表示一个单元格A1到B10的矩形区域,用(1)号
分隔。
A. 、 B. ; C. , D. :
2.向Excel工作表中输入数据,有时会用到一序列数
据,可以使用"填充"功能,这种自动输入可以通过(2)
来实现。
A.填充手柄 B.CTRL C.SHIFT D.自动完成
3.PowerPoint的"超级链接"命令可实现(3)。
A.实现幻灯片之间的跳转
B.实现演示文稿幻灯片的移动
C.中断幻灯片的放映
D.在演示文稿中插入幻灯片
4.目前,局域网的传输介质(媒体)主要是(4)、同
轴电缆和光纤。
A.电话线 B.双绞线
19
C.公共数据网 D.通信卫星
5.表示中国的一级域名是(5)
A.china B.ch C.ca D.cn
6.目前使用的防杀毒软件的作用是(6)。
A.检查计算机是否感染病毒,清除已感染的任何病
毒 B.杜绝病毒对计算机的侵害
C.检查计算机是否感染病毒,清除部分已感染的病
毒
D.查出已感染的任何病毒,清除全部已感染的病毒
试题五、判断题(每小题1分,共6分)
1.计算机所有计算是在内存中进行的。( )
2."网上邻居"系统文件夹用于快速访问当前PC机所
在局域网中的硬件和软件资源。( )
3.在Word下执行"粘贴"命令后,剪贴板中的内容就
会消失。( )
4.在Excel中输入一个公式之前必须先输入"="。
( )
5.在幻灯片浏览视图能够方便的实现幻灯片的插入和
复制。( )
6.用户想要在网上查询WWW信息,必须安装并运行一
个被称为浏览器的软件。( )
试题六、判断题(每小题2分,共10分)
1.执行下列语句后,p+6是a[6]的地址,*(p+6)是
a[6]的值。( )
int a[10],*p;
p=a;
2.在C语言程序中,函数的存储类别是外部。( )
3.C语言表达式5>2>7>8的值是0。( )
4.C程序在执行过程中,检查数组元素下标是否越界。
( )。
5.数组char a[3];中所有元素排列顺序是
a[1],a[2],a[3]。( )。
试题七、选择题(每题2分,共20分)
1.以下的选择中,正确的赋值语句是( )
A.a=1,b=2 B.i++; C.a=b=5 D.y=int(x)
2.下列变量说明语句中,正确的是( )。
A.char: a b c; B.char a;b;c;
C.int x;z; D.int x,z;
3.若a 为整型变量,则以下语句( )
a=2L; printf("%dn",a);
A.赋值不合法B.输出值为-2
C.输出不确定值 D.输出值为2
4.下列表达式中,属于算术表达式的是( )
A.x>=60==1 B.x+60*(x>60)
C.x>=60&&x<70 D.x=(x>=60)
5.下列程序的输出是( )
main()
{int a=7,b=5;
printf("%dn",b=b/a;);}
A.0 B.5 C.1 D.不确定值
6.标有/* */的语句的执行次数是( )
int y,i;
for(i=0;i<20;i++)
{if(i%2==0) continue;
y+=i; /* */}
A.20 B.19 C.10 D. 9
7.数组名作为实参数传递给函数时,数组名被处理为
( )
A.该数组的长度 B.该数组的元素个数
C.该数组的首地址 D.该数组中各元素的值
8.C语言中函数的调用的方式有( )。
A.函数调用方式作为语句1种
B.函数调用方式作为函数表达式1种
C.函数调用方式作为语句或函数表达式2种
D.函数调用方式作为语句、函数表达式或函数参数3
种
9.若有下列定义,则对a数组元素的正确应用是
( )。
int a[5],*p=a;
A.*(p+5) B.*p+2 C.*(a+2) D.*&a[5]
10.C语言中的文件类型只有( )
A.索引文件和文本文件两种
B.ASCII文件和二进制文件两种
C.文本文件一种 D.二进制文件一种
试题八、程序填空(每空2分,共20分)
1.以下程序以每一行输出4个数据的形式输出a数组。
#include "stdio.h"
main()
{ int a[20],i;
for(i=0;i<20;i++) scanf("%d", (1) );
for(i=0;i<20;i++)
{if( (2) ) (3)
printf("%3d",a[i]);
}printf("n");}
2.以下程序根据对x的输入,求1到x的累加和。
float fun(int n)
{int i; float c;
(4)
for(i=1;i<=n;i++) c+=i;
(5) ; }
main()
{int x;
20
scanf("%d", (6) );
printf("%fn",fun(x));}
3.爱因斯坦的阶梯问题。设有一阶梯,每跨2阶,
最后余1阶;每跨3阶,最后余2阶;每跨5阶,最
后余4阶;每跨6阶,最后余5阶;只有每步跨7阶
时,正好到阶梯顶。问共有多少阶梯。
main()
{ int ladders= (7) ;
while (8)
{ ladders=ladders+14;}
printf("Filight of stairs=%dn",ladders);}
4.以下程序调用函数swap1将指针s和t所指单元(a
和b)中的内容交换。
main()
{int a=10,b=20,*s,*t;
s=&a;t=&b;
swap1(&s,&t);
printf("%d,%dn",a,b);
}
swap1(int **ss,int **tt)
{int term;
term= (9) ;
**ss=(10) ;
**tt=term; }
试题九、填空题(每空2分,共10分)
1.下面程序的运行结果是 (1) 。
main()
{int x,y,z;
x=24 ;y=024 ;z=0x24 ;
printf("%d,%d,%dn",x,y,z); }
2.下面程序的运行结果是 (2) 。
s=7;
do s-=2;while(s==0);
printf("s=%dn",s);
3.下面程序的运行结果是 (3) 。
int fact(int n)
{int i,f=1;
for(i=1;i<=n;i++)f=f*i;
return(f); }
main()
{printf("%dn",fact(5)); }
4.下面程序的运行结果是 (4) 。
#define CR(r) r*r
main()
{int a=1,b=2,t;
t=CR(a+b);
printf("%dn",t); }
5.下面程序的运行结果是 (5) 。
main()
{union un
{int a;
char c[2] ;
}w ;
w.c[0]='A' ;w.c[1]='a' ;
printf("%on",w.a);}
试题十、问答题(每空2分,共10分)
1.设x=2.5,a=7,y=4.7,算术表达式
x+a%3*(int)(x+y)%2/4的值为 (1) 。
2.若k为整数,则while循环 (2) 。
k=10;while(k==0)k=k-1;
3.若输入ab程序运行结果是 (3) 。
main()
{static char a[2];
scanf("%s",a);
printf("%c,%c",a[1],a[2]);}
4.以下程序的运行结果是 (4) 。
#include "stdio.h"
main()
{int a=1,b=2,c=3,d=4,e=5;
printf("%dn ",func((a+b,b+c,c+a),(d,e)));}
int func(int x,int y)
{return(x+y);}
5.下列程序的输出结果 (5) 。
#include "stdio.h"
main()
{ int a[]={1,2,3,4,5,6},*p;
p=a;
*(p+3)+=2;
printf("%d,%dn",*p,*(p+3));}
试卷3答案
试题一、基础知识选择题(每小题1分,共6分)
1-6 ADCCAB
试题二、Windows选择题(每小题1分,共6分)
1-6 CBAAAD
试题三、Word选择题(每小题1分,共6分)
1-6 AAABAA
试题四、综合选择题(每小题1分,共6分)
1-6 DAABDC
试题五、判断题(每小题1分,共6分)
1-6 ×√×√√√
试题六、判断题(每小题2分,共10分)
1-5 √√√××
试题七、选择题(每题2分,共20分)
1-5 BDDBC 6-10 CCDCB
试题八、程序填空(每空2分,共20分)
(1)&a[i] (2) i%4==0 (3)printf("n");
(4)c=0 (5)return c或return(c)
(6)&x (7)7
(8)!(ladders%3==2&&ladders%5==4&&ladders%6==5&
&ladders%7==0)
(9)**ss (10) **tt
试题九、填空题(每空2分,共10分)
(1)24,20,36 (2)s=5 (3) 120 (4)5
(5)60501
试题十、问答题(每空2分,共10分)
(1)2.5 (2)一次也不执行 (3)b, (4)9 (5)1,6
1. 其他进制转十进制:将二进制数、八进制数、十六进制数的各位数字分别乘以各自基数的(N-1)次方,其相加
之和便是相应的十进制数,这是按权相加法。
2. 十进制转其他进制:整数部分用除基取余法,小数部分用乘基取整法,然后将整数与小数部分拼接成一个数
作为转换的最后结果。
3. 二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的
数字来表示,不足三位的用0补足。
4. 八进制转二进制:与二进制转八进制相反。
5. 二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进
制的数字来表示,不足四位的用0补足。
6. 十六进制转二进制:与二进制转十六进制相反。
7. 八进制转十六进制:通常将八进制转换成二进制,然后通过二进制再转换成十六进制。
8. 十六进制转八进制:通常将十六进制转换成二进制,然后通过二进制再转换成八进制
【例题1-1】 十进制数1000对应二进制数为______,对应十六进制数为______。
21
供选择的答案
A:① 1111101010 ② 1111101000 ③ 1111101100 ④ 1111101110
B:① 3C8 ② 3D8 ③ 3E8 ④ 3F8
【例题1-2】 十进制小数为0.96875对应的二进制数为______,对应的十六进制数为______。
供选择的答案
A:① 0.11111
B:①
供选择的答案
A:① 62 ② 63 ③ 64 ④ 65
④ 2
2
+2
–3
B:① 2
3
+2
–3
供选择的答案
A:① 1000000 ② 1100000
③ 1100100
② 1–(2
–3
+2
–4
)
④ 1–2
–3
–2
–4
–2
–6
④ 1101000
B:① 2
–1
+2
–2
+2
–4
+2
–5
③ 1+(–2
–3
–2
–4
)
② 2
2
+2
–2
③ 2
3
+2
–2
② 0.111101
② 0.F8
③ 0.111111
③ 0.F2
④ 0.1111111
④ 0.F1
【例题1-3】 二进制的1000001相当十进制的______,二进制的100.001可以表示为______。
【例题1-4】 十进制的100相当于二进制______,十进制的0.110011相当二进制的______。
【例题1-5】 八进制的100化为十进制为______,十六进制的100化为十进制为______。
供选择的答案
A:① 80 ② 72 ③ 64 ④ 56
B:① 160 ② 180 ③ 230 ④ 256
【例题1-6】 在答案群所给出的关系式中正确的为______,在给出的等式中不正确的为______。
供选择的答案
A:① 0.111
2
<0.75
10
② 0.78>0.C
16
③ 0.6
10
>
16
④ 0.101
2
<0.A
16
B:① 0.875
10
=0.E
16
③ 0.101
2
=0.A
16
② 0.74
8
=0.9375
10
④ 0.31
16
=0.1418
【例题1-7】 十六进制数FFF.C
H
相当十进制数______。
供选择的答案
A:① 4096.3 ② 4096.25 ③ 4096.75 ④ 4095.75
【例题1-8】 2005年可以表示为______ 年;而3730
8
年是指______ 年。
供选择的答案
A:① 7C5
H
B:① 2000
10
② 6C5
H
② 2002
10
③ 7D5
H
③ 2006
10
④ 5D5
H
④ 2008
10
【例题1-9】 十六进制数123.4对应的十进制分数为______。
供选择的答案
A:① 3495 ② 3495 ③ 1165 ④ 1165
16 8 8 4
【例题1-10】 二进制数10000.00001可以表示为______;将其转换成八进制数为______;将其转换成十六进制数
为______。
供选择的答案
A:① 2
5
+2
–5
② 2
4
+2
–4
③ 2
5
+2
–4
④ 2
4
+2
–5
B:① 20.02 ② 02.01 ③ 01.01 ④ 02.02
C:① 10.10 ② 01.01 ③ 01.04 ④ 10.08
【例题1-11】 对于不同数制之间关系的描述,正确的描述为______。
供选择的答案
22
A:① 任意的二进制有限小数,必定也是十进制有限小数。
② 任意的八进制有限小数,未必也是二进制有限小数。
③ 任意的十六进制有限小数,不一定是十进制有限小数。
④ 任意的十进制有限小数,必然也是八进制有限小数。
【例题1-12】 二进制整数1111111111转换为十进制数为______,二进制小数0.111111转换成十进制数为
______。
供选择的答案
A:① 1021
B:① 0.9375
② 1023
② 0.96875
③ 1024
③ 0.984375
④ 1027
④ 0.9921875
【例题1-13】 十进制的160.5相当十六进制的______,十六进制的10.8相当十进制的______。将二进制的
0.100111001表示为十六进制为______,将十六进制的100.001表示为二进制为______。
供选择的答案
A:① 100.5
B:① 16.8
C:① 0.139
② 10.5
③ 10.8
④ A0.8
② 10.5
② 0.9C1
③ 16.5
③ 0.9C4
④ 16.4
④ 0.9C8
D:① 2
8
+2
–8
② 2
8
+2
–9
③ 2
8
+2
–10
④ 2
8
+2
–12
【例题1-14】 多项式2
12
+2
8
+2
1
+2
0
表示为十六进制为______,表示为十进制为______。
供选择的答案
A:① 16
3
+16
2
+16
–1
② 16
3
+16
2
+3/1 ③ 16
3
+16
2
+16 ④ 16
3
+16
2
+3
B:① 4353 ② 4354 ③ 4355 ④ 4356
【例题1-15】 已知a=0.1,b=0.3,c=0.4,d=0.5,e=0.6,f=0.8,若使a=c,则a为______,c为______;若
使d=f,则d为______,f为______,若使b=e,则b为______,e为______。
供选择的答案
A、B、C、D、E、F:
① 二进制数
④ 十六进制数
② 八进制数
⑤ 六进制数
③ 十进制数
⑥ 十二进制数
23
发布评论