4月全国计算机等级考试二级FOXBASE语言程序设计

时间:2023-10-24 03:49:33 作者:云影 综合材料 收藏本文 下载本文

【导语】“云影”通过精心收集,向本站投稿了7篇4月全国计算机等级考试二级FOXBASE语言程序设计,下面就是小编给大家分享的4月全国计算机等级考试二级FOXBASE语言程序设计,希望大家喜欢!

篇1:4月全国计算机等级考试二级FOXBASE语言程序设计

一、选择题((1)~(40)每小题1分,(41)~(50)每小题2分,共60分)

下列各题 a) 、b)、c)、d)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 用8位无符号二进制数能表示的最大十进制数为 c

a) 127 b) 128 c) 255 d) 256

(2) 在64位高档微机中,一个字长所占的二进制位数为d

a) 8 b) 16 c) 32 d) 64

(3) 在windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住 d

a) alt键 b)esc键 c)shift键 d)ctrl键

(4) 在windows菜单中,暗淡(灰色)的命令项表示该命令a

a) 暂时不能用 b) 正在执行 c) 包含下一层菜单 d) 包含对话框

(5) 在dos环境下,为了得到type命令的帮助信息,正确的dos命令为 d

a) type b) type/h c) type/* d) type/?

(6) 下列选项中,能作为合法dos文件名的是 b

a) anp/a.dat b) abccom c) ecd.basic d) xy+z.txt

(7) 下列叙述中正确的是 a

a) 在windows环境下,最大化的窗口是不能移动的

b) 在windows环境下,应用程序窗口最小化后,该应用程序暂停执行

c) 在windows环境下,只有最小化的窗口才能关闭

d) 在windows环境下,不能关闭最大化的窗口

(8) 在windows环境下,工具栏中的复制按钮是c

a) 打印机图标 b) 剪刀标志 c) 复制标志 d) 粘贴标志

9) 在windows98环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按d

a) ctrl+printscreen键 b) alt+printscree键

c) shift+printscreen键 d) printscreen键

(10) 目前,计算机病毒扩散最快的途径是b

a) 通过软件复制 b) 通过网络传播

c) 通过磁盘考贝 d) 运行游戏软件

(11) foxbase是一种 b

a)数据库 b)数据库管理系统

c)数据库系统 d)数据库应用程序

(12) 数据库文件book.dbf中包含memo型字段,下列描述中错误的是

a) 若删除了备注文件book.dbt,则该数据库文件将无法打开 b

b) 若删除了该数据库文件,则备注文件book.dbt自动被删除

c) 若打开该数据库文件,则备注文件book.dbt自动打开

d) 该数据库文件的所有备注型字段的内容都存放在同一个备注文件中

(13) 在foxbase中,下列数据中属于常量的是b

a) top b) .y. c) t d) 12/11/2003

(14) 在foxbase中,可以用type命令显示其内容的文件类型为c

a).mem b) .dbt c) .prg d) .fox

(15) 不能关闭当前工作区中索引文件的命令为 d

a)set index to b)close index

c)close all d)set order to

(16) 在相关数据库文件存在或已打开的情况下,下列命令中能正确执行的是

a) seek for 基本工>1000 b) @10,12 say“a的值为:”,20

c) delete zgjk.dbf d) count rest

(17) 当范围和条件短语同时省略时,仅作用于当前记录的命令是

a)count b)delete c)list d)change

(18) 在操作过程中,可以进入人机交互工作方式的命令为

a) append blank b) browse c) replace d)delete all

(19) 不能向数据库文件增加记录的命令是

a) browse b) append c) insert d) replace

(20) 表达式int(-25.8)的值为

a) -25 b) -26 c) 25 d)26

(21) 下列对browse命令描述正确的是

a) 只能浏览数据库文件,不能修改记录内容

b) 能浏览数据库文件,但不能增加或删除记录

c) 能浏览数据库文件,同时也能增加或删除记录

d) 不仅能浏览数据库文件,还能修改数据库的结构

(22) 在foxbase中,seek命令和locate命令都可以用于查找记录,但在使用上有所不同。以下表述正确的是

a) seek命令可以一次查找到全部记录,locate命令一次只能找到一条记录

b) seek命令需要打开相应索引文件才能使用,locate命令不需要索引文件

c) seek命令只能查找字符串,locate命令可以查找任何类型字段

d) seek命令可以和continue命令联合使用,而locate命令不可以

(23) 以下关于total命令的表述中,正确的是

a) 命令的执行结果不生成另一个数据库文件

b) 所操作的数据库文件不必按关键字段索引或排序

c) 命令中的关键字段必须是数值型字段

d) 只能对数据型字段进行汇总

(24) 有如下序列(“□”表示空格)

store “abc□□” to x

store “xyz”+x to y

store trim(y)-“lmn” to z

?len(z)

执行上述命令之后,屏幕显示的值是

a) xyzabclmn b) xyzabclmn□□ c) 11 d) 9

(25) 使用display命令时,若范围短语为all或rest,执行该命令后,记录指针指向

a) 首记录 b) 末记录 c) 首记录的前面 d) 末记录的后面

(26) 在foxbase中,已经在多个工作区中打开了若干个数据库。要显示当前工作区的区号,应使用命令

a) select b) ?select c) select d) ?select

(27) 数据库文件已经打开,当前记录中姓名字段的值是“张敏”。执行以下命令序列:

姓名=“李卫星”

?姓名

屏幕显示的结果是

a) 张敏 b) 李卫星 c) 张敏李卫星 d) 李卫星张敏

(28) 在foxbase数据库中,记录是由字段值构成的数据序列,记录长度要比各字段长度之和多一个字节,这个字节用来存放

a) 记录的分隔标记 b) 记录的序号

c) 记录的指针定位标记 d) 记录的删除标记

(29) 在foxbase圆点指示符下,要将a盘根目录下的sst.prg文件复制到c盘根目录下的my子目录下,应使用命令

a) copy a:sst.prg c:my

b) copy file a:sst.prg to c:my

c) copy file a:sst.prg to c:mysst

d) copy file a:sst.prg to c:mysst.prg

(30) 有如下命令序列:

x=“a”

y=x

a=“黄河长江”

?x+&x-y-&y

执行以上命令序列后,屏幕显示表达式x+&x-y-&y的结果是

a) 黄河长江 b) a黄河长江a黄河长江

c) a黄河长江a d) a黄河长江黄河长江

(31) 在默认的日期格式下,表列表达式中,结果一定为真(.t.)的是

a) “200”>3 b) .not..t.

c) “男” d) ctod(“03/21/03”)>ctod(“03/12/03”)

(32) 在没有打开索引文件的情况下,如果使用append命令追加一条记录,其功能等同于命令序列

a) goto eof

insert

b) coto bottom

insert before

c) goto bottom

insert after

d) goto bottom

insert

(33) 要清空当前数据库文件hgz.dbf中“奖金”字段的全部值,应当使用命令

a) modify structure b) delete

c) replace d) zap

(34) 在foxabse中,用于建立或修改过程文件的命令是

a) modify <文件名>b) modify command <文件名>

c) modify procedure <文件名>d) create command <文件名>

(35) 在foxbase中,能够进行条件定位的命令是

a)skip b)seek c)locate d)go

(36) 设x=100,y=800,执行以下命令:

?iif(x>100,y-50,y+50)

屏幕显示结果是

a) 50 b) 750 c) 800 d) 850

(37) 如果测试函数type(“w”)的值是“u”,说明

a) w是数组 b) w未定义

c) w的值为u d) w的值无符号

(38) 在下列记录定位命令中,不能用found()函数检其操作是否成功的命令是

a)seek b)find c)locate/continue d)skip

(39) 有如下命令

set deleted on

use abc

go 3

delete next 2

go 4

recall

use

执行最后一条recall命令时,去掉删除标记的记录个数是

a) 0 b) 1 c) 2 d) 3

(40) 要清除所有变量名第二个字母为x的内存变量应使用命令

a) release all *x b) release all like x

c) release all like ?x* d) release all like “?x”

(41) 为了确保向日期型字段“起始日期”中输入以前的日期,应在read之前使用语句

a) @5,15 say “起始日期:” get 起始日期 range, ctod(“12/31/96”)

b) @5,15 say “起始日期:” get 起始日期 range ctod(“12/31/96”),

c) @5,15 say “起始日期:” get 起始日期 for 起始日期<= ctod(“12/31/96”)

d) @5,15 say “起始日期:” get 起始日期 range date(),ctod(“12/31/96”)

(42) 若在update命令中使用了random短语,则

a) 源数据库和目标数据库都必须按关键字段排序或索引

b) 只需将源数据库按关键字段排序或索引

c) 只需将目标数据库按关键字段排序或索引

d) 源数据库和目标数据库均可以不按关键字段排序或索引

(43) 设当前数据库中有20条记录,当前记录号为10。有以下各组命令,在没有打开索引的情况下,两条命令执行结果相同的是

a) go 5与skip 5 b)go recno()+5与skip 5

c)skip recn0()+5与go recn0()+5 d)go recn0()+5与 list next 5

(44) 已知x=99,y=“a”,a=“telephone”,则len(str(x,2)+&y)的值为

a) 19 b) 11 c) 5 d) 5

(45) 已知proc.prg程序清单如下:

set talk off

n=20

t=1

do proc_1 with n,t

?t

set talk on

return

proc_1.prg程序清单如下:

parameters a,b

b=a*b

if a<=2

return

endif

do proc_1 with a-2,b

return

程序proc.prg的功能是

a) 输出20以内偶数的乘积 b) 输出20以内奇数的乘积

c) 输出结果为1 d) 输出结果为0

以下(46)-(50)题的操作均基于下面条件:

已建立并打开职工工资数据库zggz.dbf。该数据库的结构为:职工编号(c,6),姓名(c,8),性别(c,2),基本工资(n,7,2),奖金(n,7,2,),实发工资(n,8,2)

职工编号 姓名 性别 基本工资 奖金 实发工资

a10001 林大伟 男 1500.50 500.00 2000.50

a15002 高原 男 2000.00 300.00 2300.00

b10008 张高山 男 1200.80 200.00 1400.80

b15009 刘群 女 1050.60 350.00 1400.60

... ... ... ... ... ... >

(46) 要显示库中性别字段值为“女”的所有记录,错误的命令是

a) list for 性别=“女” b) display for 性别=“女”

c) browse for 性别=“女” d) display all for 性别=“女”

(47) 为了重新计算每个职工记录中实发工资字段的值,可使用命令

a) sum 实发工资

b) sum all 实发工资

c) replace 实发工资 with 基本工资+奖金

d) replace all 实发工资 with 基本工资+奖金

(48) 命令index on基本工资+奖金 to zggz的作用是

a)按基本工资升序排列,当基本工资相同时,按奖金升序排列

b)按基本工资降序排列,当基本工资相同时,按奖金降序排列

c)按基本工资与奖金之和的升序排列

d)按基本工资与奖金之和的降序排列

(49) 输出结果中,包含“张高山”记录的命令是

a) list for姓名=“高” b) display all for “高”

c) list for left(姓名,2)=“高” d) display for at(“高”,姓名)=1

(50) 能逻辑删除职工编号中第3位是“5”的职工记录的命令为

a) delete for substr(职工编号,3)==“5”

b) delete for substr(职工编号,3,1)==5

c) delete for substr(职工编号,3,1)==“5”

d) delete for at(5,职工编号)=3

二、填空

请将每一个空的正确答案写在答题卡上【1】~【20】序号的横线上,答在试卷上不得分。

(1) 用十六进制给存储器中的字节地址进行编号,若地址编号从000到ffff,则该存诸器的容量为【1】kb。

(2) 假设在当前盘的当前目录下有两个文件a.txt和b.txt,现要将文件b.txt合并连接到文件a.txt的后面。若使用copy命令,则完整的命令为【2】 。

(3) e-mail地址由用户名和域名两部分组成,这两部分的分隔符为【3】。

(4) 假设在当前盘当前目录下有一个可执行程序user.exe。现要执行该程序,并要求在

执行过程中将显示输出的结果信息存入当前盘当前目录的文件out.dat中,则完整的dos命令

为【4】。

(5) 在dos环境下,表示打印机的设备文件名为【5】。

(6) 在当前打开的数据库文件中有一个长度为6的字符型字?quot;姓名“,有如下命令序列

replace 姓名 with ”肖光“

? len(姓名)

执行最后一条命令的显示结果是【6】。

(7) 已知一张职工登记表包括姓名、性别、出生日期、婚否、政治面目、住址、电话等,若要建立保存此表的库文件,可以定义为逻辑字段的项目有【7】。(注意:字段与字段之间用顿号分隔,否则不得分)

(8) 有如下命令序列:

use xyz

?reccount()

skip +2

delete

?reccount()

执行第一条输出命令后,屏幕显示10。接着执行后面的命令序列,第二条输出命令显示的结果是【8】。

(9) 以下命令序列的功能是根据输入的考试成绩,显示相应的成绩等级。等级划分标准为:低于60分为”不合格“,60分以上(含60)为”通过“,其中90分以上(含90)的为”优秀“。请对该程序填空:

clear

【9】”请输入考试成绩:“to chj

do case

case chj<60

dj=”不合格“

case【10】

dj=”通过“

otherwise

dj=”优秀“

endcase

?”成绩等级:“【11】

return

(10) 有如下命令序列:

set date american

?dtoc(ctod(”9/21/2002“),1)

顺序执行以上两条命令之后,在屏幕上将显示【12】。

(11) 有以下三个数据库:

职员(职员号c(3),姓名c(6),性别c(2),职务c(10))

订单(订单号n(3),客户号c(3),职员号c(3),签订日期d(8),金额n(6,2))

客户(客户号c(3),客户号c(20),地址c(20),电话c(13))

要为订单库建立一个二重索引,要求按签订日期升序,相同签订日期的记录按职员号升序,索引表达式应为【13】。

(12) 有以下三个数据库:

职员(职员号c(3),姓名c(6),性别c(2),职务c(10))

订单(订单号n(3),客户号c(3),职员号c(3),签订日期d(8),金额n(6,2))

客户(客户号c(3),客户号c(20),地址c(20),电话c(13))

下面程序的功能是利用索引逐条显示8月份签订的订单记录。请填空:

select 0

use 订单

index on month(签订日期) to im

clear

seek 8

if【14】

do while【15】

display

skip

enddo

else

?”8月份没有订单!“

endif

close database

return

(13) 有以下三个数据库:

职员(职员号c(3),姓名c(6),性别c(2),职务c(10))

订单(订单号n(3),客户号c(3),职员号c(3),签订日期d(8),金额n(6,2))

客户(客户号c(3),客户号c(20),地址c(20),电话c(13))

下面的程序的功能是分别统计职员号以a或b开头的职员所签订的订单数目和总金额。请填空:

clear

store 0 to nl,sl,n2,s2

select 0

use 订单

do while .not. eof()

do case

case【16】

n1=n1+1

s1=s1+金额

case【17】

n2=n2+1

s2=s2+金额

endcase

【18】

enddo

?”a职员订单数;“+str(n1,3)+space(10)+”总金额;“+str(s1,7,2)

?”b职员订单数;“+str(n2,3)+space(10)+”总金额;“+str(s2,7,2)

close database

return

(14) 有以下三个数据库:

职员(职员号c(3),姓名c(6),性别c(2),职务c(10))

订单(订单号n(3),客户号c(3),职员号c(3),签订日期d(8),金额n(6,2))

客户(客户号c(3),客户号c(20),地址c(20),电话c(13))

下面程序的功能是根据订单号查询该订单及相关职员和客户的信息,要求在屏幕的第6行第20列开始显示输出信息。请填空:

set safety

clear

input ”请输入订单号:“to mddh

locate for 订单号=mddh

if eof()

?”无此订单号!“

else

【20】”职员:“+职员-〉姓名+”客户;“+客户-〉客户名+”金额:“-str(金额,6,2)

endif

wait ”继续查询吗(y/n)?“ to yn

enddo

close database

set safety on

return

篇2:4月全国计算机等级考试二级QBASIC语言程序设计

一、选择题((1)-(40)每小题1分,(41)-(50)每小题2 分,共60分)

下列各题 a) 、b)、c) 、d)四个选项中,只有一个选项是正确的,请将正确选项涂写在

答题卡相应位置上,答在试卷上不得分。

(1) 用8位无符号二进制数能表示的最大十进制数为

a) 127 b) 128 c) 255 d) 256

(2) 在64位高档微机中,一个字长所占的二进制位数为

a) 8 b) 16 c) 32 d) 64

(3) 在windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住

a) alt键 b)esc键 c)shift键 d)ctrl键

(4) 在windows菜单中,暗淡(灰色)的命令项表示该命令

a) 暂时不能用 b) 正 在执行 c) 包含下一层菜单 d) 包含对话框

(5) 在dos环境下,为了得到type命令的帮助信息,正确的dos命令为

a) type b) type/h c) type/* d) type/?

(6) 下列选项中,能作为合法dos文件名的是

a) anp/a.dat b) abccom c) ecd.basic d) xy+z.txt

(7) 下列叙述中正确的是

a) 在windows环境下,最大化的窗口是不能移动的

b) 在windows环境下,应用程序窗口最小化后,该应用程序暂停执行

c) 在windows环境下,只有最小化的窗口才能关闭

d) 在windows环境下,不能关闭最大化的窗口

(8) 在windows环境下,工具栏中的复制按钮是

a) 打印机图标 b)剪刀标志 c) 复制标志 d) 粘贴标志

(9) 在windows98环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按

a) ctrl+printscreen键 b) alt+printscree键

c) shift+printscreen键 d) printscreen键

(10) 目前,计算机病毒扩散最快的途径是

a) 通过软件复制 b) 通过网络传播

c) 通过磁盘考贝 d) 运行游戏软件

(11) 在qbasic集成开发环境中,在编辑源程序后要运行程序,应按下键盘上的

a) f2键 b) f5键 c) enter键 d) end键

(12) 关于qbasic源程序语句中行号的说法正确的是

a) 必须有行号 b) 不允许有行号 c) 根据需要可有可无 d) 只允许有标号

(13) 在qbasic中,常量3e1的数据类型是

a) 字符串 b) 单精度实型 c) 双精度实型 d) 整型

(14) 在下列四个式子中,非法的qbasic表达式是

a) a=abc b) 5>3+3 c) a+b=c d) 55

(15) qbasic表达式3^3/3mod2的值是

a) 1 b) -1 c) 3 d) 0

(16) 在以下属于合法的qbasic变量名是

a) x-3 b) 4y c) n$1 d) b.1

(17) 定义一个3×3的二维数组,正确的语句是

a) dim a(0 to 3,0 to 3) b)dim a(2000 to 2002,0 to 2)

c) dim a(3),a(3) d)dim a(1 to 3)

(18) 下列语句中合法的是

a) print a=atn b) print”sin(3.14)“+”cos(3.14“

c) print tab(10) ”qb“ d) print using”####“,1234.56

(19) 在qbasic中,下列运算符优先级最高的是

a) mod b) not c) / d) ^

(20) 正确的单行自定义函数语句是

a) def fn(x)=3.14159*x^2 b) define fn(x)=3.14129*x^2

c) def fnn(x)=3.14159*x^2 d) def fnn(x)=3.14159*x^2 end

(21) 表达式int(4*rnd+1)*(int(4*rnd-1))值的范围是

a) [0,8] b) [-1,8] c) [-3,8] d)[-4,8]

(22) 有如下程序段

const c=”wang“

c$=”a“

print len(c);len(c$)

其输出结果为

a) wang a b) 4 1 c) 1 1 d) 重复定义,程序出错

(23) 有如下程序段

a%=12.8:b!=14.5

print a%,b!

其输出结果为

a) 12.8 4 b) 12 1 4.5 c) 12.8 15 d) 13 1 4.5

(24) 有如下程序

read a,b,c

restore k

read c,c,d

data 1,2

k: data 3,4,5

print a;b;c;d

end

a) 1 2 3 4 b) 1 2 3 5 c) 3 4 5 4 d) 1 2 4 5

(25) 以下语句中错误的是

a) input”x,y=“;a,b b) input”x,y=“,c,d

c) input, ”x,y=“,e,f d) input; ”x,y=“,g,h

(26) 实现选择结构”如果x确程序段为

a) if x

b) if x>=y then

a=-15 a=-15

print a else a=15

end if end if

print a

c) if x>y then a=-15

d) if x>=y then go to d

a=15 a=15

print a d: a=-15

end print a

end

(27) 以下语句中正确的是

a) for 1 to 10 step 2 b) for x=1,9 step3

c) for x=10 to-10 step-10 d) for x=10 to 50 next

(28) 有如下程序

dim k as integer, y as integer

let y=3

for k=1 to 5 step-1

y=y+k

next k

print y;k

end

其输出结为

a) 3 1 b) 4 0 c) -1 6 d) 4 1

(29) 有如下程序

dim x as integer, y as integer

for x=1 to 2

for y=0 to x=-1

print x*y

next y

next x

end

内层循环的循环体的总执行次数是

a) 1 b) 2 c) 3 d) 4

(30) 有如下程序

dim x as integer, y as integer

x=0

read y

while y-9999 and x3

if y>x then x=y

read y

wend

data-9999,9,8,3,9999

print abs(y)

end

运行后的输出结果为

a) 9 b) -9999 c) 3 d) 9999

(31) 有如下程序

a$=“12”

b$=“24”

c$=b$+a$

d=val(c$)

print d100

end

运行后的输出结果是

a) 12 b) 36 c)34 d) 24

(32) 有如下程序

for j=1 to 5

a=(a+j)mod 5

next j

print a

end

运行后的输出结果是

a) 0 b) 5 c) 25 d) 50

(33) 当eof()函数返回的值为-1时,表示文件指针指向文件的

a) 开头 b) 第一个记录 c) 末尾 d) 最后一个记录

(34) 有如下程序

for x=1 to 4

z=0

for y=1 to x+2

z=z+1

next y

print z;

next x

end

运行后的输出结果是

a) 3 4 5 6 b) 4 5 6 7 c) 5 6 7 8 d) 6 7 8 9

(35) 有如下程序

def fna(x,y)=x^2+y^2

x=4

y=3

print fna(x,y)

end

运行后的输出结果是

a) 5 b)7 c)25 d)49

(36) 有如下程序

m$=“abcde”

mid$(m$,1,5)= “abcde”

print m$

end

运行后的输出结果是

a) abcdeabcde b) abcdeabcde c) abcde d) abcde

(37) 有如下程序

for j=1 to 10

read a

if a mod 2=0 then sum=sum+a

next j

print“sum=”;sum

data 1,3,6,10,15,21,28,36,45,55

end

运行后的输出结果是

a) 55 b) 80 c) 140 d) 220

(38) 有如下程序

x=1

do

x=2*x+1

num=num+1

loop until x>100

print num,x

end

运行后的输出的结果是

a) 6 127 b)8 127 c)127 8 d)127 8

(39) 有如下程序

sum=0

for i=1 to 9

if i10 then

sum=sum+1

else

sum=sum+2

end if

next i

(40) 有如下程序

m$=“*”

i=1

for k=3 to 1 step -1

x$=string$(k+i,m$)

print x$

m$=m$+“*”

i=-i

next k

end

运行后的输出结果是

a) **

***

****

b) ****

***

**

c) ****

*

**

d) ****

**

******

(41) 有如下程序

declare sub f(m%,n%,g%)

call f(87,69,g%)

print g%

end

sum f(m%,n%,g%)

a=m%

b=n%

do

c=a mod b

a=b

b=c

loop while c0

g%=a

end sub

运行后的输出结果是

a) 3 b) 18 c) 69 d)87

(42) 有如下程序

input n

i=2

t=-1

do while i*i<=n

if n mod i=0 then

t=0

end if

i=i+1

loop

print t

end

运行时输入257,输出结果是

a) 0 b) 1 c) -1 d) 257

(43) 有如下程序

month=int(rnd*3+1)+6

select cass month

case 1 to 3

season$=“first”

case 4 to 6

season$=“second”

case 7 to 9

season$=“third”

case else

season$=“fourth”

end select

print season$

end

运行后的输出结果是

a) first b)second c)thire d)不能确定

(44) 有如下程序

declare function f(n)

input n

print f(n)

end

function f(n)

if n=0 then f=0 else f=n+f(n-1)

end function

键盘输入n运行后的输出结果是78,则n的值是

a) 10 b)11 c)12 d)13

(45) 有如下程序

cls:screen 13:color 2

x=180:y=100:r=50

circle(x,y),50

circle(180,100),r

end

该程序在屏幕上显示的是

a) 一个圆 b) 两个同心圆 c) 两个不同心的圆 d) 没有显示

(46) 有如下程序

screen 13

color 2

line(10,10)-(50,50)

line(50,50)-(10,90)

end

程序所画两条线段

a) 关于一点对称 b) 关于一条垂直的直线对称

c) 关于一条水平的直线对称 d) 重合

(47) 有如下程序

for m=3 to 5

for j=1 to m-2

for k=j to 3

n=n+k

next k

next j

next m

end

运行后n的值为

a) 21 b) 25 c) 31 d) 42

(48) 有如下程序

m$=“a”

n$=“b”

o$=lcase$(m$)

p$=ucase$(n$)

end

运行结果是

a) a 0 b 0 b) a 0 b0 c) a 97 b 66 d) a 65 b 98

(49) 语句open“a.dat”for random as#1 len=30表示此文件每个记录

a)长度等于30个字符 b)长度等于30个字节

c)长度小于或等于30个字节 d)长度小于或等于30个字符

(50) 有如下程序

dim x(3,3)

for k=1 to 2

for j=1 to 2

if k=j then

x(k,j)=1

else

x(k,j)=0

end if

next j:next k

open“diagonal.dat”for output as#1

for k=1 to 2

print#1,x(k,1);x(k,2)

next k

close#1

end

执行程序,屏幕上显示的结果是

a) 0 1

1 0

b) 1 0

0 1

c) 0 0

1 1

d) 没有任何显示

二、填空题(每空2分,共20分)

请将每空的正确答案写在答题卡上【1】-【10】序号的横线上,答在试卷上不得分。

(1) 用十六进制给存储器中的字节地址进行编号,若地址编号从000到ffff,则该存诸器的容量为【1】kb。

(2) 假设在当前盘的当前目录下有两个文件a.txt和b.txt,现要将文件b.txt合并连接到文件a.txt的后面。若使用copy命令,则完整的命令为【2】。

(3) e-mail地址由用户名和域名两部分组成,这两部分的分隔符为【3】。

(4) 假设在当前盘当前目录下有一个可执行程序user.ext。现要执行该程序,并要求在执行过程中将显示输出的结果信息存入当为【4】。

(5) 在dos环境下,表示打印机的设备文件名为【5】。

(6) 数据式aeutcos(wt+v)的qbasic表达式为【6】。

(7) 常数-0.00013579的标准化的指数形式是【7】。

(8) 有如下程序

a=1357:b=246

c=len(str$(a)+str$(b))

print c

end

运行后,输出的值是【8】。

(9) 四个字符串“xab”、“”xyz“、”def“及”de“中最大者为【9】。

(10) 有如下程序

for j=1 to 11

j=j+1

if j mod 4=0 then n=n+1

next j

print”n=“;n

end

运行后,输出的值是【10】。

(11) 有如下程序

x=5:y=-20

if not x>0 then

x=y-3

else

y=y+3

end if

print x-y;y-x

end

运行后的输出结果是【11】。

(12) 设a=2,b=3,c=4,d=5,表达式3>2*b or a=c and bc or c>d的值是【12】。

(13) 有如下程序

for i=1 to 5

for x=i to 5 step 1

if i=2 and x<5 then print”*“;

next x

next i

end

运行后输出的结果是【13】。

(14) 随机生成100个-500到500间的整数(含-500和500),并找出其中第k大的数。请在【14】、【15】处填入适当内容将程序补充完整。

dim a(100)

input k

for i=1 to 100

a(i)=int(【14】*rnd)-500:print a(i);

next i

print

for i=1 to k

for j=i+1 to 100

if【15】then swap a(i),a(j)

next j

next i

print”a(“;k;”)=“;a(k);

end

(15) 有如下程序

dim i as integer,x as integer

x=1:y=1:i=1

do while i<4

f=x+y

x=y

y=f

print f

i=i+1

loop

end

运行后的输出的结果是【16】。

(16) 有如下程序

dim tel(10)as string*8

for i=1 to 4

read tel(i)

next i

for i=1 to 4

if left$(tel(i),1)=”2“then

tel(i)=”6“+tel(i)

else

tel(i)=tel(i)+”9“

end if

next i

print tel(1),tel(2)

data 6543210,2345678,2457788,8237777

end

运行后输出的结果是【17】。

(17) 下面的程序从键盘输入一个正整数n,计算并输出比n小,并且与n互素的数的个数。(两个数互素是指它们的最大公约数等于1)

declare function gcd(a,b)

input n

phi=1

for i=2 to n-1

if gcd(n,i)=1 then phi=【18】

next i

end

function gcd(a,b)

if b=0 then

tmp=【19】

else

if b=1 then tmp=1 else tmp=gcd(b, 【20】)

endif

gd=tmp

end function

运行后,输出的值是

篇3:4月全国计算机等级考试二级Visual Basic语言程

一、选择题((1)—(20)每小题2分,(21)—(30)每小题3分,共70分)

下列各题 a) 、b)、c)、d)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:

private sub command1_click

move 500,500

end sub

程序运行后,单击命令按钮,执行的操作为

a) 命令按钮移动到距窗体左边界、上边界各500的位置

b) 窗体移动到距屏幕左边界、上边界各500的位置

c) 命令按钮向左、上方向各移动500

d) 窗体向左、上方向各移动500

(2) 在窗体上有若干控件,其中有一个名称为text1的文本框。影响text1的tab顺序的属性是

a) tabstop                 b)enabled

c) visible                 d)tabindex

(3) 以下定义数组或给数组元素赋值的语句中,正确的是

(4) 在窗体上画一个名称为list1的列表框,为了对列表框中的每个项目都能进行处理,应使用的循环语句为

a) for i=0 to list1.listcount-1

……

next

b) for i=0 to listcount-1

……

next

c) for i=1 to list1.listcount

……

next

d) for i=1 to listcount

……

next

(5) 以下case语句中错误的是

a) case 0 to 10                b) case is>10

c) case is>10 and is<50        d) case 3,5,is>10

(6) 以下关于图片框控件的说法中,错误的是

a) 可以通过print方法在图片框中输出文本

b) 清空图片框控件中图形的方法之一是加载一个空图形

c) 图片框控件可以作为容器使用

d) 用stretch属性可以自动调整图片框中图形的大小

(7) 执行语句s=len(mid(”visualbasic“,1,6))后,s的值是

a) visual      b) basic        c) 6        d) 11

(8) 以下叙述中错误的是

a) 下拉式菜单和弹出式菜单都用菜单编辑器建立

b) 在多窗体程序中,每个窗体都可以建立自己的菜单系统

c) 除分隔线外,所有菜单项都能接收click事件

d) 如果把一个菜单项的enabled属性设置为false,则该菜单项不可见

(9) 在窗体上画一个命令按钮,其名称为command1,然后编写如下事件过程:

private sub command1_click()

a = 12345

print format$(a, ”000.00“)

end sub

程序运行后,单击命令按钮,窗体上显示的是

a) 123.45      b) 12345.00         c) 12345        d)00123.45

(10) 以下叙述中错误的是

a) 一个工程可以包括多种类型的文件

b) visual basic应用程序既能以编译方式执行,也能以解释方式执行

c) 程序运行后,在内存中只能驻留一个窗体

d) 对于事件驱动型应用程序,每次运行时的执行顺序可以不一样

(11) 以下关于函数过程的叙述中,正确的是

a) 函数过程形参的类型与函数返回值的类型没有关系

b) 在函数过程中,过程的返回值可以有多个

c) 当数组作为函数过程的参数时,既能以传值方式传递,也能以传址方式传递

d) 如果不指明函数过程参数的类型,则该参数没有数据类型

(12) 以下关于变量作用域的叙述中,正确的是

a) 窗体中凡被声明为private的变量只能在某个指定的过程中使用

b) 全局变量必须在标准模块中声明

c) 模块级变量只能用private关键字声明

d) static类型变量的作用域是它所在的窗体或模块文件

(13) 确定一个控件在窗体上的位置的属性是

a) width和height                      b) width或height

c) top和left                          d) top或left

(14) 在窗体上画一个名称为text1的文本框和一个名称为command1的命令按钮,然后编写如下事件过程

private sub command1_click()

text1.text = ”visual“

me.text1 = ”basic“

text1 = ”program“

end sub

程序运行后,如果单击命令按钮,则在文本框中显示的是

a) visual      b) basic        c) program      d) 出错

(15) 以下关系表达式中,其值为false的是

a) ”abc“>”abc“                     b) ”the“”they“

c) ”visual“=ucase(”visual“)            d) ”integer“>”int“

(16) 语句print 5/4*6\u0005 mod 2的输出结果是

a) 0           b) 1           c) 2            d) 3

(17) 在窗体上画一个文本框、一个标签和一个命令按钮,其名称分别为text1、label1和command1,然后编写如下两个事件过程:

private sub command1_click()

strtext = inputbox(”请输入“)

text1.text = strtext

end sub

private sub text1_change()

label1.caption = right(trim(text1.text), 3)

end sub

程序运行后,单击命令按钮,如果在输入对话框中输入abcdef,则在标签中显示的内容是

a)空            b) abcdef            c) abc              d) def

(18) 在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:

private sub command1_click()

x = -5

if sgn(x) then

y = sgn(x ^ 2)

else

y = sgn(x)

end if

print y

end sub

程序运行后,单击命令按钮,窗体上显示的是

a) -5      b) 25           c) 1            d) -1

(19) 一个工程中含有窗体form1、form2和标准模块model1,如果在form1中有语句pubilc x as integer,在model1中有语句pubilc y as integer,则以下叙述中正确的是

a) 变量x、y的作用域相同      b) y的作用域是model1

c) 在form1中可以直接使用x    d) 在form2中可以直接使用x和y

(20) 在窗体上画一个名称为drive1的驱动器列表框,一个名称为dir1的目录列表框。当改变当前驱动器时,目录列表框应该与之同步改变。设置两个控件同步的命令放在一个事件过程中,这个事件过程是

a)drive1_change               b) drive1_click

c) dir1_click                  d) dir1_change

(21) 在窗体上画一个命令按钮(其name属性为command1),然后编写如下代码:

option base 1

private sub command1_click()

dim a

s = 0

a = array(1,2,3,4)

j = 1

for i = 4 to 1 step -1

s = s + a(i) * j

j = j * 10

next i

print s

end sub

运行上面的程序,单击命令按钮,其输出结果是

a) 4321            b) 1234         c) 34           d) 12

(22) 在窗体上画一个名称为text1的文本框,要求文本框只能接收大写字母的输入。以下能实现该操作的事件过程是

a) private sub text1_keypress(keyascii as integer)

if keyascii < 65 or keyascii >90 then

msgbox ”请输入大写字母“

keyascii = 0

end if

end sub

b) private sub text1_keydown(keycode as integer, shift as integer)

if keycode < 65 or keycode >90 then

msgbox ”请输入大写字母“

keycode = 0

end if

end sub

c) private sub text1_mousedown(button as integer, shift as integer, x as single, y as single)

if asc(text1.text) < 65 or asc(text1.text) >90 then

msgbox ”请输入大写字母“

end if

end sub

d) private sub text1_change()

if asc(text1.text) >64 and asc(text1.text) < 91 then

msgbox ”请输入大写字母“

end if

end sub

(23) 假定在窗体(名称为form1)的代码窗口中定义如下记录类型:

private type animal

animalname as string*20

acolor as string*10

end type

在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:

private sub command1_click()

dim rec as animal

open ”c:\\vbtest.dat“ for random as #1 len = len(rec)

rec.animalname = ”cat“

rec.acolor = ”white“

put #1, , rec

close #1

end sub

则以下叙述中正确的是

a) 记录类型animal不能在form1中定义,必须在标准模块中定义

b) 如果文件c:\\vbtest.dat不存在,则open命令执行失败

c) 由于put命令中没有指明记录号,因此每次都把记录写到文件的末尾

d) 语句“put #1, , rec”将animal类型的两个数据元素写到文件中

(24) 在窗体上画一个名称为text1的文本框,一个名称为command1的命令按钮,然后编写如下事件过程和通用过程:

private sub command1_click()

n = val(text1.text)

if n\u0002 = n/2 then

f = f1(n)

else

f = f2(n)

end if

print f; n

end sub

public function f1(byref x)

x=x*x

f1=x+x

end function

public function f2(byval x)

x=x*x

f2=x+x+x

end function

程序运行后,在文本框中输入6,然后单击命令按钮,窗体上显示的是

a) 72  36      b) 108  36      c) 72   6       d) 108  6

(25) 在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:

private sub command1_click()

c = 1234

c1 = trim(str(c))

for i = 1 to 4

print

next

end sub

程序运行后,单击命令按钮,要求在窗体上显示如下内容

1

12

123

1234

则在下划线处应填入的内容为

a) right(c1,i)  b) left(c1,i)  c) mid(c1,i,1)   d) mid(c1,i,i)

(26) 在窗体上画一个名称为command1的命令按钮和一个名称为text1的文本框,然后编写如下事件过程:

private sub command1_click()

n = val(text1.text)

for i = 2 to n

for j = 2  to  sqr(i)

if  i  mod  j = 0 then exit for

next j

if  j >sqr(i)  then  print  i

next i

end sub

该事件过程的功能是

a) 输出n以内的奇数           b) 输出n以内的偶数

c) 输出n以内的素数           d) 输出n以内能被j整除的数

(27) 在以下描述中正确的是

a) 标准模块中的任何过程都可以在整个工程范围内被调用

b) 在一个窗体模块中可以调用在其他窗体中被定义为public的通用过程

c) 如果工程中包含sub main过程,则程序将首先执行该过程

d) 如果工程中不包含sub main过程,则程序一定首先执行第一个建立的窗体

(28) 在窗体上画一个名称为command1的命令按钮,然后编写如下通用过程和命令按钮的事件过程:

private function f(m as integer)

if m mod 2 = 0 then

f = m

else

f = 1

end if

end function

private sub command1_click()

dim i as integer

s = 0

for i = 1 to 5

s = s + f(i)

next

print s

end sub

程序运行后,单击命令按钮,在窗体上显示的是

a) 11          b) 10           c) 9            d) 8

(29) 在窗体上画一个名称为text1的文本框和一个名称为command1的命令按钮,然后编写如下事件过程:

private sub command1_click()

dim array1(10, 10) as integer

dim i as integer, j as integer

for i = 1 to 3

for j = 2 to 4

array1(i, j) = i + j

next j

next i

text1.text = array1(2, 3) + array1(3, 4)

end sub

程序运行后,单击命令按钮,在文本框中显示的值是

a) 15          b) 14           c) 13           d) 12

(30) 在窗体上画四个文本框(如图所示),并用这四个文本框建立一个控件数组,名称为text1(下标从0开始,自左至右顺序增大),然后编写如下事件过程:

private sub command1_click()

for each textbox in text1

text1(i) = text1(i).index

i = i + 1

next

end sub

程序运行后,单击命令按钮,四个文本框中显示的内容分别为

a) 0 1 2 3                 b) 1 2 3 4

c) 0 1 3 2                 d) 出错信息

二、填空题(每空2分,共30分)

请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。

(1) visual basic应用程序中标准模块文件的扩展名是【1】 。

(2) 在菜单编辑器中建立一个菜单,其主菜单项的名称为mnuedit,visible属性为false,程序运行后,如果用鼠标右键单击窗体,则弹出与mnuedit相应的菜单。以下是实现上述功能的程序,请填空。

private sub form 【2】 (button as integer, shift as integer, x as single, y as single)

if button=2 then

【3】 mnuedit

end if

end sub

(3) 为了使计时器控件timer1每隔0.5秒触发一次timer事件,应将timer1控件的【4】属性设置为【5】 。

(4) 与数学表达式 对应的visual basic表达式是【6】 。

(5) 将c盘根目录下的图形文件moon.jpg装入图片框picture1的语句是【7】 。

(6) 在窗体上画一个名称为text1的文本框,然后画三个单选按钮,并用这三个单选按钮建立一个控件数组,名称为option1,程序运行后,如果单击某个单选按钮,则文本框中的字体将根据所选择的单选按钮切换,如图所示,请填空。

private sub option1_click(index as integer)

select case 【8】

case 0

a = ”宋体“

case 1

a = ”黑体“

case 2

a = ”楷体_gb2312“

end select

text1. 【9】 =a

end sub

(7) 在窗体上画两个组合框,其名称分别为combo1、combo2,然后画两个标签,名称分别为label1、label2,如图所示,程序运行后,如果在某个组合框中选择一个项目,则把所选中的项目在其下面的标签中显示出来。请填空。

private sub combo1_click()

call showitem(combo1, label1)

end sub

private sub combo2_click()

call showitem(combo2, label2)

end sub

public sub showitem(tmpcombo as combobox, tmplabel as label)

【10】.caption =【11】.text

end sub

(8)在窗体上画一个名称为command1的命令按钮,然后编写如下事件过程:

private sub command1_click()

n = 5

f = 1

s = 0

for i = 1 to n

f = f【12】

s = s + f

next

print s

end sub

该事件过程的功能是计算

的值。请填空。

(9)在窗体上画一个名称为command1的命令按钮,然后编写如下程序:

option base 1

private sub command1_click()

dim a(10) as integer

for i = 1 to 10

a(i) = i

next

call swap( 【13】 )

for i = 1 to 10

print a(i);

next

end sub

sub swap(b() as integer)

n = 【14】

for i = 1 to n / 2

t = b(i)

b(i) = b(n)

b(n) = t

【15】

next

end sub

上述程序的功能是,通过调用过程swap,调换数组中数值的存放位置,即a(1)与a(10)的值互换,a(2)与a(9)的值互换,……,a(5)与a(6)的值互换。请填空。

篇4:4月全国计算机等级考试二级C语言笔试试卷

一、选择题,(1-40)每题1分,(41-50)每题2分,共60分)

下列各题a)、b)、c)、d)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1) 1mb等于

a) 1000字节               b) 1024字节

c) 1000×1000字节  d) 1024×1024字节

(2) 与十六进制数200等值的十进制数为

a) 256    b) 512    c) 1024    d) 2048

(3) 所谓“裸机”是指

a) 单片机                                               b) 单板机

c) 不装备任何软件的计算机               d) 只装备操作系统的计算机

(4) 能将高级语言编写的源程序转换成目标程序的是

a) 链接程序 b) 解释程序 c) 编译程序 d) 编辑程序

(5) 在64位计算机中,一个字长所占的字节数为

a) 64     b) 8    c) 4    d) 1

(6) 在windows环境下,当一个应用程序窗口被最小化后,该应用程序

a) 继续在后台运行      b) 继续在前台运行

c) 终止运行                  d) 暂停运行

(7) 在windows环境下,能实现窗口移动的操作是

a) 用鼠标拖动窗口中的任何部位 b) 用鼠标拖动窗口的边框

c) 用鼠标拖动窗口的控制按钮      d) 用鼠标拖动窗口的标题栏

(8) 在windows环境下,printscreen键的作用是

a) 打印当前窗口的内容 b) 打印屏幕内容

c) 复制屏幕到剪贴板      d) 复制当前窗口到剪贴板

(9) internet的通信协议是

a) tcp/ip     b) bbs     c) www    d) ftp

(10) 下列叙述中正确的是

a) 计算机病毒只感染可执行文件

b) 计算机病毒只感染文本文件

c) 计算机病毒只能通过软件复制的方式进行传播

d) 计算机病毒可以通过网络或读写磁盘等方式进行传播

(11) 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是

a) 有零个或多个输入 b) 有零个或多个输出

c) 有穷性                      d) 可行性

(12) 以下叙述中正确的是

a) c语言的源程序不必通过编译就可以直接运行

b) c语言中的每条可执行语句最终都将被转换成二进制的机器指令

c) c源程序经编译形成的二进制代码可以直接运行

d) c语言中的函数不可以单独进行编译

(13) 以下符合c语言语法的实型常量是

a) 1.2e0.5    b) 3.14.159e     c) .5e-3    d) e15

(14) 以下4组用户定义标识符中,全部合法的一组是

a) _main        b) if          c) txt            d) int

 enclude         -max           real            k_2

 sin                 turbo          3com            _001

(15) 若以下选项中的变量已正确定义,则正确的赋值语句是

a) x1=26.8%3     b) 1+2=x2    c) x3=0x12    d) x4=1+2=3;

(16) 设有以下定义

int a=0;

double b=1.25;

char c=’a’;

#define d 2

则下面语句中错误的是

a) a++;     b) b++    c) c++;    d) d++;

(17) 设有定义:float a=2,b=4,h=3;,以下c语言表达式与代数式 计算结果不相符的是

a) (a+b) *h/2         b) (1/2)*(a+b) *h

c) (a+b) *h*1/2     d) h/2*(a+b)

(18) 有以下程序

main( )

{

 int x=102,y=012;

 printf(“%2d,%2d ”,x,y);

}

执行后输出结果是

a) 10,01    b) 02,12    c) 102,10   d) 02,10

(19) 以下4个选项中,不能看作一条语句的是

a) {;}     b) a=0,b=0,c=0;     c) if(a>0);     d) if(b==0)  m=1;n=2;

(20) 设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是

a) scanf(“%d”,pa) ;      b) scanf(“%d”,a) ;

c) scanf(“%d”,&pa) ;    d) scanf(“%d”,*pa) ;

(21) 以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是

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;

                                                                    else k=0;

(22) 有以下程序

main( )

{ char k; int i;

 for(i=1;i<3;i++)

 { scanf(“%c”,&k);

 switch(k)

 { case ‘0’: printf(“another ”);

 case ‘1’: printf(“number ”);

 }

 }

}

程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是

a) another         b) another        c) another       d) number

     number              number              number            number

                               another               number

(23) 有以下程序

main( )

{ int x=0,y=5,z=3;

 while(z-->0&&++x<5) y=y-1;

 printf(“%d,%d,%d ”,x,y,z);

}

程序执行后的输出结果是

a) 3,2,0      b) 3,2,-1    c) 4,3,-1    d) 5,-2,-5

(24) 有以下程序

main( )

{ int i,s=0;

 for(i=1;i<10;i+=2) s+=i+1;

 printf(“%d ”,s);

}

程序执行后的输出结果是

a) 自然数1~9的累加和                b) 自然数1~10的累加和

c) 自然数1~9中的奇数之和         d) 自然数1~10中的偶数之和

(25) 有以下程序

main( )

{ int i,n=0;

 for(i=2;i<5;i++)

 { do

 { if(i%3) continue;

 n++;

 } while(!i);

n++;

 }

 printf(“n=%d ”,n);

}

程序执行后的输出结果是

a) n=5    b) n=2    c) n=3   d) n=4

(26) 若程序中定义了以下函数

 double myadd(double a,double b)

 { return (a+b) ;}

并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是

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);

(27) 有以下程序

char fun(char x , char y)

{ if(x

main( )

{ int i,j;

 for(i=1;i<=4;i++)

 { for(j=1;j<=4-i;j++) printf(“ “);

 for(j=1;j<=_______;j++) printf(“*”);

 printf(“ ”);

}

 }

在下划线处应填入的是

a) i      b) 2*i-1     c) 2*i+1    d) i+2

(43) 有以下程序

void sort(int a[],int n)

{ int i,j,t;

 for(i=0;i}

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(“ ”);

}

其输出结果是

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

(44) 以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是

a) char s[10]=”abcdefg”;            b) char t[]=”abcdefg”,*s=t;

c) char s[10];s=”abcdefg”;         d) char s[10];strcpy(s,”abcdefg”);

(45) 有以下程序

#include

main(int argc ,char *argv[ ])

{ int i,len=0;

 for(i=1;i printf(“5d ”,len);

}

经编译链接后生成的可执行文件是ex.exe,若运行时输入以下带参数的命令行

ex    abcd    efg   h3   k44

执行后输出结果是

a) 14    b) 12     c) 8    d) 6

(46) 有以下程序

void f(int a[],int i,int j)

{ int t;

 if(i

for(i=0;i

for(j=0;【13】;j++)

{ t=a[i][j];

【14】;

a[j][i]=t;

}

}

(14) 以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。

void sstrcpy(char *s,char *t)

{ while(*s++=【15】);}

main( )

{ char str1[100],str2[]=”abcdefgh”;

 sstrcpy(str1,str2);

 printf(“%s ”,str1);

}

(15) 下列程序的运行结果是:【16】

#include

char *ss(char *s)

{ return s+strlen(s)/2;}

main( )

{ char *p,*str=”abcdefgh”;

 p=ss(str); printf(“%s ”,p);

}

(16) 下面程序的运行结果是:【17】

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 ”,s);

}

(17) 以下程序中给指针p分配三个double型动态内存单元,请填空。

# include

main ( )

{ double *p;

 p=(double *) malloc(【18】);

 p[0]=1.5;p[1]=2.5;p[2]=3.5;

 printf(“%f%f%f ”,p[0],p[1],p[2]);

}

(18) 以下程序的运行结果是【19】

# include

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 ”,d.sno,p->name);

 }

19、以下sum函数的功能是计算下列级数之和。

s=1+x+x2/2!+x3/3!+........+xn/n!

请给函数中的各变量正确赋初值。

double sum ( double x, int n )

{ int i; double a,b,s;

【20】

 for( i=1;i<=n;i++)

 { a=a*x; b=b*i; s=s+a/b; }

 return s;

 }

篇5:计算机等级考试二级C语言程序设计技巧

在许多应用软件运行时都带有命令行参数,其实这些命令行参数在c语言编写的程序中也可以实现,灵活地运用命令行参数进行处理可以有效地提高程序的运行效率,收到事半功倍的效果。

c语言中有关命令行参数涉及到程序的主函数main(int argc,char *argv[]这样两个参数,其中,int argc表示命令行参数的个数(包括可执行程序名本身),char *argv[]表示每个参数的具体内容,argv[0]为命令行中可执行程序名本身,argv[1]为命令行中第二个参数的内容,依次类推。 如下例输出命令行参数的个数及参数的内容:

main (int argc,char *argv[],

{int i;

printf(”\\n命令行中可执行文件名为:%s“,argv[0]);

printf(”\\n总共有%d个参数:“,argc);

i=0;

while(argc>=1)

{printf(″%s ”,argv[i++]);

argc--;}

}

命令行参数用的最多还是在诸如dir a:等之类带有盘符、路径或文件名这样的命令行中,所以说灵活处理这一类参数才能有效地提高程序的运行效果。譬如dir命令,其后可以是盘符,可以是路径,也可以是文件名,如何区分这一参数呢?请看下例(此程序模拟dir命令,程序要求在命令行输入一个参数:盘符或路径或文件名,若无参数或参数多于一个都将取默认的参数“*.*”)。

\\*--------------------

功能:模拟dir命令进行处理命令行参数

--------------------*/

#include

#include

#include

#inchlude

int j,num=0;

char ss[20],path[50],path2[50];

void main (int argc,char *argv[])

{

struct ffblk f;

int done;

if(argc==2) /*取命令行参数到数组中*/

strcpy(ss,argv[1]);

else

strcpy(ss,″*.*″); /*给数组赋值缺省参数*/

if (((ss[strlen(ss)-1]==′\\\\′||((ss[strlen(ss)-1]==’:’))

strcat(ss,″*.*″); /*若参数为路径或盘符,则加上″*.*″ */

getcwd(path1,50); /*取当前路径*/

if (chdir(ss)==0) /*判断参数是否为路径*/

strcat(ss,“\\\\*.*”); /*若路径末没有带“\\”,则加上“*.*” */

chdir(path1); /*恢复原来路径*/

strcpy(path2,ss);

for(j=strlen(path2);j>0;j--)/*提取参数中的路径到path2 */

{if((path2[j]==’\\\\’))||(path2[j]==’:’)){

path2[j+1]=’\\0’;

goto senull;}

path2[0]=’\\0’;

senull:

if(strlen(path2)==0) /* 若给出的参数中没带路径,则取当前路径*/

strcpy(path2,path1);

printf(“\\n**模拟dir**\\n 命令目录路径%s”,path2);

done=findfirst(ss,&f,55); /*查找第一个配匹的文件*/

j=1;

while(!done)

{if (f.ff_attrib!=0x10) /* 若文件属性不是目录 */

printf(“\\n %15s %20ld”,f.ff_name,f.ff_fsize);

else

printf(“\\n &11s

”,f.ff_name);

num++;

j++;

if(j==23)

printf(“\\n --------more (按任意键继续)----”);

getch;

j=0;

printf(″\\n (目录路径%s)″,path2);}

done=findnext(&f); /*查找下一个配匹的文件*/

}

printf(″\\n 当前目录中总共有%d个文件.\\n″,num);

在许多应用软件运行时都带有命令行参数,其实这些命令行参数在c语言编写的程序中也可以实现,灵活地运用命令行参数进行处理可以有效地提高程序的运行效率,收到事半功倍的效果。

c语言中有关命令行参数涉及到程序的主函数main(int argc,char *argv[]这样两个参数,其中,int argc表示命令行参数的个数(包括可执行程序名本身),char *argv[]表示每个参数的具体内容,argv[0]为命令行中可执行程序名本身,argv[1]为命令行中第二个参数的内容,依次类推。 如下例输出命令行参数的个数及参数的内容:

main (int argc,char *argv[],

{int i;

printf(“\\n命令行中可执行文件名为:%s”,argv[0]);

printf(“\\n总共有%d个参数:”,argc);

i=0;

while(argc>=1)

{printf(″%s “,argv[i++]);

argc--;}

}

命令行参数用的最多还是在诸如dir a:等之类带有盘符、路径或文件名这样的命令行中,所以说灵活处理这一类参数才能有效地提高程序的运行效果。譬如dir命令,其后可以是盘符,可以是路径,也可以是文件名,如何区分这一参数呢?请看下例(此程序模拟dir命令,程序要求在命令行输入一个参数:盘符或路径或文件名,若无参数或参数多于一个都将取默认的参数“*.*”)。

\\*--------------------

功能:模拟dir命令进行处理命令行参数

--------------------*/

#include

#include

#include

#inchlude

int j,num=0;

char ss[20],path[50],path2[50];

void main (int argc,char *argv[])

篇6:全国计算机二级考试C++语言程序设计大纲

基本要求

1. 掌握C++语言的基本语法规则。

2. 熟练掌握有关类与对象的相关知识。

3. 能够阅读和分析C++程序。

4. 能够采用面向对象的编程思路和方法编写应用程序。

5. 能熟练使用Visual C++6.0集成开发环境编写和调试程序。

考试内容

一、C++语言概述

1. 了解C++语言的基本符号。

2. 了解C++语言的词汇(关键字、标识符、常量、运算符、标点符号等)。

3. 掌握C++程序的基本框架。

4. 能够使用Visual C++6.0集成开发环境编辑、编译、运行与调试程序。

二、数据类型、表达式和基本运算

1. 掌握C++数据类型(基本类型,指针类型)及其定义方法。

2. 了解C++的常量定义(整型常量,字符常量,逻辑常量,实型常量,地址常量,符号常量)。

3. 掌握变量的定义与使用方法(变量的定义及初始化,全局变量,局部变量)。

4. 掌握C++运算符的种类、运算优先级和结合性。

5. 熟练掌握C++表达式类型及求值规则(赋值运算,算术运算符和算术表达式,关系运算符和关系表达式,逻辑运算符和逻辑表达式,条件运算,指针运算,逗号表达式)。

三、C++的基本语句

1. 掌握C++的基本语句,例如赋值语句、表达式语句、复合语句、输入、输出语句和空语句等。

2. 用if 语句实现分支结构。

3. 用switch语句实现多分支选择结构。

4. 用for 语句实现循环结构。

5. 用while语句实现循环结构。

6. 用do. . . while语句实现循环结构。

7. 转向语句(goto,continue,break和return)。

8. 掌握分支语句和循环语句的各种嵌套使用。

四、数组、指针与引用

1. 掌握一维数组的定义、初始化和访问,了解多维数组的定义、初始化和访问。

2. 了解字符串与字符数组。

3. 熟练掌握常用字符串函数(strlen,strcpy,strcat,strcmp,strstr 等)。

4. 指针与指针变量的概念,指针与地址运算符,指针与数组。

5. 引用的基本概念,引用的定义与使用。

五、掌握函数的有关使用

1. 函数的定义方法和调用方法。

2. 函数的类型和返回值。

3. 形式参数与实际参数,参数值的传递。

4. 变量的作用域和生存周期。

5. 递归函数。

6. 函数重载。

7. 内联函数。

8. 带有默认参数值的函数。

篇7:全国计算机等级考试二级Access数据库程序设计考试大纲

全国计算机等级考试二级Access数据库程序设计考试大纲(2016年版)

基本要求

1.掌握数据库系统的基础知识。

2.掌握关系数据库的基本原理。

3.掌握数据库程序设计方法。

4.能够使用 Access建立一个小型数据库应用系统。

考试内容

一、数据库基础知识

1.基本概念

数据库,数据模型,数据库管理系统等。

2.关系数据库基本概念

关系模型,关系,元组,属性,字段,域,值,关键字等。

3.关系运算基本概念

选择运算,投影运算,连接运算。

4. SQL命令

查询命令,操作命令。

5. Access系统基本概念

二、数据库和表的基本操作

1.创建数据库

2.建立表

(1)建立表结构。

(2)字段设置,数据类型及相关属性。

(3)建立表间关系。

3.表的基本操作

(1)向表中输入数据。

(2)修改表结构,调整表外观。

(3)编辑表中数据。

(4)表中记录排序。

(5)筛选记录。

(6)汇总数据。

三、查询

1.查询基本概念

(1)查询分类。

(2)查询条件。

2.选择查询

3.交叉表查询

4.生成表查询

5.删除查询

6.更新查询

7.追加查询

8.结构化查询语言 SQL

四、窗体

1.窗体基本概念

窗体的类型与视图。

2.创建窗体

窗体中常见控件,窗体和控件的常见属性。

五、报表

1.报表基本概念

2.创建报表

报表中常见控件,报表和控件的常见属性。

六、宏

1.宏基本概念

2.事件的基本概念

3.常见宏操作命令

七、VBA编程基础

1.模块基本概念

2.创建模块

(1)创建 VBA模块:在模块中加入过程,在模块中执行宏。

(2)编写事件过程:键盘事件,鼠标事件,窗口事件,操作事件和其他事件。

3. VBA编程基础

(1) VBA编程基本概念。

(2) VBA流程控制:顺序结构,选择结构,循环结构。

(3) VBA函数/过程调用。

(4) VBA数据文件读写。

(5) VBA错误处理和程序调试(设置断点,单步跟踪,设置监视窗口)。

八、VBA数据库编程

1. VBA数据库编程基本概念

ACE引擎和数据库编程接口技术,数据访问对象(DAO),ActiveX数据对象(ADO)。

2. VBA数据库编程技术

考试方式

上机考试,考试时长 120分钟,满分 100分。

1.题型及分值

单项选择题 40分(含公共基础知识部分 10分)。

操作题 60分(包括基本操作题、简单应用题及综合应用题)。

2.考试环境

操作系统:中文版 Windows 7。

开发环境:Microsoft Office Access 2010。

1.2016全国计算机二级Access数据库程序设计考试大纲

2.全国计算机等级考试二级MySQL数据库程序设计考试大纲

3.2017计算机二级Access数据库程序设计考试大纲

4.2017年计算机二级Access数据库程序设计考试大纲

5.全国计算机等级考试二级Access笔试重点

6.计算机等级考试二级C语言程序设计考试大纲

7.计算机等级考试二级Web程序设计考试大纲

8.2017全国计算机二级VFP数据库程序设计考试大纲

9.全国计算机等级考试二级MSOffice高级应用考试大纲

10.2011年全国计算机等级考试二级JAVA考试大纲

全国计算机等级考试详解

计算机二级等级考试word篇

全国计算机等级考试四级考试大纲

计算机等级考试练习题

计算机等级考试选择题参考

计算机二级考试试题

计算机二级考试答案

全国计算机等级考试三级C语言全真上机试题解析

计算机等级考试二级VB考点:进程条和滑块

下半年全国计算机等级考试备考战略技巧

4月全国计算机等级考试二级FOXBASE语言程序设计(精选7篇)

欢迎下载DOC格式的4月全国计算机等级考试二级FOXBASE语言程序设计,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档