在当今数字化时代,计算机技能已成为衡量个人综合素质的重要标尺之一。各类计算机考试应运而生,其中国家二级计算机考试作为评估考生计算机应用能力的关键平台,备受关注。计算机试题,尤其是国家二级计算机试题,不仅考验着考生的理论知识,更注重实践操作和问题解决能力的考察。本文将从试题特点、备考策略及实践意义三个方面,深入探讨国家二级计算机试题的重要性。
一、试题特点剖析
国家二级计算机考试试题涵盖了操作系统、办公软件、程序设计基础等多个领域,具有鲜明的专业性和实用性特点。试题设计既注重基础理论的考查,如数据结构与算法、数据库管理系统的基本概念,也不乏对最新技术趋势的关注,如云计算、大数据处理等。此外,实践操作题占比重大,要求考生具备将理论知识转化为实际操作的能力,如在特定软件环境下完成特定任务。
二、备考策略分享
面对复杂多变的试题,科学的备考策略尤为重要。首先,系统梳理考试大纲,明确各章节的重点难点,制定合理的学习计划。其次,理论与实践相结合,通过大量练习,尤其是模拟真题,加深对知识点的理解和掌握。同时,积极参加线上或线下的培训课程,与老师和同学交流心得,共同进步。最后,注重时间管理,模拟真实考试环境进行模拟测试,提高应试效率和心理素质。
三、试题的实战意义
国家二级计算机试题不仅是对考生知识技能的检验,更是对未来职业生涯的铺垫。通过备考,考生能够系统地掌握计算机基础知识和实用技能,为从事信息技术相关工作打下坚实基础。试题中的实践操作部分,特别是针对办公软件和编程语言的训练,能够直接应用于日常工作和项目开发中,提升工作效率和创新能力。此外,良好的考试成绩也是求职市场上的加分项,有助于在众多应聘者中脱颖而出。
四、试题背后的教育启示
国家二级计算机试题的设计,反映了我国计算机教育的发展趋势:从单一的知识传授向综合能力的培养转变。这要求教育机构在教学过程中,不仅要注重理论知识的传授,更要加强实践操作的训练,培养学生的创新思维和问题解决能力。同时,鼓励学生参与实际项目开发,通过“做中学”的方式,将理论与实践紧密结合,培养符合时代需求的复合型人才。
五、结语
总之,国家二级计算机试题不仅是检验考生计算机水平的试金石,更是推动计算机教育改革的重要力量。通过深入剖析试题特点,制定合理的备考策略,考生不仅能在考试中取得优异成绩,更能在未来的职业生涯中受益匪浅。让我们以积极的态度面对每一次挑战,不断提升自我,共同推动计算机技术的进步与发展,为构建智慧社会贡献力量。
全国计算机等级考试二级C语言历年试题及答案
2010年9月全国计算机等级考试二级C语言笔试试题及答案
一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))
(1)下列选项中不属于软件生命周期开发阶段任务的是
A)详细设计 B)概要设计 C)软件维护 D)软件测试
(2)树是结点的集合,它的根结点数目是
A)有且只有1 B)1或多于1 C)0或1 D)至少2
(3)在面向对象方法中,实现信息隐蔽是依靠
A)对象的继承 B)对象的多态 C)对象的封装 D)对象的分类
(4)程序设计语言的基本成分是数据成分、运算成分、控制成分和
A)语句成分 B)变量成分 C)对象成分 D)传输成分
(5)冒泡排序在最坏情况下的比较次数是
A)n/2 B)nlog2n C)n(n-1)/2 D)n(n+1)/2
(6)下列叙述中,不属于软件需求规格说明书的作用的是
A)作为确认测试和验收的依据
B)反映出用户问题的结构,可以作为软件开发工作的基础和依据
C)便于用户、开发人员进行理解和交流
D)便于开发人员进行需求分析
(7)下列叙述中错误的是
A)一个C语言程序只能实现一种算法 B)C程序可以由多个程序文件组成
C)C程序可以由一个或多个函数组成 D)一个函数可单独作为一个C程序文件存在
(8)下列不属于软件工程的3个要素的是
A)方法 B)过程 C)工具 D)环境
(9)下列叙述中正确的是
A)数据库系统是一个独立的系统,不需要操作系统的支持
B)数据库技术的根本目标是要解决数据的共享问题
C)数据库管理系统就是数据库系统
D)三种说法都不对
(10)下列叙述中正确的是
A)每个C程序文件中都必须有一个main()函数
B)在C程序的函数中不能定义另一个函数
C)C程序可以由一个或多个函数组成
D)在C程序中main()函数的位置是固定的
(11)将E-R图转换到关系模式时,实体与联系都可以表示成
A)属性 B)关系 C)键 D)域
(12)下列定义变量的语句中错误的是
A)double int_; B)int _int; C)char For D)float USS
(13)下列叙述中正确的是
A)C语言编译时不检查语法 B)C语言的子程序有过程和函数两种
C)C语言的函数可以嵌套定义 D)C语言的函数可以嵌套调用
(14)以下选项中,合法的一组C语言数值常量是
A) 0x8A B)12 C).177 D) 028
(15)以下叙述中正确的是
A)构成C程序的基本单位是函数
B)可以在一个函数中定义另一个函数
C)main()函数必须放在其他函数之前
D)所有被调用的函数一定要在调用之前进行定义
(16)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是
A)scanf("%d",&p); B)scanf("%d%d%d",a,b,c);
C)scanf("%d",p); D) scanf("%d",a,b,c);
(17) 有以下程序
main()
{int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是
A)2,2,3 B)2,2,2 C)2,3,1 D)2,1,1
(18) 若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&cprintf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是
A)***a=25,b=13,c=19 B)***a=26,b=14,c=19
C)### a=25,b=13,c=19 D)### a=26,b=14,c=19
(19)下列程序段的输出结果是
int a=1234;
float b=123.456;
double c=12345.54321;
printf("-,%2.1f,%2.1f",a,b,c);
A)无输出 B)12,123.5,12345.5 C)1234,123.5,12345.5 D)1234,123.4,1234.5
(20)有以下程序
main()
{int a=0,b=0;
a=10; /*给a赋值
b=20; 给b赋值 */
printf("a+b=%d\n",a+b); /* 输出计算结果 */
}
程序运行后输出结果是
A)30 B)a+b=30 C)a+b=0 D)出错
(21)若运行以下程序时,从键盘输入 ADescriptor(表示回车),则下面程序的运行结果是
#include
main()
{ char c;
int v0=1,v1=0,v2=0;
do{ switch(c=getchar())
{ case ′a′:case ′A′:
case ′e′:case ′E′:
case ′i′:case ′I′:
case ′o′:case ′O′:
case ′u′:case ′U′:v1+=1;
default:v0+=1;v2+=1;
}
} while(c!=′\n′);
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
}
A)v0=11,v1=4,v2=11 B)v0=8,v1=4,v2=8
C)v0=7,v1=4,v2=7 D)v0=13,v1=4,v2=12
(22) 有以下程序
#include
main()
{int y=9;
for( y>0;y--)
if(y%3= =0) printf("%d",--y);
}
程序的运行结果是
A)732 B)433 C)852 D)874
(23) 设有以下程序段
int x=0,s=0;
while(!x!=0)s+=++x;
printf("%d",s);
则
A)运行程序段后输出0 B)运行程序段后输出1
C)程序段中的控制表达式是非法的 D)程序段执行无限次
(24)有以下程序
fun(int x,int y){return(x+y);}
main()
{int a=1,b=2,c=3,sum;
sum=fun((a++,b++b,a+b),c++);
printf("%d\n",sum);
}
执行后的输出结果是
A)5 B)7 C)8 D)3
(25)执行下面的程序段后,变量k中的值为
int k=3, s[2];
s[0]=k; k=s[1]*10;
A)不定值 B)35 C)31 D)20
(26)以下叙述中错误的是
A)改变函数形参的值,不会改变对应实参的值
B)函数可以返回地址值
C)可以给指针变量赋一个整数作为地址值
D)当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL
(27)以下程序段的描述,正确的是
x=-1;
do
{x=x*x;} while(!x);
A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误
(28)有以下程序
fun(int x,int y)
{static int m=0,i=2;
i+=m+1;m=i+x+y; return m;
}
main()
{int j=1,m=I,k;
k=fun(j,m); printf("%d",k);
k=fun(j,m); printf("%d\n",k)
}
执行后的输出结果是
A)5,5 B)5,11 C)11,11 D)11,5
(29)有以下程序
fun(int x)
{int p;
if(x==0║x= =1) return(3);
p=x-fun(x=2);
retum p;
}main()
{ prinf("%d\n",fun(7));}
执行后的输出结果是
A)7 B)3 C)3 D)0
(30)在16位编译系统上,右有定义int a[ ]={10,20,30},*p=&a;,当执行p++;后,下列说法错误的是
A)p向高地址移了一个字节 B)p抽高地址移了一个存储单元
C)p向高地址移了两个字节 D)p与a+1等价
(31)有以下程序
main()
{int a=1,b=3,c=5;
int *p1=&a,*p2=&b,*p=&c;
*p=*p1*(*p2);
printf("%d\n",c);
}
执行后的输出结果是
A)1 B)2 C)3 D)4
(32)下列程序执行后的输出结果是
void func1(int i);
void func2(int i);
char st[]="hello,friend!";
void func1(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func2(i);}
}
void func2(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func1(i);}
}
main()
{ int i=0; func1(i); printf("\n");}
A)hello B)hel C)hlo D)hlm
(33)在下述程序中,判断i>j共执行的次数是
main()
{ int i=0, j=10, k=2, s=0;
for (;;)
{ i+=k;
if(i>j)
{ printf("%d",s);
break;
} s+=i;
}
}
A)4 B)7 C)5 D)6
(34)以下函数返回a所指数组中最大值所在的下标值
fun(int *a,int n)
{ int i,j=0,p;
p=j;
for(i=j;iif(a[i]>a[p]);
return(p);
}
在下划线处应填入的内容是
A)i=p B)a[p]=a[i] C)p=j D)p=i
(35)下列程序执行后的输出结果是
main()
{ int a[3][3], *p,i;
p=&a[0][0];
for(i=1; i<9; i++)p[i]=i+1;
printf("%d\n",a[1][2]);
}
A)3 B)6 C)9 D)随机数
(36) 有以下程序
#include
void fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/
{int t,i,j;
for(i=0;ifor(j=i+1;jif (a}
main()
{int c[10]={1,2,3,4,5,6,7,8,9,0},i;
fun(c+4,6);
for (i=0;i<10;i++) printf("%d,",c);
printf("\n");
}
程序运行的结果是
A)1,2,3,4,5,6,7,8,9,0, B)0,9,8,7,6,5,1,2,3,4,
C) 0,9,8,7,6,5,4,3,2,1, D)1,2,3,4,9,8,7,6,5,0,
(37)以下程序的输出结果是#include
void prt (int *x, int*y, int*z)
{ printf("%d,%d,%d\n",++*x,++*y,*(z++));}
main()
{ int a=10,b=40,c=20;
prt (&a,&b,&c);
prt (&a,&b,&c);
}
A)11,42, 31
12,22,41
B)11,41,20
12,42,20
C)11,21,40
11,21,21
D)11,41,21
12,42,22
(38) 有以下程序:
#include
void fun(char *t,char *s)
{
while(*t!=0)t++;
while((*t++=*s++)!=0);
}
main()
{
char ss[10]=”acc”,aa[10]=”bbxxyy”;
fun(ss,aa);
printf(“%s,%s\n”,ss,aa);
}
程序运行结果是
A) accxyy , bbxxyy B) acc, bbxxyy
C) accxxyy,bbxxyy D) accbbxxyy,bbxxyy
(39) 有以下程序
#include
main()
{ FILE *fp; int i=20,j=30,k,n;
fp=fopen("d1.dat","w");
fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);
fclose(fp);
fp=fopen("d1.dat","r");
fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);
fclose(fp);
}
程序运行后的输出结果是
A)20 30 B)20 50 C)30 50 D)30 20
(40) 有以下程序
main()
{int x[3][2]={0},I;
for(I=0;I<3;I++) scanf("%d",x[i]);
printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);
}
若运行时输入:246,则输出结果为
A)2 0 0 B)2 0 4 C)2 4 0 D)2 4 6
(41)有以下程序
int add(int a,int b){return+b};}
main()
{int k,(*f)(),a=5,b=10;
f=add;
…
}
则以下函数调用语句错误的是
A)k=(*f)(a,b); B)k=add(a,b); C)k=*f(a,b); D)k=f(a,b);
(41)有以下程序
#include
main(int argc,char *argv[])
{int i=1,n=0;
while(i<arge){n=n+strlen(argv[i]);i++;}
printf(“%d\n”,n);
}
该程序生成的可执行文件名为:proc.exe。若运行时输入命令行:
proc 123 45 67
则程序的输出结果是
A)3 B)5 C)7 D)11
(42)有以下程序
void fun2(char a, char b){printi(“%b%c”,a,b);}
char a= ‘A’,b= ‘B’;
void fun1( ){ a= ‘C’l b= ‘D’; }
main( )
{ fun1( )
printf( “%c%c”,a,b);
fun2(‘E’, ‘F’);
}
程序的运行结果是
A)CDEF B)ABEF C)ABCD D)CDAB
(43)有以下程序
#include
#define N 5
#define M N+1
#define f(x) (x*M)
main()
{int i1,i2;
i1=f(2);
i2=f(1+1);
printf(“%d %d\n”,i1,i2);
}
程序的运行结果是
A)12 12 B)11 7 C)11 11 D)12 7
(44)设有以下语句
typedef struct TT
{char c; int a[4];}CIN;
则下面叙述中正确的是
A)可以用TT定义结构体变量 B)TT是struct类型的变量
C)可以用CIN定义结构体变量 D)CIN是struct TT类型的变量
(45)有以下结构体说明、变量定义和赋值语句
struct STD
{char name[10];
int age;
char sex;
}s[5],*ps;
ps=&s[0];
则以下scanf函数调用语句中错误引用结构体变量成员的是
A)scanf(“%s”,s[0].name); B)scanf(“%d”,&s[0].age);
C)scanf(“%c”,&(ps>sex)); D)scanf(“%d”,ps>age);
(46)若有以下定义和语句
union data
{ int i; char c; float f;}x;
int y;
则以下语句正确的是
A)x=10.5; B)x.c=101; C)y=x; D)printf(“%d\n”,x);
(47)若变量已正确定义,则以下语句的输出结果是
s=32; s^=32;printf(“%d”,s);
A)-1 B)0 C)1 D)32
(48) 若程序中有宏定义行:#define N 100 则以下叙述中正确的是
A)宏定义行中定义了标识符N的值为整数100
B)在编译程序对C源程序进行预处理时用100替换标识符N
C) 对C源程序进行编译时用100替换标识符N
D)在运行时用100替换标识符N
(49)以下叙述中正确的是
A)C语言中的文件是流式文件,因此只能顺序存取数据
B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
(50)有以下程序
#include
main()
{FILE *fp; int i;
char ch[]=”abcd”,t;
fp=fopen(“abc.dat”,”wb+”);
for(i=0;i<4;i++)fwriter&ch[],1,1fp;
fseek(fp,-2L,SEEK_END);
fread(&t,1,1,fp);
fclose(fp);
printf(“%c\n”,t);
}
程序执行后的输出结果是
A)d B)c C)b D)a
二、填空题(每空2分,共40分)
(1)在面向对象方法中,类之间共享属性和操作的机制称为 【1】 。
(2)一个关系表的行称为 【2】 。
(3)耦合和内聚是评价模块独立性的两个主要标准,其中 【3】 反映了模块内各成分之间的联系。
(4)线性表的存储结构主要分为顺序存储结构和链式存储结构.队列是一种特殊的线性表,循环队列是队列的【4】存储结构.
(5) 【5】 的任务是诊断和改正程序中的错误。
(6) 以下程序的输出结果是【6】.
#include
main()
{ int n=12345,d;
while(n!=0){ d=n%10; printf("%d",d); n/=10;}
}
(7)以下程序运行后的输出结果是 【7】 。
main()
{
int m=011,n=11;
printf("%d %d\n",++m,n++);
}
(8)有以下程序,若运行时从键盘输入:18,11,则程序输出结果是 【8】 。
main()
{ int a,b;
printf("Enter a,b:");scanf("%d,%d",&a,&b);
while(a!=b)
{ while(a>b) a-=b;
while(b>a) b-=a;
}
printf("%3d%3d\n",a,b);
}
(9) 有以下程序段,且变量已正确定义和赋值
for(s=1.0,k=1;k<=n;k++) s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
请填空,使下面程序段的功能为完全相同
s=1.0;k=1;
while(_【9】_){ s=s+1.0/(k*(k+1)); _【10】_;}
printf("s=%f\n\n",s);
(10)执行以下程序的输出结果是【11】.
#include
main()
{ int i,n[4]={1};
for(i=1;i<=3;i++)
{ n=n[i-1]*2+1; printf("%d",n); }
}
(11)以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.请填空.
#include
viod f(int x[],int n)
{ int p0,p1,i,j,t,m;
i=j=x[0]; p0=p1=0;
for(m=0;m{ if(x[m]>i) {i=x[m]; p0=m;}
else if(x[m]}
t=x[p0]; x[p0]=x[n-1]; x[n-1]=t;
t=x[p1];x[p1]= _【12】_; 【13】=t;
}
main()
{ int a[10],u;
for(u=0;u<10;u++) scanf("%d",&a);
f(a,10);
for(u=0;u<10;u++) printf("%d",a);
printf("\n");
}
(12)下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新的字符串。例如,若t所指字符串为efgh,调用strcpy2后,s所指字符串为efghefgh。请填空。
#include
#include
void strcpy2(char *s,char *t)
{ char *p=t;
while(*s++=*t++);
s= 【14】 ;
while( 【15】 =*p++);
}
main()
{ char str1[100]="abcd",str2[]="efgh";
strcpy2(str1 ,str2); printf("%s\n",str1);
}
(13)以下程序统计从终端输入的字符中大写字母的个数,num[0]中统计字母A的个数,num[1]中统计字母B的个数,其它依次类推.用#号结束输入,请填空.
#include
#include
main()
{ int num[26]={0},i; char c;
while((_【16】_)!='#')
if(isupper(c)) num[c-‘A’]+= 【17】_;
for(i=0;i<26;i++)
Printf("%c:%d\n",i+'A',num);
}
(14)以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
请填空。
#include "math.h"
double fun(double x) { return(x*x-2*x+6); }
main()
{
double x,y1,y2;
printf("Enter x:"); scanf("%lf",&x);
y1=fun( 【18】 );
y2=fun( 【19】 );
printf("y1=%lf,y2=%lf\n",y1,y2);
}
(15) 以下程序的输出结果是_【20】.
#include
#define M 5
#define N M+M
main()
{ int k;
k=N*N*5; printf("%d\n",k);
}
一、选择题答案:
1-10:CACDC DADBA 11-20:BDDBA CCCCB 21-30:DCBCA CCBCA
31-40:CCDAB DCDAB 41-50:CABCD BBBDB
二、填空题答案:
1.继承 2. 元组 3.内聚 4.顺序 5. 程序调试
6. 54321 7.10 11 8. 1 9.k<=n k++
10. 3 7 5 11.x[0] x[0] 12.s--,*s++ 13.c=getchar() 14. (x+8),sin(x) 15.55
希望对你有所帮助
全国计算机二级MS office操作试题及答案(2)
参考答案
一、字处理题
1.【解题步骤】
步骤1:打开考生文件夹下的WORD.DOCX。
步骤2:单击【页面布局】选项卡下【页面设置】组中的“对话框启动器”按钮,弹出“页面设置”对话框。切换至“纸张”选项卡,选择“纸张大小”组中的“B5”命令。设置好后单击“确定”按钮即可。
步骤3:按照上面同样的方式打开“页面设置”对话框中的“页边距”选项卡,在“左”微调框和“右”微调框中皆设置为“2厘米”,在“装订线”微调框中设置为“1厘米”,在“多页”下拉列表框中选择“对称页边距”。设置好后单击“确定”按钮即可。
2.【解题步骤】
步骤1:选中第一行“黑客技术”文字,单击【开始】选项卡下【样式】组中的“标题l”命令。
步骤2:选中文档中的黑体字,单击【开始】选项卡下【样式】组中的“标题2”命令。
步骤3:选中文档中的斜体字,单击【开始l选项卡下【样式】组中的“标题3”命令。
3.【解题步骤】
步骤1:选中正文第l段,单击【开始】选项卡【编辑】组中的“选择”下拉按钮,选中“选定所有格式类似的文本”按钮,在【开始】选项卡下【字体】组中“字号”下拉列表中选择“四号”选项。
步骤3:单击【开始】选项卡下【段落】组中的“对话框启动”按钮,弹出“段落”对话框,切换至“缩进和间距”选项卡,单击“缩进”选项中“特殊格式”下拉按钮,在弹出的下拉列表框中选择“首行缩进”,在“磅值”微调框中调整磅值为“2字符”。在“间距”选项中单击“行距”下拉按钮,在弹出的下拉列表框中选择“多倍行距”,设置“设置值”微调框中为“l.2”。
4.【解题步骤】
步骤1:选中正文第一段,单击【插入】选项卡下【文本】组的“首字下沉”下拉列表中的“首字下沉选项”按钮。
步骤2:在弹出的“首字下沉”对话框中,在“位置”组中选择“下沉”,在“下沉行数”微调框中设置为“2”。
5.【解题步骤】
步骤1:将鼠标光标移至“黑客技术”最左侧,单击【引用】选项卡下【目录】组中“目录”按钮,在弹出的下拉列表中选择“自动目录一”。
步骤2:在生成的目录中将“黑客技术”目录一行删除。
6.【解题步骤】
步骤1:双击目录页码处,在【页眉和页脚工具】|【设计】选项下的【选项】组中勾选“首页不同”选项,之后目录页即不显示页码。
步骤2:光标移至正文第1页页码处,在【页眉和页脚工具|【设计】选项下的【选项】组中勾选“奇偶页不同”选项。
步骤3:将鼠标光标定位在第一页码处,单击【插入】选项卡下【页眉和页脚】组中的“页码”按钮,在弹出的下拉列表中选择“页面底端”级联菜单中的“普通数字3”。
步骤4:在【页眉和页脚】组中单击“页码”下拉按钮,在弹出的下拉列表中选择“设置页码格式”,弹出“页码格式”对话框,选中“起始页码”单选按钮,设置为1。
步骤5:将鼠标光标移至第二页中,单击【插入】选项卡下【页眉和页脚】组中“页码”按钮,在弹出的下拉列表中选择“页面底端的”级联菜单中“普通数字1”。
步骤6:双击第二页页眉处,在页眉输入框中输入“黑客技术”。
7.【解题步骤】
步骤1:单击【插入】选项卡下【插图】组中“表格”按钮,在弹出的下拉列表中选择“插入表格”选项。
步骤2:在弹出的“插入表格”对话框中,在“列数”微调框和“行数”微调框中分别设置为“2”和“6”。设置好后单击“确定”按钮即可。
步骤3:在页面显示的表格中,选中表格的第一行,单击鼠标行键,在弹出的快捷菜单中选择“合并单元格”命令。
步骤3:分别将最后五行文字依次移动到表格中。移动后的效果。
步骤4:选中表格,单击【开始】选项卡下【段落】组中“居中”按钮。
步骤5:选中表格中第一行标题文字,单击【开始】选项卡下【段落】组中“居中”按钮。
8.【解题步骤】
步骤:单击【页面布局】选项卡下【主题】组中“主题”按钮,在弹出的下拉列表中选择一个合适的主题,此处我们选择“波形”主题。
二、电子表格题
1.[解题步骤]
步骤l:打开考生文件夹下的“开支明细表.flax”素材文件.
步骤2:选择“小赵的美好生活”工作表,在工作表中选择[Al:Ml]单元格,切换到[开始]选项卡,单击[对齐方式]下的[合并后居中]按钮.输入“小赵2013年开支明细表”文字,按Enter键完成输入.
2.[解题步骤]
步骤l:选择工作表标签,单击鼠标右键,在弹出的快捷菜单中选择[工作表标签颜色],为工作表标签添加“橙色”主题.
步骤2:选择[Al:Ml]单元格,将[字号l设置为“18”,将[行高]设置为“35”,将[列宽]设置为.“l6”.选择[A2:Ml5]单元格,将[字号]设置为“l2”,将[行高]设置为“l8”,[列宽]设置为“l6”.
步骤3:选择[A2:Ml5]单元格,切换到[开始]选项卡,在[对齐方式]选项组中单击对话框启动器按钮,弹出[设置单元格格式]对话框,切换到[对齐]选项卡,将[水平对齐]设置为“居中”,如图1.22所示.
步骤4:切换到[边框]选项卡,选择默认线条样式,将颜色设置为“标准色”中的“深蓝”,在[预置]选项组中单击[外边框]和[内部]按钮,如图l.23所示.
步骤5:切换到[填充]选项卡,选择一种背景颜色,如图l.24所示,单击“确定”按钮.
3.[解题步骤]
步骤:选择B3:Ml5,在选定内容上单击鼠标右键,在弹出的快捷菜单中选择[设置单元格格式],弹出[设置单元格格式]对话框,切换至[数字]选项卡,在[分类]下选择[货币],将[小数位数]设置为“0”,确定[货币符号]为人民币符号(默认就是),单击“确定”按钮即可,如图l.25所示.
4.[解题步骤]
步骤l:选择M3单元格,输入“=SUM(B3:L3)”后按Enter键确认,拖动M3单元格的填充柄填充至M15单元格;选择815单元格,输入“=AVERAGE(B3:B14)”后按Enter键确认,拖动815单元格的填充柄填充至Ll5单元格.
步骤2:选择[A2:Ml4],切换至[数据]选项卡,在[排序和筛选]选项组中单击[排序]按钮,弹出[排序]对话框,在[主要关键字]中选择[总支出],在[次序]中选择[升序],单击“确定”按钮,如图1.26所示.
5.[解题步骤]
步骤l:选择[B3:Ll4]单元格,切换至[开始]选项卡,单击[样式]选项组下的[条件格式]下拉按钮,在下拉列表中选择[突出显示单元格规则]-[大于],在“为大于以下值的单元格设置格式”文本框中输入“1000”,使用默认设置“浅红填充色深红色文本”,单击“确定”按钮,如图l.27所示.
步骤2:选择[M3:Ml4]单元格.切换至[开始]选项卡,单击[样式]选项组下的[条件格式]下拉按钮,在弹出的下拉列表中选择[突出显示单元格规则]-[大于],在“为大于以下值的单元格设置格式”文本框中输入“=$M$15$110%”,设置颜色为“黄填充色深黄色文本”,单击“确定”按钮.如图l.28所示.
更多计算机二级相关试题推荐:
s("download_bottom");
9月计算机二级MS office测试题及答案(2)
参考答案与解析
1.B
【解析】在实际应用中,队列的顺序存储结构一般采用循环队列的`形式。
2.C
【解析】一般来说,在线性表的链式存储结构中,各数据结点的存储序号是不连续的,并且各结点在存储空间中的位置关系与逻辑关系也不一致。线性链表中数据的插入和删除都不需要移动表中的元素,只需改变结点的指针域即可。
3.A
【解析】根据二叉树的性质3:在任意一棵二叉树中,度为0的叶子结点总是比度为2的结点多一个,所以本题中度为2的结点是5-1=4个,所以度为1的结点的个数是25-5-4=16个。
4.B
【解析】数据库系统的三级模式是概念模式、外模式和内模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,所以选择B。
5.A
【解析】实体完整性约束要求关系的主键中属性值不能为空值,所以选择A。
6.C
【解析】如果S=T/R,则S称为T除以R的商。在除运算中S的域由T中那些不出现在R中的域所组成,对于S中的任一有序组,由它与关系R中每个有序组所构成的有序组均出现在关系T中。所以本题选择C。
7.A
【解析】软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。所以选择A。
8.D
【解析】需求分析阶段的工作有:需求获取;需求分析;编写需求规格说明书;需求评审,所以选择D。
9.B
【解析】黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择B。
10.C
【解析】系统结构图是对软件系统结构的总体设汁的图形显示。在需求分析阶段,已经从系统开发的角度出发,把系统按功能逐次分割成层次结构,是在概要设计阶段用到的。PAD图是在详细设计阶段用到的。程序流程图是对程序流程的图形表示,在详细设计过程中用到。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的而非软件设计时用到,所以选择C。
11.A
【解析】CAI——计算机辅助设计,CAM——计算机辅助制造,CIMS——计算机集成制造系统,CAI——计算机辅助教学。
12.C
【解析】ASCII码的值如下:48~57为0到9十个阿拉伯数字;65~90为26个大写英文字母;97~122号为26个小写英文字母。
13.B
【解析】字长是CPU的主要技术指标之一,指的是CPU一次能并行处理的二进制位数。字长总是8的整数倍,通常PC机的字长为16位(早期)、32位、64位。
14.D
【解析】操作系统是管理计算机硬件资源控制其他程序运行并为用户提供交互操作界面的系统软件的集合。UNIX是一个强大的多用户、多任务操竹系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统。Linux是一种自由和开放源码的类Unix操作系统,MS DOS是磁盘操作系统。MS Office是办公软件而非操作系统。
15.C
【解析】计算机病毒,是指编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码,具有寄生性、破坏性、传染性、潜伏性和隐蔽性。计算机本身对计算机病毒没有免疫性。
16.C
【解析】汇编语言程序相对于机器语言程序具有良好的可移植性。
17.B
【解析】一个完整的计算机系统主要由计算机硬件系统和软件系统两大部分组成。
18.C
【解析】计算机网络是以能够相互共享资源的方式互连起来的自治计算机系统的集合,也即在协议控制下的多机互联系统。
19.A
【解析】用来存储当前正在运行的应用程序和其相应数据的存储器是RAM。
20.C
【解析】政府部门网站的域名代码是gov。
更多计算机二级考试相关试题分享:
计算机试题
高校计算机等级考试模拟试题(Visual Basic部分)(一)
资源来源: office教程网() 详细出处参考:http://;ArtRead.asparticleid=636
一、单项选题
1、 从功能上讲,Visual Basic 6.0有3种版本,下列不属于这3种版本的是( ) 。
A、学习版 B、标准版 C、专业版 D、企业版
2、为了同时改变一个活动控件的高度和宽度,正确的操作是( )。
A、 拖拉控件4个角上的某个小方块
B、 只能拖拉位于控件右下角的小方块
C、 只能拖拉位于控件左下角的小方块
D、 不能同时改变控件的高度和宽度
3、VB把开发一个应用程序视为一项工程,用创建工程的方法来创建一个应用程序,并利用()窗口来管理工程。
A、工程资源管理器 B、属性
C、窗体 D、窗体布局
4、下列哪个是“面向对象的程序设计”的缩写。
A、OLE B、OOP C、OCX D、ODBC
5、不属于VB三种工作模式的是( ):
A、设计模式 B、运行模式 C、调试模式 D、中断模式
6、关于VB中程序运行的方式,以下说法正确的是( )。
A、 只能使用解释运行模式
B、 只能使用编译运行模式
C、 既不能使用解释运行模式,也不能使用编译运行模式
D、 既能使用解释运行模式,又能使用编译运行模式
7、在VB6.0的集成开发环境中调试程序时,用户可直接在( )窗口中用Print方式或直接在程序中用Debug.print方法显示表达式的值。
A、代码 B、属性
C、窗体 D、立即
8、一个VB工程中工程文件的扩展名是( )。
A、.vbp B、.frm C、.frx D、.bas
9、下列关于VB6.0的安装,说法错误的是( )。
A、 有三种安装方式:典型安装、自定义安装和最小安装
B、 VB6.0可从Visual Studio6.0产品的第一张盘上安装
C、 VB6.0的联机帮助文件会随VB6.0系统而自动安装
D、 系统安装好后,可根据需要添加或删除某些组件
10、下列语句有语法错误的是( )。
A、a=5 B、b=a C、b=“a” D、5=a
11、执行下面的语句后,所产生的信息框的标题是( )。
a=MsgBox(“aaaa”,5 ,”bbbb”)
A、bbbb B、aaaa C、空 D、5
12、假定Picture1,Form1,text1,label1分别为图片框、窗体、文本框、标签的名称,程序代码如下,单击图片框时,清除下列哪个对象的内容()。
Private Sub Picture1_Click(
Cls
End Sub
A、Picture1 B、text1 C、Form1 D、Label1
13、语句x=inputbox(“please input a number”,”input”,3)的作用为()。
A、 此句含有语法错误,无法判断
B、 显示一个输入框,其默认值为3
C、 用于信息输出
D、 显示一个对话框,可以同时输入3个值
14、下列语句中,( )语句可以使窗体移动到(200,40),并将高度设置为3000,宽度为6000。
A、 Command1.Move 200,40,6000,3000
B、 Move 200,40,6000,3000
C、 Move 40,200,6000,3000
D、 Move 200,40,3000,6000
15、StrReverse(”abcD”)的值为()。
A、dCBA B、dcba C、Dcba D、DABC
16、关于逻辑型数据,下列说法错误的是( )。
A、 逻辑型数据只有两种可能值:True或者False
B、 当把逻辑值转换为数值时False转为0,True转为1
C、 当把其他类型数据转换为逻辑数据时,非0数转换为True,0转换为False
D、 逻辑型数据以2个字节存储
17、产生大于等于10且小于20的随机整数的表达式为()。
A、Int(Rnd(10)+10) B、Int(Rnd*10+10)
C、Int(Rnd*10+11) D、Int(Rnd*20-10)
18、数学式子sin25。 写成VB表达式是( )。
A、sin25 B、sin(25) C、sin(25。) D、sin(25*3.14/180)
19、“+”用作字符串连接符时,下列说法正确的是( )。
A、 连接符两旁的操作符只能为数值型
B、 连接符两旁的操作符只能为字符型
C、 连接符两旁的操作符既可为数值型,也可为字符型
D、 连接符两旁的操作符既不能为数值型,也不能为字符型
20、“&”用作字符串连接符时,下列说法正确的是( )。
A、连接符两旁的操作符只能为数值型
B、连接符两旁的操作符只能为字符型
C、连接符两旁的操作符既可为数值型,也可为字符型
D、连接符两旁的操作符既不能为数值型,也不能为字符型
21、在标准模块的声明部分中,下列语句的作用为( )。
Option Explicit
A、 一个可执行语句,无特殊作用
B、 规定此模块中的任何变量都需要先声明再使用
C、 表明此模块为标准模块
D、 无特殊作用,可删除
22、对于定义Dim my1,my2,my3 as single,以下说法中正确的为()。
A、 my1,my2与my3都被定义为单精度型
B、 my1被定义为变体类型,my2,my3被定义为单精度型
C、 my1,my2被定义为变体类型,my3被定义为单精度型
D、 my1,my2,my3都被定义为变体类型
23、若要使标签成为透明,可通过设置( )属性来实现。
A. BackCOlor B. BackStyle C. BorderStyle D. ForeColor
24、运行时,若要获得文本框中所选定的文本,可通访问( )属性来实现。
A. SelStart B. SelLength C. Text D. SelText
25、户在组合框中所输入的数据,可通过访问组合框对象的( )属性来获得。
A. Text B. List C. List index D. ListCount
26、要将文本框中的字体设为“粗体”,可设置()的属性为True。
A. FontBold B. BackItalic C. FontName D. FontSize
27、要将文本框前景颜色设为蓝色,可设置( )的属性为vbBlue。
A. ForColor B. BackColor C. BackStyle D. BorderStyle
28、本框的双击事件是( )。
A. Value B. DblClick( ) C. Name D. Click( )
29、若要将命令按钮设置为默认按钮,可设置( )属性为True来实现。
A. Cancel B. Value C. Enabled D.Default
30、标签的边框由( )属性的设置来决定。
A. BackCOlor B. BackStyle C. BorderStyle D. AutoSize
31、要使标签的大小自动与所显示的文本相适应,可通过设置( )属性的值为True来实现。
A. AutoSize B. Alignment C. Apperance D. Visible
32、本框中内容的对齐方式,由( )属性值决定。
A. Text B. Name C. Caption D. Alignment
33、若要设置文本框最大可接收的字符数,可通设置( )属性值来实现。
A. Mulltline B. Length C. Min D. MaxLenght
34、要求向文本框输入密码时,只在文本框中显示&号,则应当在此文本框的属性窗口中设置()。
A. Text属性值为 & B. Caption属性值为 &
C. password属性值为空 D. Passwordchar属性值为 &
35、要获得垂直滚动条Vscrollbar控件所能表示的最大值,可通过调用该控件的()属性来实现。
A Value B. Max C. Min D.LargeCHange
36、要获得滚动条的当前值,可通过访问( )属性来实现。
A. Text B. Value C. Max D.Min
37、要设置定时器的定时间隔设为10秒,应将( )属性值设为10000。
A. Interval B. Value C. Enabled D. Text
38、图片框(PictureBox)中显示的图形,由对象的( )属性决定。
A. Picture B. Image C. Icon D. LoadPic
39、要将图片"D:\PIC\CAR.JPG"载入到当前的图片框(PictureBox)中,应用( )命令。
A. LoadFile B. LoadPicture C. LoadPic D. LoadJPG
40、要获得当前列表项的数目,可通过访问( )属性来实现。
A Columns B. Text C. ListIndex D. ListCount
41、检查框(复选框)的当前状态可通过( )属性来访问。
A. Value B. Checked C. Selected D. Caption
42、打开通用对话框的“另存为”对话框的方法是( )
A. ShowOpen B. ShowSave C. ShowColor D. ShowFont
43、以下( )可从通用对话框的“打开”对话框中返回用户选择的文件名。
A. FileName B. Path C. FontName D. Color
44、语句:dim student(10,5,4) 定义的是一个( )维数组。
A. 1 B. 2 C. 3 D. 4
45、语句:dim S(-1 to 5) 定义的数组有( )个元素。
A. 7 B. 6 C. 5 D. 4
46、已知Eng(1)=90,Math(1)=80,Comp(1)=95,Total(1)= Eng(1)+Math(1)+Comp(1),则Total(1)=( )。
A. 265 B. 90 C. 80 D. 95
47、下面的数组定义语句正确的是( )。
A. Dim a B. Dim a C. Dim a(3,4) D. Dim a(3;4)
48、用于遍历对象集合所有元素的语句是()。
A. Do while…Loop B. For Each…Next C. While… Wend D. For… Next
49、有以下数组声明语句:Option Base 1: Dim A(3,2 to 4),则数组A有( )个元素。
A. 3 B. 4 C. 12 D. 9
50、已知一命令按钮的单击事件的代码如下,第一次单击该按钮输出的值为2,第三次单击该按钮输出的值为()。
Private Sub Command1_Click()
Static Stu(3) As Integer
For i = 2 To 3
Stu(i) = Stu(i) + i
Next i
Print Stu(2);
End Sub
A. 2 B. 4 C. 6 D. 8
资源来源: office教程网() 详细出处参考:http://;ArtRead.asparticleid=636
全国计算机等级考试二级C语言历年试题及答案
2010年9月全国计算机等级考试二级C语言笔试试题及答案
一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))
(1)下列选项中不属于软件生命周期开发阶段任务的是
A)详细设计 B)概要设计 C)软件维护 D)软件测试
(2)树是结点的集合,它的根结点数目是
A)有且只有1 B)1或多于1 C)0或1 D)至少2
(3)在面向对象方法中,实现信息隐蔽是依靠
A)对象的继承 B)对象的多态 C)对象的封装 D)对象的分类
(4)程序设计语言的基本成分是数据成分、运算成分、控制成分和
A)语句成分 B)变量成分 C)对象成分 D)传输成分
(5)冒泡排序在最坏情况下的比较次数是
A)n/2 B)nlog2n C)n(n-1)/2 D)n(n+1)/2
(6)下列叙述中,不属于软件需求规格说明书的作用的是
A)作为确认测试和验收的依据
B)反映出用户问题的结构,可以作为软件开发工作的基础和依据
C)便于用户、开发人员进行理解和交流
D)便于开发人员进行需求分析
(7)下列叙述中错误的是
A)一个C语言程序只能实现一种算法 B)C程序可以由多个程序文件组成
C)C程序可以由一个或多个函数组成 D)一个函数可单独作为一个C程序文件存在
(8)下列不属于软件工程的3个要素的是
A)方法 B)过程 C)工具 D)环境
(9)下列叙述中正确的是
A)数据库系统是一个独立的系统,不需要操作系统的支持
B)数据库技术的根本目标是要解决数据的共享问题
C)数据库管理系统就是数据库系统
D)三种说法都不对
(10)下列叙述中正确的是
A)每个C程序文件中都必须有一个main()函数
B)在C程序的函数中不能定义另一个函数
C)C程序可以由一个或多个函数组成
D)在C程序中main()函数的位置是固定的
(11)将E-R图转换到关系模式时,实体与联系都可以表示成
A)属性 B)关系 C)键 D)域
(12)下列定义变量的语句中错误的是
A)double int_; B)int _int; C)char For D)float USS
(13)下列叙述中正确的是
A)C语言编译时不检查语法 B)C语言的子程序有过程和函数两种
C)C语言的函数可以嵌套定义 D)C语言的函数可以嵌套调用
(14)以下选项中,合法的一组C语言数值常量是
A) 0x8A B)12 C).177 D) 028
(15)以下叙述中正确的是
A)构成C程序的基本单位是函数
B)可以在一个函数中定义另一个函数
C)main()函数必须放在其他函数之前
D)所有被调用的函数一定要在调用之前进行定义
(16)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是
A)scanf("%d",&p); B)scanf("%d%d%d",a,b,c);
C)scanf("%d",p); D) scanf("%d",a,b,c);
(17) 有以下程序
main()
{int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是
A)2,2,3 B)2,2,2 C)2,3,1 D)2,1,1
(18) 若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&cprintf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是
A)***a=25,b=13,c=19 B)***a=26,b=14,c=19
C)### a=25,b=13,c=19 D)### a=26,b=14,c=19
(19)下列程序段的输出结果是
int a=1234;
float b=123.456;
double c=12345.54321;
printf("-,%2.1f,%2.1f",a,b,c);
A)无输出 B)12,123.5,12345.5 C)1234,123.5,12345.5 D)1234,123.4,1234.5
(20)有以下程序
main()
{int a=0,b=0;
a=10; /*给a赋值
b=20; 给b赋值 */
printf("a+b=%d\n",a+b); /* 输出计算结果 */
}
程序运行后输出结果是
A)30 B)a+b=30 C)a+b=0 D)出错
(21)若运行以下程序时,从键盘输入 ADescriptor(表示回车),则下面程序的运行结果是
#include
main()
{ char c;
int v0=1,v1=0,v2=0;
do{ switch(c=getchar())
{ case ′a′:case ′A′:
case ′e′:case ′E′:
case ′i′:case ′I′:
case ′o′:case ′O′:
case ′u′:case ′U′:v1+=1;
default:v0+=1;v2+=1;
}
} while(c!=′\n′);
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
}
A)v0=11,v1=4,v2=11 B)v0=8,v1=4,v2=8
C)v0=7,v1=4,v2=7 D)v0=13,v1=4,v2=12
(22) 有以下程序
#include
main()
{int y=9;
for( y>0;y--)
if(y%3= =0) printf("%d",--y);
}
程序的运行结果是
A)732 B)433 C)852 D)874
(23) 设有以下程序段
int x=0,s=0;
while(!x!=0)s+=++x;
printf("%d",s);
则
A)运行程序段后输出0 B)运行程序段后输出1
C)程序段中的控制表达式是非法的 D)程序段执行无限次
(24)有以下程序
fun(int x,int y){return(x+y);}
main()
{int a=1,b=2,c=3,sum;
sum=fun((a++,b++b,a+b),c++);
printf("%d\n",sum);
}
执行后的输出结果是
A)5 B)7 C)8 D)3
(25)执行下面的程序段后,变量k中的值为
int k=3, s[2];
s[0]=k; k=s[1]*10;
A)不定值 B)35 C)31 D)20
(26)以下叙述中错误的是
A)改变函数形参的值,不会改变对应实参的值
B)函数可以返回地址值
C)可以给指针变量赋一个整数作为地址值
D)当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL
(27)以下程序段的描述,正确的是
x=-1;
do
{x=x*x;} while(!x);
A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误
(28)有以下程序
fun(int x,int y)
{static int m=0,i=2;
i+=m+1;m=i+x+y; return m;
}
main()
{int j=1,m=I,k;
k=fun(j,m); printf("%d",k);
k=fun(j,m); printf("%d\n",k)
}
执行后的输出结果是
A)5,5 B)5,11 C)11,11 D)11,5
(29)有以下程序
fun(int x)
{int p;
if(x==0║x= =1) return(3);
p=x-fun(x=2);
retum p;
}main()
{ prinf("%d\n",fun(7));}
执行后的输出结果是
A)7 B)3 C)3 D)0
(30)在16位编译系统上,右有定义int a[ ]={10,20,30},*p=&a;,当执行p++;后,下列说法错误的是
A)p向高地址移了一个字节 B)p抽高地址移了一个存储单元
C)p向高地址移了两个字节 D)p与a+1等价
(31)有以下程序
main()
{int a=1,b=3,c=5;
int *p1=&a,*p2=&b,*p=&c;
*p=*p1*(*p2);
printf("%d\n",c);
}
执行后的输出结果是
A)1 B)2 C)3 D)4
(32)下列程序执行后的输出结果是
void func1(int i);
void func2(int i);
char st[]="hello,friend!";
void func1(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func2(i);}
}
void func2(int i)
{ printf("%c",st[i]);
if(i<3){i+=2;func1(i);}
}
main()
{ int i=0; func1(i); printf("\n");}
A)hello B)hel C)hlo D)hlm
(33)在下述程序中,判断i>j共执行的次数是
main()
{ int i=0, j=10, k=2, s=0;
for (;;)
{ i+=k;
if(i>j)
{ printf("%d",s);
break;
} s+=i;
}
}
A)4 B)7 C)5 D)6
(34)以下函数返回a所指数组中最大值所在的下标值
fun(int *a,int n)
{ int i,j=0,p;
p=j;
for(i=j;iif(a[i]>a[p]);
return(p);
}
在下划线处应填入的内容是
A)i=p B)a[p]=a[i] C)p=j D)p=i
(35)下列程序执行后的输出结果是
main()
{ int a[3][3], *p,i;
p=&a[0][0];
for(i=1; i<9; i++)p[i]=i+1;
printf("%d\n",a[1][2]);
}
A)3 B)6 C)9 D)随机数
(36) 有以下程序
#include
void fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/
{int t,i,j;
for(i=0;ifor(j=i+1;jif (a}
main()
{int c[10]={1,2,3,4,5,6,7,8,9,0},i;
fun(c+4,6);
for (i=0;i<10;i++) printf("%d,",c);
printf("\n");
}
程序运行的结果是
A)1,2,3,4,5,6,7,8,9,0, B)0,9,8,7,6,5,1,2,3,4,
C) 0,9,8,7,6,5,4,3,2,1, D)1,2,3,4,9,8,7,6,5,0,
(37)以下程序的输出结果是#include
void prt (int *x, int*y, int*z)
{ printf("%d,%d,%d\n",++*x,++*y,*(z++));}
main()
{ int a=10,b=40,c=20;
prt (&a,&b,&c);
prt (&a,&b,&c);
}
A)11,42, 31
12,22,41
B)11,41,20
12,42,20
C)11,21,40
11,21,21
D)11,41,21
12,42,22
(38) 有以下程序:
#include
void fun(char *t,char *s)
{
while(*t!=0)t++;
while((*t++=*s++)!=0);
}
main()
{
char ss[10]=”acc”,aa[10]=”bbxxyy”;
fun(ss,aa);
printf(“%s,%s\n”,ss,aa);
}
程序运行结果是
A) accxyy , bbxxyy B) acc, bbxxyy
C) accxxyy,bbxxyy D) accbbxxyy,bbxxyy
(39) 有以下程序
#include
main()
{ FILE *fp; int i=20,j=30,k,n;
fp=fopen("d1.dat","w");
fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);
fclose(fp);
fp=fopen("d1.dat","r");
fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);
fclose(fp);
}
程序运行后的输出结果是
A)20 30 B)20 50 C)30 50 D)30 20
(40) 有以下程序
main()
{int x[3][2]={0},I;
for(I=0;I<3;I++) scanf("%d",x[i]);
printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);
}
若运行时输入:246,则输出结果为
A)2 0 0 B)2 0 4 C)2 4 0 D)2 4 6
(41)有以下程序
int add(int a,int b){return+b};}
main()
{int k,(*f)(),a=5,b=10;
f=add;
…
}
则以下函数调用语句错误的是
A)k=(*f)(a,b); B)k=add(a,b); C)k=*f(a,b); D)k=f(a,b);
(41)有以下程序
#include
main(int argc,char *argv[])
{int i=1,n=0;
while(i<arge){n=n+strlen(argv[i]);i++;}
printf(“%d\n”,n);
}
该程序生成的可执行文件名为:proc.exe。若运行时输入命令行:
proc 123 45 67
则程序的输出结果是
A)3 B)5 C)7 D)11
(42)有以下程序
void fun2(char a, char b){printi(“%b%c”,a,b);}
char a= ‘A’,b= ‘B’;
void fun1( ){ a= ‘C’l b= ‘D’; }
main( )
{ fun1( )
printf( “%c%c”,a,b);
fun2(‘E’, ‘F’);
}
程序的运行结果是
A)CDEF B)ABEF C)ABCD D)CDAB
(43)有以下程序
#include
#define N 5
#define M N+1
#define f(x) (x*M)
main()
{int i1,i2;
i1=f(2);
i2=f(1+1);
printf(“%d %d\n”,i1,i2);
}
程序的运行结果是
A)12 12 B)11 7 C)11 11 D)12 7
(44)设有以下语句
typedef struct TT
{char c; int a[4];}CIN;
则下面叙述中正确的是
A)可以用TT定义结构体变量 B)TT是struct类型的变量
C)可以用CIN定义结构体变量 D)CIN是struct TT类型的变量
(45)有以下结构体说明、变量定义和赋值语句
struct STD
{char name[10];
int age;
char sex;
}s[5],*ps;
ps=&s[0];
则以下scanf函数调用语句中错误引用结构体变量成员的是
A)scanf(“%s”,s[0].name); B)scanf(“%d”,&s[0].age);
C)scanf(“%c”,&(ps>sex)); D)scanf(“%d”,ps>age);
(46)若有以下定义和语句
union data
{ int i; char c; float f;}x;
int y;
则以下语句正确的是
A)x=10.5; B)x.c=101; C)y=x; D)printf(“%d\n”,x);
(47)若变量已正确定义,则以下语句的输出结果是
s=32; s^=32;printf(“%d”,s);
A)-1 B)0 C)1 D)32
(48) 若程序中有宏定义行:#define N 100 则以下叙述中正确的是
A)宏定义行中定义了标识符N的值为整数100
B)在编译程序对C源程序进行预处理时用100替换标识符N
C) 对C源程序进行编译时用100替换标识符N
D)在运行时用100替换标识符N
(49)以下叙述中正确的是
A)C语言中的文件是流式文件,因此只能顺序存取数据
B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖
C)在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据
D)当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失
(50)有以下程序
#include
main()
{FILE *fp; int i;
char ch[]=”abcd”,t;
fp=fopen(“abc.dat”,”wb+”);
for(i=0;i<4;i++)fwriter&ch[],1,1fp;
fseek(fp,-2L,SEEK_END);
fread(&t,1,1,fp);
fclose(fp);
printf(“%c\n”,t);
}
程序执行后的输出结果是
A)d B)c C)b D)a
二、填空题(每空2分,共40分)
(1)在面向对象方法中,类之间共享属性和操作的机制称为 【1】 。
(2)一个关系表的行称为 【2】 。
(3)耦合和内聚是评价模块独立性的两个主要标准,其中 【3】 反映了模块内各成分之间的联系。
(4)线性表的存储结构主要分为顺序存储结构和链式存储结构.队列是一种特殊的线性表,循环队列是队列的【4】存储结构.
(5) 【5】 的任务是诊断和改正程序中的错误。
(6) 以下程序的输出结果是【6】.
#include
main()
{ int n=12345,d;
while(n!=0){ d=n%10; printf("%d",d); n/=10;}
}
(7)以下程序运行后的输出结果是 【7】 。
main()
{
int m=011,n=11;
printf("%d %d\n",++m,n++);
}
(8)有以下程序,若运行时从键盘输入:18,11,则程序输出结果是 【8】 。
main()
{ int a,b;
printf("Enter a,b:");scanf("%d,%d",&a,&b);
while(a!=b)
{ while(a>b) a-=b;
while(b>a) b-=a;
}
printf("%3d%3d\n",a,b);
}
(9) 有以下程序段,且变量已正确定义和赋值
for(s=1.0,k=1;k<=n;k++) s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
请填空,使下面程序段的功能为完全相同
s=1.0;k=1;
while(_【9】_){ s=s+1.0/(k*(k+1)); _【10】_;}
printf("s=%f\n\n",s);
(10)执行以下程序的输出结果是【11】.
#include
main()
{ int i,n[4]={1};
for(i=1;i<=3;i++)
{ n=n[i-1]*2+1; printf("%d",n); }
}
(11)以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换.请填空.
#include
viod f(int x[],int n)
{ int p0,p1,i,j,t,m;
i=j=x[0]; p0=p1=0;
for(m=0;m{ if(x[m]>i) {i=x[m]; p0=m;}
else if(x[m]}
t=x[p0]; x[p0]=x[n-1]; x[n-1]=t;
t=x[p1];x[p1]= _【12】_; 【13】=t;
}
main()
{ int a[10],u;
for(u=0;u<10;u++) scanf("%d",&a);
f(a,10);
for(u=0;u<10;u++) printf("%d",a);
printf("\n");
}
(12)下列程序中的函数strcpy2()实现字符串两次复制,即将t所指字符串复制两次到s所指内存空间中,合并形成一个新的字符串。例如,若t所指字符串为efgh,调用strcpy2后,s所指字符串为efghefgh。请填空。
#include
#include
void strcpy2(char *s,char *t)
{ char *p=t;
while(*s++=*t++);
s= 【14】 ;
while( 【15】 =*p++);
}
main()
{ char str1[100]="abcd",str2[]="efgh";
strcpy2(str1 ,str2); printf("%s\n",str1);
}
(13)以下程序统计从终端输入的字符中大写字母的个数,num[0]中统计字母A的个数,num[1]中统计字母B的个数,其它依次类推.用#号结束输入,请填空.
#include
#include
main()
{ int num[26]={0},i; char c;
while((_【16】_)!='#')
if(isupper(c)) num[c-‘A’]+= 【17】_;
for(i=0;i<26;i++)
Printf("%c:%d\n",i+'A',num);
}
(14)以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
请填空。
#include "math.h"
double fun(double x) { return(x*x-2*x+6); }
main()
{
double x,y1,y2;
printf("Enter x:"); scanf("%lf",&x);
y1=fun( 【18】 );
y2=fun( 【19】 );
printf("y1=%lf,y2=%lf\n",y1,y2);
}
(15) 以下程序的输出结果是_【20】.
#include
#define M 5
#define N M+M
main()
{ int k;
k=N*N*5; printf("%d\n",k);
}
一、选择题答案:
1-10:CACDC DADBA 11-20:BDDBA CCCCB 21-30:DCBCA CCBCA
31-40:CCDAB DCDAB 41-50:CABCD BBBDB
二、填空题答案:
1.继承 2. 元组 3.内聚 4.顺序 5. 程序调试
6. 54321 7.10 11 8. 1 9.k<=n k++
10. 3 7 5 11.x[0] x[0] 12.s--,*s++ 13.c=getchar() 14. (x+8),sin(x) 15.55
希望对你有所帮助