当前位置:文档之家› VB程序改错题收集(答案解析在后面)

VB程序改错题收集(答案解析在后面)

VB程序改错题收集(答案解析在后面)
VB程序改错题收集(答案解析在后面)

VB中常见的错误

1、运行下面的Visual Basic程序,单击命令按钮Command1,出现如下图所示的提示信息:Private Sub Command1_Click()

Dim a As Single, b As Single

a = Val(Text1.Text)

b = 10

If a >= b

b = a * a + 2 * b

End If

Label1.Caption = Str(b)

End Sub

出现该错误的原因是

A.If语句缺少Then B.If语句缺少Else

C.变量a的数据类型说明错误D.变量b的数据类型说明错误

2、某VB程序的事件过程如下所示:

Private Sub Command1_Click ( )

Dim a As Integer

a = Val(Text1.Text)

Text1.T ext = Str(Int( a ))

End Sub

运行程序,单击按钮Command1后弹出如下图所示的错误提示。导致该错误的原因可能是()

A.Int函数计算时出现错误B.Val函数应用不正确

C.窗体上缺少Text1文本框对象D.变量a数据类型定义错误

3、某Visual Basic程序段如下:

Dim a(1 To 10) As Integer

Dim i As Integer

a(1) = 1

For i = 2 To 10

a(i) = a(i - 1) * i

Next i

运行该程序段,会出现的错误提示为

(A)下标越界(B)子程序或函数未定义(C)要求对象(D)溢出

Interger类型范围在-32768~32767,而1到10相乘超出这个范围

4、某Visual Basic程序如下:

Private Sub Command1_Click()

Dim a(1 To 10) As Integer

Dim i As Integer

For i = 1 To 10

a(i) = i * i

Next i

List1.AddItem Str(a(i))

End Sub

运行程序,单击命令按钮Command1后,出现的错误提示为

(A)下标越界(B)子程序或函数未定义

(C)溢出(D)类型不匹

5、有如下的Visual Basic程序:

Private Sub Command1_Click()

Const pi = 3.14

Dim s As Single, r As Single

r = Val(text1.Text)

pi = 3.1415

s = pi * r ^ 2

Label1.Caption = "面积为" + Str(s)

End Sub

程序运行后,单击命令按钮Command1,出现如图所示的错误提示,下列原因分析正确的是(A)常量不能用小数

(B)pi是常量,不允许赋值

(C)文本框Text1中输入的数据不是常量

(D)表达式结果超过了变量类型的范围

6、某Visual Basic程序如下:

Private Sub Command1_Click()

Dim a(1 To 10) As Integer

Dim i As Integer

For i = 1 To 10

a(i) = i * i

Next i

List1.AddItem Str(a(i))

End Sub

运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,此时程序正执行的语句是(A)For i = 1 To 10 (B)a(i) = i * i

(C)Next i (D)List1.AddItem Str(a(i))

7、某Visual Basic程序如下:

Private Sub Command1_Click()

Dim a As Single, b As Single

Dim c As Single

a = 1

b = 5

c = Sqr(a - b)

Text1.Text = Str(c)

End Sub

运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,此时程序正执行的语句是(A)a = 1 (B)b = 5

(C)c = Sqr(a - b) (D)Text1.Text = Str(c)

8、某同学正编写一个判断酒驾行为的Visual Basic程序,其窗体和代码窗口如下图所示。

根据代码窗口中的程序,要在程序运行时获取输入的x值,窗体上必须增加的对象是

A. 标签Text1

B. 标签Label2

C. 文本框Text1

D. 文本框Label2

9、运行下面的Visual Basic程序,单击命令按钮Command1,出现如下图所示的提示信息:

Private Sub Command1_Click()

Dim i As Integer, c As String, s As String, t As String

s = "2012 Hero"

t = ""

For i = 1 To Len(s)

c = Mid(s, i, 1)

If c >= "a" And c <= "z"

t = t + c

End If

Next i

Text1.T ext = t

End Sub

出现该错误的原因是

A.If语句缺少Then B.If语句缺少Else

C.变量t的数据类型说明错误D.变量s的数据类型说明错误

10、某VB程序在调试中弹出如图所示的错误窗口,产生该错误的可能原因是()

A.该VB程序代码中,缺少Next

B.该VB程序窗体界面中,缺少某控件

C.该VB程序代码中,某个常量或变量没有声明

D.该VB程序设计软件没有正确安装

11.运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。发生"下标越界"错误时所执行的语句是

Private Sub Command1_Click()

Dim a(0 To 5) As Integer

Dim i As Integer '①

a(0) = 1 '②

For i = 1 To 5

a(i) = 2 * a(i - 1) + 1 '③

Next i

Text1.Text = Str(a(i)) '④

End Sub

(A)①(B)②(C)③(D)④

12.运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。发生"下标越界"错误时所执行的语句是

Private Sub Command1_Click()

Dim a(0 To 5) As Integer

Dim i As Integer '①

a(0) = 1 '②

For i = 1 To 6

a(i) = 2 * a(i - 1) + 1 '③

Next i

Text1.Text = Str(a(5)) '④

End Sub

(A)①(B)②(C)③(D)④

13.某Visual Basic程序如下:

Private Sub Command1_Click()

Dim a(1 To 10) As Integer

Dim i As Integer

For i = 1 To 10

a(i) = i * i

Next i

List1.AddItem Str(a(i))

End Sub

运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,此时程序正执行的语句是(A)For i = 0 To 10 (B)a(i) = i * i

(C)Next i (D)List1.AddItem Str(a(i))

14.运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。发生"除数为零"错误时所执行的语句是

Private Sub Command1_Click()

Dim a As Integer, b As Integer, c As Single

a = 2 '①

b = a + 1 '②

c = a / (b - 3) '③

Text1.Text = Str(c) '④

End Sub

(A)①(B)②

(C)③(D)④

15.有如下的Visual Basic程序:

Private Sub Command1_Click()

Const pi = 3.14 '①

Dim s As Single, r As Single

r = Val(text1.Text) '②

pi = 3.1415 '③

s = pi * r ^ 2 '④

Label1.Caption = "面积为" + Str(s)

End Sub

程序运行后,单击命令按钮Command1,出现如图所示的错误提示,下列原因分析正确的是

(A)常量不能用小数

(B)pi是常量,不允许赋值

(C)文本框Text1中输入的数据不是常量

(D)表达式结果超过了变量类型的范围

16.题目如上题,问具体是哪条语句出错

(A)①(B)②(C)③(D)④

17.运行如下Visual Basic程序,单击命令按钮Command1,出现如图所示的出错信息。发生"类型不匹配"错误时所执行的语句是

Private Sub Command1_Click()

Dim a As Integer, b As Integer

a = 10 '①

b = 20 '②

Text1.Text = "a+b=" + Val(a + b) '③

End Sub '④

(A)①(B)②

(C)③(D)④

18.某Visual Basic程序如下:

Private Sub Command1_Click()

Dim a As Single, b As Single

Dim c As Single

a = 1

b = 5

c = Sqr(a - b)

Text1.Text = Str(c)

End Sub

运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,此时程序正执行的语句是(A)a = 1 (B)b = 5

(C)c = Sqr(a - b) (D)Text1.Text = Str(c)

19.某Visual Basic程序如下:

Private Sub Command1_Click()

Dim i As Integer, sum As Integer

sum = 0

For i = 10 To 2 Step -2

sum = sum + i

Next i

Text1.Text = Str(sum)

End Sub

运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,此时程序正执行的语句是(A)Sum = 0 (B)For i = 10 To 2 Step -2

(C)sum = sum + i (D)Text1.Text = Str(sum)

20.某Visual Basic程序如下:

Private Sub Command1_Click()

Dim a As String

a = "d"

a = Chr(Asc(a) - 32)

Label1.Caption = a

End Sub

运行程序,单击命令按钮Command1后弹

出如图所示的出错信息提示,此时程序正执行的语句是

(A)a = "d" (B)End Sub

(C)a = Chr(Asc(a) - 32) (D)Label1.Caption = a

21.某Visual Basic程序如下:

Private Sub Command1_Click()

Dim x As Integer, i As Integer

For i = 1 To 10 Step 3

x = i * (i + 2)

List1AddItem Str(x)

Next i

End Sub

运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,引起该错误的语句是(A)For i = 1 To 10 Step 3 (B)x = i * (i + 2)

(C)List1AddItem Str(x) (D)Next i

22.某Visual Basic程序如下:

Private Sub Command1_Click()

Dim x As Integer, c As Integer, i As Integer

c = 0

For i = 1 To 12

If 12 Mod i = 0 Then

c = c + 1

End If

Next i

Text1.Tex = Str(c)

End Sub

运行程序,单击命令按钮Command1后弹出如图所示的出错信息提示,引起该错误的语句是(A)For i = 1 To 12 (B)c = c + 1

(C)Next i (D)Text1.Tex = Str(c)

23.下图所示是一个求和程序,程序界面上有标签Label1、标签Label2和一个命令按钮Command1。程序运行时,单击命令按钮Command1后弹出“编译错误”信息提示并指向错误语句所在代码。请问下面修改方法可以让程序正确运行的是:

(A)Command1.caption=s (B)Text1.text=s (C)Text1=s (D)Label2.caption=s 24.某Visual Basic程序如下,执行该程序后,将会出现的错误提示为

Private Sub Command1_Click()

Dim a(1 To 10) As Integer

Dim i As Integer

a(1) = 1

For i = 2 To 10

a(i) = a(i - 1) + i

List1AddItem Str(a(i))

Next i

End Sub

(A)下标越界(B)子程序或函数未定义(C)溢出(D)类型不匹配

25.小王同学在调试VB程序时,会出现下图错误提示信息的是:

(A)Function sina(n) As Integer ....... End Function

(B)Private Sub abc(a, b) as double ....... End Sub

(C)Private Sub Command1_click() ....... End Sub

(D)Private Sub Command1_click() Private Sub Command1_click() ....... End Sub

26. VB语句s = s + Val(Key)在运行时出现“类型不匹配”信息,则变量s的数据类型可能是:

(A)Integer (B)double (C)single (D)string

27. 某VB程序段代码如下,它的作用是计算1*2*3*……*99*100的值:

Private Sub Command1_Click()

Dim s As Integer ------①

s = 1 ------②

For i = 1 To 100 ------③

s = s * i ------④

Next i Print s

End Sub

程序运行后出现“溢出”错误信息,下面对于出错原因分析正确的是:

(A)把语句①改为dim s as double,原来s的数据类型不适合

(B)把语句②改为s=0,这样就不会出现数据溢出错误

(C)把语句③改为do……loop 循环结构就不会出现数据溢出错误

(D)VB不能用于计算1*2*3*……*99*100的值,否则一定会出现数据溢出错误

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

A C D A

B D

C C A A

D C D C B

16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

C C C

D D C D D B D D A

最新二级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); }

VB程序设计例题-程序改错程序填空程序设计

'以下程序段用于输出杨辉三角:结果样式如图1 ' Private Sub Form_Click() Const n = 10 Dim arr(n, n) As Integer For I = 1 To n arr(I, I) = 1 '**********SPACE********** 【arr(I, 1) = 1】 Next I For I = 3 To n For j = 2 To I - 1 '**********SPACE********** arr(i, j) =arr(i-1,j-1)+arr(i-1,j) Next j Next I For I = 1 To n For j = 1 To I '**********SPACE********** 【print arr(I,j)】 Next j Print Next I End Sub Option Explicit '------------------------------------------------ '【程序改错】 '------------------------------------------------ '题目:用自定义函数的方法求sum(x),求当-1≤x≤1时,' sum(x)=x/2!+x^2/3!+x^3/4!+……+x^n/(n+1)!, ' 当x〉1或x〈-1时,函数值为0。当n〈=0时,输入数' 据错误。X、N都是由用户输入。 '------------------------------------------------ '注意:不可增加或删除程序行,也不可以更改程序结构 '------------------------------------------------ Private Sub Command1_Click() Dim s As Single Dim n As Integer, x As Single, k As Integer n = Val(InputBox("Please input a integer value:"))

程序改错基本题

程序改错 一、下面每个程序的划线处有语法或逻辑错误,请找出并改正,使其得到符合题意的执行结果。 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

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;

VB改错题(答案)

1.程序的功能是:单击命令按钮“输出”,在图片框Picture1中输出费波那契数列的前20项项值,要求按区输出,每行输出4个项值。程序中有两处错误,请修改程序并运行,直到得出正确结果。 注意:程序中的修改行就在注释行: '**********found*************' '请不要删除该行' 的下面,请不要修改程序中的其他部分。最后把修改后的文件按原来文件名存盘。 第1个出错位置:For i=3 to 20 第2个出错位置:If i Mod 4=0 then Picture1.Print Private Sub Command1_Click() Dim f(40) As Long Dim i As Integer Picture1.Cls f(1) = 0 f(2) = 1 Picture1.Print f(1), f(2), '**********found*************' '请不要删除该行' For i = 1 To 40 For i=3 to 20 f(i) = f(i - 1) + f(i - 2) Picture1.Print f(i), '**********found*************' '请不要删除该行' If i Mod 4 = 0 Then Picture.Print If i mod 4=0 then picture1.print Next i End Sub 2. 程序的功能是:程序运行时,单击“输出”按钮,产生10个[0,99]之间的随机整数存入数组A中,并按照相反的顺序输出在窗体上。程序中有两处错误,请修改程序并运行,直到得出正确结果。 第1个出错位置:A(i)=Int(Rnd*100+0) p50 第2个出错位置:Print A(11-i); Private Sub Command1_Click() Randomize Dim A(10), I As Integer Form1.Cls For I = 1 To 10 '*********found******** '请不要删除该行 A(I) = Int(Rnd * 99) A(i)=Int(Rnd*100+0) Print A(I); Next I Print For I = 1 To 10 '*********found******** '请不要删除该行 Print A(I); Print A(11-i) (注意答案中间无;) Next I End Sub

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

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

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

[整理]VB程序设计复习题及答案.

中南大学现代远程教育课程(专科)考试复习题及答案 《VB程序设计与应用》 一、选择题:在每小题给出的四个选项中,只有一项是符合题目要求的,请把所选项前的字母填在 题后的括号内。 1. Visual Basic程序中分隔一行中各语句的字符是()。[ ] A)‘ B): C)\ D)_ 2. 下列可作为Visual Basic的变量名的是()。[ ] A: Filename B: A(A+B)C: A%D D : Print 3. 要让菜单项无效,应将()属性值设置为False。 [ ] A. Visible B. Enabled C. Moveable D. Checked 4. 以下过程是()事件。 Prviate Sub Form_Load( ) …… End Sub [ ] A: 命令按钮的单击B: 命令按钮的装载 C; 窗体的装载D: 窗体的单击 5. Vb中描述文件扩展名的是()属性。[ ] A: Drive B: Pattern C: FileName D: Path 6. 关于Visual Basic中事件的说法中,不正确的为()。[ ] A)事件是由Visual Basic预先定义好的,能够被对象识别的动作 B)DblClick(双击)是Visual Basic中的一种事件 C)一个对象可以识别一个或多个事件 D)对于一个系统提供的对象可以识别哪些事件,需要程序员自己定义 7. 下列控件中可设置滚动条是()。 [ ] A. 检查框(复选框) B. 框架 C. 文本框 D. 标签框 8. 在Visual Basic中建立一个空窗体,( )不会是其默认名。 [ ] A. Form1 B. Form2 C. Formx D. Form10 9. Const One&=1,则One为()类型的常数。[ ] A)整型 B)字节型

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) 数组类型

计算机基础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

齐齐哈尔大学C语言题库 程序改错(部分)

1.【程序改错】 题目:在一个一维整型数组中找出其中最大的数及其下标。 程序中共有4条错误语句,请改正错误。 #define N 10 /**********FOUND**********/ float fun(int *a,int *b,int n) int fun(int *a,int *b,int n) { int *c,max=*a; for(c=a+1;cmax) { max=*c; /**********FOUND**********/ b=c-a;} *b=c-a;} return max; } main() { int a[N],i,max,p=0; printf("please enter 10 integers:\n"); for(i=0;i

VB程序改错40题

第2题(1、0分)题号:1 2 9 '【程序改错】 '题目:该程序实现将输入得0 —255 之间得正整数转 换成二进制数 O p t i on Explici t P riv a t e Sub Fo r m _Cl i ck () Con st n = 8 Dim a(n) A s I n tege r, s As Stri ng, m A s I n te g er, x A s Integer x = Va l (In p utB ox (”请输入一个0 — 2 55之间得正整数: ")) Prin t x ** ** ******FOUND** Fo r m = 1 T o n (m ) = x Mod 2 *** * *F^) D********* * Nex t m For m =n To 0 S t e p —1 * *********FOU N D * **** * * ** * s = Str(a( m )) Nex t m Pri n t s E n d Sub 答案:

(答案1)For m = 0 To n======= 答案2)x= x \ 2 或x= int(x/2)=======(答案3)s = s + St r (a (m)) 第3题(l、0分) 题号:463 '题目:以下程序功能就是输入三个数,由大到小排序。 Op t io n Explicit Di m A A s I n teger Dim B As I n te g er D im C As I nt e ger P r ivat e Sub F o r m_Click() Dim nTemp A s Integer A = V a l(ln put B o x (H P lease in put fi r st i nt e ger","输入正整数”)) B = Val( I n putBo x (” Pl e a s e in put s eco nd int e ge r”,"输入正整数”)) C = Va i (In pu tB o x(” P 1 e a se in put third int e ger ” ,"输入正整数”)) F OU ND * * ***** If A v= C T h en n Te m p = A A = B B = n Te mp E nd I f > ***** *FOUND**** * * * *** I f B <= C T hen nTe mp = A A = C C = nTem p

程序改错--答案版

12592 '题目:编程求一个十进制整数n的各位数字之和,设n为小于或等于5位的数。'------------------------------------------------ Option Explicit Private Sub Form_Click() Dim N As Integer, Sum As Integer, S1 As String, S2 As String Dim i As Integer, Ch As String Sum = 0 N = InputBox("输入整数n") S1 = Str(N) S1 = Trim(S1) For i = 1 To Len(S1) '**********ERROR********** Ch = Mid(N, i, 1) '**********ERROR********** Sum = Val(Ch) Next i Print "该整数的各位数之和是:"; Sum End Sub 12610'题目:程序功能根据输入的学习成绩,分别显示优秀(90分以上), 良好(75分以上),及格(60分以上)不及格四个等级. '------------------------------------------------ Option Explicit Private Sub Form_Click() Cls Dim i As Integer i = InputBox("请输入学习成绩") Select Case i '**********ERROR********** Case 0 < i < 100 MsgBox "成绩应该在0--100之间""" '**********ERROR********** Case 90 Print "优秀" Case 75 To 89 Print "良好" Case 60 To 74 Print "及格" '**********ERROR********** Case MsgBox "不及格", vbCritical End Select End Sub 12616.题目:求s=1!+3!+5!+7!,阶乘的计算用Function过程fact实现. '------------------------------------------------ Option Explicit Private Sub Form_Click() Dim i As Integer, s As Integer '**********ERROR********** For i = 1 To 7 s = s + fact(i) Next i Print s End Sub '**********ERROR********** Public Function fact() Dim t As Integer, i As Integer t = 1 For i = 1 To n t = t * i Next i '**********ERROR********** fact = i End Function 12620题目:编程实现从左到右的滚动字幕,滚动的速度由滚动条控件来控制。 '------------------------------------------------ Option Explicit Private Sub HScroll1_Scroll() '**********ERROR********** Timer1.Interval = HScroll1.Min - HScroll1.Value End Sub Private Sub Timer1_Timer() '**********ERROR********** If Label1.Left <= Form1.Width Then '**********ERROR**********

相关主题
文本预览
相关文档 最新文档