2019-2020程序设计思想与方法(C )试卷与参考答案(A)
电大《Visual Basic程序设计》2019-2020期末题库及答案
《Visual Basic程序设计》2019-2020期末题库及答案一、单选题1. 以下不属于Visual Basic6.0的特点的选项是()。
A、可视化编程B、算法设计C、面向对象程序设计D、事件驱动2.在设计阶段,当双击窗体时,所打开的窗口是()。
A、工程资源管理器窗口B、工具箱窗口C、代码编辑器窗口D、属性窗口3.假定已在窗体上画了多个控件,并有一个控件是活动的,为了在属性窗口中设置窗体的属性,预先应执行的操作是()。
A、单击窗体上没有控件的地方B、单击任一个控件C、不执行任何操作D、双击窗体的标题栏4.在VB6.0集成开发环境中有三种工作模式,下列不属于三种工作模式之一的是()。
A、设计模式B、中断模式C、执行模式D、编写代码模式5.当需要上下文帮助时,选择要帮助的内容,希望出现MSDN窗口及显示所需的帮助信息,应按的键是()。
A、HelpB、F1C、EscD、F106.在设计应用程序时,可以查看到应用程序工程中所有组成部分的窗口是()。
A、窗体布局窗口B、代码编辑器窗口C、属性窗口D、工程资源管理器窗口7. 11.窗体设计窗口的主要功能是()。
A、设计控件外观B、编写源程序代码C、建立用户界面D、设置对象属性8. VB6.0集成开发环境可以()。
A、编辑、调试、运行程序,但不能生成可执行文件B、编辑、生成可执行文件、运行程序,但不能调试程序C、编辑、调试、生成可执行程序,但不能运行程序D、编辑、调试、运行程序,也能生成可执行文件9. Visual Basic应用程序处于执行模式时,这时()。
A、既不能设计界面,也不能编写代码B、可以编辑代码,不能设计界面C、可以设计界面,不能编辑代码D、既能设计界面,也能编写代码10.后缀为.vbp的文件表示VB 的()。
A、类模块文件B、窗体文件C、工程文件D、标准类模块文件11.为了保存一个Visual Basic应用程序,下列说法正确的是()。
A、只保存窗体文件(.frm)B、只保存工程文件(.vbp)C、分别保存工程文件和标准模块文件(.bas)D、分别保存工程文件、窗体文件和标准模块文件12.下面关于工程的概念中错误的是()。
计算机程序设计员复习题含参考答案
计算机程序设计员复习题含参考答案一、单选题(共100题,每题1分,共100分)1.知识产权包括著作权和( )两部分。
A、工业产权B、名誉权C、使用权D、专利权正确答案:A2.计算机程序设计员在工作中要从客观实际出发,不懂不装懂,多向用户学习,切忌( )。
A、客户第一B、一切向钱看C、主观臆断D、服务第一正确答案:C3.( )存储一个对话框模板,模板制定了对话框的特征,包括其大小、位置、风格以及对话框中各种控件等。
A、对话框类B、单模对话框C、对话框函数D、对话框模板资源正确答案:D4.( )协议的作用是提供一个网址的具体情况,它是Internet上最古老的协议之一。
A、FingerB、GopherC、FtpD、Http正确答案:A5.软件管理按时间可划分为生产管理和( )。
A、开发进度管理B、成本管理C、技术管理D、使用维护管理正确答案:D6.( )也称为分支覆盖,是一种较强的逻辑覆盖。
A、判定覆盖B、路径覆盖C、条件覆盖D、条件组合覆盖正确答案:A7.在VC中,如果在Menu Item属性页中选择( )复选框,表示此菜单项是一个多级菜单,并且其右边将会出现一个新菜单框。
A、CheckedB、inactiveC、Pop-upD、Grayed正确答案:C8.按( )来划分,总线可以分为单向和双向两种。
A、信息的传输方向B、数据线的宽度C、总线所处的层次D、用途正确答案:A9.数据独立性是指()A、数据库的数据依赖于用户的应用程序B、DBMS与DB相互独立C、用户应用程序与数据库的数据相互独立D、用户应用程序与DBMS相互独立正确答案:C10.概要设计的任务是( )。
A、发现并排除软件中的错误,最终把一个高质量的软件系统交付给用户使用B、实现人和计算机的通讯,产生一个机器能执行的源程序C、确定每个模块的数据结构和算法,确定模块的细节D、将软件需求说明转化为软件总体设计,确定软件结构及模块的划分,并确定各模块之间的接口正确答案:D11.( )方法的主要优点包括:与人类习惯的思维方法一致、稳定性好、可重用性好、可维护性好。
2020年全国自考C++程序设计考试题库及答案
2020年全国自考C++程序设计考试题库及答案一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行答案:B解析:(P21)经过编辑、编译、连接和运行四个步骤。
编辑是将C++源程序输入计算机的过程,保存文件名为cpp。
编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行。
连接是将目标文件obj转换为可执行程序的过程,结果为exe。
运行是执行exe,在屏幕上显示结果的过程。
2. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D解析:(P51)函数的返回值类型由定义函数时的指定的数据类型决定的。
A项的表达式的值要转换成函数的定义时的返回类型。
3. 下面叙述不正确的是()A. 派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的答案:D解析:(P136)继承方式有三种:公有、私有和保护。
多继承中,多个基类具有同名成员,在它们的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。
赋值兼容规则是指派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。
基类中的公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。
4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类C. 函数体D. 数据块答案:A解析:(P39)类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。
(完整版)C语言程序设计练习题(含程序及参考答案)
(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。
#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。
武汉纺织大学2019-2020学年软件工程专业《C语言程序设计》期末考试A卷
武汉纺织大学2019-2020学年软件工程专业《C语言程序设计》期末考试填空題(每空1分,共20分)1.C程序是由函数构成的,一个C源程序至少且仅包含一个主函数。
2.C语言规定标识符只能由数字、字母和下划线3种字符组成,且第一个字符必须为字母或下划线。
3.著名计算机科学家沃思提出的一个公式:数据结构+算法=程序。
4.Turbo C++中,若有语句:int a;则a的范围是-32768~32767。
5.C中的转义符“\n”表示:换行。
6.表达式 21 % 4 的值为1。
7.C语言中没有专门的字符串变量,如果想将一个字符串存放在变量中以便保存,必须使用字符数组。
8.已知a=79.345,则表达式 (int)a 的值为79 。
9.表达式 3 & 2 的值是1。
10. 若a=5,经a+=3;后a= 8。
11.已知ch='B',则表达式【(ch>='A ' && ch<='Z')? (ch+32):ch 】的值为。
12.C中定义符号常量PI为3.14159的宏命令是#define PI 3.14159。
13.函数形参和调用的实参是普通变量时,参数按传值方式进行传递。
14.C中逻辑运算符的优先次序是:!à&&à||。
15.定义一个共用体变量,共三个成员分别是字符型、整形和浮点型,则该共用体变量所占内存长度为4个字节。
单项选择题(每题2分,共40分)1.下列C语言标识符中,合法的是………………………………………………(D)A.ifB. returnC.23aD. a232.欲从键盘给整型变量a赋值3,b赋值2,则对应语句 scanf("%d,%d",&a,&b);的输入格式是………………………………………………………………………(D)A.3 2B.2 3C.2 3D.3,23. C语言源程序文件经过C编译程序编译连接之后生成的文件后缀名是……(A)A..exeB.objC. .batD. .c4.结构化程序设计的三种基本结构是…………………………………………(D)A. 顺序结构、复杂结构、循环结构B. 顺序结构、复杂结构、分支结构C. 顺序结构、分支结构、选择结构D. 顺序结构、选择结构、循环结构5.以下表达式中,值为0的是…………………………………………………(C)A.4%5B.4/5.0C.4/5D. 4<56.设下列表达式中所涉及的变量均已正确定义,则不符合C语言语法的是…( D )A.4&&3B.a++C.a=b=5D. int(3.14159)7.设变量定义为【int a[3]={1,3,5}, *p=&a[0]+1; 】,则*p的值是…………(B)A.2B.3C.4D. &a[0]+18. 在C 语言程序中,在函数内部定义的变量称为……………………………( D )A. 全局量B. 外部变量C. 全程变量D. 内部变量9. 对于以下的变量定义,正确的表达式是……………………………………( A )struct node {char s[10];int k;} p[4];A.p->k=2B.p[0]->k=2C.p(0)->k=2D. p->s='a'10.若变量c为char类型,则能正确判断出c为小写字母的表达式是…………(C )A. (c>= 'a')||(c<= 'z')B. 'a'<=c<= 'z'C.(c>='a')&&(c<='z')D.('a'<=c)and ('z'>=c)11.C语言中以“只读”方式打开文件,应选择的参数是…………………………(D)A.oB. wC.aD. r12.设变量定义为【int a[2][3]={1,2,3,4,5,6}, *p=a[1]; 】,则p的值是…(C)A. 数组a的首地址B. 数组a的第1个元素的地址C. 数组a的第“1”行的首地址D. 数组a的第“1”列的首地址13.用链表表示线性表的优点是………………………………………………( B )A. 便于随机存取B. 便于插入和删除操作C. 花费的存储空间较顺序存储少D. 数据元素的物理顺序与逻辑顺序相同14. 结构化程序设计主要强调的是……………………………………………(D )A. 程序的规模B. 程序设计语言的先进性C. 程序的效率D. 程序清晰的结构15.以下表达式中,不正确的字符常量是………………………………………( B )A.'n’B. "a"C.'2’D. '\101’16. 若【int x=12,*p=x;】,则正确的赋值表达式是……………………………(C)A.p=xB. p=*xC. *p=xD. *p=*x17.设有如下程序段:int i=5;for(;i<=10;)i++;执行完这段程序后,i的值是………………………………………………(D )A.5B. 6C. 10D. 1118.设有如下程序段:int i=15;while(i<15)i++;则以下描述中正确的是……………………………………………………(C)A. 循环体语句执行15次B. 这是一个死循环C. 循环体语句一次也不执行D. 循环体语句只执行一次19.设有如下程序段:char a[2][6]={"abcde","uvwxy"},*p=a[1];printf("\n%s",p);这段程序执行后,屏幕输出的结果是………………………………………(B )A.abcedB. uvwxyC. bD. v20.设有如下程序段:union{int i; char c;}a;a.i=12;a.c='A';printf("\n%d",a.i);这段程序执行后,屏幕输出的结果是………………………………………(C )A.12B. 97C.65D. A程序填空(每空3分,共15分)1.已知fibonacci数列:1,1,2,3,5,8,......,它可由下面公式表述:F(1)=1 n=1F(2)=1 n=2F(n)=F(n-1)+F(n-2) n>2以下程序的功能是求F(49)的值,请在下划线处填上正确内容,使程序能正确运行。
C程序设计题库及答案(精简)
【章节】第1章 C++基础知识【知识点】1、 C++程序的构成与书写形式;2、基本数据类型,常量、变量和表达式3、 C++的标准输入输出【单选题】1、在C++中,源程序变为可执行程序的正确顺序应该是( ) 。
A. 编辑、链接、编译、执行B. 编辑、编译、链接、执行C. 编译、编辑、链接、执行D. 编译、链接、编辑、执行答案:B2、要把高级语言编写的源程序转换为目标程序,需要使用( ) 。
A. 编辑程序B. 驱动程序C. 调试程序D. 编译程序答案:D3、下列关于C++与C语言的关系描述中,错误的是( ) 。
A. C语言是C++语言的一个子集B. C++与C语言是兼容的C. C++对C语言进行了一些改进D. C++和C语言都是面向对象的答案:D4、下面为使用面向对象语言的正确理由是( ) 。
A. 面向对象程序由三种基本结构组成,分别是顺序结构、选择结构和循环结构B. 程序语句比面向过程语言简单C. 面向对象程序设计可以设计为自行修改错误D. 面向对象程序很容易概念化答案:D5、以下选项中,合法的用户标识符是( ) 。
A. longB. _2TestC. 3DmaxD. A.dat答案:B6、下列描述中正确的是( ) 。
A. 不是每个C++程序都必须包含预处理命令#includeB. C++程序必须有return 语句C. C++程序中的变量必须定义在主程序内部D. C++程序中所使用的符号常量可以不进行定义答案:A7、C++源程序文件的扩展名为( ) 。
B. .CC. .DLLD. .EXE答案:A8、cout是I0流库预定义的( ) 。
A. 类B. 对象C. 包含文件D. 常量答案:B9、 C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( ) 。
A. 增加了一些新的运算符B. 允许函数重载,并允许设置缺省参数C. 规定函数说明符必须用原型D. 引进了类和对象的概念答案:D10、下列选项中,( ) 是不合法的标识符.A. ProgramB. Obj23C. doubleD. B_C_D答案:C11、下列标识符中,不合法的用户标识符为( ) 。
《面向对象程序设计C》期末试卷及标准答案(A)
《面向对象程序设计C》期末试卷及标准答案(A)一、选择题(每小题2分,共40分)1、C++是()。
A. 面向对象的程序设计语言B. 面向过程的程序设计语言C. 既支持面向对象的程序设计又支持面向过程的程序设计的混合型语言D. 非结构化的程序设计语言2、面向对象程序设计思想的主要特征中不包括()。
A. 封装性B. 多态性C. 继承性D. 功能分解,逐步求精3、若定义:string str; 当语句cin>>str; 执行时,从键盘输入:Microsoft Visual Studio 6.0!所得的结果是str=()。
A. Microsoft Visual Studio 6.0!B. MicrosoftC. Microsoft VisualD. Microsoft Visual Studio 6.04、考虑下面的函数原型声明:void testDefaulParam(int a,int b=7,char z='*');下面函数调用中,不合法的是()。
A. testDefaulParam(5);B. testDefaulParam(5,8);C. testDefaulParam(5,'#');D. testDefaulParam(0,0,'*');5、下列语句中,将函数int sum(int x, int y)正确重载的是()。
A. float sum(int x, int y);B. int sum(int a, int b);C. float sum(float x, float y);D. double sum(int y, int x);6、下列表示引用的方法中,()是正确的。
已知:int a=1000;A. int &x=a;B. char &yC. int &z=1000;D. float &t=&a7、在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用()。
C程序设计教程期末复习题及答案
C程序设计教程期末复习题及答案习题 1 一、选择题1(在C#中 B 都是对象。
A 任何类型B 任何事物C 任何代码D 任何技术 2(对象包含数据和 A 的方法。
A 在该数据上工作B 调用C 函数调用D 传递参数 3(一个类是 D 的蓝本。
A 数据集合B 函数集合C 方法集合D 给定功能集合 4(.NET构架包含公用语言运行时期和 B 。
5(.NET的核心是 A 。
A CLRB Windows2000C DNAD 分解平台 6(C#程序以 B 扩展名保存编写的程序。
A .CS B .PS C .CSS D .SCB 的命名空间。
7(System是A 存储系统类B 控制台类C I/O操作D 新项目 8(namespace用于声明 B 。
A 新项目B 一个命名空间C 类与方法D 指令 9(每个C#程序必须有一个 D 方法。
A 类方法B 构造方法C MainD 重载方法二、问答题1. 面向对象编程的三大原则是什么,答:封装、继承和多态性。
2. 封装是什么,答:封装是用于隐藏对象实际的制作细节。
3. 继承是什么,答:继承是在建立新的特定对象时,可以使用现有对象的功能性。
4. 多态性是什么,答:多态性是程序代码能够依据实际对象所需而进行不同的行为。
5. .NET的核心构件包括哪些,答:(1).NET构造块服务或有计划的访问某些服务。
(2)将在新的Internet设备上运行的.NET设备软件。
(3).NET用户经验。
6. CLR的作用是什么,答:CLR是.NET的核心,它是一个运行时期环境,在该环境中,以不同语言编写的应用程序均能始终运行。
三、编程题使用.NET代码编辑器编写一个C#应用程序,以在屏幕打印出:C# is the Component-oriented language in C and C++ family of language.要求:(1) 使用using System命名空间,即定位System命名空间的Console类。
程序设计基础试题(附答案)
程序设计基础试题(附答案)程序设计基础复习题一、单选1、一个完整的计算机系统应该包括()A、系统软件和应用软件B、计算机及其外部设备C、硬件系统和软件系统D、系统硬件和系统软件2、“裸机”的概念是指()A、正在进行设计还没有组装好的计算机B、已经组装好但还没有安装任何软件的计算机C、仅安装了操作系统的计算机系统D、安装了文字处理软件但没有安装专用数据处理系统的计算机3、世界上第一台电子数字计算机研制成功的时间是()A、1936年B、1946年C、1956年D、1970年4、CASE的含义是()A、计算机辅助设计B、计算机辅助制造C、计算机辅助教学D、计算机辅助软件工程5、当前广泛使用的微型计算机是()A、第一代B、第二代C、第三代D、第四代6、当代计算机的体系结构称为是()A、冯诺依曼机B、非冯诺依曼机C、图灵机D、比尔盖茨机7、硬盘是()A、输入设备B、输出设备C、存储设备D、计算设备8、下面4句话中,最准确的表述是()A、程序=算法+数据结构B、程序是使用编程语言实现算法C、程序的开发方法决定算法设计D、算法是程序设计中最关键的因素9、计算机能直接执行的语言是()A、机器语言B、汇编语言C、高级语言D、目标语言10、解释程序的功能是()A、将高级语言程序转换为目标程序B、将汇编语言程序转换为目标程序C、解释执行高级语言程序D、解释执行汇编语言程序11、下面4种程序设计语言中,不是面向对象式语言的是()A、JAVAB、Object PascalC、DelphiD、C12、不是C语言的基本数据类型是()A、intB、doubleC、charD、bool13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符()A、/B、%C、*D、++14、数据的逻辑结构分为()A、纯属结构和非线性结构B、顺序结构和非顺序结构C、树型结构和图型结构D、链式结构和顺序结构15、用链表表示纯属表的优点是()A、便于随机存取B、便于插入和删除操作C、花费的存储空间较顺序存储少D、元素的物理顺序与逻辑顺序相同16、栈的最主要特点是()A、先进先出B、先进后出C、两端进出D、一端进一端出17、下面4句结论只有一句是错误的,它是()A、二叉树是树B、二叉树的左右子树的位置可以颠倒C、可以使用二叉树的思想对数值进行排序D、可以采用链表方式存储二叉树18、螺旋模型中包括需求定义、风险分析、工程实惠和评审四个阶段,在开发过程中()A、每个周期都要包括这四个阶段B、每个周期可以包括不同的阶段C、在最后交付使用之前才进行评审D、在项目开始时才需要进行风险分析19、软件工程的出现主要是由于()A、程序设计方法学的影响B、其他工程科学的影响C、软件危机的出现D、计算机的发展20、在软件工程中,软件测试的目的是()A、试验性运行软件B、发现软件错误C、证明软件是正确的D、找出软件中全部错误二、填空题1、世界上最早的高级程序设计语言是()2、计算机按照工作原理进行分类可以分为()和()3、当前计算机的最基本原理采用的是()4、计算机存储器一般分为两级,它们是()和()5、高级语言程序的翻译有两种方式,一种是(),另一种是()6、数据的存储结构可以用()和()7、树型结构的主要特征是结点之间存在着一种层次的关系,数据元素之间的关系是()的关系。
程序设计思想与方法答案_陆朝俊
程序设计思想与方法课后习题答案陆朝俊1、page76_Q12from math import *r = input("请输入半径长:")V = 4 / 3 * pi * r **3S = 4 * pi * r ** 2print "Volume is ",Vprint "Superficial area is ",S2、page121_Q12x=input("请输入体重/kg:")y=float(input("请输入身高/m:"))l= x / ( y * y )if l < 19:print "您的BMI指数为%.2f" %(l)+",属于"+"轻体重"elif l < 25:print "您的BMI指数为%.2f" %(l)+",属于"+"健康体重"elif l < 28:print "您的BMI指数为%.2f" %(l)+",属于"+"超重"else:print "您的BMI指数为%.2f" %(l)+",属于"+"肥胖"z=raw_input("请输入任意键结束程序")3、page163_Q15def delta(a,b):delta =float( a - b )return deltadef slope(p1, p2, n):delta_x = delta (p1[0], p2[0])delta_y = delta (p1[1], p2[1])if delta_x != 0:k = delta_y / delta_xif n:print "通过两点的直线斜率为%0.2f" %(k)else:k = float("inf")if n:print "通过两点的直线斜率不存在"return k# n用来决定是否执行print语句def intercept(p1, p2, n):delta_x = delta (p1[0], p2[0])delta_y = delta (p1[1], p2[1])k = slope(p1, p2, n)if delta_x != 0:b = p2[1] - k * p2[0]print "通过两点的直线在y轴上的截距为%0.2f" %(b) else:b = float("inf")if n:print "通过两点的直线在y轴上的截距不存在"return bdef input_coor(i):x = input("请输入第%0.1d个点的x坐标:"%(i))y = input("请输入第%0.1d个点的y坐标:"%(i))return (x, y)p1 = input_coor(1)p2 = input_coor(2)slope(p1, p2, 0)intercept(p1, p2, 1)4、page122_Q22pi = 1.0delta = 1.0i = 2x = 1.0while delta >= 0.00001:y = ( - 1.0 )**( i + 1 )/( 2 * i - 1 )i = i + 1pi = pi + ydelta = max(y - x , x - y)x = y#print i,deltaprint 4 * pix = input()5、page201_Q11# -*- coding: cp936 -*-global Cglobal skyglobal gdglobal awayfrom Tkinter import *from math import sin,cos,pi,logfrom time import sleepfrom random import randintdef main():global Cglobal skyglobal gdglobal awayroot = Tk()C = Canvas(root, height = 400, width = 600, bg = "white" )C.pack()gd = C.create_polygon((0,266), (0,400), (600,400), (600,266),fill = "grey", outline = "")sky = C.create_polygon((0,266), (0,0), (600,0), (600,266),fill = "skyblue", outline = "")road= C.create_polygon((250,270),(350,270),(500,400),(100,400),fill ="SlateGray", outline ="SlateGray")side_1= C.create_line((250,270),(100,400),fill = "Bisque",width = 10)side_2= C.create_line((350,270),(500,400),fill = "Bisque",width = 10)away = C.create_polygon((249,266),(351,266),(351,276),(249,276),fill = "skyblue",outline = "skyblue")p1 =(540, 330)# = input("tree location")#3/4处p2 =(80, 330)# = input("snowman location")#1/4处p3 = (100, 100)#太阳tree(p1)#树完成!!!snowman(p2)#少眼睛和鼻子sun(p3)x = input("关闭程序")def snow(p,x):a = p[0]b = p[1]p1 =(a + x, b)p2 =(a + x / 2, b - 1.732 / 2 * x)p3 =(a - x / 2, b - 1.732 / 2 * x)p4 =(a - x, b)p5 =(a - x / 2, b + 1.732 / 2 * x)p6 =(a + x / 2, b + 1.732 / 2 * x)line_14 = C.create_line(p1, p4, fill = "snow")line_25 = C.create_line(p2, p5, fill = "snow")line_36 = C.create_line(p3, p6, fill = "snow")list = [line_14,line_25,line_36]return listdef star(p,i):global Clist = ["red","Gold","PaleTurquoise","pink","orange","Snow"]a = p[0]b = p[1]p1 = (a, b - 11)p2 = (a - 6, b + 9)p3 = (a + 8, b - 3)p4 = (a - 8, b - 3)p5 = (a + 6, b + 9)C.create_polygon(p1,p2,p3,p4,p5,fill = list[i - 1], outline = "" )def sun(p):#太阳的曲线方程:y = 0.00125 * x ^ 2 + 162.5 - 0.75 * x,微分方程: dy/dx = 0.01 * x - 2global Cglobal skyglobal gdglobal awayu = 0#用于记录第几次天亮#v = input("请输入一个数字,可以控制程序运行的速度哦~愈大愈快,建议值为3:") while True:list_x = []for i in range(50):list_x.append(randint(0,600))#用于雪花的x坐标list_y = []for i in range(50):list_y.append(randint(0,600))#用于雪花的y坐标t = 0a = p [0]b = p [1]p1 = [a - 15, b - 15]p2 = [a + 15, b + 15]#sun = C.create_oval(p1, p2, fill = "orange", outline = "")x = aif u >= 1:a = x - 130C.itemconfig(sky,fill = "skyblue")C.itemconfig(gd,fill = "gray")C.itemconfig(away,fill = "skyblue",outline = "skyblue")C.update()sleep(0.5)while x < 650:t = t + 0.005 * pix = a + 1#dx = 1y = 0.00125 * x * x + 162.5 - 0.75 * xa = xb = y#新太阳的x,ylist = []for i in range(12):n = 2 * pi / 12 * ic = a + cos (n + t) * 20d = b + sin (n + t) * 20e = a + cos (n - 0.2 + t) * 40f = b + sin (n - 0.2 + t) * 40m = C.create_line((c, d), (e, f), fill = "red")list.append(m)C.update()sun = C.create_oval([a - 15,b - 15], [a + 15, b + 15], fill = "orange", outline = "")#print a,bC.update()for i in range(len(list)):C.delete(list[i])C.delete(sun)sleep(0.04)t = 0#起始处(-30,186.125)a = -30x = aC.itemconfig(sky,fill = "midnightblue")C.itemconfig(gd,fill = "DarkGray")C.itemconfig(away,fill = "midnightblue",outline = "midnightblue")C.update()sleep(0.5)while x < 650:t = t + 1x = a + 1#dx = 1y = 0.00125 * x * x + 162.5 - 0.75 * xa = xb = y#新月亮的x,ymoon_1 = C.create_oval([a - 17,b - 17], [a + 17, b + 17], fill = "ghostwhite", outline = "")moon_2 = C.create_oval([a - 30, b - 25], [a + 7, b + 12], fill = "midnightblue", outline = "")list = []for i in range(50):snowlo = ((list_x[i] + t)%600, (list_y[i] + 1.5 * t)%400)list.append(snow(snowlo,3))C.update()sleep(0.03)C.delete(moon_1)C.delete(moon_2)for i in range(50):for j in range(3):C.delete(list[i][j])C.update()u = u + 1def tree(p1):#树根的大小不对,再调整p2 = (p1[0] - 25, p1[1] - 25)p3 = (p1[0] - 25, p1[1] - 50)p4 = (p1[0] - 40, p1[1] - 50)p5 = (p1[0] - 40, p1[1] - 25)p6 = (p1[0] - 65, p1[1] )global Cpa = p1pb = p6i = 1while p1[1] - pb[1] <= 50 :#树根高if pa[0] - pb[0] <= 20:pa = (pa[0], pa[1]-1)pb = (pb[0], pb[1]-1)C.create_line(pa, pb, width = 1, fill = "brown")else :pa = (pa[0] - 25 * 0.5 ** i, pa[1]-1)pb = (pb[0] + 25 * 0.5 ** i, pb[1]-1)C.create_line(pa, pb, width = 1, fill = "brown")i = i + 1#root_right_bottom = C.create_line(p1, p2, p3, smooth = 1, width = 4)#root_top = C.create_line(p3, p4, width = 4)#root_left_bottom = C.create_line(p6, p5, p4, smooth = 1, width = 4)#root_right_bottom = C.create_line(p1, p2, smooth = 1, width = 4)#root_top = C.create_line(p2, p3, p4, p5, width = 4)#root_left_bottom = C.create_line(p5, p6, smooth = 1, width = 4)#树根轮廓线p = ( (p1[0] + p6[0]) / 2, (p1[1] + p6[1]) / 2 )pn = (p1[0] + 40, p1[1] - 50)#每层树叶右下角的坐标#改为40,50leaf = []i = 1while pn[0] - p[0] >= 20:#最上层树叶宽度限制dx = pn[0] - p[0]pm = (p[0] - 1 * dx, pn[1] )pl = (p[0], pn[1] - dx )leaf.append(C.create_polygon(pn, pm, pl, width = 1, fill = 'ForestGreen', outline = "YellowGreen"))pn = (pn[0] - 12, pn[1] - 24)px = (pn[0] - 12 - 1.4 ** i, pn[1] + 20)py = (pm[0] + 12 + 2 ** i, pm[1]-4)if i <= 3:star(px,i)star(py,i + 3)else:star(px,i - 3)star(py,i)i = i + 1star(pl,6)def snowman(p1):#p1,身体正中global Ca = body_x = 40#input("body_x")b = body_y = 37#input("body_y")c = head = 25#input("head")#输入雪人的身体宽和高d = theta = 25.0 * pi /180.0e = wide = 4#input("width")#围巾和帽子的宽度#l = leg = input("leg")p2 = (p1[0] + a, p1[1] + b)#身体所在框右下点p3 = (p1[0] - a, p1[1] - b)#身体所在框左上点p4 = (p1[0], p1[1] - c + e - b )#头部中间,做成圆脸p5 = (p1[0] + b * cos(d), p1[1] - b * sin(d) )#它的左手p6 = (p1[0] - b * cos(d), p1[1] - b * sin(d) )#它的右手p7 = (p5[0] + 3, p5[1] + 5)#手臂的宽度由此而来,3/5p8 = (p6[0] - 3, p6[1] + 5)p9 = (p5[0] + 20, p5[1] - 12)#p10= (p6[0] - 20, p6[1] - 12)p11= (p7[0] + 20, p7[1] - 12)#p12= (p8[0] - 20, p8[1] - 12)p13= (p9[0] - 5, p9[1] - 8 )#p14= (p10[0] + 5, p10[1] - 8 )p15= (p9[0] + 5, p9[1] - 3 )p16= (p10[0] - 5, p10[1] - 3 )p17= (p11[0] + 5, p11[1] + 8)# #3,5p18= (p12[0] - 5, p12[1] + 8)p19= (p9[0] + 5 * 1.5, p9[1] - 3 * 0.5)#p20= (p10[0] - 5 * 1.5, p10[1] - 3 * 0.5)p21= (p11[0]+ 5 * 2.5, p11[1]- 3 * 2.5)#p22= (p12[0]- 5 * 2.5, p12[1]- 3 * 2.5)p23= (p4[0] - c, p4[1] - c )p24= (p4[0] + c, p4[1] + c )p25= (p4[0] - 0.167 * c, p4[1] + 0.33 * c )p26= (p4[0] + 0.667 * c, p4[1] + 0.33 * c )p28= (p4[0] + 0.6 * c, p4[1] - 0.5 * c)p27= (p28[0]- c, p28[1])arm1 = C.create_polygon(p5, p7, p11, p9,fill = "brown", smooth = 1)hand1_1= C.create_polygon(p13, p19, p15, p9, fill = "snow", outline = "grey", smooth = 1) hand1_2= C.create_polygon(p15, p21, p17, p11, p9, fill = "snow",outline = "grey", smooth = 1)#arm2 = C.create_polygon(p6, p8, p12, p10,fill = "brown", smooth = 1)hand2_1= C.create_polygon(p14, p20, p16, p10, fill = "snow", outline = "grey", smooth = 1) hand2_2= C.create_polygon(p16, p22, p18, p12, p10, fill = "snow",outline = "grey", smooth = 1)body = C.create_oval(p3, p2, fill = "snow", outline = "" ,width = 10)arm2 = C.create_polygon(p6, p8, p12, p10,fill = "brown", smooth = 1) #让左手臂在身体图层的上面,展现一种立体感head = C.create_oval(p23, p24,fill = "snow", outline = "grey")eyes_1 = C.create_oval((p27[0] - 5, p27[1] - 4), (p27[0] + 5, p27[1] + 4), fill = "Maroon")eyes_2 = C.create_oval((p28[0] - 5, p28[1] - 4), (p28[0] + 5, p28[1] + 4), fill = "Maroon")nose = C.create_polygon(p4, p25, p26, fill = "orange", outline = "", )C.move(nose, 0, -5)main()。
c面向对象程序设计期末考试题及完整参考答案
3)
4)
5)
6)
01223,王五,男,35岁
7)
洛阳理工学院
参考答案及评分标准
课程:
一、填空题(每空1分,共20分)
1.属性操作
2.泛化依赖泛化
3.命名空间 主程序方法 程序集
4.值类型委托类接口
5.方法名称参数列表
6.构造
7.整数字符串
8.显式私有
9.静态
二、判断题(每小题1分,共5分)
1.V2.V3.V4.V5.X
A)st.read() B)st::read() C)Student.read() D)Student::read()
四、简答题(每小题5分,共15分)
1.在面向对象的模型中,什么是类的多态性?C#是如何实现类的多态特性的?
2.
3.
五、
分)
1.
class Circle
{
protected float _r;〃圆的半径
三、选择题(每小题2分,共10分)
1.在设计一个类时,如果不希望外部对象访问该类成员,应定义为()。
A)私有的或保护的B)公有的C)保护的或者共有的D)公有的或者私有的
2.在类中未说明访问权限的情况下,所有成员都是()的
A)共有的B)私有的C)内部的D)保护的
3.关于数组型参数下面那个说法是错误的()
学院
考试时间:120分钟
一、填空题(每空1分,共20分)
1.客观世界中的事物都是对象。对象具有自己的,用来描述对象的静态特征;而对象的用于描述对
象的动态特征。
2.在面向对象的模型中,对象之间的关系可在类级别上概述为聚合、、口一般关联等四种。其中基
类和派生类之间的关系属于关系。
2019-2020年电大考试《VisualBasic程序设计》形考册答案及答案
Visual Basic程序设计_一、单项选择题(共10 道试题,共40 分。
)1. 一个VB应用程序可以包含几个vbp文件?()A. 1个B. 可以没有C. 2个D. 可以包含多个2. 下列()对象在运行时一定是不可见的。
A. LineB. TimerC. ShapeD. Frame3. 如果Winsock1.LocalPort=0,那么应用程序将使用()。
A. 注册端口B. 公认端口C. 常用端口D. 随机端口4. 如果要在文本框中键入字符时,只显示某个字符,如星号(*),应设置文本框的()属性。
A. CaptionB. PasswordCharC. TextD. Char5. 要使图片框自动地与窗体右对齐,应该设置它的()属性。
A. AlignB. AutoSizeC. LeftD. Width6. 要在窗体的标题栏中显示“我的第一个应用程序”,使用的语句是()。
A. Form1.Print"我的第一个应用程序"B. Form.Print"我的第一个应用程序"C. Form.caption="我的第一个应用程序"D. Form1.caption="我的第一个应用程序"7. 表达式7+10 Mod 3*2+2()。
A. 1B. 7C. 6D. 138. 在VB程序的以下几种错误中,最具隐藏性和破坏性的是()。
A. 运行时错误B. 编译错误C. 逻辑错误D. 实时错误9. 按照变量的作用域可将变量划分为()。
A. 公有、私有、系统B. 动态、常数、静态C. 全局变量、模块级变量、过程级变量D. Public、 Private、 Protected10. 无论何种控件,共同具有的属性是()。
A. TextB. NameC. CaptionD. ForeColor二、判断题(共10 道试题,共40 分。
)1. 通过VB编译生成的文件具有“.exe”文件扩展名,该文件只能在VB环境下执行。
C语言程序设计习题与参考答案
习题与参考答案第1章 C语言程序设计基础思考与练习一、填空题1、C程序是由构成的,一个C程序中至少包含。
2、C程序的注释是由和所界定的文字信息组成的。
3、开发一个C程序要经过编辑、、和运行4个环节。
4、C语言中,头文件的扩展名是。
5、C语言源程序的扩展名;经过编译后,生成文件的后缀是;经过连接后,生成文件的扩展名是。
二、简答题1、简述C语言程序的运行步骤。
2、软件编程中的可读性原则一般包括那些内容?3、什么是算法?算法的特点有哪些?4、参照本章例题,编写一个C程序,输出以下内容。
**************************************************Hello,world!**************************************************5、写出算法。
已知圆的半径,求周长和面积。
第1章思考与练习参考答案一、填空题1、函数、一个主函数main()2、/*、*/3、编译、连接4、.h5、.c、.obj、.exe二、简答题1、简述C语言程序的运行步骤。
答:(1)编辑C程序源文件;(2)编译,将编辑好的源程序文件“*.c”,翻译成二进制目标代码文件“*.obj”;(3)连接,将编译生成的各个目标程序模块和系统或第三方提供的库函数“*.lib”连接在一起,生成可以脱离开发环境、直接在操作系统下运行的可执行文件“*.exe”;(4)运行程序。
如果运行出错,这说明程序处理的逻辑存在问题,需要再次回到编辑环境针对程序出现的逻辑错误进一步检查、修改源程序,重复编辑→编译→连接→运行的过程,直到取得预期结果为止。
2、软件编程中的可读性原则一般包括那些内容?答:1.编程规范概要(1)程序结构清晰,简单易懂,单个函数的程序行数不得超过100行。
(2)打算干什么,要简单,直截了当,代码精简,避免垃圾程序。
(3)尽量使用标准库函数和公共函数。
(4)不要随意定义全局变量,尽量使用局部变量。
2019年4月自考C++程序设计试题及答案解析(一)
2019年4月自考C++程序设计试题及答案解析(一)总分:100分题量:50题一、单选题(共40题,共80分)1.在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限()A.受限制B.保持不变C.受保护D.不受保护正确答案:B本题解析:暂无解析2.假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb;},则执行Ax(4,5);语句后,和的值分别为()A.3和15B.5和4C.4和20D.20和5正确答案:C本题解析:暂无解析3.C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是()A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念正确答案:D本题解析:暂无解析4.在类中说明的成员可以使用关键字的是()A.publicB.externC.cpuD.register正确答案:A本题解析:暂无解析5.C++语言中所有在函数中定义的变量,连同形式参数,都属于()A.全局变量B.局部变量C.静态变量D.函数正确答案:B本题解析:暂无解析6.在私有继承的情况下,基类成员在派生类中的访问权限()A.受限制B.保持不变C.受保护D.不受保护正确答案:A本题解析:暂无解析7.C++的继承性允许派生类继承基类的()A.部分特性,并允许增加新的特性或重定义基类的特性B.部分特性,但不允许增加新的特性或重定义基类的特性C.所有特性,并允许增加新的特性或重定义基类的特性D.所有特性,但不允许增加新的特性或重定义基类的特性正确答案:C本题解析:暂无解析8.对于int*pa[5];的描述,正确的是()A.pa是一个指向数组的指针,所指向的数组是5个int型元素B.pa是一个指向某个数组中第5个元素的指针,该元素是int型变量C.pa[5]表示某个数组的第5个元素的值D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针正确答案:D本题解析:暂无解析9.使用地址作为实参传给形参,下列说法正确的是()A.实参是形参的备份B.实参与形参无联系C.形参是实参的备份D.实参与形参是同一对象正确答案:D本题解析:暂无解析10.以下基类中的成员函数表示纯虚函数的是()A.virtualvoidtt()=0B.voidtt(int)=0C.virtualvoidtt(int)D.virtualvoidtt(int){}正确答案:A本题解析:暂无解析11.类中定义的成员默认访问属性为()A.publicB.privateC.protectedD.friend正确答案:B本题解析:暂无解析12.拷贝构造函数的参数是()A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名正确答案:C本题解析:暂无解析13.关于类模板的说法正确的是()A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员具有同样类型D.类模板中的成员函数没有返回值正确答案:B本题解析:暂无解析14.下列有关重载函数的说法中正确的是()A.重载函数必须具有不同的返回值类型B.重载函数参数个数必须相同C.重载函数必须有不同的形参列表D.重载函数名可以不同正确答案:C本题解析:暂无解析15.当一个类的某个函数被说明为virtual时,在该类的所有派生类中的同原型函数()A.都是虚函数B.只有被重新说明时才是虚函数C.都不是虚函数D.只有被重新说明为virtual时才是虚函数正确答案:A本题解析:暂无解析16.设有定义inti;doublej=5;,则10+i+j值的数据类型是()A.intB.doubleC.floatD.不确定正确答案:B本题解析:暂无解析17.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为()A.constchar*p=“ABCD”;B.char*constp=“ABCD”;C.charconst*p=“ABCD”;D.constchar*constp=“ABCD”;正确答案:D本题解析:暂无解析18.类的构造函数被自动调用执行的情况是在定义该类的()A.成员函数时B.数据成员时C.对象时D.友元函数时正确答案:C本题解析:暂无解析19.已知类A是类B的友元,类B是类C的友元,则()A.类A一定是类C的友元B.类C一定是类A的友元C.类C的成员函数可以访问类B的对象的任何成员D.类A的成员函数可以访问类B的对象的任何成员正确答案:D本题解析:暂无解析20.假定一个类的构造函数为“A(inti=4,intj=0){a=i;b=j;}”,则执行“Ax(1);”语句后,和的值分别为()A.1和0B.1和4C.4和0D.4和1正确答案:A本题解析:暂无解析21.关于this指针使用说法正确的是()A.保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B.保证基类私有成员在子类中可以被访问。
2019年4月04737C++程序设计试题及答案
C. virtual void tt(int);
D. virtual void tt(int) l I
16. 下列关于类的必须有 delete 语句
C. 可以被重载
D. 无形参,也不可重载
17. 作用域运算符” :: ” 的功能是:
A. 标识作用域的级别
用中,属于不合法调用的是 A.funl (3.14 ) C.fun1(3.14, "$", "@" )
B.fun1(3.14, "#") D.funl(3. 14,"#",7, "@")
20. 下面关于友元的描述中,错误的是
A. 友元函数可以直接访问该类的私有成员
B. 一个类的友元类中的所有成员函数都是这个类的友元函数
第 一 部分 选择题
一、单项选择题:本大题共20小题,每小题1分,共20分。在每小题列出的备选项中只有 一项是最符合题目要求的,请将其选出。
1. C++语言与 C 语言相比,在求解问题方法上进行的最大改进是
A. 面向过程
B. 面向对象
C. 安全性
D. 复用性
2. 已知类 A 中一个成员函数说明“ void Set(A&a) ; " ,其中 A&a 的含义是
A. 对象指针
B. 对象名
C. 成员名限定
D. 派生类名
13. 假设 ClassY : publicX,即类 Y 是类 X 的派生类,则说明一个 Y 类的对象时和删除 Y 类
对象时,调用构造函数和析构函数的次序分别为
A. X,Y;Y,X
B. X,Y;X,Y
C. Y,X;X,Y
D.Y,X;Y,X
2020年《 C++程序设计》试卷 (含答案)
2020年《 C++程序设计》试卷一、单项选择题:(每小题2分,共20分)1.以下叙述中错误的是()。
A)用户所定义的C++标识符允许使用关键字B)用户所定义的C++标识符应尽量做到“见名知意”C)用户所定义的C++标识符必须以字符或下划线开头D)用户所定义的C++标识符中,大、小写字符代表不同标识。
2.用C++语言编制的源程序要变为目标程序必须经过()。
A)解释B)汇编C)编辑D)编译3.设有定义语句:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()。
A) 2.5 B) 2.75 C) 3.5 D) 0.04.以下所列的C++语言常量中,错误的是( )。
A) 0xFF B) 1.2e0.5 C) 2L D) ‘\72’5.设有:int a=7,b=5,c=3, d=1; , 则条件表达式a<b?a:c>d?c:d的值为()。
A)7 B) 5 C) 3 D) 16.以下程序的运行结果是()。
int main(){ short b=-1;unsigned short a;a=b;cout<<a;return 0;}A) -32768 B) 32767 C) 65535 D) -17.设有定义语句:int a[ ]={0,2,4,6,8,10},*p=a;,值不等于0的表达式是()。
A)*p++ B)*(p++) C)(*p)++ D)*++p8.以下对C++字符数组的描述错误的是( )。
A) 字符数组可以存放字符串;B) 字符数组的字符串可以整体输入和输出;C) 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值;D) 不可以用关系运算符对字符数组中的字符串进行比较;9.下列带有默认参数的函数原型声明中,正确的是()。
A) void f(int a=5 , int b=5, int c);B) void f(int a, int b, int c=5);C) void f(int a , int b=5 , int c );D) float fun(int a=5 ,int b, int c=5);;10.设有下列定义语句:struct node {int x; int y;} n[3]={{1,2},{3,4},{5,6}};值等于4的正确表达式是()。
2019-2020程序设计思想与方法(C )试卷与参考答案(A)
2.#include <iostream>using namespace std;int main(){for (int i=0; i < 3; ++i){int j = 5;while(i < j){j = j - 3 - i;cout << '*';}switch (j) {case -1:cout << 'A';break;case 0:cout << 'B';break;case 1:cout << 'C';default:cout << 'E';}}return 0;} 参考答案:**A*CE*B3.#include <iostream>using namespace std;int *addone(int &arg){arg += 1;int *ptr = new int(arg);return ptr;}int main() {int a[5] = {1, 2, 3, 4}, *p, i;p = a;for(i=0; i<5; ++i) {p = addone(a[i]);a[i] *= *p;delete p;cout << a[i] << endl;}return 0;2. 定义一个日期类TDate,使得下面测试程序(15分)int main(){TDate dt1(2,28,2020),dt2(12,31,2020);dt1.nextDay();dt1.print();cout << endl;dt2.nextDay();dt2.print();cout << endl;return 0;}运行结果为:2/29/20201/1/2021其中:函数nextDay()实现求第二天日期的功能,函数print()实现输出日期的功能。
C++试卷及答案
C++程序设计(A)一、选择题(每小题2分,共20分)1、关于对象概念的描述中,()是错误的。
A. 对象就是C语言中的结构变量B. 对象代表着正在创建的系统中的一个实体C. 对象是一个状态和操作(或方法)的封装体D. 对象之间的信息传递是通过消息进行的2、对于int *pa[5];的描述,()是正确的。
A. pa是一个指向数组的指针,所指向的数组是5个int型元素B.pa是一个指向某个数组中第5个元素的指针,该元素是int型变量C.pa[5]表示某个数组的第5个元素的值D.pa是一个具有5个元素的指针数组,每个元素是一个int型指针3、下列for循环的循环体执行次数为()。
for(int i=0,j=10;i=j=4;i++,j- -)A. 0B. 无限C. 4D. 14、下述静态数据成员的特征中,()是错误的。
A. 说明静态数据成员时前边要加修饰符staticB.静态数据成员要在类体外进行初始化C.引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符D.静态数据成员不是所有对象所共用的5、()是析构函数的特征。
A. 一个类中只能定义一个析构函数B. 析构函数与类名不同C. 析构函数的定义只能在类体内D. 析构函数可以有各个或多个参数。
6、已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象,如果要给m赋值为5,下列表达式()是正确的。
A. A1.p=5B. A1->p=5C. A1.*p=5D. *A1.p=57、关于new运算符的下列描述中,( )是错误的。
A. 它可以用来动态创建对象和对象数组B.使用它创建的对象或对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值8、派生类的对象对它的基类成员中()是可以访问的。
A. 公有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.私有继承的公有成员9、下列()是引用调用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
D. stu[1].name
13.当说明一个结构体变量时,系统分配给它的内存是 A
。
A. 结构体各成员所需内存量的总和
B. 结构体中第一个成员所需内存量
C. 结构体成员中占内存量最大者所需内存量
D. 结构体中最后一个成员所需内存量
14.能够释放对象所占资源的是___A______。
A. 析构函数
B. 拷贝构造函数
A. cout<<(int)ch; B. cout<<”ch”;
C. cout<<ch; D. cout<<ch+’0’;
2. 有如下的枚举定义:
enum color { Monday=1, Tuesday, Wednesday, Thursday, Friday, Saturday=11, Sunday};
A.= =(obj1,obj2)
B. operator= =(obj1,obj2)
C.obj1.operator= =(obj2)
D. obj2.operator= =(obj1)
17. 如将类 X 的*运算符重载为友元函数,实现类 X 的两个对象相乘,并返回相乘后的结果,
则该函数的声明语句为___A______。 A. X operator*(const X & a , const X & b); C. X & operator*(const X & a , const X & b);
是_ C ___。
A. '\n'
B. ' '
C. '$'
D. '\0'
[键入文字] A 卷 总 10 页 第 1 页
我承诺,我将严 格遵守考试纪律。
题号 得分
一
二
三
四
承诺人:
批阅人(流水阅 卷教师签名处)
8. 已知 char str[10] = "2019\t";则 strlen(str)+sizeof(str)的值是__B__ 。
case 5:
{
cout<<"NOT";
if(2<y<10)
cout<<"NOT";
cout<<"NOT";
cout<<" OK";
cout<<" OK";
default :
}
cout<<" OK";
cout<<" OK";
}
5. 下列循环语句有错误的是___ A _____。 A. int i = 0, sz = 10; for (i != sz; ++i) {…} C. while (1) {…}
C. 构造函数
D. 静态成员函数
15. 已知 A 类,则当程序执行到语句:A a[4],*pa[3];时,调用了____B_____次构造函数。
A. 3
B. 4
C. 7
D. 8
[键入文字] A 卷 总 10 页 第 2 页
16.如果运算符= =被重载为类成员函数,则表达式 obj1 = = obj2 被 C++编译器解释为____C_____。
则 Wednesday 和 Sunday 的值分别为___ C_____。
A. 3, 7
B. 2, 6
C. 3, 12
D. 2, 7
3. 执行下列语句后,s 的值是多少___ D_____。
int s=0;
for(int i=0;i<=10;i++)
if(i%2==0 || i%3==0) continue;
11.已知函数 fun 的原型是:void fun(double *a, char &b, ); 变量 v1、v2 的定义是: double v1[100]; char v2;,正确的调用语句是_ B ____ 。 A. fun (v1, &v2) ; B. fun (v1, v2); C. fun (&v1, &v2) ; D. fun (&v1, v2);
A.小于等于 14
B. 15
C. 16
D. 17
9. 以下有关函数的说法,正确的是__ B ____ 。 A. 不能定义两个函数名一样的函数 B. 两个函数的原型声明不能相同 C. 函数返回时所有局部变量都会自动被撤销 D. 参数传递是值传递,数组作为参数传递时,数组按元素逐一传递
10.下面有关变量生命周期的说法,正确的是___C___ 。 A. 自动变量是由系统自动在堆区域为其分配空间,当定义它的函数返回时自动消亡 B. 静态局部变量存在于系统的栈区域,会随着定义的函数返回而消亡 C. 静态局部变量和静态全局变量一样,都是在整个程序退出时才消亡 D. 以上说法都是错误的
上 海 交 通 大 学 试 卷( A 卷)
( 2019 至 2020 学年 第 1 学期 )
班级号 _______________ 学号__________________ 课程名称 CS154 程序设计思想与方法(C++)
姓名 成绩
一.选择填空题(每题 1 分, 共 20 分)
1. 设有语句 char ch; cin.get(ch); 下列能够输出 ch 的 ASCII 码的语句是__A___。
else s+=i;
A.12
B.11 C.14 D.13
4. 有整型变量 y=5; 运行代码的结果是显示: NOT OK. 以下正确的代码块是:__ C____。
A.
B.
C.
D.
y=(y>1)?0:10;
if (10>y>2)
switch(y){
while(y>=5)
if (y)
cout<<"NOT";
12.若有如下定义,则对数组元素的成员引用不正确的是_C_____ 。
struct Student{int id; char name[20]; char gender;
int age;};
Student stu [2],*p; p=stu;
A. p[1].gender B. p->age
C. p[0]->id
B. for (int i=0, sz=10; i < sz; ++i) {…} D. int z) {…}
6. 以下对跳转语句 continue 和 break 的叙述错误的是___D_____。
A. continue 语句只能出现在循环内部
B. break 语句可以用于 switch 语句中
C. continue 语句终止最近的循环中的当前迭代,并立即开始下一次迭代
D. 若 while 循环中包含 switch 语句,switch 语句中的 break 可以跳出 while 循环
7. 执行 C++语句 cin.getline(str, 80, '$'); 从输入流读取字符串后,字符数组 str 中不可能包含的字符