您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 制造加工工艺 > VC编程与应用试卷及答案
1学院、系专业班级学号姓名······························密································封·······························线···································《VC编程与应用》期末考试试卷(A卷)(本试卷共6页)一、选择题(本题满分20分,每小题各2分)题号12345678910答案1.下列标识符合法的是()。A.2xyB.#5f68C._YearsD.return2.下列()是语句。A.;;B.x+yC.a=12;D.cout”\n”3.在C++中,未对函数类型加以说明,则函数的隐含类型是()A.voidB.doubleC.intD.char4.下列循环for(inti=0,x=0;!x&&i=5;i++)中的循环次数是()。A.5B.6C.1D.无限5.下列标识符中,()不是局部变量。A.register类B.auto类C.外部static类D.函数形参6.预处理命令在程序中都以()开头的。A.*B.#C.:D./7.下列数组声明错误的是()。A.#definen5B.constintn=5;chara[n]={“Good”};chara[n]={“Good”};C.intn=5;D.constintn=5;chara[n]={“Good”};chara[n+2]={“Good”};题号一二三四总分得分得分阅卷人2学院、系专业班级学号姓名······························密································封·······························线···································8.有以下定义:int(*q)[3]=newint[2][3];则下列对数组的引用正确的是()A.*qB.*(*(q+2)+3)C.*qD.q[2][3]9.已知,intm=10;下列表示引用的方法,正确的是()A.int&x=m;B.int&y=10;C.int&z;D.float&t=&m;10.下述程序片段的输出是()。inta[3][4]={{1,2,3,4},{5,6,7,8}};intx,*p=a[0];x=(*p)*(*p+2)*(*p+4);coutxendl;A.15B.14C.16D.13二、简答题(本题满分30分,每题各5分)1.什么是构造函数?构造函数有哪些特点?2.什么是友元?它的作用有哪些?3.MFC的AppWizard(exe)提供了哪几种类型的应用程序?得分阅卷人3学院、系专业班级学号姓名······························密································封·······························线···································4.什么是对话框?它分为哪两类?这两类对话框有哪些不同?5.什么是按钮控件?它有几种类型?6.状态栏的作用是什么?状态栏的窗格分为几类?三、程序分析题(本题满分20分,1,2题6分,3题8分)1.请将下列程序补充完整,使得输入一个4位整数,将各位数字分开,并按其反序输出,要求使用递归函数。#includeiostream.hvoidconvert(intn){inti;cout(char)(n%10+'0');if((i=n/10)!=0)_________________________得分阅卷人4学院、系专业班级学号姓名······························密································封·······························线···································}intmain(){intnNum;cout请输出一个整数:;cinnNum;cout输出的是:;if(nNum0){cout'-';_________________________}convert(nNum);coutendl;return0;}2.写出下列程序运行的结果。#includestdafx.h#includeiostream.hintmain(){for(intn=1;n=15;n++){intflag=1;for(inti=2;i=n/2;i++){if(n%i==0){flag=0;break;}}if(flag)coutn,;}coutendl;5学院、系专业班级学号姓名······························密································封·······························线···································return0;}结果为:__________________________________________________3.写出下列程序运行的结果。#includeiostream.hintmain()charc1,c2,c3;c1=97;c2=98;c3=99;coutc1”,”c2”,”c3endl;return0;}程序结果:________________________________________四、程序设计题(本题满分30分,1题12分,2题18分)1.已知三角形的三边a、b、c,则三角形的面积area=()()()ssasbsc,其中s=(a+b+c)/2。编写程序,分别用带参数的宏和函数求三角形的面积。得分阅卷人6学院、系专业班级学号姓名······························密································封·······························线···································2.定义一个描述学生基本情况的类,数据成员包括姓名、学号、C++、英语和数学成绩,成员函数包括输出数据、置姓名和学号、置3门课的成绩,求出总成绩和平均成绩。7参考答案一、选择题(20分)1.C2.C3.C4.B5.C6.B7.C8.D9.A10.A二、简答题(本题满分30分,每题各5分)1.什么是构造函数?构造函数有哪些特点?答:构造函数是类的成员函数,它有以下特点:构造函数的名字必须与类名相同。构造函数可以有任意的形参,但不能具有返回值。定义对象时,编译系统会自动地调用构造函数。构造函数可以重载2.什么是友元?它的作用有哪些?答:通过类对象可以访问或引用类中的所有成员,称为友元,作用:保证类的封装性,同时为外部访问类的私有和保护型成员提供方便。3.MFC的AppWizard(exe)提供了哪几种类型的应用程序?答:使用MFC的AppWizard可以创建下面三种类型的应用程序:(1)单文档界面的应用程序(SDI,singledocumentinterface);(2)多文档界面的应用程序(MDI,multipledocumentsinterface);(3)基于对话框的应用程序(dialogbased)。4.什么是对话框?它分为哪两类?这两类对话框有哪些不同?答:对话框是CDialog类的派生类,它的主要功能是输出信息和接收用户的输入。对话框是一个特殊类型的窗口,任何对窗口的操作都可以在对话框中进行。对话框与控件是密不可分的,在每个对话框内一般都有一些控件,对话框依靠这些控件与用户进行交互。对话框可以分为两种类型:一是模式对话框;二是无模式对话框。⑴模式对话框:所谓的模式对话框是指对话框弹出时,用户必须向对话框进行相应的操作,在退出对话框之前,其所在的应用程序是不能往下执行的。⑵无模式对话框:无模式对话框是指对话框弹出后,一直保留在屏幕上,用户可以在对话框所在的应用程序中进行其他的操作。两种对话框在编辑器设计和使用ClassWizard进行编程时方法基本一致,但在创建和退出对话框窗口时的方式不同。5.什么是按钮控件?它有几种类型?答:按钮控件是CButton类的控件。按钮控件分为:⑴推压式按钮BS_PUSHBUTTON;⑵单选按钮BS_RADIOBUTTON;⑶复选按钮6.状态栏的作用是什么?状态栏的窗格分为几类?答:⑴状态栏是一条位于应用程序的主窗口底部的水平条,可以分割成几个窗格,用来显示应用程序的当前状态信息或提示信息。8⑵状态栏窗格分为“信息行窗格”和“指示器窗口”。三、程序分析题(本题满分20分,1,2题6分,3题8分)1.convert(i);nNum=-nNum;2.1235711133.a,b,c四、程序设计题(30分)1.已知三角形的三边a、b、c,则三角形的面积area=()()()ssasbsc,其中s=(a+b+c)/2。编写程序,分别用带参数的宏和函数求三角形的面积。解:(1)带参数宏求三角形面积#includeiostream.h#includemath.h#defineAREA(s,a,b,c)sqrt((s)*((s)-a)*((s)-b)*((s)-c))boolValidate(doublea,doubleb,doublec);intmain(){doublea,b,c;cout请输入三角形的三边长度:;cinabc;if(Validate(a,b,c))cout三角形(a,b,c)的面积是:AREA((a+b+c)/2,a,b,c)endl;elsecout错误:不能构成三角形!endl;return0;}boolValidate(doublea,doubleb,doublec){if((a0)&&(b0)&&(c0)){if((a+b)=c)return0;if((a+c)=b)return0;if((b+c)=a)return0;return1;//true}elsereturn0;//flase}2.定义一个描述学生基本情况的类,数据成员包括姓名、学号、C++、英语和数学成绩,成员函数包括输出数据、置姓名和学号、置3门课的成绩,求出总成绩和平均成绩。解:#includeiostream.h#includestring.hclassCStudentInfo9{charstu_name[20];charstu_id[10];floatC_score;floatE_score;floatM_score;public:CStudentInfo(char*name,char*id){strcpy(stu_name,name);strcpy(stu_id,id);C_score=E_score=M_score=0.00;}voidInit(floatscore1,floatscore2,floatscore3){C_score=score1;E_score=score2;M_score=score3;}floatGetTotal(){return(C_score+E_score+M_score);}floatGetAvg(){return(C_score+E_score+M_score)/3;}voidDisplay(){coutName:stu_nameID:stu_idendl;coutCLanguage:C_scoreEnglish:E_scoreMathmetics:M_scoreendl;coutTotalis:this-GetTotal()Averageis:this-GetA
本文标题:VC编程与应用试卷及答案
链接地址:https://www.777doc.com/doc-2854443 .html