vfp程序改错

vfp程序改错
vfp程序改错

Visual Foxpro程序改错

〖第1题〗(练习题所在文件夹:163)

*题目:该程序完成口令检验功能。输入三次不正确退出。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

SET TALK OFF

CLEAR

ass1="AbCdEf"

TT=1

DO WHILE TT<4

@10,20 SAY "请输入口令:"

SET CONSOLE OFF

ACCEPT TO ass

SET CONSOLE ON

**********FOUND**********

IF ass1=ass

CLEAR

?"欢迎使用本系统!"

**********FOUND**********

LOOP

ELSE

**********FOUND**********

TT=TT-1

CLEAR

?"口令错,按任意键再输入一次!"

WAIT" "

ENDIF

ENDDO

RETURN

答案:

1). IF UPPER(ass1)==UPPER(ass) 或 IF UPPER(ass1)==UPPER(ass)

2). EXIT

3). TT=TT+1 或 TT=1+TT

〖第4题〗(练习题所在文件夹:500)

*题目:ZHG.DBF是一个职工信息文件,其中包含编号(C 5)、姓名

* (C 8)、性别(C 2)、政治面貌(C 4)、出生日期(D 8)等字

* 段。性别用字符串"男"或"女"表示,政治面貌用字符串"

* 党员"、"团员"或"群众"表示。此文件已按政治面貌建立

* 了索引,索引文件名是ZHG_ZHZH.IDX。

* 程序功能是:显示输出所有政治面貌为"群众"的女职工的

* 姓名和出生日期(每行输出一个职工的信息)在屏幕上

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

set talk off

clear

***********FOUND**********

USE ZHG

SEEK "群众"

***********FOUND**********

DO WHILE !EOF()

IF 性别="女"

DISP 姓名,出生日期

***********FOUND**********

ENDD

SKIP

ENDDO

USE

SET TALK ON

答案:

1). USE ZHG INDEX ZHG_ZHZH

2). DO WHILE政治面貌="群众" 或 DOWHILE政治面貌='群众' 或 DOWHILE政治面貌=[群众]

3). ENDIF

〖第5题〗(练习题所在文件夹:105)

*题目:在RSH.dbf 中,查找职工赵红的工资,如果工资小于200元,

* 则增加100元;如果工资大于等于200元且小于500元时,则增

* 加50元;否则增加20元。最后显示赵红的姓名和工资。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

CLEAR

USE RSH

***********FOUND**********

LOCATE FOR 姓名 =赵红

DO CASE

CASE 工资< 200

REPLACE 工资 WITH 工资+ 100

CASE 工资< 500

REPLACE 工资 WITH 工资+ 50

OTHERWISE

REPLACE 工资 WITH 工资+ 20

ENDCASE

***********FOUND**********

LIST 姓名,工资

USE

答案:

1). LOCATE FOR 姓名="赵红" 或 LOCA FOR 姓名='赵红' 或 LOCA FOR 姓名="赵红" 或 LOCATE FOR 姓名=[赵红] 或 LOCA FOR 姓名=[赵红] 或 LOCATE FOR 姓名='赵红'

2). DISP 姓名,工资或 ?姓名,工资或 DISPLAY 姓名,工资

〖第6题〗(练习题所在文件夹:174)

*题目:计算S=2+4+6+...+98+100的程序。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

store 0 to s,i

***********FOUND**********

do i<=99

***********FOUND**********

i=i+1

s=s+i

enddo

?"s=",s

答案:

1). do while i<=99 或 do while i<100 或 dowhilei<=98 或 dowhilei<99

2). I=2+I 或 I=I+2 或 STORI+2TOI

〖第7题〗(练习题所在文件夹:520)

*题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,

* 还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃掉

* 一半,又多吃了一个。以后每天早上都吃了前一天剩下的一

* 半零一个。到第10天早上想再吃时,见只剩下一个桃子了。

* 求第一天共摘了多少。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

set talk off

clear

DAY=9

***********FOUND**********

X2=0

DO WHILE DAY>0

***********FOUND**********

X1=(X2+1)/2

X2=X1

***********FOUND**********

DAY=DAY+1

ENDDO

? "第一天摘下",X1,"个桃子"

SET TALK ON

答案:

1). X2=1

2). X1=(X2+1)*2

3). DAY=DAY-1

〖第8题〗(练习题所在文件夹:175)

*题目:打开XSDB.DBF数据表, 分别统计男、女生的人数。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

USE XSDB

STOR 0 TO B,G

DO WHILE .NOT.EOF()

***********FOUND**********

IF 性别<>男

B=B+1

***********FOUND**********

ENDIF

G=G+1

ENDIF

SKIP

ENDDO

?"男生人数是:"+STR(B)

?"女生人数是:"+STR(G)

答案:

1). IF 性别="男" 或 IF 性别<>"女"

2). ELSE

〖第9题〗(练习题所在文件夹:188)

*题目:显示XSDB.DBF中每个学生的姓名、计算机成绩和等级;等* 级划分如下:计算机成绩大于等于90显示"优秀";60到89 * (包括 60和89)之间显示"及格";60分以下显示"补考"。* 如显示:张丽娜 90 优秀。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

USE XSDB

DO WHIL .NOT. EOF()

***********FOUND**********

LIST 姓名,计算机

DO CASE

CASE 计算机>=90

??'优秀'

CASE 计算机>=60

??'及格'

OTHERWISE

??'补考'

ENDCASE

***********FOUND**********

GO NEXT

ENDDO

USE

答案:

1). ? 姓名,计算机或DISPLAY姓名,计算机

2). SKIP 或 SKIP 1

〖第10题〗(练习题所在文件夹:191)

*题目:从键盘上输入5个数,将其中奇数求和,偶数求积。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

S1=0

***********FOUND**********

S2=0

FOR I=1 TO 5

INPUT "请输入第"+STR(I,1)+ "数" TO M

***********FOUND**********

IF INT(M/2)=0

S1=S1+M

ELSE

S2=S2*M

ENDIF

ENDFOR

? "奇数和是",S1

? "偶数积是",S2

答案:

1). S2=1 或 STOR 1 TO S2

2). IF MOD(M,2)<>0 或 IF MOD(M,2)#0 或 IF INT(M/2)<>M/2 或 IF INT(M/2)#M/2 或 IF M%2 <>0 或 IF M%2!=0 或 IF M%2#0

〖第11题〗(练习题所在文件夹:182)

*题目:在XSDB.DBF中查找学生徐秋实的记录, 如果找到则将该记录

* 的系别、姓名,两科科目名称和对应的成绩显示在屏幕上,否则

* 显示:"查无此人!"。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

USE XSDB

***********FOUND**********

FIND FOR 姓名="徐秋实"

IF .NOT.FOUND()

?"查无此人!"

ELSE

***********FOUND**********

?系别,姓名, "计算机="+计算机, "英语="+英语

ENDIF

USE

RETURN

答案:

1). LOCATE FOR姓名="徐秋实" 或 LOCATE AL LFOR姓名="徐秋实"

2). ? 系别,姓名,"计算机="+STR(计算机),"英语="+STR(英语)

或 ?系别,姓名,"计算机=",计算机, "英语=",英语

〖第13题〗(练习题所在文件夹:161)

*题目:从键盘输入一个表名,打开该表文件,移动记录指针到* 文件头,输出当前记录号;在移动记录指针到文件尾,* 输出当前记录号。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。SET TALK OFF

ACCEPT TO A

**********FOUND**********

FIND A

GO TOP

**********FOUND**********

NEXT

? RECNO( )

GO BOTTOM

**********FOUND**********

NEXT -1

? RECNO( )

USE

SET TALK ON

答案:

1). USE(A) 或 USE&A

2). SKIP-1

3). SKIP 或 SKIP 1

〖第14题〗(练习题所在文件夹:162)

*题目:从键盘输入一个表文件名,打开该表,查找"姓名"是* "张东"的记录,并显示该记录,最后输出"姓名"是"张* 东"的记录个数。(设被打开的表中有固定字段"姓名") *注意:不可以增加或删除程序行,也不可以更改程序的结构。SET TALK OFF

ACCEPT TO A

USE &A

**********FOUND**********

N=1

SCAN FOR 姓名= "张东"

**********FOUND**********

LIST

N=N+1

ENDSCAN

**********FOUND**********

? 记录个数是,N

USE

SET TALK ON

答案:

1). N=0 或 Store0ToN

2). DISPLAY 或 DISP

3). ? "记录个数是",N 或 ? "记录个数是",str(N)

〖第16题〗(练习题所在文件夹:92)

*题目:求X =1+2+3+… +100,并同时求出 1到100 之间的奇数之和Y,* 而且显示输出这两个和。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

CLEAR

STORE 0 TO I , X , Y

***********FOUND**********

DO WHILE I<=100

I = I+1

X =X+I

IF I/2 = INT(I/2)

***********FOUND**********

EXIT

ENDIF

Y=Y+I

ENDDO

?X,Y

RETURN

答案:

1). DO WHILE I<100 或 DO WHILE I<=99

2). LOOP

〖第17题〗(练习题所在文件夹:501)

*题目:STUDENT.DBF是一个学生信息文件,包含学号(C 8)、

* 姓名(C 8)、性别(C 2)、政治面貌(C 4)、班级(C 5)

* 等字段;其中性别用字符串"男"或"女"表示,政治面貌

* 用字符串"党员"、"团员"或"群众"表示。

* 程序的功能是:显示输出所有政治面貌为"群众"的男生姓

* 名和班级。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

set talk off

clear

USE STUDENT

LOCATE FOR 政治面貌="群众"

***********FOUND**********

DO WHILE .not. FOUND()

IF 性别="女"

CONTINUE

***********FOUND**********

break

ENDIF

? 姓名,班级

***********FOUND**********

skip

ENDDO

USE

SET TALK ON

答案:

1). DO WHILE FOUND() 或DO WHIL .not.eof()

2). LOOP

3). CONTINUE

x〖第19题〗(练习题所在文件夹:148)

*题目:从键盘上输入任意一串字符,判断是否回文。

* 例如:MUM、456654,MADAM。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。SET TALK OFF

ACCEPT "A=" TO A

L=LEN(A)

FLAG=1

I=1

**********FOUND**********

DO WHILE FLAG=1 OR I<=INT(L/2)

**********FOUND**********

IF SUBS(A,I,1)<>SUBS(A,L-I,1)

FLAG=0

ENDIF

I=I+1

ENDDO

**********FOUND**********

IF FLAG=0

? "是回文"

ELSE

? "不是回文"

ENDIF

CANCEL

答案:

1). DO WHILE FLAG=1 AND I<=INT(L/2)

2). IF SUBSTR(A,I,1)<>SUBSTR(A,L-I+1,1)

3). IF FLAG=1

〖第20题〗(练习题所在文件夹:189)

*题目:从键盘输入一个数X,当X大于0、Y的值为1;当X等于0、Y的* 值为0;当X小于0、Y的值为-1, 然后输出Y的值。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

INPUT "输入一个数X:" TO X

***********FOUND**********

IF X>0

IF X>0

Y=1

ELSE

Y=0

ENDIF

ELSE

Y=-1

ENDIF

***********FOUND**********

?"Y=Y"

答案:

1). IF X>=0 或 IF 0<=X

2). ? "Y=",Y 或? "Y="+STR(Y)

〖第22题〗(练习题所在文件夹:505)

*题目:计算并显示输出数列1,-1/2, 1/4, -1/8, 1/16 …的

* 前10项之和。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

set talk off

clear

Y=0

STORE 1 TO I,C

***********FOUND**********

DO WHILE I<=10

Y=Y+(-1)^(C+1)/I

***********FOUND**********

I=-I*2

C=C+1

***********FOUND**********

ENDIF

? "数列前10项之和为:",Y

SET TALK ON

RETURN

答案:

1). DO WHILE C<=10 或 DO WHILE C<11

2). I=I*2 或 I=-I*(-2)

3). ENDD 或 ENDDO

〖第23题〗(练习题所在文件夹:156)

*题目:求1+5+9+13+…+97的和。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。SET TALK OFF

S=0

**********FOUND**********

N=0

DO WHILE N<=97

**********FOUND**********

S=S+1

N=N+4

**********FOUND**********

ENDWHILE

? S

SET TALK ON

答案:

1). N=1 或 STOR 1 TO N

2). S=S+N 或 S=N+S

3). ENDDO 或 ENDD

〖第24题〗(练习题所在文件夹:165)

*题目:求1到10之间奇数的阶乘和t=1!+3!+5!+ (9)

*注意:不可以增加或删除程序行,也不可以更改程序的结构。**********FOUND**********

t=1

P=1

I=1

**********FOUND**********

Do while I>10

P=p*I

**********FOUND**********

If int(i/2)=i/2

T=t+p

Endif

I=I+1

Enddo

?"t=",t

答案:

1). t=0

2). do while i<10

3). != 或 <> 或 #

〖第25题〗(练习题所在文件夹:168)

*题目:查找RSH.dbf 中女职工的最高工资,并显示其姓名和工资。*注意:不可以增加或删除程序行,也不可以更改程序的结构。

***********FOUND**********

OPEN RSH

MGZ = 0

DO WHILE .NOT.EOF()

***********FOUND**********

IF 性别="女",MGZ<"工资"

MGZ=工资

MXM=姓名

ENDIF

***********FOUND**********

CONT

ENDDO

?MXM,MGZ

USE

答案:

1). USERSH

2). IF 性别="女".and. MGZ<工资

3). SKIP

x〖第26题〗(练习题所在文件夹:154)

*题目:以下程序输出如下图所示的图形。

* !$!

* !$!$!$

* !$!$!

* !$!$!$!$!$

*注意:不可以增加或删除程序行,也不可以更改程序的结构。SET TALK OFF

I=4

DO WHILE I<10

**********FOUND**********

IF INT(I/2)=I/2

I=I*2

ELSE

I=I-1

ENDIF

FOR J=1 TO I

**********FOUND**********

IF J/2=0

?? "!"

ELSE

?? "$"

**********FOUND**********

ENDDO

ENDFOR

?

ENDDO

RETURN

答案:

1). IF INT(I/2)<>I/2或 IF MOD(I,2)=1 或 IF I%2=1

2). IF J%2=1 或 IF mod(j,2)=1

3). ENDIF 或 ENDI

〖第27题〗(练习题所在文件夹:190)

*题目:计算出1到50以内(包含50)能被2和3整除的数之和。*注意:不可以增加或删除程序行,也不可以更改程序的结构。STOR 0 TO X ,Y

***********FOUND**********

DO WHILE NOT EOF()

X=X+1

DO CASE

***********FOUND**********

CASE MOD(X,2)=0 or MOD(X,3)=0

Y=Y+X

CASE X<=50

***********FOUND**********

X=X+1

CASE X>50

EXIT

ENDCASE

ENDDO

?Y

答案:

1). DO WHILE .T.

2). and

3). LOOP

〖第29题〗(练习题所在文件夹:196)

*题目:分别统计化学系的男、女生总人数并显示出来。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。USE XSDB

STOR 0 TO RS1,RS2

***********FOUND**********

FIND FOR 系别="化学"

DO WHILE .NOT.EOF()

***********FOUND**********

IF 性别<>"男"

RS1=RS1+1

ELSE

RS2=RS2+1

ENDIF

CONT

ENDDO

? "男生人数=",RS1

? "女生人数=",RS2

USE

答案:

1). LOCATE FOR系别="化学" 或 LOCATE ALL FOR系别="化学"

2). IF 性别="男" 或 IF 性别<>"女"

〖第30题〗(练习题所在文件夹:187)

*题目:从键盘输入十个非零整数,统计能被3整除的数的个数。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

STORE 0 TO I,A

***********FOUND**********

DO WHILE I<=10

INPUT "请输入一个整数:" TO N

***********FOUND**********

IF MOD(N/3)=0

A=A+1

ENDIF

I=I+1

ENDDO

?A

答案:

1). DO WHILE I<10 或 DO WHILE I<=9

2). IF MOD(N,3)=0 或 I N%3=0 或 IF INT(N/3)=N/3

〖第31题〗(练习题所在文件夹:152)

*题目:从键盘上输入5个数,统计其中奇数的个数。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

SET TALK OFF

A=0

FOR J=1 TO 5

**********FOUND**********

ACCEPT "请输入第"+STR(J,2)+ "数" TO M

**********FOUND**********

IF INT(M/2)=M/2

A=A+1

ENDIF

ENDFOR

**********FOUND**********

?奇数个数是,A

CANCEL

答案:

1). INPUT "请输入第"+STR(J,2)+ "数" TO M

2). IF INT(M/2)#M/2 或 IF INT(M/2)!=M/2 或 IF INT(M/2)<>M/2

3). ? "奇数个数是",A 或 ? '奇数个数是',str(A)

〖第32题〗(练习题所在文件夹:157)

*题目:求2!+4!+6!+…+10!的和。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

SET TALK OFF

S=0

**********FOUND**********

T=0

FOR N=2 TO 10

**********FOUND**********

T=T*(T-1)

IF N%2=0

**********FOUND**********

S=S+N

ENDIF

ENDFOR

? S

答案:

1). T=1

2). T=T*N 或 T=N*T

3). S=S+T 或 S=T+S

〖第33题〗(练习题所在文件夹:46)

*题目:计算并在屏幕上显示出"九九乘法表",显示格式如下

*1×1=1

*2×1=2 2×2=4

*3×1=3 3×2=6 3×3=9

*……

*9×1=9 … 9×8=72 9×9=81

*程序中共有2个错误,请修改下面一条语句的错误,并调试运行。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

X=1

DO WHILE X<=9

Y=1

***********FOUND**********

DO WHILE Y<=9

??STR(X,1)+"×"+STR(Y,1)+"="+STR(X*Y,2)+" "

ENDDO

***********FOUND**********

disp

X=X+1

ENDDO

答案:

1). DO WHILE Y<=X 或 DO WHILE X>=Y

2). ?

〖第34题〗(练习题所在文件夹:153)

*题目:表XSDA.DBF结构为:学号(C,6),姓名(C,6),

* 性别(C,2),入学成绩(N,6,2)。

* 本程序实现按学号查找记录,直到输入"#"为止。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

SET TALK OFF

USE XSDA

**********FOUND**********

ACCEPT "请输入要查找的学号" ON XH

DO WHILE XH!= "#"

**********FOUND**********

LOCATE FOR 学号="CJ"

IF FOUND()

?学号,姓名,入学成绩

ELSE

? "无此学号"

ENDIF

ACCEPT "请继续输入要查找的学号" TO XH

**********FOUND**********

ENDFOR

?"谢谢使用本查找系统"

USE

SET TALK ON

答案:

1). ACCEPT "请输入要查找的学号" TO XH 或 ACCEPT '请输入要查找的学号' TO XH 或ACCEPT [请输入要查找的学号] TO XH

2). LOCATE FOR 学号=XH 或 LOCA FOR 学号=XH

3). ENDDO

〖第35题〗(练习题所在文件夹:166)

*题目:计算出1-30以内(包含30)能被5整除的数之和。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

CLEAR

SET TALK OFF

**********FOUND**********

Y=1

DO WHILE .T.

X=X+1

DO CASE

CASE MOD(X,5)=0

Y=Y+X

CASE X<=30

**********FOUND**********

EXIT

CASE x>30

**********FOUND**********

LOOP

ENDCASE

ENDDO

?Y

SET TALK ON

答案:

1). Y=0 或 STORE0TOY

2). LOOP

3). EXIT 或 Quit

〖第37题〗(练习题所在文件夹:186)

*题目:接收键盘输入的任意5个整数(不超过3位数), 找出其中的最* 大数并显示。程序中共有2个错误。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。INPUT "请输入第一个数:" TO X

STORE X TO MA

N=5

***********FOUND**********

DO WHILE N>=5

INPUT "请输入下一个数:" TO X

IF MA

MA=X

ENDIF

N=N-1

ENDDO

***********FOUND**********

?"最大数="+SUBS(MA,3)

答案:

1). DO WHILE N>=2 或 DO WHIL N>1

2). ?"最大数="+STR(MA,3) 或

〖第38题〗(练习题所在文件夹:151)

*题目:本程序计算1!×3!×9!的乘积。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

SET TALK OFF

M=1

**********FOUND**********

S=0

DO WHILE M<=9

I=1

P=1

**********FOUND**********

DO WHILE M<=9

P=P*I

I=I+1

ENDDO

S=S*P

**********FOUND**********

M=M+3

ENDDO

? "1!×3!×9!=",S

SET TALK ON

RETURN

答案:

1). S=1

2). DO WHILE I<=M 或 DO WHILE M>=I

3). M=M*3

〖第39题〗(练习题所在文件夹:180)

*题目:用循环程序计算XSDB.DBF中法律系学生的计算机平均成绩、* 英语平均成绩和奖学金总额。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

USE XSDB

STORE 0 TO JSJ,YY,JXJ,RS

LOCA FOR 系别="法律"

***********FOUND**********

DO WHILE FIND()

JSJ=JSJ+计算机

YY=YY+英语

JXJ=JXJ+奖学金

RS=RS+1

CONT

ENDDO

***********FOUND**********

?JSJ,YY,JXJ

答案:

1). do while FOUN() 或 do while .NOT.EOF() 或 do while !EOF() 或 do while NOT EOF() 或 do while FOUND()

2). ?JSJ/RS,YY/RS,JXJ

〖第41题〗(练习题所在文件夹:504)

*题目:ZHG.DBF是一个职工信息文件,其中包含编号(C 5)、姓名

* (C 8)、性别(C 1)、基本工资(N 8.2)等字段。其中的性

* 别用代码"M"表示男、"F"表示女。

* 程序功能是:按基本工资由高到低的顺序显示输出所有职

* 工的姓名、性别和基本工资,每行输出一个职工的信息,其

* 中性别输出汉字"男"或"女"。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

Set talk off

Clear

Use ZHG

INDEX ON 基本工资 To ZHG_GZ.IDX

USE ZHG INDEX ZHG_GZ

***********FOUND**********

GO TOP

DO WHILE .NOT.BOF()

? 姓名+" "

***********FOUND**********

?? IF 性别<>"M" THEN "女"

?? " ",基本工资

***********FOUND**********

SKIP

ENDDO

USE

SET TALK ON

答案:

1). GOBOTTOM

2). ?? IIF(性别<>"M","女","男") 或

3). SKIP-1

〖第42题〗(练习题所在文件夹:185)

*题目:将200到300之间的所有能被3整除或被5整除的数求和并统计个数。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

STORE 0 TO S,C

I=200

DO WHILE I<=300

***********FOUND**********

IF INT(I/3)=INT(I/5)

S=S+I

***********FOUND**********

C=C+I

ENDIF

I=I+1

ENDDO

?"200到300之间的所有能被3整除或被5整除的数之和="+STR(S,6)

?"200到300之间的所有能被3整除或被5整除的数的个数="+STR(C,6)

答案:

1). IF INT(I/3)=I/3 .OR. INT(I/5)=I/5或 IF MOD(I,5)=0 .OR. MOD(I,3)=0

2). C=1+C 或 C=C+1

〖第43题〗(练习题所在文件夹:57)

*题目:计算1!+3!+9!的结果并输出。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

S=0

***********FOUND**********

M=0

DO WHILE M<=9

STOR 1 TO I

P=1

***********FOUND**********

DO WHILE I>M

P=P*I

I=I+1

ENDDO

S=S+P

***********FOUND**********

M=M+3

ENDDO

? "1!+3!+9!=",S

答案:

1). m=1 或 store1tom

2). dowhilei<=m 或 dowhilem>=i

3). M=M*3 或 M=3*M

〖第45题〗(练习题所在文件夹:173)

*题目:统计RSH.dbf 中职称是教授、副教授、讲师和助教的人数。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

USE RSH

***********FOUND**********

STORE 1 TO A , B , C , D

DO WHILE .NOT.EOF ( )

DO CASE

CASE 职称 = "教授"

A = A + 1

CASE 职称 = "副教授"

B = B + 1

CASE 职称 = "讲师"

C = C + 1

CASE 职称 = "助教"

D = D + 1

ENDCASE

***********FOUND**********

NEXT 1

ENDDO

USE

? A,B,C,D

答案:

1). STORE 0 TO A,B,C,D

2). SKIP 或 SKIP1

〖第46题〗(练习题所在文件夹:195)

*题目:输入工资(以元为单位如:1568),计算出百元、伍十元、

* 贰十元、拾元、伍元、贰元、壹元各多少张(要求张数最少),* 循环计算,当输入0时结束程序。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

GZ=1

***********FOUND**********

DO WHILE GZ=1

INPUT "输入工资:" TO GZ

Y100=INT(GZ/100)

Y50=INT((GZ-Y100*100)/50)

Y20=INT((GZ-Y100*100-Y50*50)/20)

Y10=INT((GZ-Y100*100-Y50*50-Y20*20)/10)

Y5=INT((GZ-Y100*100-Y50*50-Y20*20-Y10*10)/5)

Y2=INT((GZ-Y100*100-Y50*50-Y20*20-Y10*10-Y5*5)/2)

***********FOUND**********

Y1=GZ-Y100-Y50-Y20-Y10-Y5-Y2

?Y100,Y50,Y20,Y10,Y5,Y2,Y1

ENDDO

答案:

1). DO WHILE GZ<>0 或 DO WHILE GZ>0 或 DO WHILE GZ#0

2). Y1=GZ-Y100*100-Y50*50-Y20*20-Y10*10-Y5*5-Y2*2

〖第47题〗(练习题所在文件夹:107)

*题目:根据姓名查询RSH.dbf中的职工情况,如果有则显示该职工的* 工资和职称,否则显示"查无此人!"。

*注意:不可以增加或删除程序行,也不可以更改程序的结构。

vfp填空题

填空题 1、表单控件工具栏中的"标签"按钮代表的是标签_________。答题提示:类/对象 2、表打开后,记录指针指向的记录称为__________记录。 3、表单form1上有一个命令按钮组控件CG(容器控件),命令按钮组控件CG中包括两个命 令按钮Cmd1和Cmd2,若当前对象为Cmd1,则this.parent所指的控件是__________。答题 提示:表单/ 命令按钮组 4、常量$90比常量$100________。答题提示:大/小 5、用当前表单中的LABEL1控件来显示系统时间的语句是:https://www.360docs.net/doc/8c12811567.html,BEL1. =TIME() 6、VFP支持两种类型的菜单:条形菜单和式菜单。 7、颜色函数RGB(0,0,0)返回的颜色是色。 8、一个关系对应一张表,表中的一列称为一个字段,表中的一行称为一个。 9、VFP的三种程序结构是结构、选择结构、循环结构。 10、数据完整性包括域完整性、完整性和实体完整性。 11、在面向对象的程序设计中,类的实例又称为。 12、打开数据库表的同时,自动打开该表的索引。 13、执行命令A=$9000之后,内存变量A的数据类型是型。 14、 FONTBOLD属性,用来设置文字是否以体显示。 15、控件的属性,可用来设置文字的字号大小。 16、表达式"Visual FoxPro" $ "Fox"的结果是。 17、在Visual FoxPro中,最多允许同时打开个数据库表或自由表。 18、在Visual FoxPro中,打开表设计器来修改表结构的命令是(每个单词写四个 字母)。 19、在Visual FoxPro中,视图可以分为本地视图和视图。 20、用Ctrl+F2组合键,可以命令窗口。答题提示:打开/关闭 21、每一个数据表可以容纳的最大记录数是(用阿拉伯数字)亿个。 22、命令书写规则规定命令动词可以缩写为前(用阿拉伯数字)个字符。 23、表单文件的扩展名为。 24、数据表是由行和列组成的二维表格,每一列称为一个。 25、当删除父表中的记录时,若子表中的所有相关记录也能自动删除,则相应的参照完 整性的删除规则为。 26、在Visual FoxPro中运行表单时,表单的Activate事件发生在Init事件之。答 题提示:前/后 27、常量.n.表示的是型的数据。 28、菜单可以分组,插入分组线(分隔线)的方法是在"菜单名称"项中输入两个字符。 29、在Visual FoxPro中,参照完整性规则包括更新规则、删除规则和规则。 30、用二维表数据来表示实体及实体之间联系的数据模型称为模型。 31、在Visual FoxPro中说明数组后,数组的每个元素在未赋值之前的默认值是。 32、函数BETWEEN(40,34,50)的运算结果是。 33、 34、执行命令A=2005/4/2之后,内存变量A的数据类型是型。35、颜色函数RGB(255,0,0)返回的颜色是色。 36、颜色函数RGB(0,255,0)返回的颜色是色。 37、颜色函数RGB(0,0,255)返回的颜色是色。 38、VFP中,删除全部记录的命令是。 39、VFP中,物理删除所有带删除标记记录的命令是。 40、 41、自由表中允许字段名的最大长度为(用阿拉伯数字)个字符。 42、在记录浏览状态下,可用Ctrl+0组合键向某一字段输入(用汉字)值。 43、清除屏幕信息的语句命令是。 44、表单设计中,引用当前对象的关键字为。 45、子类可以自动继承父类的属性和方法,这种特性称为类的性。 46、MessageBox函数的返回值是一个型数据。 47、函数MessageBox的语法为:MESSAGEBOX(cMessageText [, nDialogBoxType [, cTitleBarText]]),则该函数的第二个参数省略。答题提示:可以/不可以 48、命令窗口中未加说明而直接定义的变量,是变量。提示:全局/私有/局部 49、程序中未加说明而直接定义的变量,是变量。提示:全局/私有/局部 50、作用范围最小的变量是变量。提示:全局/私有/局部 51、项目管理器的"移去"按钮有两个功能;一是把文件移去,二是______文件。 52、创建视图时,相应的数据库必须是______状态。(打开/关闭) 53、为图像控件指定图片(如.bmp文件)文件的属性是。 54、 55、在SQL查询语句中,显示部分结果的top短语必须要与短语一起来使用。(短语要写完全) 56、VFP中变量名的命名规则:只能使用汉字、字母、和数字。 57、time()函数的返回值的数据类型为型。 58、退出VFP的命令是。 59、定义全局变量的命令是。 60、定义局部变量的命令是。 61、定义私有变量的命令是。 62、wait 命令可以从键盘接收一个。(答题提示:字符/字符串) 63、Accept命令可以从键盘接收一个。(答题提示:字符/字符串) 64、VFP中支持的三种关系运算有选择、投影和。 65、数据表由表结构和两部分组成。 66、表分两种,表和数据库表。 67、报表的两个基本组成部分:数据源和。 68、当输入比较长的命令时,可加一个来续行,回车后继续在下一行输入。答题提示:逗号/分号/空格/括号 69、视图设计器比查询设计器多了一个选项卡。 70、过程文件中的每个子过程必须以(写前四个字母)开头。 71、对象的引用可分为相对引用和引用。 72、创建的菜单运行后,使用set sysmenu to 命令来退出用户菜单,并恢复系统原来的菜单。

最新二级C语言考试题库及答案程序改错专项练习 精华版

1 / 4 程序改错题(共15题) 1、在考生文件夹下,给定程序MODI.C 的功能是: 求一维数组a 中所有元素的平均值,结果保留两位小数。 例如,当一维数组a 中的元素为:10,4,2,7,3,12,5,34,5,9 程序的输出应为:The aver is: 9.10 。 #include #include void main() { int a[10]={10,4,2,7,3,12,5,34,5,9},i; int aver,s; s = 0; for ( i=1; i<10; i++) s += a[i]; aver = s / i; printf("The aver is: %.2f\n", aver); } 2、在考生文件夹下,给定程序MODI.C 的功能是: 求二维数组a 中的最大值和最小值。 例如,当二维数组a 中的元素为: 4 4 34 37 3 12 5 6 5 程序的输出应为:The max is: 37 The min is: 3 。 #include #include void main() { int a[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min; max = min = a[0][0]; for ( i=0; i<3; i++) for ( j=1; j<3; j++) { if ( max < a[i][j] ) max = a[i][j]; /************found************/ if (min < a[i][j]) min = a[i][j]; } printf("The max is: %d\n", max); printf("The min is: %d\n", min); } 3、在考生文件夹下,给定程序MODI.C 的功能是: 求一维数组a 中的最大元素及其下标。 例如,当一维数组a 中的元素为:1,4,2,7,3,12,5,34,5,9, 程序的输出应为:The max is: 34,pos is: 7 。 #include #include void main() { int a[10]={1,4,2,7,3,12,5,34,5,9},i,max,pos; max = a[0]; pos = 0; for ( i=1; i<10; i++) /************found************/ if (max > a[i]) { max = a[i]; /************found************/ i = pos; } printf("The max is: %d ,pos is: %d\n", max , pos); } 4、在考生文件夹下,给定程序MODI.C 的功能是: 求二维数组a 中的最小值。 例如,当二维数组a 中的元素为: 4 2 34 7 3 12 5 6 5 程序的输出应为:The min is: 2 。 #include #include void main() { int a[3][3]={4,2,34,7,3,12,5,6,5},i,j,min; min = a[0][0]; for ( i=1; i<3; i++) for ( j=0; j<3; j++) if (min > a[i][j]) { /************found************/ min == a[i][j]; } printf("The min is: %d\n", min); }

程序改错基本题

程序改错 一、下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执行结果。 1.求1?2?3?4? ?n main() { long int sum; int n,i=1; scanf("%d",n); printf(“\n”); while(ia[j]) { max=a[j]; m=j; } printf(“下标:%d\n最大值:%d”, j, max) } *3. 求3+4 int a=3,b=4; main() { int a,c; c=a+b; printf(“c=%d”); } 4.用一个函数求两个数之和。 sum(x,y) { float z; z=x+y; return; }

main() { float a,b; int c; scanf("%f,%f",&a,&b); c=sum(a,b); printf("\nSum is %f",sum); } 5.用指针作函数参数,对输入的两个整数按大小顺序输出。 swap(int *p1,*p2) { int *p; *p=*p1;*p1=*p2;*p2=*p; } main() { int a,b; int *q1,*q2; scanf("%d,%d",&a,&b); &q1=a,&q2=b; if(a

VFP程序填空题的作业答案

程序填空题的应试技巧 程序填空题采用的是选择填空,在做题时可采用以下方法来寻找正确的答案。 1.找匹配语句。 (1)根据程序结构来填空。有DO WHILE,考虑有无ENDDO配对,有IF,有无ENDIF配对。 USE 学生……USE LOCATE FOR ……CONTINUE或FOUND()或!EOF() INDEX ON ……SET INDEX TO SET PROC TO 过程名……SET PROC TO (2)如果程序中有变量的使用语句,如S=S+1,X=X+1,检查程序开头处有无变量赋初值的语句,是否需填STORE 0 TO S, X。 (3)使用TOTAL命令,检查是否存在建索引或排序的语句。 (4)DO AAA(过程名) WITH …,检查过程中有无PARA。 2.边读程序边做题 用实例代入读程序,并结合语句含义和函数来考虑。 3.与表文件有关的函数有: (1)函数:EOF() BOF() FCOUNT() FIELDS() FOUND() FILE() RECNO()RECCOUNT() (2)命令REPLACE ……WITH LOCATE ……FOR DELETE FILE DISP ALL FOR …… APPEND BLANK COUNT TO 新变量名FOR …… SUM 数值型字段TO 新变量名FOR …… AVERAGE数值型字段TO 新变量名FOR …… SKIP n DISP NEXT N 4.输入和输出语句: 程序填空题 1:[程序说明]求1!+3!+5!+······N!的值。N由键盘输入,且为奇数。[程序] SET TALK OFF CLEAR __(5)__ STORE 0 TO S,T FOR I=1 TO N STEP 2 DO SUB __(6)__ ENDFOR ?S SET TALK ON

2012计算机国二C语言等级考试题库(内部资料)程序改错

1.给定程序MODI1.C中函数fun的功能是:根据以下公式求π值,并作为函数值返回。例如,给指定精度的变量eps输入0.0005时,应当输出Pi=30140578.。(1)“t=0;”改为“t=1;”。(2)改成“return(2*s);” 2.给定程序MODI1.C中函数fun的功能是:将长整型中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如:当s中的数为:7654321时,t中的数为:7531。(1)“void fun (long s, long *t)”(2)“sl = sl*10;” 3.给定程序MODI1.C中函数fun的功能是:用下面的公式求π的近似值,知道最后一项的近似值小于指定数(参数num)为止:例如程序0.0001,则程序输出 3.1414。(1) “while(t>=num)”改为 “while(fabs(t)>=num) ”。(2)“t=s%n;”改为 “t=s/n;”。 4.给定程序MODI1.C中函 数fun的功能是:把主函 数中输入的三个数,最大 的放在a中,最小的放在 c中,中间的放在b中。 例如a=55.0 b=34.0 c=12.0。(1)“float k;”。 (2)“if(*a<*c)”。 5. 给定程序MODI1.C中 函数fun的功能是:为一 个偶数寻找两个素数,这 两个素数之和等于该偶 数,并将这两个素数通过 形参指针传回主函数。(1) “y=1;”。(2)“d=a-i;”。 6. 给定程序MODI1.C中 函数fun的功能是:由形 参给定n个实数,输出平 均值以上(含平均值)的 实数个数。所的平均值为: 195.838745,在平均值以 上的实数个数应为:5。(1) “int j, c=0; double xa=0.0;”。(2)“if (x[j]>=xa)”。 7.例如:当s中的数为: 7654321时,t中的数为: 7531。(1)“*t=0;”(2) “if(d%2!=0)” 8.函数功能是:求出 以下分数序列的前n项 和。 2/1,3/2,5/3,8/5/13/ 8,21/13,…...。和值 通过函数值返回到 main函数。例如,n=5, 则应输出:8.391667。 (1)“fun(int n)”改为 “double fun(int n)”。 (2)“b+=c;”改为“b=c;”。 9.函数fun的功能是: 判断一个整数是否是 素数,若是返回1,否 则返回0。(1)“k++” 改为“k++;”(2) “if(m=k)”改为 “if(m==k)” 10.给定程序MODI1.C 中函数fun的功能是: 从整数1到55之间,选 出能被3整除、且有一 位上的数是5的那些 事,并且把这些数放 在b所指的数组中,这 些数作为函数值返回。 规定,函数中a1放个 位数,a2放十位数。 (1)“a2=k/10;”。(2) “return i;”。 11.给定程序MODI1.C 中函数fun的功能是: 计算小于形参k的最大 的10个能被13或17整 除的自然数之和。K的 值由主函数传入,若K 的值为500.则主函数 为4622。(1) “if((k%13==0)||(k%17 ==0))”。(2)“______” 填“}”。 12.已知一个数列从第 0项开始的前三项分别 是0、0、1以后的各项 都是它相邻的前三项 之和。给定程序 MODI1.C中函数fun的 功能是:计算并输出该 数列前n项的平方根之 和。n的值通过形参传 入。(1)“double fun(int n)”。(2)“return sum;”。 13.函数fun的功能是: 根据整形形参m的值: 计算如下公式的 值……例如:若m中的 值为5,则应输出: 0.536389。(1) “for(i=2; i<=m; i++)”(2) “y-=1.0/(i*i);”。 14.函数的功能是:将 字符串中的字符按逆 序输出,但不改变字符 串中的内容。例如字符 串abcd,则应输出dcba。 (1)“void fun(char *a)”。(2)“printf("%c", *a);”。 15.函数fun的功能是:求 三个数的最小公倍数。 X1=15 x2=11 x3=2(1) 改成“int fun(int x, int y, int z )”。(2)return j 16.函数fun的功能是:根 据整型形参m计算如下 公式的值。若主函数中输 入5,则应输出-0.283333。 (1)“t=t-1.0/i;”。 (2)填空“return t;” 17. 例如,若输入:edcba, 则应输出:abcde。(1) “for( i=strlen( t )-1; i; i- - )” (2)“if(t[j]>t[j+1])” 18.函数fun的功能是: 根据形参m的值 (2<=m<=9),在m行m 列的二维数组中存放 如下所示规律的数据, 由main函数输出。(1) “void fun(int a[][M], int m)”。(2) “a[j][k]=(k+1)*(j+1);”。 19.函数fun的功能是: 先从键盘上输入一个3 行3列矩阵的各个元素

C语言程序改错题

第1题【程序改错】 欧阳学文 功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的 字符按正序连接到t串的后面。 例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为: “EDCBAABCDE”。 */ #include #include #include void fun (char *s, char *t) { /**********FOUND**********/ int i; sl = strlen(s); for (i=0; i

/**********FOUND**********/ t[i] = s[sli]; for (i=0; i

第2题【程序改错】 功能:求出以下分数序列的前n项之和。和值通过函数值返回main 函数。 2/1+3/2+5/3+8/5+13/8+21/13 …… 例如:若n = 5,则应输出:8.391667。 */ #include #include /**********FOUND**********/ fun ( int n ) { int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k <= n; k++ ) { /**********FOUND**********/ s = (double)a / b;

计算机程序改错题,及答案

11 *程序名:TEST.prg *检索选修课程门数等于3门或3门以上,每门课程成绩大于或等于70分的每个学生的 *学号,姓名,性别,平均成绩,最低分和选课门数,并将结果存储到表NEW_TEST中. *以下程序有三处错误,请改正 OPEN DA TABASE SDB SELECT STUDENT.学号,姓名,性别,A VG(成绩) 平均成绩,MIN(成绩) 最低分,COUNT(*) 选课门数; FROM STUDENT,SC; WHere STUDENT.学号= SC.学号AND 成绩>= 70 ; &&**********Error********** GROUP BY STUDENT.学号HA VING count(课程号) >= 3; &&**********Error********** inTO table NEW_TEST &&**********Error********** CLOSE ALL 9 *程序名:dbtest3.prg *定义一个视图VS1, *检索选课门数是3门以上的每个学生的学号、姓名、平均成绩、最低分、选课门数和院系编号, *并按平均成绩降序排序. *以下程序有三处错误,请改正 SET TALK OFF SET SAFETY OFF open DATABASE SDB &&****Error***修改本行的语法错误,不许注释掉本行或删除本行 CREATE VIEW VS1 SELECT STUDENT2.学号, 姓名, A VG(成绩) 平均成绩, MIN(成绩) 最低分, COUNT(*) 选课门数, 院系编号; FROM STUDENT2, sc; &&*************Error************* WHERE STUDENT2.学号= SC.学号; GROUP BY SC.学号HA VING COUNT(课程号) > 3; ORDER BY 平均成绩desc &&*************Error************* CLOSE DATABASE RETURN i=2 create table four(结果I) do while i<=1000 if i%3=0 insert into four values(i) &&错误语句请修改 endif

VFP填空题+答案

1.在VFP的默认状态下,表以________方式打开。 答案:独占 2.如果USED("XS")返回为T,则说明________。 答案:文件已打开 3.要实现对JS表所有记录的工龄(GL)增加1,其UPDATE-SQL命令为________。 答案:UPDATE JS SET GL=GL+1 4.在REPLACE命令中,保留字________仅对备注型字段有效,使用时表示替换的内容追加到原备注中,否则替换原备注内容。 答案:ADDITIVE 5.请写出删除JS表中基本工资(GZ)在400元以下所有记录的DELETE-SQL命令________。 答案:DELETE FROM JS WHERE GZ<400 6.如果要彻底删除当前工作区中打开表的所有记录,可以使用________命令。 答案:ZAP 7.打开一个表时,________索引文件将自动打开,表关闭时它将自动关闭。 答案:结构复合索引 8.数据库中的每一个表能建立________个主索引。 答案:1 9.除了自由表的字段名、表的索引名至多只有_____个字符以外,其余名称的长度可以达到100多个字符。 答案:10 10.________是保存在数据库中的过程代码,由用户自定义的函数和在创建表之间的参照完整性规则时系统创建的函数组成。 答案:存储过程 11.参照完整性的插入规则只有两个,________ 答案:删除和忽略 12.学生表和成绩表已经建立了参照完整性,如果删除学生表中的记录,该学生的所有成绩记录也自动全部删除,则两表之间的参照完整性设置为___________。 答案:删除级联 13.要设置当前数据库中js 表的gh字段的标题属性,可以dbsetprop(”_______”,”field”,”caption”,”工号”) 答案:js.gh 14.要获取当前数据库中xs表的xb字段的默认值,可以dbgetprop(”xs.xb”,”field”,”__________”) 答案:defaultvalue 15.对于已打开的多个索引,每次只有一个索引对表起作用,这个索引称为________。 答案:主控索引 16.在关系模型中实体之间的联系有三种:一对一关系、一对多关系和多对多关系。在VFP 数据库中,数据库表之间不能建立的关系是________。 答案:多对多关系 17.________是保存在数据库中的过程代码,它由一系列用户自定义函数或在创建表与表之间参照完整性规则时系统创建的函数组成。 答案:存储过程 18.在移动表或数据库后更新链接,可以使用VALIDATE DATABASE命令检查数据库的有效性和更新链接.该命令要求以________方式打开当前数据库。

C语言程序改错基本题库电子版本

C语言程序改错基本 题库

北京石油化工学院 12级复习题 程序改错 一、下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执行结果。 1.求1234n main() { long int sum; int n,i=1; scanf("%d",n); printf(“\n”); while(ia[j]) { max=a[j]; m=j; } printf(“下标:%d\n最大值:%d”, j, max) } *3. 求 3+4 int a=3,b=4;

main() { int a,c; c=a+b; printf(“c=%d”); } 4.用一个函数求两个数之和。 sum(x,y) { float z; z=x+y; return; } main() { float a,b; int c; scanf("%f,%f",&a,&b); c=sum(a,b); printf("\nSum is %f",sum); } 5.用指针作函数参数,对输入的两个整数按大小顺序输出。 swap(int *p1,*p2) { int *p; *p=*p1;*p1=*p2;*p2=*p; } main() { int a,b; int *q1,*q2; scanf("%d,%d",&a,&b); &q1=a,&q2=b; if(a

c语言程序设计第五版习题答案

c语言程序设计第五版习 题答案 Prepared on 24 November 2020

习题解析与答案 第1章C语言概述 一.简答题 1.概述C语言的主要特点。 【解答】 (1)语言简洁、紧凑,使用方便、灵活。 (2)数据类型丰富,表达能力强。 (3)运算符多样。C语言中的运算符包含的范围非常广泛。 (4)具有结构化的控制语句。如if…else语句、while语句、dowhile语句、switch语句、for语句。 (5)允许直接访问物理地址。C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。 (6)所生成的目标代码质量高,可移植性好。 2.构成C语言程序的基本单位是什么它由哪几部分组成 【解答】函数是构成C语言程序的基本单位。一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。 3.C语言程序的运行一般要经过哪几个步骤 【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。 二.运行程序写结果 1.输入下面程序并运行。 main() { inta1,a2,x; a1=100; a2=50; x=a1-a2; printf(″x=%d\n″,x); } 【解答】运行结果为:x=50 2.输入下面程序并运行。 main()

{ inta1,a2,x; a1=10; a2=20; x=a1*a2; printf(″a1=%d,a2=%d\n″,a1,a2); printf(″x=%d\n″,x); } 【解答】运行结果为:a1=10,a2=20 x=200 三.编程题 1.参照本章例题,编写一个C程序,用于显示如下信息: ************************* IloveCprograms! ************************* 【分析与提示】 ①要有文件包含语句#include<>。C语言中没有数据的输入、输出等功 能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf 等来实现的。这些函数的说明都包括在文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干 条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include<> main() { printf("************************\n"); printf("IloveCprograms!\n"); printf("************************\n"); } 第2章数据类型及其运算一.简答题 1.C语言中的数据类型主要有哪几类 【解答】短整型(shortint) 整型整型(int) 长整型(longint) 基本类型字符型(char)(float) 实型(浮点型) 双精度(double) 枚举类型(enum) 数组类型

VFP练习题(精华哦!)

VFP程序设计练习题 一、选择题 1、 Visual FoxPro 是一个。 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. 对象 B. 字段 C. 二维表 D. 表单 7、下列表达式中,合法的是。 A. Year(Date())-{2000/08/02} B. Date()-{2000/08/02} C. Date()+{2000/08/02} D. A、B、C 均对 8、表达式?round(123.456,0)

计算机基础C++程序改错复习题

? 第1题(分)题号:400 难度:中第2章/*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:编写函数fun求20以内所有5的倍数之积。 ------------------------------------------------------*/ 《 #define N 20 #include <> int fun(int m) { /**********FOUND**********/ int s=0,i; ; for(i=1;i

s*=i; ) 第2题(分)题号:584 难度:中第1章/*-------------------------------------------------------【程序改错】 --------------------------------------------------------- 下列给定程序中函数fun()的功能是计算1/n!的值。 & 例如:给n输入5,则输出。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行, 也不得更改程序的结构。 , 试题程序: -------------------------------------------------------*/ #include <> #include <> /***********FOUND***********/ ~ int fun(int n) { double result =; if(n==0) return ; while(n>1 && n <170) /***********FOUND***********/ result *=n++ ; … result=1/result; return result; } void main() {

C语言程序改错题

第12次上机程序改错第1题 【程序改错】 -------------------------------------------------------- 功能:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积。 例如:输入圆的半径值:19.527 输出为:s = 598.950017。 ------------------------------------------------------*/ #include #include /**********FOUND**********/ double fun( r) double fun(double r) { double s; /**********FOUND**********/ s=1/2*3.14159* r * r; s=1.0/2*3.14159*r*r; /**********FOUND**********/ return r; return s; } main() { float x;

printf ( "Enter x: "); scanf ( "%f", &x ); printf (" s = %f\n ", fun ( x ) ); } 第2题【程序改错】 功能:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。 例如:当s中的字符串为:“ABCDE”时,则t中的字符串应为:“EDCBAABCDE”。 ------------------------------------------------------*/ #include #include #include void fun (char *s, char *t) { /**********FOUND**********/ int i; int sl,i; sl = strlen(s); for (i=0; i

有目录-程序改错部分试题及答案(2015-2016-1)

目录 功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。 (1) 功能:求如下表达式: (2) 功能:判断m是否为素数,若是返回1,否则返回0。 (4) 功能:用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于0.0001。 (5) 功能:求1到20的阶乘的和。 (6) 功能:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出 整数部分,输出项数不得多于或少于20。 (7) 功能:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线上的 元素之和sum。 (8) 功能:找出大于m的最小素数,并将其作为函数值返回。 (9) 功能:有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前 面的元素即第一个数对换位置. (10) 功能:一个已排好序的一维数组,输入一个数number,要求按原来排序的规律将 它插入数组中. (11) 第1题/*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。 ------------------------------------------------------*/ #include #define N 11 main() { int i,number,a[N]={1,2,4,6,8,9,12,15,149,156}; printf("please enter an integer to insert in the array:\n"); /**********FOUND**********/ scanf("%d",&number) printf("The original array:\n"); for(i=0;i

(完整版)VFP程序设计期末复习题(学生版)

VFP程序设计期末复习题(学生版) 一、基本知识点(含填空题、选择题、判断题) 1.在有关数据库的概念中,若干记录的集合称为表。 2.要计算职称为副教授或教授的工资总额,可用的命令有: (1)sum 工资 FOR 职称="副教授".OR.职称="教授" (2)SUM ALL 工资 FOR 职称="副教授".OR.职称="教授" (3)SUM 工资 FOR "教授"$职称 3.不允许记录中出现重复索引值的索引是主索引和候选索引。 4.在Visual FoxPro中,打开数据库的命令是OPEN DATABASE <数据库名>。 5.连续执行以下命令之后,最后一条命令的输出结果是A BCD。 SET EXACT OFF X="A " ?IIF("A"=X,X-"BCD",X+"BCD") 6. LEET("Visual FoxPro",6)与SUBSTR("Visual FoxPro",1,6)运算中,结果相同。 7.在Visual Foxpro中,用于建立或修改过程文件的命令是MODIFY COMMAND <文件名>或MODIFY PROCEDURE <文件名>。 8.使用命令DECLARE mm(2,3)定义的数组,包含的数组元素(下标变量)的个数为6。 9.APPEND命令的功能是在表的最后面插入一条记录。 10.打开学生数据库及(对成绩字段的)索引文件,假定当前记录号为200,欲使记录指针指向记录号为100的记录,应使用命令GOTO 100。 11.假定系统是期是2004年01月05日,有如下命令: NJ=YEAR(DATE()) 执行该命令后,NJ 的值是2004。 12.学生数据库文件中共10条记录,其姓名字段值均为学生全名,执行如下命令序列: USE STUDENT ?recno() 最后,recno()函数的显示值是1。 13.比较表达式的结果是逻辑型。 14.用COPY STRU TO <文件名> 形成的文件是表文件。 15. 数值型、日期型、字符型能作为索引关键字的数据类型而备注型则不能。 16.显示数据表当前记录内容的命令是LIST NEXT 1。 17.用命令DIMENSION A(4,5)定义后,A数组中共有20个数据元素。

相关文档
最新文档