当前位置:文档之家› c++考试题

c++考试题

c++考试题
c++考试题

VC习题1

1.1 下列对于WinMain函数的描述中,错误的是()。

A)WinMain函数的名称是固定的

B)WinMain函数是Windows程序的入口点

C)WinMain函数不能有参数

D)窗口函数与WinMain的关联是通过窗口类的注册实现的

1.2 以下四个特性中哪一个不属于面向对象的三大特性()。

A)封装性B)多态性C)抽象性D)继承性

1.3 下列关键字中哪一个不是用于类的访问控制的()。

A)public B)friend C)private D)protected

1.4 下面四个MFC类中哪一个是管理MFC应用程序的()。

A)CWinApp B)CMainFrame C)CDocument D)CView

1.5 下列类中不属于MFC框架基本类的是()。

A)CWinApp B)CFrameWnd C)CView D)CObject

1.6 传统的软件开发主要采用过程驱动的方法,而Windows程序的开发使用消息驱动模型,该模型靠事件机制来实现其功能。

1.7 主框架类是应用程序中负责控制菜单、工具栏和状态栏等界面元素的最主要的类。命令→视图类→文档类→文档模板类→框架窗口类→应用程序类

VC习题2

VC开发环境可以生成的基于MFC appwizard的应用程序类型有单文档/视图结构、多文档/视图结构和基本对话框。

2.1 包含类定义的文件称为头文件,包含类中成员函数实现代码的文件称为源文件,包含资源信息的文件称为资源文件。

2.2 ResourceView的主要功是编辑当前工程中的资源。

2.3 应用程序向导的主要功能是帮助生产应用程序。

2.4 类向导的主要功能是管理各个类中的消息。

2.5 项目工作区窗口一般在开发环境的左侧,它包含工程的多个方面,分别是classview 、fileview 和resource view 。

2.6 项目工作区文件的扩展名为.dsw 。

VC习题3

3.1 下列选项中哪一个不是命令消息的触发途径:单击对话框中的按钮。

3.2 Windows应用程序的消息来源主要包括输入消息、控制消息和系统消息、用户消息。

3.3 发送消息可以采用的两个函数是postmessage 和sendmessage 。

3.4 CCmdUI类的主要功能是主要用来更新命令用户接口的状态。如子菜单。工具栏上的按钮等。

3.5 代码ON_UPDATE_COMMAND_UI(ID_TEST, OnUpdateTest)的功能是:

映射标记号ID为ID_TEST的CN_UPDATE_COMMAND_UI消息到OnUpdateTest 函数上。

功能是:将对ID_TEST的更新命令接口消息的处理映射到OnUpdateTest函数上。

VC习题4

4.1 CString类的功能是处理字符串,其Format函数的功能是格式化字符串。4.2 CTime类的功能是处理日期时间,其Format函数的功能是将时间对象格式化为字符串。

4.3 MessageBox函数的第一个参数表示消息文字,第二个参数表示标题文字,第三个参数表示图标与按钮组合。

VC习题5

5.1 在Windows中,按下一个字符键,会依次触发WM_KEYDOWN 、WM_CHAR 和WM_KEYUP 三个消息。

5.2 当Windows窗口内部需要重新绘制时,会得到一个WM PAINT 消息,当释放鼠标右键时,会得到一个WM_RBUTTONUP 消息。

5.3 WM_LBUTTONDOWN表示鼠标左键按下消息,WM_MOUSEMOVE表示鼠标移动消息。

5.4 OnMouseMove(UINT nFlag,CPoint point)消息处理函数中的point表示鼠标移动到的坐标位置。

5.5 OnChar(UINT nChar,UINT nRepCnt,UINT nFlags)消息处理函数中的nChar表示当前按下的字符键。

VC习题6

6.1 Visual C++提供的资源编辑器不能编辑下列哪个资源( C )。

A)菜单B)工具栏C)状态栏D)位图

6.2 MFC应用程序框架为状态栏定义的静态数组indicators放在哪个文件中(A )。A)MainFrm.cpp B)MainFrm.h C)stdafx.cpp D)stdafx.h

6.3 deletemenu 用来删除某个菜单项,如果被删除的菜单项有相关的弹出菜单,则该弹出菜单的句柄也要被删除并释放内存。

6.4 appendmenu 用来追加某个菜单项,trackpopupmenu 用来在一个POINT结构所指定的位置显示一个上下文菜单。

6.5 工具栏上的按钮能触发的消息command 和update_command_ui 。

6.6 状态栏上的窗格可以分为信息行窗格和指示器窗格两类。

6.7 getsubmenu 可以得到指向某列菜单的指针。

6.8 用户可以通过项目工作区窗口的资源视图来查看资源。

6.9 在MFC中,工具栏的功能由CToolBar 类实现。

6.10 在MFC中,状态栏的功能由CStatusBar 类实现。

VC习题7

7.1 下列函数中,可以实现画圆功能的是()。

A)Rectangle B)Ellipse C)Circle D)Line

7.2 CDC类为用户提供了下列四个文本输出函数,其中,能使输出的文本呈现一个多列列表格式的是()。

A)TextOut B)ExtTextOut C)TabbedTextOut D)DrawText

7.3 下列类中哪一个不是GDI对象类()。

A)CPen B)CWnd C)CBrush D)CRgn

7.4 下面哪个不是CDC类的派生类()。

A)GDI类)CPaintDC类C)CClientDC类D)CWindowDC类

7.5 CDC类中实现绘制矩形功能的函数是Rectangle ,实现绘制椭圆功能的函数是Ellipse ,改变文本颜色的函数是SetTextColor ,改变文本背景颜色的函数是SetBkcolor ,在指定位置显示字符串的函数是Textout 。

7.6 MFC绘图要素主要分为两大类,即设备场景和基本绘图工具。

7.7 Windows引入图形设备接口的目的是屏蔽底层硬件的绘图细节,使编程更加容易。

7.8 Windows用COLORREF 类型的数据存放颜色,它采用3个参数表示红、绿、蓝三元基本色的分量值,这3个值的取值范围为0~255 。

7.9 创建画笔后,必须调用CDC类的成员函数SelectObject 将新画笔选进当前的绘图环境。

VC习题8

8.1 MFC中的CDialog类封装了对话框的显示、关闭等常用功能,其中,用来显示

模态对话框的是函数()。

A)CreateWindow B)ShowWindow C)DoModal D)UpdateWindow

8.2 对话框创建后,还没显示前就会触发()消息。

A)WM_PAINT B)WM_INITDIALOG C)WM_CREATE D)WM_SIZE 8.3 通用对话框中,属于非模态对话框的是()。

A)文件对话框B)颜色对话框C)打印对话框D)查找对话框

8.4 要打开文件,应该使用哪个通用对话框()。

A)CFileDialog B)CColorDialog C)CPrintDialog D)CFontDialog

8.5 通常将对话框的初始化工作放在下列哪个函数中进行()。

A)OnOK B)OnCancel C)OnInitDialog D)DoModal

8.6所有通用对话框都是由公共基类CCommonDialog 派生出来的,CColorDialog 实现了标准的颜色对话框。

8.7 MFC中,与属性对话框相关的两个类是CPropertyPage 和CPropertySheet 。

VC习题9

9.1 下列控件中不属于按钮的是()。

A)下压按钮B)列表框C)单选框D)复选框

9.2 如果在输入时采用选择的方法进行,以下哪个控件不能实现()。

A)列表框控件B)单选按钮C)复选框D)编辑框

9.3 下面对UpdateData函数的描述中错误的是()。

A)CWnd::UpdateData函数实现对控件中数值的输入和读取

B)UpdateData只有一个为TRUE或FALSE的参数

C)当调用UpdateData(FALSE)时,数据由控件关联的变量向控件传输

D)当调用UpdateData(TRUE)时,数据由控件关联的变量向控件传输

9.4 有两种方法可以创建静态文本控件,一种是使用资源编辑器添加,另一种是使用create函数动态创建。

9.5 ShowWindow函数的功能是显示或隐藏窗口。

9.6 使用滚动条控件一般要用到控件所在对话框类的WM_HSCROLL 和WM_VSCROLL 消息。

9.7 判断一组单选按钮中哪一个被选中了,要应用GetCheckedRadioButton 函数。

9.8 GetScrollpos 函数可以得到滚动条的滑块位置,SetScrollpos 函数可以设置滚动条的滑块位置,Getpos 可以得到滑动条的当前位置,Setpos 函数可以设置滑动条的当前位置。

9.9 滚动条有垂直滚动条和水平滚动条两种,它们触发的滚动消息分别是

WM_VSCROLL 和WM_HSCROLL 。

9.10 CListBox类中的InsertString 函数可以为列表框插入一个新的字符串,ResetContent 函数可以清空所有列表项内容。

9.11 GetCheck 函数可以得到单选框的选中状态。

9.12 当程序需要与界面交换数据时,应该调用UpdataData 函数。

VC习题10

10.1 有两种类型的文档/视结构程序:单文档应用程序和多文档应用程序。10.2 GetDocument 是视图类的成员函数,调用它可以得到指向与之关联的文档对象的指针,文档的串行化在Serialize 函数中进行。

10.3 在程序的任何一个类中访问应用程序类的函数为AfxGetApp ,在程序的任何一个类中访问框架窗口类的函数为AfxGetMainWnd() 。

10.4 基于单文档/视图结构的框架程序中包含的类有CWinApp 、CFrameWnd 、CDocument 和CView 。

VC习题11

11.1 ODBC体系结构中不包括下列哪个组件()。

A)ODBC管理器B)数据源C)驱动程序管理器D)数据库管理系统DBMS 11.2 记录集可以分为Dynaset(动态集) 和Snapshot(快照)两种。

11.3 MFC的ODBC类主要包括5个类,分别是CDatabase 、CRecordset 、CRecordView 、CDBException 和CFieldExchange 。

11.4 可以利用CRecordset类的AddNew 函数添加一条新记录,利用CRecordset类的MoveFirst 函数将记录指针移动到第一条记录上,利用CRecordset类的Update 函数实现数据库记录的保存。

VC习题12

1、下列说法中错误的是(B)

A)一个windows应用程序通常有许多源代码文件以及菜单等资源文件,这些文件都将纳入应用程序的项目中,通过对项目工作区的操作,可以编辑这些文件。项目工作区可以管理多个项目。

B)控制台应用程序是指那些需要与传统的dos操作系统保持兼容,同时又需要为用户提供完善界面的程序。

C)Stdafx.h是Visual C++为每个项目配置的用来预编译的文件。

D)Window总是要求每个应用程序都要有WinMain函数。

2、下列说法中错误的是(C)

A)在文档/视图结构中,视图可以看作一个窗口,能将文档的某个局部显示出来。B)视图类的OnDraw函数是个非常有用的虚函数,当应用程序中的窗口状态或大小发生改变时,系统会调用此函数重新绘制文档窗口的客户区。

C)状态栏中的ID_SEPARATOR表示指示器窗格,是Visual C内部已经定义好的。D)主框架是应用程序中负责创建和控制菜单、工具栏和状态栏等界面元素的最主要的类。

3、MFC中的CDialog类封装了用于对话框的显示、关闭等常用的功能函数,其中用于显示模式对话框的是(C)

a)CreateWindow b)ShowWindow c)DoModal d)UpdateWindow

4、对话框创建后,还没显示前就会发出(B)消息

a)WM_PAINT b)WM_INITDIALOG c)WM_CREATE d)WM_SIZE

5、下列控件不属于按钮的是(A)

a)命令按钮b)组框c)单选框d)复选框

6、通用对话框中,属于非模式对话框的是(D)

a)文件对话框b)颜色对话框c)打印对话框d)查找对话框

7、下列函数中,能为状态栏第二个信息格设定文字的是(A)

a)SetPaneText b)SetWindowText c)SetPaneInfo d)SetText

8、下列函数中,可以实现画圆功能的是(B)

a)Rectangel b)Ellipse c)Circle d)Line

9、下列对UpdateData的描述错误的是(D)

a)CWnd::UpdateData函数实现对控件中数值的输入和读取。

b)UpdateData只有一个为TRUE或FALSE的参数。

c)当调用UpdateData(FALSE)时,数据由控件关联的成员变量向控件传输。

d)当调用UpdateData(TRUE)时,数据由控件关联的成员变量向控件传输。

10、CDC为用户提供了下列四个输出文本的函数,其中能使输出的文本呈现一个多列列表格式的是(C)

a)TextOut b)ExtTextOut c)TabbedTextOut d)DrawText

简答题:

1、定义和使用消息映射表的步骤:

①在头文件的类声明中添加DECLARE_MESSAGE_MAP宏声明消息映射;

②在类的定义文件(.cpp)定义消息映射表,方法是在文件的开始处添加BEIGN_MESSAGE_MAP和END_MESSAGE_MAP 这一对宏,在它们之间放置消息映射宏,定义并初始化消息映射表,在消息与处理消息的函数之间建立联系;

③在类的定义文件(.cpp)中添加消息处理函数。

所谓消息映射,简单地讲,就是让程序员指定要某个MFC类(有消息处理能力的类)处理某个消息。MFC提供了工具ClassWizard来帮助实现消息映射,在处理消息的类中添加一些有关消息映射的内容和处理消息的成员函数。程序员将完成消息处理函数,实现所希望的消息处理能力。

如果派生类要覆盖基类的消息处理函数,就用ClassWizard在派生类中添加一个消息映射条目,用同样的原型定义一个函数,然后实现该函数。这个函数覆盖派生类的任何基类的同名处理函数。

2、创建一个完整的窗口需要经过下面四个操作步骤:

●设计一个窗口类;

●注册窗口类;

●创建窗口;

●显示及更新窗口。

3、什么是模态对话框?

所谓“模态对话框”是指对话框被弹出后用户必须在对话框中作出相应的操作;在退出对话框之前,会阻止其他应用程序的运行(包括它所在的应用程序)。

4、什么是非模态对话框?

所谓“非模态对话框”是指当对话框被弹出后,将一直保留在屏幕上,但不影响其他应用程序的运行,用户可以继续在对话框所在的应用程序中进行其他操作;当需要使用对话框时,只需像激活一般窗口一样单击对话框所在的区域即可。例如在Microsoft Word中的“查找”和“替换”对话框。

5、文档/视图结构的工作机制

●视图通过GetDocument成员函数获得指向相关联的文档对象的指针

●通过该指针调用文档类的成员函数来从文档中读取数据

●视图把数据显示于计算机屏幕上

●用户通过与视图的交互来查看数据并对数据进行修改

●视图通过相关联的文档类的成员函数将经过修改的数据传递给文档对象

●文档对象获得修改过的数据之后,对其进行必要的修改,最后保存到永久介质(如

磁盘文件)中

6、从CDocument类派生新的文档类的一般过程如下:

●为每一个文档类型从CDocument类派生一个相应的文档类。

●为文档类添加成员变量,这些变量主要用来保存文档的数据,并使其它的对象(如

视图对象)可以访问这些成员变量,从而实现文档和视图的相互搭配使用。

●重载Serialize成员函数,实现文档数据的串行化。

7、使用串行化的好处:是不需要重载文件打开、文件保存之类的方法,MFC框架会自动完成这些任务,并自动调用文档类的Serialize方法来完成串行化过程。

如果文档的抽象数据只有一个字符串,那么你只需要在Serialize中添加相映语句就可以完成串行化过程。

8、简述在MFC Windows应用程序中使用CBrush对象的基本步骤。

●创建画刷(可调用画刷创建函数CreateSolidBrush、CreateHatchBrush)

●将画刷选入设备环境(调用SelectObject)

●使用该刷子进行绘画

●删除画刷

9、简述文档/视图结构中包含的主要的类及各个类之间的相互关系。

包括CWinApp、CDocument 、CView、CDocTemplate 、CFrameWnd 类一个App可以包含多个文档模版(CDocTemplate ),但是MFC AppWizard (无论是SDI 还是MDI )都只是默认生成一个。但是在实际开发中一个文档模版不够,需要自己手工添加。这个结构是通过MFC 中CWinApp 的成员变量CDocManager * m_pDocManager 实现的。

CDocTemplate 拥有3 个成员变量,分别保存着Document 、View 、Frame 的CRuntimeClass 指针,另外持有成员变量m_nIDResource ,用来指定这个Document 显示时候采用的菜单资源。

一个文档可以有多个视图,由Document中成员变量CPtrList m_ViewList 维护。

CFrameWnd拥有一个成员变量CView* m_pActiveView 指向当前活动的View。

CView 中拥有一个成员变量CDocument* m_pDocument指向该视图相关的Document。

10、写出按钮Show和Show the Age响应单击消息的函数OnEnable()、OnShow()和OnShowage()。函数OnShow()使编辑框IDC_EDIT1和IDC_EDIT2处于显示状态,函数OnShowage()要能够判断出单选按钮IDC_RADIO1、IDC_RADIO2和IDC_RADIO3哪个被选中,并将被选中单选按钮的标题添加到组合框IDC_COMBO1中,设为组合框的默认选项。

CMyDialog::OnEnable()

{

GetDlgItem(IDC_EDIT1)->ShowWindow(SW_HIDE);

GetDlgItem(IDC_EDIT2)->ShowWindow(SW_HIDE);

}

CMyDialog::OnShow()

{

GetDlgItem(IDC_EDIT1)->ShowWindow(SW_SHOW);

GetDlgItem(IDC_EDIT2)->ShowWindow(SW_SHOW);

}

CMyDialog::Onshowage()

{

CString strText;

int i=-1;

i=GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO3);

if(i==IDC_RADIO1)

strText=">20";

else if(i==IDC_RADIO2)

strText="15-20";

else if(i==IDC_RADIO3)

strText="<15";

GetDlgItem(IDC_COMBO1)->SetWindowText(strText);

}

11、下面左图为菜单结构,右图为运行结果,写出弹出菜单的代码。

void CPopupmenuView::OnContextMenu(CWnd* pWnd, CPoint point)

{

CMenu menuPopup ;

if(menuPopup.LoadMenu(IDR_MAINFRAME))

menuPopup.GetSubMenu (4)->TrackPopupMenu (TPM_LEFTALIGN | TPM_RIGHTBUTTON , point.x , point.y , this);

}

VC习题13

1.将MFC应用程序的命令处理路径补充完整:命令—(视图类)—(文档类)—文档模板类—(框架窗口类)—应用程序类

2.传统的软件开发主要采用(过程)驱动的方法,而WINDOWS程序的开发使用(消息)驱动模型,该模型靠(事件)机制来实现其功能。

3.(主框架类)是应用程序中负责控制菜单、工具栏和状态栏等界面元素的最主要的类。

4.VC++开发环境可以生成的基于MFC AppWizard exe的应用程序类型有(对话框)(单文档/视图结构)和(多文档/视图结构)。

5.包含类定义的文件称为(头文件),包含类中成员函数的实现代码的文件称为(源文件),包含资源信息的文件称为(资源文件)。

6.Resource View的主要功能是(编辑当前工程中的资源)。

7.应用程序向导的主要功能是(帮助生成应用程序)。

8.导的主要功能是(管理各个类中的消息)。

9.工作区窗口一般在开发环境的左侧,它包含工程的多各方面,分别是(ClassView)、(ResourceView)和(FileView)。

10.项目工作区的文件扩展名为(dsw)。

11. WINDOWS应用程序的消息来源主要包括(输入消息)、(控制消息)、(系统消息)和(用户消息)。

12.发送消息可以采用的两个函数是(PostMessage)和(SendMessage)。

https://www.doczj.com/doc/044748397.html,mdUI类的主要功能是(主要用来更新命令用户接口的状态,如子菜单、工具栏上的按钮等)。

14.代码ON_UPDATE_COMMAND_UI(ID_TEST,OnUpdateTest)的主要功能是(将对ID_TEST的更新命令接口消息的处理映射到OnUpdateTest函数上)。

15.CString类的功能是(处理字符串),其Format函数的功能是(格式化字符串)。

16.Ctime类的功能是(处理日期时间),其Format函数的功能是(将时间对象格式化为字符串)。

17.MessageBox函数的第一个参数表示(消息文字),第二个参数表示(标题文字),第三个参数表示(图标与按钮组合).

18.在windows中,按下一个字符键,会依次触发(WM_KEYDOWN)、(WM_CHAR)和(WM_KEYUP)3个消息

19.windows窗口内部需要重新绘制时,会得到一个(WM_PAINT)消息,当释放鼠标右键时,会得到一个(WM_RBUTTONUP)消息。

20.WM_LBUTTONDOWN表示(鼠标左键按下消息),WM_MOUSEMOVE表示(鼠标移动消息)。

21.OnMouseMove(UINTnFlag,CPinto point)消息处理函数中的point表示(鼠标当前坐标)。

22.OnChar(UNIT nPepCnt nFlags)消息处理函数中的nChar表示(当前按下的字符键)。

X1.下列函数中,能为状态栏的第二个窗格设置文字的是(SetPaneText)

X2.VC++提供的资源编辑器不能编辑下列哪个资源(状态栏)

X3.MFC应用程序框架为状态栏定义的静态数组indicators放在哪个文件中(MainFrm.cpp)。

23.(DeleteMenu)用来删除某个菜单项,如果被删除的菜单项有相关的弹出菜单,则该弹出菜单的句柄也要被删除并释放内存。

24.(AppendMenu)用来追加某个菜单项,(TrackPopupMenu)用来在一个POINT 结构所指定的位置上显示一个上下文菜单。

25.工具栏上的按钮能触发的消息有(COMMAND)和(UPDATE_COMMAND_UI)。状态栏上的窗格可以分为(信息行窗格)和(指示器窗格)两类。

26.(GetSubMenu)可以得到指向某列菜单的指针。

27.用户可以通过项目工作区窗口的(资源)试图来查看资源。

28.在MFC中,工具栏的功能由(CToolBar)类实现。

29.在MFC中,状态栏的功能由(CStatusBar)类实现。

X4.在下列函数中,可以实现画圆功能的是(Ellipse)。

X5.CDC类为用户提供了下列4个文本输出函数,其中,能使输出文本呈现一个多列列表格式的是(TabbedTexOut)

X6.下列类中哪一个不是GDI对象类(CWnd)

X7.下面哪一个不是CDC类的派生类(GDI类)。

30.CDC类实现绘制矩形功能的函数是(Rectangle),实现绘制椭圆功能的函数是(Ellipse)。改变文本颜色的函数是(SetTextColor),改变文本背景颜色的函数是(SetBkColor),在指定位置显示字符串的函数是(TextOut)。

31.MFC绘图要素主要分为两大类,即(设备场景)和(基本绘图工具)。

32.windows引入图形设备接口的目的是(屏蔽底层硬件的绘图细节,使编程更加容易)。

33.Windows用(COLORREF)类型的数据存放颜色,它采用3个参数表示红、绿、蓝三元基本色的分量值,这3个值的取值范围是(0-255)。

34.创建画笔后,必须调用CDC类的成员函数(SelectObject)将新画笔选进当前的绘图环境。

X8.MFC中的CDialog类封装了对话框的显示、关闭等常用功能,其中,用来显示模态对话框的是函数(DoModal)。

X9.对话框创建后,还没显示前就会触发(WM_INITDIALOG)消息。

X10.通用对话框中,属于非模态对话框的是(查找对话框)。

X11.要打开文件,应该使用哪个通用对话框(CFileDialog)。

X12.通常将对话框的初始化工作放在下列哪个函数中进行(OnInitDialog)。

35.所有通用对话框都是由公共基类(CCommonDialog)派生出来的,(CColorDialog)实现了标准的颜色对话框。

36.MFC中。与属性对话框相关的两个类是(CPropertySheet)和(CPropertyPage)。

X13.下列控件不属于按钮的是(列表框)。

X14.如果在输入时采用选择的方法进行,以下哪个控件不能实现(编辑框)

X15.下面对UpdateData的描述中错误的是(当调用UpdateData(TRUE)时,数据由控件关联的变量向空间传输)。

37.有两种方法可以创建静态文本控件,一种是(使用资源编辑器添加),另一种是(使用Create函数动态创建)。

38.ShowWindow函数的功能是(显示或隐藏窗口)。

39.使用滚动条控件一般要用到控件所在的对话框类的(WM_HSCROLL)和(WM_VSCROLL)消息。

40.判断一组单选按钮中哪一个被选中了,要应用(GetCheckedRadioButton)函数

41.(GetScrollPos)函数可以得到滚动条的滑块位置,(SetScrollPos)函数可以设置滚动条的滑块位置,(GetPo s)可以得到滑动条的当前位置,(SetPos)函数可以设置滑动条的当前位置。

42.滑动条有(垂直滚动条)和(水平滚动条)两种,它们触发的滚动消息分别是(WM_VSCROLL)和(WM_HSCROLL)。

43.CListBox类中的(InsertString)函数可以为列表框插入一个新的字符串,(ResetContent)函数可以清空所有的列表项内容。

44.(GetChec k)函数可以得到单选框的选中状态。

45.当程序需要与界面交换数据时,应该调用(UpdateData)函数。

46.有两种类型的文档/视图结构程序:(单文档(SDI))应用程序和(多文档(MDI))应用程序。

47.(GetDocument)是视图类的成员函数,调用它可以的到指向与之相关的文档对象的指针,文档的串行化在(Serialize)函数中进行。

48.在程序的任何一个类中访问应用程序类的函数为(AfxGetApp),在程序的任何一个类中访问框架窗口的函数为(AfxGetMainWnd())。

49.基于单文档/视图结构的而框架程序中包含的类有(CWinApp)、(CFrameWnd)、(CDocument)和(CView)。

X16.ODBC体系结构中不包括下列哪个组建(数据库管理系统DBMS)。

50.记录集可以分为(Dynaset(动态集))和(Snapshot(快照))两种。

51.MFC的ODBC主要包括5个类,分别是(CDatabase)、(CRecordset)、(CRecordView)、(CDBException)和(CFieldExchange)。

52.可以利用CRecordset类的(AddNew)函数添加一条新记录,利用CRecordset类的(MoveFirst)函数将记录指针移动到第一条记录上,利用CRecordset类的(Update)函数实现数据库记录的保存。

VC习题14

一、单项选择题(每题2分,共15×2=30分)

1、下列字符串中,正确的C++标识符是(A)。

(A) foo_1 (B) 2b (C) new (D) 256_1

2、下列关于类和对象的叙述中,错误的是(A)。

(A) 一个类只能有一个对象

(B) 对象是类的具体实例

(C) 类是对某一类对象的抽象

(D) 类和对象的关系是一种数据类型与变量的关系

3、下列语句中错误的是(D)。

(A) int *p = new int(100); (B) int *p = new int[100];

(C) int *p = new int; (D) int *p = new int[40](0);

4、下列(D)是引用调用。

(A) 形参是指针,实参是地址值

(B) 形参和实参都是变量

(C) 形参是数组名,实参是数组名

(D) 形参是引用,实参是变量

5、下列关于this指针的叙述中,正确的是(D)。

(A) 任何与类相关的函数都有this指针

(B) 类的成员函数都有this指针

(C) 类的友元函数都有this指针

(D) 类的非静态成员函数才有this指针

6、有关运算符重载正确的描述是(D)。

(A) C++语言允许在重载运算符时改变运算符的操作数个数

(B) C++语言允许在重载运算符时改变运算符的优先级

(C) C++语言允许在重载运算符时改变运算符的结合性

(D) C++语言允许在重载运算符时改变运算符的原来的功能

7、要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0 和0,则下列定义语句中错误的是(A)。

(A) int vect[ ]={30,50,-88};

(B) int vect[ ]={30,50,-88,0,0};

(C) int vect[5]={30,50,-88};

(D) int vect[5]={30,50,-88,0,0};

8、执行语句序列int i=0; while(i < 25) i+=3; cout<

(A) 24 (B) 25 (C) 27 (D) 28

9、分析下列程序的运行结果为(C)。

#include

class Sample

{ int x;

public:

Sample(){};

Sample(int a){x=a;}

Sample(Sample &a){x=a.x++ +10;}

void disp(){cout<<"x="<

};

void main()

{ Sample s1(3),s2(s1);

s1.disp();

s2.disp();

}

(A) x=3;x=13; (B) x=3;x=14; (C) x=4;x=13; (D) x=4;x=14;

10、有如下程序:执行后的输出结果是(B)。

#include

void fun(int& x, int y) { int t = x; x = y; y = t; }

void main( )

{ int a[2] = {50, 60};

fun(a[1], a[0]);

cout << a[0] << ", " << a[1] << endl;

}

(A) 60,60 (B) 50,50 (C) 50,60 (D) 60,50

11、当在使用类模板时,类模板本身被实例化成了一个具体的(D)。

(A) 对象(B) 实例(C) 模板类(D) 类

12、下列程序的输出结果是(C)。

#include

void main( )

{ int x=6,y=8;

if(x++<6)

cout<<++y<

if(x>6)

cout<<――y<

else

cout<< y++<

}

(A) 8 (B) 9 (C) 7 (D) 编译不成功

13、假定A类已经定义,对于以A类为基类的单一继承类B类,以下定义中正确的是(A)。

(A) class B: public A{//……}; (B) class A: public B{//……};

(C) class B: public class A{//……}; (D) class A: class B public{//……};

14、属于MFC的公用对话框的是(C)。

(A) CPleDialog (B) CWNwDialog (C) CFileDialog (D) CAldDialog

15、在用VC开发宾馆管理系统应用程序中用到下列控件,可以将多页信息一次显示的是(D)。

(A) 静态控件(B) 按钮控件(C) 编辑框控件(D) 滚动条控件

二、填空题(每空1分,共1×10=10分)

1、在C++语言中我们分别用new和delete 来进行动态内存的分配与释放。

2、多态性可分为二类编译时多态和运行时多态。

3、Menu可以按照实际功能分为下拉式菜单和弹出式菜单。

4、CWnd 类是由CCmdTarget类直接派生而来用于窗口建立及使用,包括注册新窗口类,获取窗口、访问窗口及控件等功能。

5、如果用VC进行学生考试系统开发,单选题可用单选按钮控件来实现,多选题可用复选框控件来实现。

6、记事本程序属于SDI类型,Word程序属于MDI类型,计算器属于DIALOG 类型。

三、判断题(每题1分,共1×5=5分)

1、C++语言中,既允许单继承,又允许多继承。(T)

2、在私有继承中,基类中只有公有成员对派生类是可见的。(F)

3、析构函数是一种函数体为空的成员函数。(F)

4、对象成员的表示与结构变量成员表示相同,使用运算符.或->。(T)

5、构造函数可以被继承,析构函数不能被继承。(F)

四、简答题(共10分)

1、滚动条编程的主要步骤。(4分)

2、模态对话框与非模态对话框定义。(6分)

五、程序分析题(共15分)

1、下面程序的运行结果是。(5分)#include

class BASE

{public:

~BASE( ){ cout<<"BASE\n"; }

};

class DERIVED: public BASE

{public:

~DERIVED( ){ cout<<"DERIVED\n"; }

};

void main( ) { DERIVED x; }

2、下面程序的运行结果是。(5分)#include

class A

{public:

A(){cout<<"A";}

~A(){cout<<"~A";}

};

class B:public A

{ A *p;

public:

B(){cout<<"B";p=new A();}

~B(){cout<<"~B";delete p;}

};

void main(){ B obj; }

3、下面程序的运行结果是。(5分)#include

#include

void fun(char *s);

void main()

{ char array[80];

char *p;

p = array;

fun( p );

cout << p;

}

void fun(char *s) { strcpy(s, "look"); }

六、程序填空题(每空2分,共2×10=20分)

1、编写程序实现以下显示功能。其中单选按钮所对应的变量为m_color(整型),复选框所对应的变量分别为m_red(布尔型)和m_yellow(布尔型),编辑框所对应的变量位m_edit(字符串类型)。点击“显示”按钮可产生以下显示结果。

void CMy6_1Dlg::OnShow()

{

UpdateData();

m_edit="你选择了";

if(m_color==1)

m_edit+="单色";

else

{

if(m_red)

m_edit+="红色";

if(m_yellow)

m_edit+="黄色";

}

UpdateData(false);

}

2、编写程序实现以下功能:在单文档应用程序中画圆,其中圆的边框为红色虚线(PS_DASH),线宽为10个像素。

void CMy5_3View::OnDraw( ⑥)

{

CMy5_3Doc* pDoc = GetDocument();

ASSERT_V ALID(pDoc);

// TODO: add draw code for native data here

CBrush *pPenOld, PenNew;

⑦;

⑧;

pDC->Ellipse(100,100,200,200);

⑨;

⑩;

}

七、编程题(共10分)

实现一个简单的大学学生管理系统。学生包括本科生、研究生,要求可以对本科生简单的个人信息(学号、姓名、性别)进行录入并显示,研究生与本科生不同的是研究生有指导教师,要求利用单继承实现对研究生信息的录入和显示。

三、判断题(每题1分,共1×5=5分)

四、简答题(共10分)(酌情给分)

1、答:滚动条编成的主要步骤是:(1)向对话框模板资源添加滚动条控件;(2)为

滚动条映射成员变量;(3)在对话框的OnInitDialog()函数中通过滚动条控件成员变量调用MFC类CScrollBar的成员变量,设置滚动条的滚动范围和滚动块位置;(4)利用ClassWizard类向导添加滚动消息处理寒暑,根据传递给函数的消息通知码参数nSBCode、滚动块位置参数nPos和其他参数进行相应的处理,实现具体的程序功能。

2、答:模态对话框在关闭之前,不允许用户切换到程序的其他窗口,而只能与该对

话框进行交互。无模式对话框弹出后,用户不需要关闭它就可以在非模态对话框和应用程序其他窗口之间进行切换。

五、程序分析题(共15分)

1、 DERIVED

2、ABA~B~A~A

3、look

BASE

七、编程题(共10分)

第一种:

#include

#include

class CStudent

{

char id[20];

char name[20];

char sex;

public:

CStudent(char *sid, char *sname, char ssex )

{

strcpy(id, sid);

strcpy(name, sname);

sex=ssex;

}

void print()

{

cout<<"学号:"<

}

};

class CGraduate : public CStudent

{

char Tname[20];

public:

CGraduate(char *sid, char *sname, char ssex, char *sTname):CStudent(sid, sname, ssex )

{

strcpy(Tname, sTname );

}

void print()

{

CStudent::print();

cout<<"指导教师:"<

}

};

void main()

{

CStudent s("10001","A",'M');

s.print();

CGraduate g("10002","A",'M',"TeacherA");

g.print();

}

第二种:

#include

#include

class CStudent

{

2019年电大C语言考试题库(c语言小题+编程)

C语言程序设计课程期末复习练习 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为()类。 A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为()。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为()。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是()。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 14. for循环语句“for(i=0; i

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

c期末考试试题及答案完整版

c期末考试试题及答案 HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】

AutoCAD 试卷 一、 单项选择 1、AutoCAD 默认扩展名是 A 、dwt B 、dwg C 、bak D 、dxf 答案:B 2、在CAD 中,以下哪个命令可用来绘制横 平竖直的直线 A 、栅格 B 、捕捉 C 、正交 D 、对象捕捉答案:C 3、按哪个键可切换文本窗口和绘图窗口 A 、F2 B 、F8 C 、F3 D 、F5答案:A 4、默认情况下,命令提示行显示为几行 A 、3 B 、5 C 、2 D 、8答案:A 5、在CAD 中为一条直线制作平行线用什么命令 A 、移动 B 、镜像 C 、偏移 D 、旋转答案:C 6、在图层特性管理器中不可以设定哪项 A 、颜色 B 、页面设置 C 、线 宽 D 、是否打印答案:B 7、绘制建筑图步骤为 A 、墙线、轴线、门窗 B 、墙线、 门窗、轴线 C 、轴线、门窗、墙线 D 、轴线、 墙线、门窗答案:D 8、哪个命令可用于绘制直线与圆弧的复合 体 A 、圆弧 B 、构造线 C 、多段线 D 、样条曲线答案:C 9、如何在图中输入“直径”符号 A 、%%P B 、%%C C 、%%D D 、%%U 答案:B

10、如果要在一个圆的圆心写一个“A”字,应使用以下哪种对正方式 A、中间 B、对齐 C、中心 D、调整答案:A 11、在哪个层创建的块可在插入时与当前层特性一致 A、0层 B、在所有自动产生的层 C、所有图层 D、新建的图层答案:A 12、一个完整的尺寸由几部分组成 A、尺寸线、文本、箭头 B、尺寸线、尺寸界线、文本、标记 C、基线、尺寸界线、文本、箭头 D、尺寸线、尺寸界线、文本、箭头 答案:D 13、要将图形中的所有尺寸都为原有尺寸的2倍,应设定以下哪项A、文字高度 B、使用全局比例 C、测量单位比例 D、换算单位 答案:B 14、三维模型中哪种模型可以进行布尔运算 A、线框模型 B、实心体模型 C、表面体模型答案:B 15、渲染三维模型时,哪种类型可以渲染出物体的所有效果 A、一般渲染 B、普通渲染 C、照片级真实感渲染 D、照片级光线跟踪渲染答案:D 16、样板文件的括展名是 A、BAK B、SVS C、DWT D、DWG 答案:C 17、以下哪种相对坐标的输入方法是画8个单位的线长 A.8, 0 B.@0,8 C.@0<8

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

C期末考试题及答案

C期末考试题及答案 Revised at 2 pm on December 25, 2020.

一、填空题(每空0.5分,共30分) 1、世界坐标系简称__WCS_用户自定义坐标系简称__UCS_。 2、工作空间的切换:“工具”/“工作空间”或“工作空间”工具栏。 3、工具栏包括30种,系统默认的显示工具栏包括:“标准”、“属性”、“绘图”和“修改”等工具栏。 4、多线的对正方式有_上(T)_、_无(Z)_和_下(B)_。 5、文字标注包括标注单行文字和标注多行文字。 6、渲染环境是指在渲染对象时进行的雾化和深度设置。 7、漫游和飞行用户可以通过键盘和鼠标来控制视图显示,并创建导航动画。 8、编辑实体的边的种类:压印边、复制边、着色边。 9、动态块是通过自定义夹点或自定义特性定义的块。在图形中使用动态块,用户可以随时对组成块的对象进行修改。 10、三维实体是具有体积、质量、重心、回转半径、惯性距等特征的三维对象。 11、在AutoCAD 2007中,用户可以创建的光源有电光源、聚光灯光源和平行光光源。 12、相切、相切、半径法是指:通过指定圆的两个切点和半径来绘制圆。 13、绘制圆环的步骤中,先输入圆环的内径和外径,后确定圆环的中心点。 14、计算机辅助设计是:工程技术人员在CAD系统的辅助下,根据产品的设计程序进行设计的一项新技术。 15、菜单栏包括11种,每一种菜单中都含有四种显示情况:命令后跟右三角 、后跟省略号、后跟快捷键或功能键或命令呈灰色。 16、要对图形对象进行编辑就必须选中图形对象,在AutoCAD 2007中,选择对象的方法很多,常用的有_直接拾取_、矩形框选择_、_不规则区域选择_和快速选择。 17、在设置显示精度时,如果设置的精度越高,即分辨率就越高,计算机计算的时间 也越长,显示图形的速度也就越慢。 18、三维基本实体的种类包括:多段体、长方体、楔体、圆柱体、圆锥体、球体、圆环体、棱锥面。 19、布尔运算中只留重复的一部分的运算是交集运算。从一个图形中去掉与另一个图形重复部分的运算是差集运算。

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

C期末考试题及答案

一、选择填空题(共20小题,每小题2分,共40分)。 1. 关于C++与C语言关系的描述中,(D)是错误的。 语言是C++语言的一个子集 语言与C++语言是兼容的 ++语言对C语言进行了一些改进 ++语言和C语言都是面向对象的 2.按照标识符的要求,(A)符号不能组成标识符。 a.连接符 b.下划线 c.大小写字母 d.数字字符 3. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C)组成配对关系。 a.缩排位置相同的if b.在其之前未配对的if c.在其之前未配对的最近的if d.同一行上的if 4. 在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是(C)。 5. 设"char **s;",以下正确的表达式是(B)。 ="computer"; b.*s="computer"; c.**s="computer"; d.*s='c'; 6. 对于"int *pa[5];"的描述中,(D)是正确的。 是一个指向数组的指针,所指向的数组是5个int型元素 是一个指向某数组中第5个元素的指针,该元素是int型变量

[5]表示某个元素的第5个元素的值 是一个具有5个元素的指针数组,每个元素是一个int型指针 7. 在下列表示引用的方法中,(A)是正确的。 已知:int m=10; &x=m; &y=10; &z; &t=&m; 8. 下列for循环的次数为(B)。 for(i=0, x=0; !x&&i<=5; i++) d.无限 9. 对于C/C++语言的函数,下列叙述中正确的是(A)。 a.函数的定义不能嵌套,但函数调用可以嵌套 b.函数的定义可以嵌套,但函数调用不能嵌套 c.函数的定义和调用都不能嵌套 d.函数的定义和调用都可以嵌套 10. 在一个被调用函数中,关于return语句使用的描述,(D)是错误的。 a.被调用函数中可以不用return语句 b.被调用函数中可以使用多个return语句 c.被调用函数中,如果有返回值,就一定要有return语句 d.被调用函数中,一个return语句可以返回多个值给调用函数 11. 在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( A)。 a.内联函数 b.重载函数

(完整版)C语言考试题库之判断题(2)

三、判断题(10道小题,共10分) 1、C 语言具有简洁明了的特点。(1分) 正确 2、预处理命令的前面必须加一个“#”号。(1分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1分) 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(1 分) 正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分) 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递(1分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问(1分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1分) 错误 11、C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分) 正确 12、浮点型常量的指数表示中,e 是可以省略的。(1分) 错误 13、任何表达式语句都是表达式加分号组成的。(1分) 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。(1分) 错误 15、do-while循环的while后的分号可以省略。(1分) 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。正确 17、C语言函数返回类型的默认定义类型是void(1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分) 正确 19、枚举类型中的元素都具有一个整型值。(1分) 正确 20、C 语言是一种具有某些低级语言特征的高级语言。(1分) 正确 21、case语句后如没有break,顺序向下执行。(1分)正确

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

C期末考试试卷及答案

C++期末考试试卷及答案1 一、单项选择题(每题2分,共40分) 1. ______不是属于面向对象程序设计的特性 A. 抽象性 B. 数据相关性 C. 多态性 D. 继承性 2. 将对某一类数据的处理算法应用到另一类数据的处理中,要用到C++的______ A. 类 B. 虚函数 C. 运算符重载 D. 模板 3. C++与C语言最根本的不同之处在于_______ A. 使用了类 B. 能够实现变量自动初始化 C. 支持软件重用 D. 支持接口重用 4. 动态内存分配的主要目的是_______ A. 使程序按动态联编方式运行 B. 正确合理的使用内存 C. 提高程序的运行速度 D. 提高程序的可维护性 5. 在C++函数的形参前加const关键字,是为了提高函数的_______ A. 数据封装性 B. 可理解性 C. 可维护性 D. 可重用性 6. 函数重载的目的是________ A. 实现共享 B. 使用方便,提高可读性 C. 提高速度 D. 减少空间 7. 从程序片断:char name[] = "C++"; course(name);可判断函数course的调用采用的是_______ A. 传值调用 B. 带缺省参数值的函数调用 C. 引用调用 D. 传址调用 8. 用来说明类中公有成员的关键字是________

9. 如果一个类的成员函数print()不修改类的数据成员值,则应将其声明为 A. void print() const; B. const void print(); C. void const print(); D. void print(const); 10. 下列关于构造函数的论述中,不正确的是_______ A. 构造函数的函数名与类名相同 B. 构造函数可以设置默认参数 C. 构造函数的返回类型缺省为int型 D. 构造函数可以重载 11. 在程序代码:A::A(int a, int *b) { this->x = a; this->y = b; }中,this的类型是______ A. int B. int * C. A D. A * 12. 内存泄漏是指_______ A. 内存中的数据出现丢失 B.试图释放一个已经释放了的动态分配的堆内存 C. 函数中局部变量所占的栈内存没有及时回收 D. 动态分配的堆内存在程序退出后始终被占用 A. 私有成员数据 B. 私有成员函数 C. 公有成员数据 D. 公有成员函数 14. 友元函数_______ A. 可以被声明为const B. 没有this指针 C. 可以用类名或对象名来调用 D. 只能用对象名来调用 15. 若一个类的成员函数前用static关键字修饰,则该成员函数________ A. 可以被声明为const B. 没有this指针 C. 可以访问该类的所有成员 D. 只能用对象名来调用 16. C++是用_______实现接口重用的

精选-C语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是( ) A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中( ) A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是( ) A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是( ) A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不. 相符的是( ) A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是( ) A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是( ) A) x!=0 B) x==1 C) x!=1 D) x==0 8、有以下程序: #include void main(){ int i=1,j=1,k=2; if( (j++||k++)&&i++ ) printf(“%d,%d,%d\n ”,i,j,k);} 执行后的输出结果是( ) A )1,1,2 B )2,2,1 C )2,2,2 D )2,2,3 9、有以下程序: #include void main(){ int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n ”,s);} 程序执行后的输出结果是( ) A )自然数1~9的累加和 B )自然数1~10的累加和

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

大学C期末考试试卷(含答案)

一、单项选择题(每题2分,共40分)1-5. BDABC 6-10. BDAAC 11-15. CADBB 16-20. CADDA B 1. ______不是属于面向对象程序设计的特性 A. 抽象性 B. 数据相关性 C. 多态性 D. 继承性 D 2. 将对某一类数据的处理算法应用到另一类数据的处理中,要用到C++的______ A. 类 B. 虚函数 C. 运算符重载 D. 模板 A 3. C++与C语言最根本的不同之处在于_______ A. 使用了类 B. 能够实现变量自动初始化 C. 支持软件重用 D. 支持接口重用 B 4. 动态内存分配的主要目的是_______ A. 使程序按动态联编方式运行 B. 正确合理的使用内存 C. 提高程序的运行速度 D. 提高程序的可维护性 C 5. 在C++函数的形参前加const关键字,是为了提高函数的_______ A. 数据封装性 B. 可理解性 C. 可维护性 D. 可重用性 B 6. 函数重载的目的是________ A. 实现共享 B. 使用方便,提高可读性 C. 提高速度 D. 减少空间 D 7. 从程序片断:char name[] = "C++"; course(name);可判断函数course的调用采用的是_______ A. 传值调用 B. 带缺省参数值的函数调用 C. 引用调用 D. 传址调用 A 8. 用来说明类中公有成员的关键字是________ A. public B. private C. protected D. friend A 9. 如果一个类的成员函数print()不修改类的数据成员值,则应将其声明为 A. void print() const; B. const void print(); C. void const print(); D. void print(const); C 10. 下列关于构造函数的论述中,不正确的是_______ A. 构造函数的函数名与类名相同 B. 构造函数可以设置默认参数 C. 构造函数的返回类型缺省为int型 D. 构造函数可以重载 C 11. 在程序代码:A::A(int a, int *b) { this->x = a; this->y = b; }中,this的类型是______ A. int B. int * C. A D. A * A 12. 内存泄漏是指_______ A. 内存中的数据出现丢失 B.试图释放一个已经释放了的动态分配的堆内存 C. 函数中局部变量所占的栈内存没有及时回收 D. 动态分配的堆内存在程序退出后始终被占用 D 13. 从程序片断:student zhangsan("张三","M",22); zhangsan.id("2005131000");可判断id 是一个________ A. 私有成员数据 B. 私有成员函数 C. 公有成员数据 D. 公有成员函数

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

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