文档库 最新最全的文档下载
当前位置:文档库 › 程序填空题

程序填空题

程序填空题
程序填空题

【程序填空】

1、'题目:本程序执行后,最终在窗体上打印数字7。''请去掉_____,并填入正确的内容。Private Sub Command1_Click()

Dim a As String

'**********FILL**********

Open App.Path & "\abc.bat" For _____ As #1

n = 8

For I = 1 To n

Print #1, I + 1

Next I

Close #1

'**********FILL**********

Open App.Path & "\abc.bat" For _____ As #1

For I = 1 To n

Input #1, a

If I Mod 5 = 0 Then

'**********FILL**********

Print CInt(a) + _____

End If

Next I

Close #1

End Sub

Private Sub Form_Load()

End Sub

2、本程序段将一个十进制整数m转换成r (2-16)进制字符串'方法:将m不断除r 取余数,直到商为零,以反序得到结果。

Function TranDec$(ByVal m%, ByVal r%)

Dim StrDtoR$

Dim iB%, mr%

StrDtoR = ""

Do While m <> 0

'**********FILL**********

mr = _____

m = m \ r

If mr >= 10 Then

'**********FILL**********

StrDtoR = Chr(mr - 10 + _____) & StrDtoR

Else

StrDtoR = mr & StrDtoR

End If

Loop

TranDec = StrDtoR

End Function

Private Sub Command1_click()

Dim m0%, r0%, i%

m0 = Val(Text1.Text)

r0 = Val(Text2.Text)

If r0 < 2 Or r0 > 16 Then

i = MsgBox("输入的R进制数超出范围", vbRetryCancel)

If i = vbRetry Then

Text2.Text = ""

Text2.SetFocus

Else

End

End If

End If

Label3.Caption = "转换成" & r0 & "进制数"

'**********FILL**********

Text3.Text = TranDec(m0, _____)

End Sub

Private Sub Form_Load()

End Sub

3、'题目:在窗体上设计两个文本框和两个标签,标签上显示"摄氏温度"和"华氏温度",文本框一个用于输入摄氏温度数,一个用于输出对应的华氏温度?摄氏温度与华氏温度的转换公式为: c = (5 / 9) * (f - 32) 要求:对输入的摄氏温度数有检查功能,以拒绝接收非数字字符?运行界面如图所示请在_____处填入正确的内容

Private Sub Command1_Click()

Text1 = ""

Text2 = ""

Text1.Enabled = True

Text2.Enabled = True

Text1.SetFocus

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_Load()

Text1 = ""

Text2 = ""

Text1.Enabled = False

Text2.Enabled = False

End Sub

Private Sub Text1_Change()

'**********FILL**********

_____ = 5 * (Val(Text1.Text) - 32) / 9

End Sub

Private Sub Text1_KeyPress(KeyAscii As Integer)

If KeyAscii <> 8 Then

'**********FILL**********

If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > _____ Then

'**********FILL**********

KeyAscii = _____

End If

End If

End Sub

4、题目:本程序执行功能为,命令按钮单击一次后,窗体上输出结果为:'36' 25' 16 '9 ''请去掉_____,并填入正确的内容。

Private Sub Command1_Click()

Dim xx(6) As Integer

Dim k%

Open App.Path & "\al.dat" For Output As #1

For I = 1 To 6

'**********FILL**********

j = _____

Print #1, j

Next I

Close #1

Open App.Path & "\a1.dat" For Input As #2

k = 0

Do While Not EOF(2)

'**********FILL**********

k = _____

Input #2, xx(k)

Loop

Close #2

'**********FILL**********

For I = k To k / 2 Step_____

Form1.Print xx(I)

Next I

End Sub

Private Sub Form_Load()

End Sub

5、题目:输入n个数,n由用户输入。程序的功能是将输入的n个数反向输出?

'请在_____处填入正确的内容

Private Sub Form_Load()

Dim n As Integer

Dim k As Integer

Dim m As Integer

Dim h As Integer

Dim t As Integer

Show

Dim a(100) As Single

n = Val(InputBox("输入个数n"))

Print "处理前数据:"

'**********FILL**********

For k = 1 To _____

a(k) = Val(InputBox("请输入第" & k & "个数"))

Print a(k);

Next k

Print

'**********FILL**********

m = Int(_____)

For k = 1 To m

h = n - k + 1

'**********FILL**********

t = a(h): _____: a(k) = t

Next k

Print "处理的结果:"

For k = 1 To n

Print a(k);

Next k

End Sub

6、要求输入若干学生的成绩,计算平均分和高于平均分的人数,并将这两个数据放入数组的最后。

Private Sub Form_Click()

Dim mark() As Integer, i%, n%, aver

n = InputBox("输入学生的人数")

ReDim mark(1 To n)

aver = 0

For i = 1 To n

mark(i) = Int(Rnd * 101)

aver = aver + mark(i)

Next i

'**********FILL**********

ReDim _____ mark(1 To n + 2) '增加两个元素,存放平均分和高于平均分的人数,原来的学生成绩仍保留

mark(n + 1) = aver / n

mark(n + 2) = 0

For i = 1 To n

'**********FILL**********

If mark(i) > mark( ____ ) Then mark(n + 2) = mark(n + 2) + 1

Next i

For i = 1 To n

Print "mark("; i; ")="; mark(i)

Next i

Print "平均分="; mark(n + 1), "高于平均分人数="; mark(n + 2)

End Sub

7、要求在Text1中输入一段字符,选中“大写转为小写小写转为大写”,

'单击转换按钮后,Text2显示大小写相反的字符串;选中“全部小写”,

'单击转换按钮后,Text2显示全部小写的字符串;

'选中“全部大写”,单击转换按钮后,Text2显示全部大写的字符串。

'-------------------------------------------------------

Private Sub Command1_Click()

Dim n As Integer, k As Integer, ch As String, a As String

'**********FILL**********

n = Len(_____)

ch = ""

For k = 1 To n

'**********FILL**********

a = Mid(Text1.Text, _____,1)

If Option1.Value = True Then

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

ch = ch + UCase(a)

ElseIf a >= "A" And a <= "Z" Then

ch = ch + LCase(a)

Else

ch = ch + a

End If

End If

If Option2.Value = True Then

ch = UCase(Text1)

End If

If Option3.Value = True Then

ch = LCase(Text1)

End If

Text2 = ch

'**********FILL**********

_____

End Sub

Private Sub Form_Load()

End Sub

8、下面的程序段用于实现以下功能: 利用冒泡法将一组整数从小到大排序? '

Private Sub Form_Click()

Const n = 15

Dim a(1 To n) As Integer, work As Boolean

Dim i As Integer, j As Integer, x As Integer

Randomize

For i = 1 To n

a(i) = Int(90 * Rnd) + 10

Next i

For i = 1 To n

Print a(i);

Next i

Print

'**********FILL**********

For i = n To 2 _____

work = True

For j = 1 To i - 1

If a(j) > a(j + 1) Then

x = a(j): a(j) = a(j + 1): a(j + 1) = x

'**********FILL**********

_____

End If

Next j

'**********FILL**********

If work Then _____

Next i

For i = 1 To n

Print a(i);

Next i

End Sub

9、下面的程序段用于建立文件并输出文件,文件内容如下:'

'*****

' *****

' *****

' *****

' *****

'

Private Sub Form_Click()

'**********FILL**********

Open "c:\1.txt" For _____ As #1

For i = 1 To 5

Print #1, Spc(i); "*****"

Next i

'**********FILL**********

_____

'**********FILL**********

Open "c:\1.txt" For _____ As #1

For i = 1 To 5

Line Input #1, x

Print x

Next i

Close #1

End Sub

10、题目:编程序求表达式s=x/2!+x^3/4!+...+x^(2n-1)/(2n)!的值,'并在窗体上输出。

'(1)变量x与n的值在窗体单击事件中用InputBox()函数输入,通过调用函数过程s实现题目要求。

'(2).求表达式的值用函数过程Function s(n%,x!) As Single完成。

''请去掉_____,并填入正确的内容。

'

'-------------------------------------------------------

Private Sub Form_Click()

Dim x As Single

Dim n As Integer

Dim sum As Single

x = Val(InputBox("Please input x Value:"))

n = Val(InputBox("Please input a integer:"))

'**********FILL**********

sum = _____

Print "s="; sum

End Sub

Function s(n As Integer, x As Single) As Single

Dim i As Single, t As Long

s = 0

For i = 1 To n

t = 1

For j = 1 To 2 * i

'**********FILL**********

_____

Next j

'**********FILL**********

s = s + x ^ (_____) / t

Next i

End Function

【程序填空】

11、''题目:本程序求3~100之间的所有素数学(质数)并统计个数;' 同时将这些素数从小到大依次写入顺序文件dataout.txt;

' 素数的个数显示在窗体Form1上?

'请在_____处填入正确的内容

Private Sub Command1_Click()

Dim count As Integer, flag As Boolean

Dim t1 As Integer, t2 As Integer

'**********FILL**********

Open App.Path & "\dataout.txt" For Output As _____

count = 0

For t1 = 3 To 100

'**********FILL**********

flag = _____

For t2 = 2 To Int(Sqr(t1))

If t1 Mod t2 = 0 Then flag = False

Next t2

If flag Then

'**********FILL**********

count = _____

Write #1, t1

End If

Next t1

Form1.Print "素数个数"; count

Close #1

End Sub

Private Sub Form_Load()

End Sub

12.. '方法:将m不断除r 取余数,直到商为零,以反序得到结果。Function TranDec$(ByVal m%, ByVal r%)

Dim StrDtoR$

Dim iB%, mr%

StrDtoR = ""

Do While m <> 0

'**********FILL**********

mr = _____

m = m \ r

If mr >= 10 Then

'**********FILL**********

StrDtoR = Chr(mr - 10 + _____) & StrDtoR

Else

StrDtoR = mr & StrDtoR

End If

Loop

TranDec = StrDtoR

End Function

Private Sub Command1_click()

Dim m0%, r0%, i%

m0 = Val(Text1.Text)

r0 = Val(Text2.Text)

If r0 < 2 Or r0 > 16 Then

i = MsgBox("输入的R进制数超出范围", vbRetryCancel)

If i = vbRetry Then

Text2.Text = ""

Text2.SetFocus

Else

End

End If

End If

Label3.Caption = "转换成" & r0 & "进制数"

'**********FILL**********

Text3.Text = TranDec(m0, _____)

End Sub

Private Sub Form_Load()

End Sub

13、'以下程序段用于输出杨辉三角:结果样式如图1

'

Private Sub Form_Click()

Const n = 10

Dim arr(n, n) As Integer

For I = 1 To n

arr(I, I) = 1

'**********FILL**********

_____

Next I

For I = 3 To n

For j = 2 To I - 1

'**********FILL**********

arr(i, j) = _____

Next j

Next I

For I = 1 To n

For j = 1 To I

'**********FILL**********

? _____& " ";

Next j

Print

Next I

End Sub

14、下面的程序段用于求矩阵相乘C=A×B,设A、B、C分别为m×p、p×n、m×n的矩阵。

'

Private Sub Form_Click()

Const m = 4, p = 3, n = 2

Dim a(1 To m, 1 To p) As Integer

Dim b(1 To p, 1 To n) As Integer

Dim c(1 To m, 1 To n) As Integer

Dim i As Integer, j As Integer, k As Integer, sum As Integer

For i = 1 To m

For k = 1 To p

a(i, k) = i

Next k

Next i

For i = 1 To p

For k = 1 To n

b(i, k) = i

Next k

Next i

For i = 1 To m

For j = 1 To n

'**********FILL**********

_____

For k = 1 To p

'**********FILL**********

sum = sum +_____

Next k

'**********FILL**********

c(i, j) =_____

Next j, i

Print "输出矩阵"

15、'下面的程序段,用于实现在一个nXm的矩阵中,找出值最大的元素

'所在的行和列,并输出其值及行号和列号。

'

Private Sub Form_Click()

Dim mat() As Integer

Dim n As Integer, m As Integer

n = Val(InputBox("请输入矩阵的行数"))

m = Val(InputBox("请输入矩阵的列数"))

'**********FILL**********

_____

For i = 1 To n

For j = 1 To m

mat(i, j) = InputBox("请输入数组元素值")

mat(i, j) = Val(mat(i, j))

Next j

Next i

Print "所建立的矩阵为"

For i = 1 To n

For j = 1 To m

Print mat(i, j);

Next j

Print

Next i

Max = mat(1, 1)

For i = 1 To n

For j = 1 To m

'**********FILL**********

If _____ Then

Max = mat(i, j)

col = j

'**********FILL**********

_____

End If

Next j

Next i

Print

Print "矩阵最大的元素的值为:"; mat(row, col)

Print "它所在的行号为:"; row; "列号为:"; col

End Sub

16、同时在文本框Text2中显示文本框Text1框中字符串的个数?

' 设在一个窗体中已经设置了二个文本框Text1和Text2,

' 以及一个命令按钮,且设计有下列程序,请指出程序的功能。

'请在_____处填入正确的内容

'-------------------------------------------------------

'

Private Sub Command1_Click()

If Text1.Text = "" Then

Exit Sub

Text2.Text = 0

Else

'**********FILL**********

Text1.Text = MyFun_____

End If

End Sub

Private Sub Form_Load()

Text1.Text = ""

Text2.Text = 0

End Sub

Private Function MyFun(s1 As String) As String

Dim Pos As Integer

Dim Str1 As String

Dim intC As Integer

Const Sp As String = ""

'**********FILL**********

Pos = Len(_____)

For intC = Pos To 1 Step -1

Str1 = Str1 & Mid(s1, intC, 1)

Next intC

'**********FILL**********

MyFun = _____

Text2.Text = Pos

End Function

17、'下面的程序实现:从键盘输入一个数字,将其插入一个有序数组中,插入后的数组仍保持有序。

Private Sub Form_Click()

Dim a(10) As Integer, x As Integer

For i = 1 To 8

a(i) = 2 * i - 1

Print a(i);

Next i

Print

x = InputBox("请输入要插入的整数")

'**********FILL**********

_____

i = 8

Do While a(i) > x

'**********FILL**********

_____

i = i - 1

Loop

'**********FILL**********

If i > 0 Then _____

For i = 1 To 9

Print a(i);

Next i

End Sub

18

'题目:用户界面如图所示,用实现左右两个组合框中数据的左移和右移功能。

' 程序开始运行时,在左边组合框中生成10个由小到大排列的随机三位

' 正整数(假设在设计阶段该组合框的Sorted属性值已设置为True), 现要求完成: ' (1)单击">>"钮,左边组合框中的10个数全部移动到右边组合框,并由大到' 小排列,同时使"<<"钮能响应,">>"钮不能响应。

' (2)单击"<<"钮,右边组合框中的10个数全部移到左边的组合框,并由小到' 大排列,同时使">>"钮能响应,"<<"钮不能响应;

' (3)单击"结束"按钮,结束程序运行。

'请在_____处填入正确的内容

'-------------------------------------------------------

'

Private Sub cmdLeft_Click()

Dim i As Integer

For i = 0 To comboRight.ListCount - 1

comboLeft.AddItem comboRight.List(i)

Next i

comboRight.Clear

'**********FILL**********

_____= False

'**********FILL**********

_____ = True

End Sub

Private Sub cmdRight_Click()

Dim i As Integer

'**********FILL**********

For i = 0 To _____ - 1

comboRight.AddItem comboLeft.List(i)

Next i

'**********FILL**********

_____.Clear

cmdRight.Enabled = False

cmdLeft.Enabled = True

End Sub

Private Sub Command3_Click()

End

End Sub

Private Sub Form_Load()

Dim i As Integer

Label1.Caption = "组合框1"

Label2.Caption = "组合框2"

cmdRight.Caption = ">>"

cmdRight.Enabled = True

cmdLeft.Caption = "<<"

cmdLeft.Enabled = False

cmdExit.Caption = "结束"

comboLeft.Text = ""

For i = 1 To 10

comboLeft.AddItem Int(Rnd * 900) + 100

Next i

comboRight.Text = ""

End Sub

19'题目:由输入对话框输入n(n必须为大于零且小于30的自然数),' 计算下列表达式的值,并在标签框Label1上显示。

' sum=1/2+1/6+ ... +1/(k*(k+1)) (k<=n)

''请去掉_____,并填入正确的内容。

'

'-------------------------------------------------------

'

Private Sub Form_Click()

Dim n As Integer, sum As Double, k As Integer

n = Val(InputBox("n=", "请输入自然数n(n>0 且n<30)"))

'**********FILL**********

Do While n <= 0 _____ n >= 30

n = Val(InputBox("n=", "请重输入"))

Loop

sum = 0

k = 0

Do

'**********FILL**********

k =_____

sum = sum + 1 / (k * (k + 1))

'**********FILL**********

Loop Until _____

Label1.Caption = "Sum=" + Str(sum)

End Sub

程序填空题

1.下列程序由键盘输入一个文件名,然后把从键盘输入的字符依次存放到磁盘文件中,直到输入一个"#"为止。 #include "" main( ) { FILE *fp; char ch,filename[10]; scanf("%s",filename); /*用户输入存在磁盘上的文件名*/ if((fp= ⑦ (filename,"w"))==NULL) { printf("cannot open file\n"); exit(0); } while((ch=getchar())!='#') ⑧ ; fclose(fp); } 2.下列程序的功能是输出一个整数x的绝对值。将程序补充完整,填在空内。 #include <> main() { int x, ① ; scanf("%d",&x); y= ② ; printf("%d\n",y); } 3.下列程序的功能是输出1~100之间能被7整除的所有整数。将程序补充完整,填在空内。 main() { int i;

for(i=1; ③ ;i++) { if(i%7) ④ ; printf("%d ",i); } } 4.以下程序用以删除字符串中所有的空格,请填空。 main() { char s[100]={"Our teacher teach C language!"}; int i,j; for(i=j=0;s[i]!= '\0';i++) if(s[i]!= ' ') { ⑤ ;j++;} s[j]= ⑥ ; printf("%s\n",s); } 5.结构体数组中存有三个人的姓名和年龄,以下函数fun的功能是输出三人中最年长者的姓名和年龄。 struct man { char name[20];int age;}person[]={{"Mary",16},{"Tom",21},{"Jim",18}}; void fun( ⑦ person[ ] ) { int i,old=0; for(i=0;i<2;i ++) if(person[old].age

c语言程序填空题1

三、程序填空题 导读:在程斥填空题中,已经给出了程序的主干,读者首先要理解程序的思路, 再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步堂握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上己经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而白己编写程序乂不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 ttinclude main() { int a, b; scanf (”%d%d", &a, &b): printf ("a=%d, b二%d\n", a, b); printf ("a=%d, b=%d\n/F, a, b): } a=b=a=①②③ 【3.2】下面程序的功能是根据近似公式:十/6~ 1/12+1/22+1/32+……+l/n2, 求兀值。廿include〈math? h> double pi(long n) { double s=0. 0; long i; for(i=l; i<=n; i++) s=s+ ①; return (②); } [3.3]下面的程序的功能是求一维数组中的最小元素。 findmin(int *s, int t,int *k) { int p; for(p=0, *k=p: p

for(i=0; i<10; i++) scanf &a[i]); findmin(a, 10, k); printf ("%d, %d\n", *k, a L*kJ); } 【3.4】下面程序的功能是计算1-3+5-7+……-99+101的值。 main() { int i, s=0: for(i=l; i<=101: i+=2) {①; s二s+t: ②; } printf ("%d\n", s); } [3.5]有以下程序段: s=l. 0; for(k=1: k<=n: k++) s=s+l. 0/(k*(k+1)); printf ("%f\n", s); 填空完成下述程斥,使之与上述程序的功能完全相同。 s=0. 0: ①; k=0; do { s二s+d; ②; d=1.0/(k*(k+l)); }while(③); printf ("%f\n", s); [3.6]下而程用的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main () ;、float x, amax, amin; scanf &x); amax=x: amin=x;

C语言程序的设计填空题及答案复习用

导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ①; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;pamax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); } 【3.7】下面程序的功能是将形参x的值转换为二进制数, 所得的二进制数放在一个一维数组中返回,二进制数的 最低位放在下标为0的元素中。 fun(int x,int b[]) { int k=0,r; do { r=x% ①; b[k++]=r; x/= ②; }while(x); } 【3.8】下面程序的功能是输出1到100之间每位数的乘 积大于每位数的和的数。例如数字26,数位上数字的乘 积12大于数字之和8。 main() { int n,k=1,s=0,m; for(n=1;n<=100;n++) { k=1; s=0; ①; while( ② ) 页脚

C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案 一、选择题 1.下述标识符中,()是合法的用户标识符。 A.A#C B.getch C.void D.ab* 2.在C语言中,字符型数据在内存中是以()形式存放的。 A.原码 B.BCD码 C.反码 D.ASCII码 3.以下选项中不合法的用户标识符是()。 A.abc.c B.file C.Main D.PRONTF 4.以下选项中不合法的用户标识符是()。 A.123 B.printf C.Anbsp; D.Dim 5.可以在C语言程序中用做用户标识符的一组标识符是()。 A.void B.as-b3 C.for D.2c define -123 -abc Do WORD If cas SIG 6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。 (1)A.001 B.table_1 C.0_t D.k% Int t*.1 W10 point (2)A.Fast_ B.void C.pbl D. Fast+Big abs fabs beep (3)A.xy_ B.longdouble C.*p D.CHAR 变量1 signed history Float 7.()是构成C语言的基本单位。 A.函数 B.过程 C.子程序 D.子例程 8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符 C.包含1个字符 D.无定值,说明不合法 (2).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 (3).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 9.若x为int型变量,则执行以下语句后,x的值为 x=6; x+=x-=x*x A.36 B.-60 C.60 D.-24 10.在C语言中,char 型数据在内存中是以()形式存储的。 A.原码 B.补码 C.ASCII码 D.反码 11.以下运算符中优先级最低的算符为(),优先级最高的为()。 A.&& B.& C.|= D.|| E.?: F.!= 12.若有运算符>、*=、<<、%、sizeof,则它们按优先级(由低至高)的正确排列顺序为 A.*= << > % sizeof B.<< *= > % sizeof C.*= > << sizeof % D.*= > << % sizeof 13.若有以下类型说明语句 char w; int x; float y; double z; 则表达式w*x+z-y 的结果是()类型。 A.float B.char C.int D.double 14.若w,x,y,z 均为int 型变量,则执行下面的语句后, w=(1), x=(2), y=(3), z=(4)。 w=5; x=4; y=w++*w++*w++; z=--x*=--x*--x;

c语言程序填空题

导出题库试题(1~100) 共计104道试题 一、程序填空答案(104题) 【程序填空】 1功能:求两个非负整数的最大公约数和最小公倍数。 【1】r != 0 或r 【2】r=m%n 或r=m-m/n*n 【3】n 【4】gcd,lcm 或n,lcm 2功能:下面的程序是求1!+3!+5!+……+n!的和。 【1】s=0 【2】i+=2 或i=i+2 或i++,i++ 【3】j<=i 或i>=j 或jj 【4】f= f * j 3功能:将一个字符串中下标为m的字符开始的全部字符复制成为另 一个字符串。 【1】p1= str1 + m 【2】*p2++=*p1++ 或*(p2++)=*(p1++) 或*p2=*p1,p2++,p1++ 或*p2=*p1++,p2++ 或*p2++=*p1,p1++ 【3】*p2='\0' 或*p2=0 或*p2=NULL【4】strcopy(str1,str2,m) 4功能:以下程序是用选择法对10个整数按升序排序。 【1】#define N 10 【2】k=I 【3】jj 或j<=N-1 或N-1>=j【4】k != i 5功能:删除一个字符串中的所有数字字符。 【1】s[i]!= 或*(s+i)!= 或*(i+s)!= 【2】|| 【3】s[j]=s[i] 或*(s+j)=*(s+i) 或s[j]=*(s+i) 或*(s+j)=s[i] 【4】delnum(item) 6功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出 其和。 【1】n=0 【2】i<=300 或i<300 或300>=i 或300>i 【3】i%7 == 0 || i%17 == 0 或!(i%7)||!(i%17) 或!(i%17)||!(i%7) 或!(i%7&&i%17) 【4】n%5 == 0 或!(n%5) 或n/5*5==n 7功能:求100-999之间的水仙花数 说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。 例如:153=1^3+5^3+3^3)。 【1】k=0 【2】j=m%10 或j=m-m/10*10 或j=m-10*(m/10) 【3】return(1) 【4】fun(i) 8功能:输出9*9口诀。 【1】i<10 或10>i 【2】j++ 或++j 或j=j+1 【3】result 9功能:输出100到1000之间的各位数字之和能被15整除的所有数, 输出时每10个一行。 【1】k=0 【2】n%10 或n-n/10*10 或n-10*(n/10) 【3】while(n>0) 或while(0

1-8道程序填空题

二、填空题 1.根据下图写出InputBox函数中的参数。 InputBox((1), (2), (3)) 2.执行下面的程序,在窗体上 显示的输出结果的第一行是 (4),第二行是(5)。 Option explicit Private sub form_click() Dim I as integer, j as integer J=10 For I=1 to j I = I+1 J = j - i Next I Print I Print j End Sub 3.执行下面的程序,在窗体上显示的输出结果的第一行是(6),第三行是(7)。 Private sub form_click() Dim a as integer Dim I as integer A=2 For I=1 to 9 Call sub1(I, a) Print I,a Next I End Sub Private Sub Sub1(x as integer, y as integer) Static n as integer Dim I as integer For I=3 to 1 step –1 N=n+x X=x+1 Next I Y=y+n End sub 4.执行下面的程序后,A(1,3)值是(8),A(2,2)值是(9),A(3,1)值是(10)。 Option explicit Private sub form_click() Dim A(3,3) As integer, I as integer Dim j as integer, k as integer, n as integer For k=1 to 5 If k<=3 then

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言题库(填空题部分)

二、填空题 1、C语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。 答案: 1:fopen#fopen()#fopen() 知识点:知识点/基本理论/C11文件/C11_2文件函数 2、C语言中文件操作结束节后,必须关闭文件。而且关闭文件是通过调用__________函数来实现。 答案: 1:fclose#fclose()#fclose() 知识点:知识点/基本理论/C11文件/C11_2文件函数 3、字符串函数________用于从指定的磁盘文件中读出一个字符串。 答案: 1:fgets#fgets() 知识点:知识点/基本理论/C11文件/C11_2文件函数 4、字符串函数___________用于把一个字符串写入指定的磁盘文件中。 答案: 1:fputs#fputs() 知识点:知识点/基本理论/C11文件/C11_2文件函数 5、字符读写函数____________是用于从磁盘文件中读出一个字符。 答案: 1:fgetc#fgetc()#getc#getc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 6、字符读写函数____________是用于把一个字符写入磁盘文件。 答案: 1:fputc#fputc()#putc#putc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 7、共用体类型变量的定义关键字是________。 答案: 1:union 知识点:知识点/基本理论/C10共用体与枚举类型 8、定义枚举类型时采用的关键字是__________。 答案: 1:enum 知识点:知识点/基本理论/C10共用体与枚举类型 9、在C语言中,从参数的形式看,函数可以分为两类:无参函数和____________函数。 答案: 1:有参 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 10、在C语言中,函数的返回值是由___________语句传递的。 答案: 1:return#return() 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 11、在C语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语句、函数表达式和函数 __________。 答案: 1:参数 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 12、在C语言中,在调用一个函数的过程中又出现__________或间接地调用该函数本身,这一现象称为函数的递归调用。 答案: 1:直接 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 13、在C语言中,若确实不要求返回函数值,则应将函数定义为___________类型。 答案: 1:void 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 14、在C语言中,假使X为基本整型变量,如果我们采用printf("格式控制",X)格式输出X,那么"格式控制"具体表示为"__"。

c语言程序填空题完整

三、程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ① ; b= ② ; a= ③ ; printf("a=%d,b=%d\n",a,b); }

【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

程序填空题(1)

程序填空题1、 #include int find(char *str) { char *fstr="the"; int i=0,j,n=0; while (str[i]!='\0') { for(______1______) //for(j=0; j<=2; j++) if (str[j+i]!=fstr[j]) break; if (______2______) n++; // j==3 i++; } return n; } void main() { char a[80]; gets(a); printf("%d",find(a)); } 2、 #include void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ) // 1)n 2) n!=0; { k++;

_____2_____; n=n/10 } printf("%d\n",k); } 3、 #include #include #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ______1______ // max=f(1); for(x=2;x<=10;x++) ______2______ // if(f(i)>max) max=f(i); printf("%f\n",max); } 4、 #include void main() { char c; c=getchar(); if(______1______) // c>='a' && c<'v' c=c+5; else if (c>='v' && c<='z') ______2______ //c=c-21; putchar(c); } 5、

C语言程序填空题及答案

C语言程序填空题及答 案 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-

程序填空题 1、 #include void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ) // 1)n 2) n!=0; { k++; _____2_____; n=n/10 } printf("%d\n",k); } 2、 #include #include #define f(x) x*x-5*x+sin(x) void main() { int x; float max; ______1______ // max=f(1); for(x=2;x<=10;x++) ______2______ // if(f(i)>max) max=f(i); printf("%f\n",max);

} 3、 #include void main() { char c; c=getchar(); if(______1______) // c>='a' && c<'v' c=c+5; else if (c>='v' && c<='z') ______2______ //c=c-21; putchar(c); } 4、 #include void Dec2Bin(int m) { int bin[32],j; for(j=0;m!=0;j++) { bin[j]= ______1______; // m%2

C语言填空题

1、在考生目录下,给定程序FILL1、C的功能就是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该就是:20。 若输入:202,则输出应该就是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include #include main( ) {long int num,k; /************found************/ _____(1)_______ k=1; clrscr() ; printf("\Please enter a number:") ; scanf("%ld",&num) ; do { k*=num%10 ; /************found************/ _____(2)______ num=num/10 ; } while(num) ; printf("\n%ld\n",k) ; } 2、在考生目录下,给定程序FILL1、C的功能就是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字 符串转换成一个十进制数。 例如:从键盘上输入2345,则程序运行的结果应当为: n=2345。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include "stdio、h" main() { char s[10]; int i; long int n=0; clrscr(); /**************found************/ ___(1)___; scanf("%s",s); /**************found************/ for(i=0;___(2)___;s[i] != ‘\0’ ;i++) n=n*10+s[i]-'0'; printf("n=%ld\n",n);

模块化程序设计练习题及答案

第四章模块化程序设计练习题及参考答案 一、填空题 1、以下程序的运行结果是(111),把x定义为静态变量运行结果是(123)。void increment(void) { int x=0; x+=1; printf("%d",x);} main() { increment(); increment(); increment(); } 2、若输入的值是-125,以下程序的运行结果是(-125=-5*5*5) #include "" main() { int n; void f(int n); scanf("%d",&n); printf("%d=",n); if(n<0) printf("-"); n=fabs(n); fun(n); } void fun(int n) { int k,r; for(k=2;k<=sqrt(n);k++) { r=n%k; while(r==0) { printf("%d",k); n=n/k; if(n>1)printf("*"); r=n%k; } } if(n!=1) printf("%d\n",n); } 3、设有以下宏定义: #define WIDTH 80 #define LENGTH WIDTH+40 则执行赋值语句:v=LENGTH*20;(v为int型)后,v的值是(880) 4、设有以下宏定义: #define WIDTH 80 #define LENGTH (WIDTH+40)

则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是(2400) 5、下面程序的运行结果是(5) #define DOUBLE(r) r*r main() { int x=1,y=2,t; t=DOUBLE(x+y); printf("%d\n",t);} 6、下面程序的运行结果是(36) #define MUL(z) (z)*(z) main() { printf("%d\n",MUL(1+2)+3); } 7、下面程序的运行结果是(212) #define POWER(x) ((x)*(x)) main() { int i=1; while(i<=4) printf("%d,",POWER(i++)); } 8、下面程序的运行结果是(9) #define MAX(a,b) (a>ba:b)+1 main() { int i=6,j=8,k; printf("%d\n",MAX(i,j)); } 二、选择题 1、以下正确的说法是(D)建立自定义函数的目的之一是: A)提高程序的执行效率 B)提高程序的可读性 C)减少程序的篇幅 D)减少程序文件所占内存 2、以下正确的说法是(B) A)用户若需调用标准库函数,调用前必须重新定义 B)用户可以重新定义标准库函数,若如此,该函数将失原有含义。 C)系统根本不允许用户重新定义标准库函数。 D)用户若需调用标准函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调用。 3、以下正确的函数定义形式是(C) A)double fun(int x,int y) B)double fun(int x;int y) C)double fun(int x,int y); D)double fun(int x,y) 4、以下正确的说法是(D)。在C语言中: A)实参与其对应的形参各占用独立的存储单元。 B)实参和与其对应的形参共占用一个存储单元。 C)只用当实参和与其对应的形参同名时才共占用存储单元。

C语言填空题以及答案

1. 一条简单语句是以________字符作为结束符的,一条复合语句是分别以 ________字符和________字符作为开始符和结束符的。 2. 任何一个C++程序至少且只能包含一个________函数,且程序总是从这个函数开始执行,不论这个函数的位置如何。一个函数定义由________和________两部分组成。 3. C++头文件和源程序文件的扩展名分别为________和________。 4. cout与操作符_______配合使用才能显示输出,cin与操作符_____配合使用才能实现输入。 5. 数据类型int,char,bool,float,double, int * 等的类型长度分别为________、________、________、________、________和________。 6. 数值常量46、0173和0x62对应的十进制值分别为________、________和________。 7. 字符串”It\’s\40a\40C++programe!”中包含有__________个字符。 8. 若x=5,y=10,则计算y*=++x表达式后,x和y的值分别为________和 ________。 9. 若x=25,则计算y=x--表达式后,x和y的值分别为________和________。 10. 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为________和________。 11. 假定x=64,y=88,则x<<2和y>>2的值分别为________和________。 12. 假定x是一个逻辑量,则x&&true的值与________的值相同,x||false的值也与________的值相同。 13. 假定x是一个逻辑量,则x&&!x和x||!x的值分别为________和________。 14. 假定x=10,则表达式x<=10?20:30的值为________。 15. 表达式sqrt(81)和pow(6,3)的值分别为______________和 ______________。 16. 数学算式(1+x)sin48°和axbex+1对应的算术表达式分别为________和 ________。 17. 逻辑表达式:a>=x||b>2*y+10的相反式为:________。 18. 在嵌套的if语句中,每个else关键字与它前面最接近的________关键字相配套。 19. 在for语句中,假定循环体被执行次数为n,则<表达式1>共被计算________次,<表达式2>共被计算________次,<表达式3>共被计算________次。20. 执行for和while循环时,每次是先进行________的判断,然后再执行 ________,执行do循环时则相反。

-程序填空部分试题及答案

第1.题*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:下面的程序是求1!+3!+5!+……+n!的和。 -------------------------------------------------------*/ #include main() { long int f,s; int i,j,n; /***********SPACE***********/ 【?】; scanf("%d",&n); /***********SPACE***********/ for(i=1;i<=n; 【?】) { f=1; /***********SPACE***********/ for(j=1; 【?】;j++) /***********SPACE***********/ 【?】; s=s+f; } printf("n=%d,s=%ld\n",n,s); } 第2题./*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能:以下程序是用选择法对10个整数按升序排序。 -------------------------------------------------------*/ #include /***********SPACE***********/ 【?】 main()

循环程序设计习题及答案

模块三循环程序设计习题及答案 一、填空题 1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。 2、循环的3要素是、、。 3、在循环语句体中包含另一个循环语句的用法称为。 4、执行循环语句体中的break语句后将使用包含它的循环语句。 5、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。 6、在for语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。 7、在for语句中,省略表达式2时,则循环为循环。 8、执行语句for(i=1;i++<4; );后变量i的值是。 9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。 10、在每次循环周期均要执行一次的语句,称为。 11、for语句括号内的3个表达式的作用分别是、和循环控制变量的更新。 二、选择题 1、若k为整形变量,则while循环共循环()。 k=5; while(k>=0) k-1; A、无限循环 B、6次 C、5次 D、4次 2、与while( ! n) ; 中表达式!dn等价的是()。 A、dn>=0 B 、dn!=0 C、dn == 0 D、dn != 1 3、以下程序段,while循环执行的次数是() int k=0;

while( k == 1) k++; A、无限次 B、有语法错,不能执行 C、一次也不执行 D、执行1次 4、在C语言中,当do while语句中的条件为()时,结束该循环。 A、0 B、1 C、TRUE D、非0 5、下面程序段的输出结果是() do { b-=a; a++; }while(b--<0); A、10,-1 B、2,8 C、9,0 D、4,-3 6、以下描述正确的是() A、由于do while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B、do while循环由do开始,用while结束,在while(表达式)后面不能写分号 C、在do while循环体中,一定要有能使while后面匠值变为零的操作 D、do while循环中,根据情况可以省略while 7、若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)。 s=c; for(b=1;b<=c;b++) s=s+1; 则与上述程序段功能等价的赋值语句是() A、s=a+b; B、s=a+c; C、s=s+c; D、s=b+c; 8、假定a,b,c,d均已定义为整型变量,且a、c均已赋值,a大于0,c大于0,则与程序段for(d=a,b=1;b<=c;b++) d--;功能等价的语句是() A、d=a+b; B、d=a+c; C、d=a-b; D、d=a-c 9、下列关于for循环的说法正确的是() A、for循环只能用于循环次数已经确定的情况

C语言填空题

1. 在考生目录下,给定程序FILL1.C的功能是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该是:20。 若输入:202,则输出应该是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include #include main( ) {long int num,k; /************found************/ _____(1)_______ k=1; clrscr() ; printf("\Please enter a number:") ; scanf("%ld",&num) ; do { k*=num%10 ; /************found************/ _____(2)______ num=num/10 ; } while(num) ; printf("\n%ld\n",k) ; } 2. 在考生目录下,给定程序FILL1.C的功能是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字符串转换成一个十进制数。 例如:从键盘上输入2345,则程序运行的结果应当为:n=2345。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更改程序的结构! #include "stdio.h" main() { char s[10]; int i; long int n=0; clrscr();

/**************found************/ ___(1)___; scanf("%s",s); /**************found************/ for(i=0;___(2)___;s[i] != ‘\0’ ;i++) n=n*10+s[i]-'0'; printf("n=%ld\n",n); } 3. 在考生目录下,给定程序FILL1.C的功能是:输出Fabonacci数列:1,1,2,3,5,8,……的前20项的 项值,要求每行输出5个数。请填空。 程序有两个空(1)、(2)需要补充完整。请将程序调试出 所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include "stdio.h" main() { long int f[20]={1,1}; int i; clrscr(); /**************found************/ ___(1)___; printf("%8ld,%8ld",f[0],f[1]); for(i=2;i<20;i++) { f[i]=f[i-1]+f[i-2]; /**************found************/ if(___(2)i%5==0) printf("\n"); printf("%8ld",f[i]); } printf("\n"); } 4. 在考生目录下,给定程序FILL1.C的功能是:实现在N行M列的二维数组中,找出每一行上的最大值,且原数组值不变。 例如:如果二维数组元素的值为: 1 5 7 4 2 6 4 3 8 2 3 1 时,程序的运行结果应为: The max value in line 0 is 7 The max value in line 1 is 6

相关文档