当前位置:文档之家› 2010年(秋季)江苏省计算机二级C语言试题与答案(笔试+上机)

2010年(秋季)江苏省计算机二级C语言试题与答案(笔试+上机)

2010年(秋季)江苏省计算机二级C语言试题与答案(笔试+上机)
2010年(秋季)江苏省计算机二级C语言试题与答案(笔试+上机)

2010年(秋季)江苏省计算机等级考试二级笔试试卷

C语言程序设计

(考试时间120分钟,满分60分)

一、选择题((1)~(30)每小题1分,共30分)

1.微电子技术是信息技术领域中的关键技术,它以集成电路为核心.下列有关集成电路的敘述中,错误的是

A.现代集成电路使用的半导体材料只能是硅(si),不能使用其它任何半导体材料

B.集成度是指集成电路包含的电子元件数目,可分为SSI、MSI、VLSI等

C.moore定律指出,单块集成电路的集成度平均18~24个月翻一番

D.我国第二代身份证中嵌入了集成电路芯片,可以实现电子防伪和数字管理功能

2. 数据传输速率是数据通信中重要的性能指标。Gb/s是数据传输速率的计量单位之一,

其正确含义是

A.每秒兆位

B.每秒千兆位

C.每秒百兆位

D.每秒百万位

3,所谓"变号操作"是指格一个整数变成绝对值相同但符号相反的另一个整数。假设使用补码表示的8位整数x=10010101,则经过变号操作后结果为

A.01101010

B.00010101

C.11101010

D.01101011

4. 下列有关PC机主拔的敘述中,错误的是

A.主板的物理尺寸没有标准,各厂家均可自行定义

B.主板上包含芯片组,它是PC机各组成部分相互连接和通信的枢纽

C.主拔上包含BIOS和CMOS芯片

D.主板上包含CPU插座、内存条插槽及其他类型的插槽

5. 下列有关PC机中央处理器(CPU)和内存(内存条)的叙述中,正确的是

A.PC机所采用的CPU都是intel公司生产的pentium系列芯片,其它厂商生产的CPU都

与之不兼容

B.目前已有双核的微处理器(例如Core2Duo),但还没有四核的微处理器

C.通常来说,DRAM的速度比SRAM的存取速度慢

D.一般来说,一个内存条上仅有一个DRAM或SRAM芯片

6. 下列有关PC机I/O总线与I/O接口的叙述中,错误的是

A. 目前PC机中协调与管理总线操作的总线控制器包含在主板上的芯片组中

B.总线最重要的性能是数据传输率,其单位通常为MB/s或GB/s

C.SATA接口的数据传输速率通常低于USB2.0的数据传输速率

D.UCB连接器有4个引脚,其中一个脚引连接+5V电源

7. 下列有关PC机常用I/0设备的叙述中,错误的是

A.目前台式机键盘通常有一百零几个按键,笔记本电脑的键盘有八十几个按键

B.目前流行的鼠标是光电鼠标,其与主机的接口有PS/2与USB两种

C.宽屏LCD显示器的宽高比为16:9或16:10

D.打印速度是打印机的重要性能指标,速度单位通常为dpi

8. 下列有关PC机外存储器的叙述中,错误的是

A.目前的硬盘片大多为35、25或1.8英寸,一个硬盘中可有一个或多个盘片

B.目前有些U盘可以模拟硬盘和光盘存储器启动操作系统

C.目前光盘存储器主要分为CD、DVD和BD三种,它们均采用红外激光进行读写

D.目前光驱的速率通常用多少倍速表示

9.下列有关计算机软件的叙述中,错误的是

A.软件一般是指程序及其相关的数据和文档资料

B.从软件的用途考虑,软件可分为系统软件和应用软件,主要的系统软件有操作系统、

语言处理系统和数据库处理系统等。

C.从软件的权益来考虑,软件可以分为商品软件、共享软件和自由软件,共享软件和自

由软件均为无版权

的免费软件

D.linux是一种系统软件、自由软件

10. 到目前以止,windows系列操作系统已推出多个版本。在下列版本中,最新的windows 版本

A.Windows7

B.windowsMe

C.windowsXP

D.windows Vista

11. 下列有关windowsXP操作系统功能的叙述中,错误的是

A.系统通过"时间片"轮转策略支持多任务处理

B.系统利用SPOOLing技术进行存储管理

C.在设备管理中引入了缓冲技术,以减少I/O操作的等待时间

D.系统支持PnP功能,并按ACPI标准进行电源管理

12. 在因特网中某台主机的IP地址为20.25.30.8,子网掩码为255.255.255.0,那么该主

机的主机号为

A.20

B.25

C.30

D. 8^

13. 局域网中需要传输的数据必须预先组织成若干数据帧,每一数据帧的格式如下图所示:

上图中最末部分"?"表示的是

发送计算机地址目的计茸机地址编号有效载荷?

A.协议信息

B.校验信息

C.冗余信息

D.结束标志

14.目前网络用户接入因特网有多种方式,例如ADSL、HFC等。通过HFC接入因特网时采用的网络是

A.有线电话网

B.有线电视网

C.无线局域网

D.移动电话网

15. 下列网络协议中,直接与电子邮件传输相关的网络协是

A.FTP

B.SMTP

C.TELNET

D.NNTP

16. 下列有关计算机中文本与文本处理的叙述中,错误的是

A.西文字符主要是采用ASCII字符集,基本ASCII字符集共有256个字符

B.我国最早采用的汉字字符集GB2312,包含6000多个汉字和若干个非汉字字符

C.无论采用何种方式输入汉字,在计算机中保存时均采用统一的汉字内码

D.简单文本和丰富格式文本中字符信息的表示相同,区别在于格式信息的表示

17. 彩色图像所使用的颜色描述方法称为颜色模型(即颜色空间〉。下列四种颜色模型中,

" 彩色喷墨打印机使用的是

A.RGB

B.HSB

C.YUV

D.CMYK

18. 文件的扩展名用于标记文件的类型,用户应该尽可能多地知晓各类文件的扩展名,下

列文件中,属于数字声音的文件是

A.ABC.RM

B.AB

C.WMA C.ABC.MKV

D.ABC.SWF

19. 信息系统软件开发瀑布模型包括系统规划、系统分析、系统设计、系统实施和系统维

护等几个阶段。下面各项工作中,属于系统实施阶段的是

A.问题定义

B.可行性研究

C.系统測试

D.绘制E-R图

20. 下列有关micmsoftword2003和microsoft excel2003软件的叙述中,错误的是

A.利用word软件编辑文档,可以将其保存为TXT、DOC、RTF和HTM格式文件

B.利用word软件编辑文档时,可以统计选定文本的字符数

C.在excel软件中,可以打开(导入)TXT、BDF、HTML格式的文件(数据)

D.excel文件可以设罝打开权限密码,但不可以单独设置修改权限密码

21. 以下关于C源程序的叙述中正确的是_ _ 。

A.注释只能出现在程序的开始位置或语句后面

B.一行中不能写多条语句

C.一条语句可以分写在多行中

D.一个源程序只能保存在一个文件中

22. C源程序中的命令#include与#define是在___ ___阶段被处理的。

A.预处理

B.编译

C.连接

D.执行

23. 以下语句中有语法错误的是___ ___

A.printf("%d",0xAB);

B.printf("%f",3.45E2.5);

C.printf("%d",037);

D.printf("%c",'\\');

24. 已有声明"int x=5,y;float z=2;",以下表达式中语法正确的是_____ __ 。

A.y=x%z

B.x>0?y=x:y=-x

C.y=x/2=z

D.y=x=z/2

25. 已知字母A的ASCII码是65,字母a的ASCII码是97,变量c中存储了一个大写字

母的编码.若要求将c中大写字母编码转换成对应小写字母编码,则以下表达式中不能实现该功能的是_____ ____

A.c=tolower(c)

B.c=c+32

C.c=c-'A'+'a'

D.c=(c+'A')&-'a'

26. 一元二次方程ax+bx+c=0有两个相异实根的条件是a≠0且b-4ac>0,以下选项中能

正确表示该条件的C语言表达式是 ___ ___ 。

A.a!=0,b*b-4*a*c>0

B.a!=0||b*b-4*a*c>0

C.a && b*b-4*a*c>0

D.!a && b*b-4*a*c>0

27. 以下关于break和continue语句的叙述中正确的是 ___ ______ 。

A.break和continue语句都可以出现在switch语句中

B.break和continue语句都可以出现在循环语句的循环体中

C.在循环语句和switch语句之外允许出现break和continue语句

D.执行循环语句中的break或continue语句都将立即终止循环

28. 若有一函数定义为"int f(int x,int *y){return x/*y;}",声明该函数的正确形式

是_ ___ .

A.void f(int,int);

B.int *f(int,int *);

C.int f(int *,int *);

D.int f(int,int *);

29. 已知有声明"char a[]="program",*p=a+1;",则执行以下语句不会输出字符a的是

____ _____ .

A.putchar(*p+4);

B.putchar(*(p+4));

C.putchar(a[sizeof(a)-3]);

D.putchar(*(a+5));

30. 已有定义和声明:

struct student

{int no;

char name[20];

struct{int year,month,day;}birth;

} s;

若要求将日期"1989年11月12日"保存到变量s的birth成员中,则能实现这一功能的程序段是

___ ___ 。

A.year=1989; month=11;day=12;

B.s.year=1989;s.month=11;s.day=12;

C.birth.year=1989;birth.month=11;birth.,day=12;

D.s.birth.year=1989;s.birth.month=11;s.birth.day=12;

二、填空题((1)~(16)每空1分,共30分)

1.若有声明"double n;",则数学公式""对应的C语言表达式正确形式是__【1】___ 。

2.已知有声明"char ch;int a;",执行语句"scanf("%c%d",&ch,&a);"时如果从键盘输入的数据是"123",则变量a得到的值是__【2】___ 。

3. 若有声明"int a=0,b=1,c=2;",执行语句"if(a>0&&++b>0)c++;else c--;"后,变量

a、b、c的值分别___【3】___ 。

4.若有以下宏定义:

#define M(a,b) -a/b

则执行语句"printf("%d",M(4+3,2+1));"后输出结果为__【4】___ 。

5.声明"FILE *p;"中的类型标识符"FILE"是在头文件__【5】__中定义的。

6. 以下程序运行时输出到屏幕的结果为___【6】__ 。

#include

enum{A,B,C,D}x;

void main()

{char s[]="your";

for(x=B;x<=D;x++)

putchar(s[x]);

}

7. 以下程序运行时输出到屏幕的结果是【7】。

#include

void main()

{int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i,j;

for(i=0;i<12;i++)

{j=s[i];

c[j]++;

}

for(i=1;i<5;i++)

printf("%d",c[i]);

}

8. 以下程序运行时输出到屏幕的结果是___【8】___ 。

#include

int fun(int x)

{static int c,y;

if(c==0) y=1;

else y=y+x;

c++;

return y;

}

void main()

{int i;

for(i=0;i<2;i++)

printf("%d",fun(2));

}

9. 以下程序运行时输出到屏幕的结果中第一行是_【9】__,第二行是__【10】__ 。

#include

void fun(int *a,int b)

{while(b>0)

{*a+=b;

b--;

}

}

void main()

{int x=0,y=3;

fun(&x,y);

printf("%d\n%d\n",x,y);

}

10. 以下程序运行时输出到屏幕的结果是_【11】__

#include

int f(int x)

{ if(x==0||x==1)return 3;

return x*x-f(x-2);

}

void main()

{printf("%d\n",f(3));}

11. 以下程序运行时输出到屏冪的结果中第一行是【12】,第二行是

【13】。

#include

#include

Void compute(char*s)

{int t,r,

Char op;

For(r=0;isdigit(*s);s++) /*isdigit(*s)判断S指向的字符是否为数字字符*/

R=r*10+*s-‘0’;

While(*s)

{op=*s++;

For(t=0;isdigit(*s);s++)

T=t*10+*s-‘0’;

Switch(op)

{case’+’:r=r+t;break;

Case’-’:r=r-t;break;

Case’*’:r=r*t;break;

Case’/’:if(t)r=r/t;else{puts(?devide enor?);return;}

}

}

Printf(?%d\n?,r);

}

Void main()

{ compute(?12+6-19+2?);

Compute(?12/6*19/2?);

}

12. 以下程序运行时输出到屛幕的结果中第一行是【14】第二行是【15】 .

第三行是【16】

算法提示:将Fibonacci数列(1,1,2,3,5,8,13……)前6个数填入a数组 #include

#define N 3

Void main()

{ int I,j,a[N][N]={1},fl=0,f2=1,temp;

For(i=1;i

For(j=0;j<=i;j++)

{if(j<=i)

{a[i][j]=f1+f2;

Temp=f1;

F1=f2;

F2=f1+temp

}

}

For(i=0;i

{for(j=0;j

Printf(?%5d?,a[i][j]);

}

}

13. 以下程序运行时输出到屏幕的结果中第一行是【17】第二行是

【18】

#include

Typedef struct

{int dm; /*产品代码*/

Char *mc; /*产品名称*/

Long je; /*金额*/

}PRO;

Void main()

{ int I j,k,n=3;

PRO

sell[10]={{101,?apple?,100},{301,?orange?,100},{101,?apple?,200}

},xy;

For(i=0;i

{ k=I;

For(j=i+1;j

If(sell[k].dm

l[j].je)

K=j;

If(k!=i)

{xy=sell[i];

Sell[i]=sell[k];

Sell[k]=xy;

}

}

For(i=0;i

Printf(?%15d%10s%5d\n?,sell[i].dm_sell[i].mc.sell[i].je);

}

14. 以下程序中函数float fun(int m)的功能是计算s=s1+s2+s3+s4的值,其中s1、s2、

s3、s4用下列公式计算。

诸完善程序以达到要求的功能。

算法提示:

S=1+1+1+1+++++……+

#include

Float fun(int m)

{ int I,n;

Float s=0,t;

For(n=1;n<=m;n++)

{t= 【19】 ,

For(i=1;i<5;i++)

{t= 【20】 ;

S+=t;

}

}

Return s;

}

Main()

{printf(?%f?,fun(50));}

15. 以下程序格同时出现在数组a和b中的数据复制到数组c中。例如,如果数组a中的数据

是{8,5,7,1,6,4,9},数组b中的数据是{2,9,3,7,4,5,10},则数组c中的结果数据为{5,7,4,9},以下程序中,in函数判断X中存储的整数是否在a指向的数组前n个元索中出现,如果出现则函数返回1,否则返回0。请完善程序以达到要求的功能。

#include

Int in(int a[],int n,int x)

{ int I;

For(i=0;i

If( 【21】 )return 1;

Return 0;

}

Void main()

{ int a[7]={ 8,5,7,1,6,4,9},b[7]= {2,9,3,7,4,5,10},c[7]={0},I,j=0;

For(i=0;i<7;i++)

If( 【22】 )

C[j++]=a[i];

For(i=0; 【23】 ;i++)

Printf(?%d\n?,c[i]);

}

16. 以下程序根据输入的年份及该年中的第几天,计茸并输出这一天的“年/月/日”。例

如若输入"2010,100"则输出"2010/4/10(表示2010年的第100天是4月10日)"。试完善程序以达到要求的功能。

提示:能被4整除并且不能被100整除的年份是闰年,能被400整除的年份也是闰年,其他年份是平年。

#include

Int leap(int year)

{int y;

Y=year%4==0&&year%100!=0‖year%400==0;

Ruturn y;

}

Void month day(int year,int yearday,int*month,int*day)

{int k,p;

Int tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},

{0,31,29,31,30,31,30,31,31,30,31,30,31}};

P=leap(year);

For(k=1;yearday; 【24】 ;k++)

Yearday=yearday-tab[p][k];

*month=k;

*day= 【25】 ;

}

Void main()

{int year,days,month,day;

Printf(?input year and days!\n?);

Scanf(?%d,%d?,&year,&days);

If(leap(year)==1 &&days<=366‖leap(year)==0&&days<=365)

{month day(years,days, 【26】 );

Printf(?\n%d%d%d?,year,month,day);

}

else puts(?days is wrong!?);

}

2010年(秋季)江苏省计算机等级考试二级笔试试卷

C语言程序设计

【参考答案】

一、选择题答案

1.A

2.B

3.D

4.A

5.C

6.C

7.D

8.C

9.C 10.A

11.B 12.D 13.B 14.B 15.B

16.A 17.D 18.B 19.C 20.D

21.C 22.A 23.B 24.D 25.D

26.C 27.B 28.D 29.A 30.D

二、填空题答案

(1)1/3.0*n(4*n*n-1) (2)23

(3)0 1 1 (4)-2

(5)stdio.h (6)our

(7)4332 (8)13

(9)6 (10)3

(11)6 (12)1

(13)19 (14)1 0 0

(15)1 2 0 (16)3 5 8

(17)301 orange 100 (18)101 apple 200

(19)1 (20)t*1/h

(21)a[i]==x (22)in(a,7,b[i])

(23)i

(25)yearday (26)&month,&day

江苏省高等学校非计算机专业学生

计算机基础知识和应用能力等级考试上机试卷(2010秋)

二级C语言(试卷代号C01)

(本试卷完成时间70分钟)

一、改错题(16分)

【程序功能】

查找介于n1与n2(0

【测试数据与运行结果】

测试数据:n1=900

n2=1200

屏幕输出:

911 919 929 977 991 997 1009 1013

10191021 1031 1033 1051 1061 1091 1103

1109 1123 1129 1153 1163 1187 1193

【含有错误的源程序】

#include

#include

int validate(int n)

{ int i,j,k=0,num[5]={0},size=0;

do

{ num[size]=n%10;

n=n/10;

size++;

}while(n<0);

for(i=0;i

for(j=i+1;j

if(num[i]==num[j])

k=k+1;

if(k>1)

return 1;

else

return 0;

}

int prime(int n)

{ int i;

for(i=2;i<(int)sqrt(n);i++)

if(n%i==0) return 0;

return 1;

}

void main()

{ int i,count=0,n1,n2;

scanf("%d%d",&n1,&n2);

for(i=n1;i<=n2;i++)

{ if(validate(int i)&&prime(int i))

{ count++;

printf("%d\t",i);

if(count%8==0)

printf("\n");

}

}

}

【要求】

1.将上述程序录入到文件myfl.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。

2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。

3.改正后的源程序(文件名myfl.c)保存在T:盘的根目录中供阅卷使用,否则不予评分。

二、编程题(24分)

【程序功能】

字符串变换。

【编程要求】

1.编写函数void change(char *a, char *b, char *c)。函数功能是首先把b指向的字符串逆

向存放,然后将a指向的字符串和c指向的字符串按排列顺序交叉合并到c指向的数组中,两个字符串中过长的剩余字符接在c指向的数组的尾部。例如a指向的字符串为“abcdef”,b指向的的字符串为“1324”时,c指向的数组中字符串应为“a4b2c3d2efg”。

2.编写main函数。函数功能是声明字符数组s1、s2和t,用测试数据初始化数组s1和s2,

再用s1、s2和t作为实参调用函数change,将s1、s2和t中的字符串输出到屏幕及文件

myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。

【测试数据与运行结果】

测试数据:s1=abcdefg

s2=1324

屏幕输出:

s1=abcdefg

s2=4231

The result is :a4b2c3d1efg

【要求】

1.源程序文件名必须取为myf

2.c,输出结果文件名为myf2.out。

2.数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

3.源程序文件和运行结果文件均需保存到T:盘上,供阅卷使用。

4.不要复制扩展名为obj和exe的文件到T:盘上。

C语言(试卷代号C01)

【C01改错题参考答案】

#include /*2010秋C01改错题答案*/

#include

int validate(int n)

{ int i,j,k=0,num[5]={0},size=0;

do

{ num[size]=n%10;

n=n/10;

size++;

}while(n>0); /*1.将n<0改为n>0*/

for(i=0;i

for(j=i+1;j

if(num[i]==num[j])

k=k+1;

if(k==1) /*2.将k>1改为k==1*/

return 1;

else

return 0;

}

int prime(int n)

{ int i;

for(i=2;i<(int)sqrt(n);i++)

if(n%i==0) return 0;

return 1;

}

void main()

{ int i,count=0,n1,n2;

scanf("%d%d",&n1,&n2);

for(i=n1;i<=n2;i++)

{ if(validate(i)&&prime(i)) /*3.函数调用错误:validate(int i)&&prime(int i)改为validate(i)&&prime(i)*/

{ count++;

printf("%d\t",i);

if(count%8==0)

printf("\n");

}

}

}

【2010秋C01编程题参考答案一】

#include

#include

#include

void change(char *a, char *b, char *c)

{ int i,m=0,j=strlen(b),k=0;

char d, e[5];

for(i=0;a[i]!='\0';i++)

{ c[k++]=a[i];

if(j>0) {c[k++]=b[--j]; e[m++]=b[j];} /*在穿插的同时,将倒序的字符存入字符串数组

e*/

}

c[k]='\0'; e[m]='\0'; /*两个字符串数组c和e各加结束符*/

strcpy(b,e); /*将倒序后的字符串e复制到字符串数组b*/ }

void main()

{ char s1[10]="abcdefg",s2[10]="1324",t[20]=""; FILE *fp;

if((fp=fopen("myf2.out","w"))==NULL) {printf("\nCan't open the file!"); exit(0);}

printf("s1:%s\n",s1); fprintf(fp,"s1:%s\n",s1);

change(s1,s2,t);

printf("s2:%s\n",s2); fprintf(fp,"s2:%s\n",s2);

printf("\nThe result is:%s\n",t); fprintf(fp,"\nThe result is:%s\n",t);

printf("\nMy number is:0830107123\n"); fprintf(fp,"\nMy number is:0830107123\n");

fclose(fp);

getch();

}

【2010秋C01编程题参考答案二】

#include

#include

#include

void change(char *a, char *b, char *c)

{ char d;

int i,j=strlen(b),k=0,m=0;

for(i=0;i

for(i=0;a[i]!='\0';i++)

{ c[k++]=a[i];

if(m

}

c[k]='\0';

}

void main()

{ char s1[10]="abcdefg",s2[10]="1324",t[20]=""; FILE *fp;

if((fp=fopen("myf2.out","w"))==NULL) {printf("\nCan't open the file!"); exit(0);}

printf("s1:%s\n",s1); fprintf(fp,"s1:%s\n",s1);

change(s1,s2,t);

printf("s2:%s\n",s2); fprintf(fp,"s2:%s\n",s2);

printf("\nThe result is:%s\n",t); fprintf(fp,"\nThe result is:%s\n",t);

printf("\nMy number is:0830107123\n"); fprintf(fp,"\nMy number is:0830107123\n");

fclose(fp);

getch();

}

2010秋C01编程题两种方法评论:

方法一:

程序查读性好,但程序较长;

方法二:

程序简洁。

江苏省高等学校非计算机专业学生

计算机基础知识和应用能力等级考试上机试卷(2010秋)

二级C语言(试卷代号C02)

(本试卷完成时间70分钟)

二、改错题(16分)

【程序功能】

对一个字符串中每个字符(其编码用ch表示)做如下加密操作:⑴如果ch是小写字母,就用(Ch+5)值的八进制数字字符串替换该字母;⑵如果ch是大写字母,就用(Ch-5)值的十六进制数字字符串替换该字母;⑶如果ch是非字母字符则保持原样。

函数en的功能是将形参c中字符的编码转换成n进制数字字符串并保存到s指向的数组中。函数encrypt的功能是将a指向的字符串按以上要求做加密处理后保存到b指向的数组中

【测试数据与运行结果】

测试数据:No.1

屏幕输出:49164.1

【含有错误的源程序】

#include

#include

void en(char c, int n, char s)

{ int t,i=0;

char temp;

while(c!=0)

{ t=c%n;

if(t<10) s[i++]=t+'0';

else s[i++]=t-10+'A';

c=c/10;

}

s[i]='\0';

for(t=i-1,i=0;i

{temp=s[i];s[i]=s[t];s[t]=temp;}

}

void encrypt(char a[], char b[])

{ char s[4];

int i;

for(i=0;a[i]!='\0';i++)

{ if(a[i]>='a'&&a[i]<='z')

en(a[i]+5,8,s);

else if(a[i]>='A'&&a[i]<='Z')

en(a[i]-5,16,s);

else s[0]=a[i],s[1]='\0';

strcpy(b,s);

}

}

void main()

{ static char a[30]="No.1", b[100];

encrypt(char a[30], char b[100]);

puts(b);

}

【要求】

4.将上述程序录入到文件myfl.c中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。

5.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译预处理命令,但不能增加其它语句,也不能删去整条语句。

6.改正后的源程序(文件名myfl.c)保存在T:盘的根目录中供阅卷使用,否则不予评分。

二、编程题(24分)

【程序功能】

在所有三位整数中找出平方数中有连续的三位数字是该数本身的数。例如,250的平方是62500,250便是所要找的一个满足条件的三位整数。

【编程要求】

3.编写函数int find(long a[][2])。函数功能是将三位数中所有满足上述条件的数及其平方

数存入a指向的二维数组中,函数返回满足上述条件的三位数的个整数。

4.编写main函数。函数功能是声明二维数组a,用数组a作为实参调用函数find,输出满

足条件的三位整数及其平方数到屏幕及文件myf2.out中。最后将考生本人的准考证号输出到文件myf2.out中。

【测试数据与运行结果】

屏幕输出:

i power

100 10000

250 62500

376 141376

500 250000

600 360000

625 390625

760 577600

【要求】

1、源程序文件名必须取为myf2.c,输出结果文件名为myf2.out。

2、数据文件的打开、使用、关闭均用C语言标准库中缓冲文件系统的文件操作函数实现。

3、源程序文件和运行结果文件均需保存到T:盘上,供阅卷使用。

4、不要复制扩展名为obj和exe的文件到T:盘上。

2010秋C语言(试卷代号C02)

【改错题参考答案】

#include

#include

void en(char c, int n, char *s) /*1、char s改为指针形式char *s*/

{ int t,i=0;

char temp;

while(c!=0)

{ t=c%n;

if(t<10) s[i++]=t+'0';

else s[i++]=t-10+'A';

c=c/n; /*2、c=c/10; 改为标准形式c=c/n;*/

}

s[i]='\0';

for(t=i-1,i=0;i

{temp=s[i];s[i]=s[t];s[t]=temp;}

}

void encrypt(char a[], char b[])

{ char s[4];

int i;

for(i=0;a[i]!='\0';i++)

{ if(a[i]>='a'&&a[i]<='z')

en(a[i]+5,8,s);

else if(a[i]>='A'&&a[i]<='Z')

en(a[i]-5,16,s);

else s[0]=a[i],s[1]='\0';

strcat(b,s); /*3、字符串复制函数strcpy 改为字符串接龙函数strcat*/

}

}

void main()

{ static char a[30]="No.1", b[100];

encrypt(a,b); /*4、encrypt(char a[30], b[100]); 改为数组首地址encrypt(a,b);*/ puts(b);

}

【2010秋C02编程题参考答案】

#include

#include

#include

#include

void reverse(long h, char y[])

{ long x=h;

int k=0,i;

char c;

while(x>0)

{ y[k++]=x%10+'0'; x/=10; }

y[k]='\0';

}

int find(long a[][2])

{ int i,j,k,m,n=0;

char x[10],y[10];

for(i=100;i<999;i++)

{ reverse(i,x);

reverse(i*i,y);

k=0,m=0;

for(j=0;j

if(y[j]==x[m]&&y[j+1]==x[m+1]&&y[j+2]==x[m+2]) {a[n][0]=i;a[n][1]=i*i;n++;} }

return n;

}

void main()

{ long b[20][2]={0}; int n,i; FILE *fp;

if((fp=fopen("myf2.out","w"))==NULL) {printf("\nCan't open the file!"); exit (0);} n=find(b);

printf("\ni power"); fprintf(fp,"\ni power");

for(i=0;i

{printf("\n%ld %ld",b[i][0],b[i][1]); fprintf(fp,"\n%ld %ld",b[i][0],b[i][1]);}

printf("\nMy number is:0830107123\n"); fprintf(fp,"\nMy number is:0830107123\n");

fclose(fp);

getch();

}

计算机二级考试C语言练习题及答案

一、选择题 1). 下列叙述中正确的是( )。 A.调用printf( )函数时,必须要有输出项 B.使用putchar( )函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以二进制、八进制或十六进制的形式输出 D.调节getchar( )函数读入字符时,可以从键盘上输入字符所对应的ASCII码 正确答案:B 答案解析:选项A,若printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项C,在C 语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。 2). 以下结构体类型说明和变量定义中正确的是( ) A.typedef struct { int n; char c; } REC; REC t1,t2; B.struct REC ; { int n; char c; }; REC t1,t2; C.typedef struct REC; { int n=0; char c=′A′; } t1,t2; D.struct { int n; char c; } REC; REC t1,t2; 正确答案:A 答案解析:定义结构体类型的一般形式为:struct 结构体名 {成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。 3). 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是( ) A.一对一 B.一对多 C.多对一 D.多对多 正确答案:B 答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。 4). 关于C语言的变量,以下叙述中错误的是( ) A.所谓变量是指在程序运行过程中其值可以被改变的量 B.变量所占的存储单元地址可以随时改变 C.程序中用到的所有变量都必须先定义后才能使用 D.由三条下划线构成的符号名是合法的变量名 正确答案:B

C语言上机试题

1:第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能就是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 2:第2题请编写函数fun,它的功能就是:求出1到100之内能北7或者11整除,但不能同时北7与11整除的所有证书,并将她们放在a所指的数组中,通过n返回这些数的个数。 3:第3题请编写函数void fun(int x,int pp[],int *n),它的功能就是:求出能整除x且不就是偶 数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 4:第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"至U "z"26各字母各自出现的次数,并依次放在pp所指的数组中。 5:第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能就是:将大于整数m且 紧靠m的k各素数存入xx所指的数组中。 6:第6题请编写一个函数void fun(char a[],char[],int n),其功能就是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。 7:第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下 标并存放在k所指的储存单元中。 8:第8题编写函数fun,功能就是:根据以下攻势计算s,计算结果作为函数值返回『通过形参 传入。S=1 + 1/(1+2)+1/(1+2+3)+ ??…、+1/(1+2+3+4+ ??…+n) 9:第9题编写一个函数fun,它的功能就是:根据以下公式求p的值,结果由函数值带回。M 与n为两个正整数,且要求m>n。p=m!/n!(m-n)! 10:第10题编写函数fun,它的功能就是:利用以下的简单迭代方法求方程cos(x)-x=0的一个 实根。 迭代步骤如下:(1)取x1初值为0、0;⑵x0=x1,把x1的值赋各x0; (3) x1=cos(x0),求出一个新的x1; (4) 若x0-x1的绝对值小于0、000001,则执行步骤(5),否则执行步骤(2); (5) 所求x1就就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出root=0、739085。 11:第11题下列程序定义了nx n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n]),该函数的功能就是:使数组左下半三角元素中的值全部置成0。 12:第12题下列程序定义了n x n的二维数组,并在主函数中赋值。请编写函数fun,函数的 功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。 13:第13题请编写一个函数void fun(int tt[m][n],int pp[n]),tt 指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数组中的数已在主函数中赋予。 14:第14题请别写函数fun,函数的功能使求出二维数组周边元素之与,作为函数值返回。二 维数组中的值在主函数中赋予。 15:第15题请编写一个函数unsigned fun(unsigned w),w 使一个大于10的无符号整数,若w 使n(n>2)位的整数,则函数求出w后n-1位的数作为函数值返回。 16:第16题请编写一个函数float fun(double h),函数的功能使对变量h中的值保留2位小树, 并对第三位进行四舍五入(规定h中的值位正数)。 17:第17题请编写一个函数fun(char *s),该函数的功能使把字符串中的内容拟置。 18:第18题编写程序,实现矩阵(3行3列)的转置(即行列互换)。 19:第19题编写函数fun,该函数的功能就是:从字符中删除指定的字符,同一字母的大、小写按不同字符处理。20:第20题编写函数int fun(int lim,int aa[max]),该函数的功能就是求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。 21:第21题请编写函数fun,对长度位7个字符的字符串,除首尾字符外,将其余5个字符按ascii码降序排列。

全国计算机等级考试二级C语言真题

2009年3月二级C语言笔试真题((1)—(10)每小题2分,(11)—(50)每题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表 C)循环队列是非线性结构 D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈B)树C)队列D)二叉树 (3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10B)8C)6D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为 A)选择B)投影C)插入D)连接 (10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域 (11)以下选项中合法的标识符是 A)1-1B)1—1C)-11D)1-- (12)若函数中有定义语句:intk;,则 A)系统将自动给k赋初值0 B)这时k中值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)以下选项中,能用作数据常量的是 A)o115B)0118C))115L (14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(1+x)

计算机二级Access上机试题及答案

练习一 1.基本操作题 在考生文件夹下,“”数据库文件中已建立三个关联表对象(名为“职工表”、“物品表”和“销售业绩表”)和一个窗体对象(名为“fTest”)。试按以下要求,完成表和窗体的各种操作: (1)分析表对象“销售业绩表”的字段构成、判断并设置其主键; (2)将表对象“物品表”中的“生产厂家”字段重命名为“生产企业”; (3)建立表对象“职工表”、“物品表”和“销售业绩表”的表间关系,并实施参照完整性; (4)将考生文件夹下Excel文件中的数据链接到当前数据库中。要求:数据中的第一行作为字段名,链接表对象命名为“tTest”; (5)将窗体fTest中名为“bTitle”的控件设置为“特殊效果:阴影”显示; (6)在窗体fTest中,以命令按钮“bt1”为基准,调整命令按钮“bt2”和“bt3”的大小与水平位置。要求:按钮“bt2”和“bt3”的大小尺寸与按钮“bt1”相同,左边界与按钮“bt1”左对齐。 1.基本操作题 【考点分析】 本题考点:设置主键;建立表间关系;链接表;窗体中命令按钮属性的设置。 (1)【解题步骤】 步骤1:打开“”数据库窗口,选中“表”对象,右键单击“销售业绩表”选择【设计视图】。 步骤2:同时选中“时间”、“编号”、“物品号”字段,单击工具栏中“主键”按钮。 步骤3:单击工具栏中的“保存”按钮,关闭设计视图。 (2)【解题步骤】 步骤1:选中“表”对象,右键单击“物品表”选择【设计视图】。 步骤2:在“字段名称”列将“生产厂家”改为“生产企业”。 步骤3:单击工具栏中“保存”按钮,关闭设计视图。 (3)【解题步骤】 步骤1:单击菜单栏【工具】|【关系】,单击菜单栏【关系】|【显示表】,分别添加表“职工表”、“物品表”和“销售业绩表”到“关系”界面,关闭“显示表”对话框。 步骤2:选中表“职工表”中的“编号”字段,拖动鼠标到“销售业绩表”的“编号”字段,放开鼠标,弹出“编辑关系”窗口,选择“实施参照完整性”复选框,然后单击“创建”按

计算机二级c语言历年真题及答案

计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】 class=txt>c语言程序设计 (考试时间90分钟,满分100分) 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) (1)下列数据结构中,属于非线性结构的是 a)循环队列 b) 带链队列 c) 二叉树 d)带链栈 (2)下列数据结果中,能够按照“先进后出”原则存取数据的是 a) 循环队列 b) 栈 c)队列 d)二叉树 (3)对于循环队列,下列叙述中正确的是 a)队头指针是固定不变的 b)队头指针一定大于队尾指针 c)队头指针一定小于队尾指针 d)队头指针可以大于队尾指针,也可以小于队尾指针 (4)算法的空间复杂度是指 a)算法在执行过程中所需要的计算机存储空间 b)算法所处理的数据量 c)算法程序中的语句或指令条数 d)算法在执行过程中所需要的临时工作单元数 (5)软件设计中划分模块的一个准则是 a) 低内聚低耦合 b) 高内聚低耦合 c) 低内聚高耦合 d) 高内聚高耦合 (6)下列选项中不属于结构化程序设计原则的是 a) 可封装 d) 自顶向下

c) 模块化 d) 逐步求精 (7)软件详细设计产生的图如下: 该图是 a) n-s图 b) pad图 c) 程序流程图 d) e-r图 (8)数据库管理系统是 a)操作系统的一部分 b) 在操作系统支持下的系统软件 c) 一种编译系统 d) 一种操作系统 (9)在e-r图中,用来表示实体联系的图形是 a) 椭圆图 b) 矩形 c) 菱形 d) 三角形 (10)有三个关系r,s和t如下: 其中关系t由关系r和s通过某种操作得到,该操作为 a) 选择 b) 投影 c) 交 d) 并 (11)以下叙述中正确的是 a)程序设计的任务就是编写程序代码并上机调试 b)程序设计的任务就是确定所用数据结构 c)程序设计的任务就是确定所用算法 d)以上三种说法都不完整 (12)以下选项中,能用作用户标识符的是 a)void b)8_8 c)_0_ d)unsigned (13)阅读以下程序

C语言上机考试题

考试时间120分钟题目中所有要求统计或输出的地方都要用printf函数输出相关内容要求:新建一个以自己中文姓名命名的文件夹,将如下题目的答案保存在该文件夹中,各题命名要求Exam1.c,Exam2.c,Exam3.c,Exam4.c,Exam5.c 只需提交每个题目的源文件 1.定义一个字符数组s[50],从键盘输入如下字符串给s数组中,统计其中数字字符的个数和英文字母的个数以及特殊字符的个数。(要求:输入的字符为:“123ABCDhijkop#&%*&!”)(本题5分) 输入功能,3个统计 2.从键盘输入10个元素给数组a,然后将这些元素逆向复制到数组b中(要求:输入的这10个数为:1,2,3,4,5,6,7,8,9,10)。(本题5分) 输入,逆序2个功能,错一个扣2分 3.使用循环嵌套,打印输出如下图形结果(提示使用两次循环嵌套)。 (本题5分) 没有中文后面扣1分 实现一半扣2分 4.从键盘上输入一个字符,如果是’M’,输出Mondey,’T’输出Tuesday,’W’输出Wednesday,’R’输出Tursday,’F’输出Friday,’S’输出Saturday,’U’输出Sunday,否则输出Error(本题5分)输入字符,switch语句,细节有错扣0.5 5.从键盘上输入10个学生的数学成绩,使用冒泡排序实现对成绩的排序功能(排序后的成绩按从低到高排列,效果如下), 输出排序后的学生成绩,输出最高成绩,输出最低成绩,将55-60之间的成绩(含55,不含60)修改为60,并统计被修改的成绩个数,统计及格人数,统计95(含95,优秀)分以上的学生成绩人数,输出及格率和优秀率(>=60,及格,>=95优秀)。(要求:输入的10个

大学计算机二级考试试题及其答案 !!!

全国计算机二级考试试题 【1.1】以下不正确的C语言标识符是____。 A) int B) a_1_2 C) ab1exe D) _x 【1.2】以下是正确的C语言标识符是____。 A) #define B) _123 C) %d D) \n 【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。A) print B) i\am C) Pxq D) str_l _3d one_half My->book Cpp ??? oodbs tart$it line#pow ??? aBc 3pai His.age while 【1.4】下面各选项组中,均是C语言关键字的组是。 A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type 【1.5】下列不属于C语言关键字的是。 A) default B) register C) enum D) external 【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。 A) 程序文件的开始 B) 程序文件的最后 C) 它所调用的函数的前面 D) 程序文件的任何位置

【1.7】下列关于C语言的叙述错误的是____ A) 大写字母和小写字母的意义相同 B) 不同类型的变量可以在一个表达式中 C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D) 同一个运算符号在不同的场合可以有不同的含义 【1.8】在C语言中,错误的int类型的常数是。 A) 32768 B) 0 C) 037 D) 0xAF 【1.9】执行语句 printf("%x",-1);屏幕显示____。 A) -1 B) 1 C) -ffff D) ffff 【1.10】已知 long i=32768;执行语句printf("%d",i);屏幕显示____。 A) -1 B) -32768 C) 1 D) 32768 【1.11】已知 long i=65539;执行语句printf("%d",i);屏幕显示____。 A) 65539 B) -3 C) 3 D) 程序不能执行 【1.12】在C语言中,整数-8在内存中的存储形式是。 A) 1111 1111 1111 1000 B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 0111 【1.13】C语言中字符型(char)数据在内存中的存储形式是____。 A) 原码 B) 补码

全国计算机二级C语言操作题题库

1.程序Cmody021.c输出如下所示图形: * *** ***** ******* ********* #include void main() { int i,j;for(i=1;i<=5;i++) { for(j=1;j<=5-i;j++)printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } } 2.程序Cmody032.c的功能是:输出201-300之间的所有素数,统计总个数。#include #include void main() { int num; printf("\n"); num=fun(); printf("\nThe total of prime is %d",num); getch(); } int fun() { int m,i,k,n=0; for(m=201;m<=300;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) /**/if(m/i==0)/**/ break; /**/if(i==k)/**/ { printf("%-4d",m); n++;

if(n%10==0)printf("\n"); } } return n; } 3. 程序Cmody041.c,其功能是统计输入字符串中小写英文字母的个数。如输入:abcdEFGHIJK123 输出:4 #include #include main() { char str1[128]; /**/int i,len,sum=0;/**/ gets(str1); len=strlen(str1); for(i=0;i='a'&&str1[i]<='z')/**/ sum++; } printf("%d\n",sum); getch(); } 4.程序Cmody051.c,其功能是统计输入字符串中大写英文字母的个数。如输入:abcDEFGH123 输出:5 #include #include main() { /**/char str1[128]/**/ int i,len,sum=0; printf("Please input a string:\n"); scanf("%s",str1); len=strlen(str1); for(i=0;i='A'&&str1[i]<='Z') /**/sum++;/**/

C语言上机试题

1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。 2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。 3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。 5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。 6: 第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n 中存放指定的下标。 7: 第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。 8: 第8题编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n) 9: 第9题编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。M与n为两个正整数,且要求m>n。 p=m!/n!(m-n)! 10: 第10题编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。 迭代步骤如下:(1)取x1初值为0.0; (2)x0=x1,把x1的值赋各x0; (3)x1=cos(x0),求出一个新的x1; (4)若x0-x1的绝对值小于0.000001,则执行步骤(5),否则执行步骤(2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出root=0.739085。 11: 第11题下列程序定义了n×n的二维数组,并在主函数中自动赋值。请编写函数fun(int a[][n]),该函数的功能是:使数组左下半三角元素中的值全部置成0。 12: 第12题下列程序定义了n×n的二维数组,并在主函数中赋值。请编写函数fun,函数的功能使求出数组周边元素的平均值并作为函数值返回给主函数中的s。 13: 第13题请编写一个函数void fun(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中。二维数

计算机二级考试题目

Word 2010 高级应用综合操作题打开素材库中的“典型试题”文件,按下面的操作要求进行操作,并把操作结果存盘。 1.操作要求 (1)对正文进行排版。 ①使用多级符号对章名、小节名进行自动编号,代替原始的编号。要求: * 章号的自动编号格式为:第X 章(例:第1 章),其中:X 为自动排序,阿拉伯数字序号。对应级别1。居中显示。 *小节名自动编号格式为:,X为章数字序号,Y为节数字序号(例:),X、Y均为阿拉伯数字序号。对应级别2。左对齐显示。 ②新建样式,样式名为:“样式”+考生准考证号后5 位。其中: *字体:中文字体为“楷体” ,西文字体为“ Time New Roman ”,字号为“小四” 。 *段落:首行缩进2 字符,段前行,段后行,行距倍;两端对齐。其余格式,默认设置。 ③对正文中的图添加题注“图” ,位于图下方,居中。要求: *编号为“章序号” -“图在章中的序号” 。例如,第1 章中第2 幅图,题注编号为1-2。 *图的说明使用图下一行的文字,格式同编号。 *图居中。 ④对正文中出现“如下图所示”的“下图”两字,使用交叉引用。 *改为“图X-Y”,其中“ X-Y'为图题注的编号。 ⑤对正文中的表添加题注“表” ,位于表上方,居中。 *编号为“章序号” -“表在章中的序号” 。例如,第1 章中第1 张表,题注编号为1-1。 *表的说明使用表上一行的文字,格式同编号。 *表居中,表内文字不要求居中。 ⑥对正文中出现“如下表所示”中的“下表”两字,使用交叉引用。 *改为“表X-Y,其中“ X-Y'为表题注的编号。 ⑦对正文中首次出现“ Access'的地方插入脚注。 *添加文字“ Access是由微软发布的关联式数据库管理系统。”。 ⑧将②中的新建样式应用到正文中无编号的文字。不包括章名、小节名、表文字、表和图的题注、脚注。 (2)在正文前按序插入三节,使用Word 提供的功能,自动生成如下内容: ①第1 节:目录。其中:“目录”使用样式“标题1”,并居中;“目录”下为目录项。 ②第2 节:图索引。其中:“图索引”使用样式“标题1”,并居中;“图索引”下为图索引项。 ③第3 节:表索引。其中:“表索引”使用样式“标题1”,并居中;“表索引”下为表索引项。 (3)使用适合的分节符,对正文进行分节。添加页脚,使用域插入页码,居中显示。要求: ①正文前的节,页码采用“i ,ii』[,???”格式,页码连续。 ②正文中的节,页码采用“ 1,2,3,…”格式,页码连续。 ③正文中每章为单独一节,页码总是从奇数开始。 ④更新目录、图索引和表索引。

2017年全国计算机等级考试二级C语言上机题库

2017年全国计算机等级考试二级 C语言上机题库 第一套 1.程序填空 程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。函数fun 的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 第一处struct student t; 第二处for(i=0;i0) 2程序修改 给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。 /**found**/ q=p+i; /**found**/ while(q>p) 3程序设计 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。 int fun(STREC *a,STREC *b,int l,int h) {int i,j=0; for(i=0;i=1&&a[i].s<=h) b[j++]=a[i]; return j; } 第二套 1.程序填空 给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。 第一处free(q); 第二处q=p->next; 第三处q=q->next; 2. 程序修改 给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。 /**found**/ p=j; /**found**/ p=i; 3. 程序设计 请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。void fun(int m,int *a,int *n) { int i; *n=0; for(i=7;i<=m;i++) if((i%7==0)||(i%11==0)) a[(*n)++]=i; } 第三套 1. 程序填空 函数fun的功能是:逆置数组元素是的值。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数组中数据的个数。 第一处for(i=0;i

计算机二级C语言测试题及答案解析(一)

2016年计算机二级C语言测试题及答案解析(一)1.(A )是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C 开始执行。 A、程序中第一条可执行语句 B、程序中第一个函数 C、程序中的main函数 D、包含文件中的第一个函数 3、以下说法中正确的是(C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A、C程序的工作过程是编辑、编译、连接、运行 B、C语言不区分大小写。 C、C程序的三种基本结构是顺序、选择、循环 D、C程序从main函数开始执行 5.下列正确的标识符是(C )。

B、a[i] C、a2_i D、int t 5~8题为相同类型题 考点:标识符的命名规则 只能由字母、数字、下划线构成 数字不能作为标识符的开头 关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B )。 A、3ax B、x C、case D、-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C )。 A、%x B、a+b C、a123

选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C 中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C 。 A、2.5 B、2 C、1 D、3 %为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%

2017历年全国计算机二级ACCESS上机试题及答案

历年Access操作试题解析(2017.5.8整理,可能为2015年以前的) 第一套 一、基本操作题(计30分) (1)新建数据库"学生.mdb",将考生文件夹中的"学生.xls"导入到"学生"数据库,第一行包含列标题,设置"学号"字段为主键,将导入表命名为"学生信息"。 (2)将"选课.xls"以"选课"为表名导入"学生"数据库,第一行包含列标题,设置选课ID为主键。"选课"表显示情况如图1-1所示。 (3)将"学生信息"表按照"学号"字段降序排列,设置单元格格式为"凸起"。"学生信息 "表结果 图1-2 一、基本操作题 (1)【操作步骤】 启动Access,在弹出的"Microsoft Access"对话框的"新建数据"框中选择"空Access数据库",然后单击"确定"按钮。 在"文件新建数据库"对话框中选择考生文件夹的路径,将文件命名为"学生",单击"创建"按钮,创建并打开"学生"数据库。 在"学生"数据库对话框中单击"表"对象,单击"新建"按钮,在"新建表"对话框中选择"导入表",单击"确定",弹出"导入"对话框。 在"导入"对话框的"查找范围"框中找到要导入文件的位置,在"文件类型"中选择"Microsoft Excel",在列表中选择"学生.xls",单击"导入"按钮,弹出"导入数据表向导"对话框,然后单击"下一步"。 选中"第一行包含列标题"复选框,三次连续单击"下一步",弹出如图1-1所示的对话框。 图1-1 选中"自行选择主键"单选按钮,在右边的下拉框中选择"学号",然后单击"下一步"。 "导入到表"文本框中输入表的名字"学生信息"。单击"完成"按钮,弹出结果提示框,提示数据导入已经完成,单击"确定"按钮关闭提示框。 (2)【操作步骤】 在"学生"数据库窗口中,单击"表"对象,单击"新建"按钮,在"新建表"对话框中选择"导入表",单击"确定",弹出"导入"对话框。 在"导入"对话框的"查找范围"框中找到要导入文件的位置,在"文件类型"中选择"Microsoft Excel",在列表中选择"选课.xls",单击"导入"按钮,弹出"导入数据表向导"对话框,然后单击"下一步"。 选中"第一行包含列标题"复选框,然后单击"下一步"按钮。 两次单击"下一步"按钮,弹出如图1-2所示的对话框。 选中"自行选择主键"单选按钮,在右边的下拉框中选择"选课ID",然后单击"下一步"。

计算机二级c语言题库及答案

2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。 或35 2.下列关于栈的叙述中,正确的是( )。 A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则 C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对 3.下列链表中,其逻辑结构属于非线性结构的是( )0、 A.双向链表 B.带链的栈 C.二叉链表 D.循环链表 4.在关系数据库中,用来表示实体间联系的是( )。 A.网状结构 B.树状结构 C.属性 D.二维表 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 :m联系 :n联系 :1联系 :l联系

6.右两个关系R和S如下: 则由关系R得到关系S的操作是( )。 A.自然连接 B.并 C.选择 D.投影 7.数据字典(DD)所定义的对象都包含于( )。 A.软件结构图 B.方框图 C.数据流图(DFD图) D.程序流程图 8.软件需求规格说明书的作用不包括( )。 A.软件设计的依据 B.软件可行性研究的依据 C.软件验收的依据 D.用户与开发人员对软件要做什么的共同理解 9.下面属于黑盒测试方法的是( )。 A.边界值分析 B.路径覆盖 C.语句覆盖 D.逻辑覆盖 10.下面不属于软件设计阶段任务的是( )。 A.制订软件确认测试计划 B.数据库设计 C.软件总体设计 D.算法设计 11.以下叙述中正确的是( )。 A.在C语言程序中,main函数必须放在其他函数的最前面 B.每个后缀为C的C语言源程序都可以单独进行编译 C.在C语言程序中,只有main函数才可单独进行编译

历年全国计算机二级C语言试题库完整

. . . . 参考 50道C 语言知识题 1.以下叙述中正确的是 A)用C 程序实现的算法必须要有输入和输出操作 B)用C 程序实现的算法可以没有输出但必须要有输入 C)用C 程序实现的算法可以没有输入但必须要有输出 D)用C 程序实现的算法可以既没有输入也没有输出 2.下列可用于C 语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C 语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line 是一个数组,每个数组元素是一个基类型为char 为指针变量 B)定义line 是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line 是一个指针数组,语句中的*号称为间址运算符 D)定义line 是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a 的ASCII 码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量c 的值不为2、4、6时,值也为"真"的表达式是 A)(c==2)||(c==4)||(c==6) B)(c>=2&&c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 9.若变量已正确定义,有以下程序段

计算机等级考试二级真题及答案

2015计算机二级考试试题及答案 1、设有表示公司和员工及雇佣的三张表,员工可在多家公司兼职,其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),员工S(员工号,姓名,性别,年龄,学历),雇佣E(公司号,员工号,工资,工作起始时间)。其中表C的键为公司号,表S的键为员工号,则表E的键(码)为______。 A、公司号,员工号 B、员工号,工资 C、员工号 D、公司号,员工号,工资 【评析】 本题考查知识点是关键字。 能唯一标识实体的属性集称为码(关键字)。码也称为关键字,是表中若干属性的属性组,其值唯一标识表中的一个元组。 本题答案:A。 3、下列叙述中正确的是______。 A、每一个结点有两个指针域的链表一定是非线性结构 B、所有结点的指针域都为非空的链表一定是非线性结构 C、循环链表是循环队列的链式存储结构 D、线性结构的存储结点也可以有多个指针 【评析】 本题考查知识点是线性表的线性结构与非线性结构。

线性表的链式存储结构称为线性链表。在某些应用中,对线性链表中的每个结点设置两个指针,一个称为左指针,用以指向其前件结点;另一个称为右指针,用以指向其后件结点。 本题答案:D。 4、在线性表的顺序存储结构中,其存储空间连续,各个元素所占的字节数______。 A、相同,元素的存储顺序与逻辑顺序一致 B、相同,但其元素的存储顺序可以与逻辑顺序不一致 C、不同,但元素的存储顺序与逻辑顺序一致 D、不同,且其元素的存储顺序可以与逻辑顺序不一致 【评析】 本题考查知识点是线性表的顺序存储结构。 线性表的顺序存储结构具有两个基本特点:1.线性表中所有元素所占的存储空间是连续的;2.线性表中各元素在存储空间中是按逻辑顺序依次存放的。 本题答案:A。 5、设循环队列为Q(1: m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=30,rear=10。现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为______。 A、19 B、20 C、m-19 D、m-20 【评析】 本题考查知识点是循环队列的运算。

C语言上机考试经典试题(3套)

四川省普通高等学校计算机应用知识和能力 第二十八次等级考试 二级(C与C++语言) 笔试试卷 时间: 2008年4月19 日 上午9:00—11:00 第一部分 软件技术基础 (共15分) 一、是非判断题(每小题1分,共10分) ( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B ) 1. 在程序设计中,常用一维数组来表示线性表的顺序存储空间。( 1 ) 2. 数据在计算机内存中的表示是指数据的存储结构。( 2 ) 3. Windows是多用户多任务操作系统。( 3 ) 4. 能影响中断响应次序的技术是中断优先级和中断屏蔽。( 4 ) 5. 链表可以随机访问任意一个结点,而顺序表则不能。( 5 ) 6. 作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。( 6 ) 7. 数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。 ( 7 ) 8. 中断控制方式适用于外存同CPU之间进行大量数据交换。( 8 ) 9. 提供没有错误的程序是提高软件的可维护性的基本措施。( 9 ) 10.软件结构是以指令为基础而组成的一种控制层次结构。( 10 ) 二、选择题(每小题1分,共5分) 1. 数据流图是用于描述结构化方法中(11 )工作阶段的工具。 11 (A) 可行性分析(B) 程序编码 (C) 详细设计(D) 需要分析 2. 若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能的出栈序列是(12 )。 12 (A) 1,4,3,2 (B) 3,1,4,2 (C) 2,3,4,1 (D) 3,4,2,1 3. 任何两个并发进程之间(13 )。 13 (A) 可能存在同步或互斥关系(B) 一定存在同步关系 (C) 一定彼此独立无关(D) 一定存在互斥关系 4. 以下的哪个特征不是分时操作系统的主要特征(14 )。 14 (A) 分时性(B) 独占性 (C) 交互性(D) 多路性 5. 需求分析中开发人员主要从用户那里了解(15 )。 15 (A) 软件的维护(B) 软件的结构 (C) 软件做什么(D) 软件的测试

计算机二级上机考试试题1

#include void fun(unsigned long *n) { unsigned long x=0, i; int t; i=1; while(*n) /**********found**********/ { t=*n % __1__; /**********found**********/ if(t%2!= __2__) { x=x+t*i; i=i*10; } *n =*n /10; } /**********found**********/ *n=__3__; } main() { unsigned long n=-1; while(n>99999999||n<0) { printf("Please input(0 double fun ( int n ) /* 宏为世纪教育https://www.doczj.com/doc/d43170636.html, */ { double result = 1.0 ; /************found************/ if n = = 0 return 1.0 ; while( n >1 && n < 170 ) /************found************/ result *= n--

相关主题
相关文档 最新文档