问题 单项选择题

下列程序的输出结果是( )。  #include<iostream.h>  void main( )  { char * str="12123434";   int x1=0,x2=0,x3=0,x4=0,i;   for(i=0;str[i]!=’’\0’’;i++)   switch(str[i])   { case’’1’’:x4++;    case’’2’’:x3++;    case’’3’’:x2++;    case’’4’’:x1++;   }   cout < < x1 < < "," < < x2 < < "," < < x3 < < "," < < x4;

A. 8,6,4,1

B. 8,6,3,2

C. 8,8,4,1

D. 8,6,4,2

答案

参考答案:D

解析:本题考查for和switch语句的应用。本题考查循环的嵌套。只要注意在c++语言中,系统在字符指针的最后位置会增加一个字符串结束符’\0’,执行8次for循环,再根据switch语句中的条件易知答案。

问答题

[说明]
某文件管理系统的图片浏览器如图3-19所示。运行程序时,用户只要通过驱动器列表框、目录列表框和文件列表框,选择文本文件所在的驱动器、文件夹及相应的文件名后,在图像框中将显示出相应的文件图像。
在开发过程中,假设驱动器列表框名为drvFile,目录列表框名为 dirFile,文件列表框名为filFile,选择文件类型组合框名为cboFile,图像框名为imgShow。


图3-19 图片浏览器
[Visual Basic程序]
Private Sub Form_Load ()
imgShow.Stretch=True
cboFile.Addltem "位图文件(*.bmp)"
cboFile.Addltem "图标文件(*.ico)"
cboFile.Addltem "图元文件(*.wmf)"
cboFile.Addltem "JPEG文件(*.jpg)"
cboFile.Addltem "GIF文件(*.gif)"
cboFile.ListIndex = 0
(1)
End Sub
Private Sub drvFile_Change ()
(2)
End Sub
Private Sub dirFile_Change ()
(3)
End Sub
Private Sub cboFile_Click ()
(4)
Case 0
filFile. Pattern= "*.bmp"
Case 1
filFile. Pattern= "*.ico"
Case 2
filFile. Pattern= "*.wmf"
Case 3
filFile. Pattern= "*.jpg.
Case 4
filFile. Pattern= "*.gif"
End Select
End Sub
Private Sub filFile_Click()
If (5) Then
imgShow. Picture= LoadPieture(filFile. Path+ filFile.FileName)
Else
imgShow. Picture= LoadPicture( (6) + "\" + (7) )
End If
End Sub
1. [问题1]
请根据[说明]和图3-19的显示结果,从以下备选答案中为程序(1)~(7)空缺处选择正确的答案。
[备选答案]
A. filFile.pathB. dirFile.Path=drvFile.Drive
C.Right(filFile.Path,1) = "\" D.filFile.Pattern ="*.bmp"
E.filFile.Path = dirFile.Path F.filFile.FileName
G.Select Case cboFile.ListIndex

填空题