大工19秋《C C++语言程序设计》在线作业2 辅导答案
- 格式:doc
- 大小:28.50 KB
- 文档页数:3
福师《C 语言程序设计》在线作业二-0005试卷总分:100 得分:100一、单选题 (共 20 道试题,共 40 分)1.下面说法中,正确的是()A.公有派生类的成员函数可以访问基类的私有成员B.私有派生类的成员函数可以访问基类的私有成员C.无论公有派生还是私有派生,派生类的成员函数均可以访问基类的公有成员D.无论公有派生还是私有派生,派生类的成员函数均可以访问基类的私有成员答案:C2.下列叙述错误的是()。
A.一个函数中可以有多条return语句B.调用函数必须在一条独立的语句中完成C.函数中通过return语句传递函数值D.主函数main也可以带有形参答案:B3.在对typedef的叙述中错误的是()。
A.用typedef可以定义各种类型名,但不能用来定义变量B.用typedef可以增加新类型C.用typedef只是将已存在的类型用一个新的标识符来代表D.使用typedef有利于程序的通用和移植答案:B4.若x,y,z均被定义为整数,则下列表达式终能正确表达代数式1/(x*y*z)的是()A.1/x*y*zB.1.0/(x*y*z)C.1/(x*y*z)D.1/x/y/(float)z答案:B5.已知下列语句中的x和y都是int型变量,其中不正确的语句是()A.y+=++x;B.++x+=y;C.y=x++;D.x++=y;答案:D6.下面对于友元函数描述正确的是()。
A.友元函数的实现必须在类的内部定义B.友元函数是类的成员函数C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员答案:C7.当一个派生类公有继承一个基类时,基类中的所有公有成员成为派生类的______。
()A.public 成员。
C++语言程序设计教程课后习题答案(2011-03-09 17:24:22) 标签:杂谈分类:学习第 1 章 C++ 语言概述练习题 1判断题×1. C++ 语言和 C 语言都是面向对象的程序设计语言。
√2.面向对象方法具有封装性、继承性和多态性。
√3. C 语言是 C++ 语言的一个子集。
C++ 语言继承了 C 语言。
×4. C++ 语言程序与 C 语言程序一样都是函数串。
×5. C++ 语言支持封装性和继承性,不支持多态性。
√6. C++ 语言比 C 语言对数据类型要求更加严格了。
√7. C++ 语言对 C 语言进行了一次改进,使得编程更加方便了。
×8. C++ 源程序在编译时可能出现错误信息,而在连接时不会出现错误信息。
√9.编译 C++ 源程序时,出现了警告错( Warning )也可以生成可执行文件。
√10. C++ 语言程序的实现也要经过编辑、编译连接和运行 3 个步骤。
单选题1.下列关于面向对象概念的描述中,错误的是(C)。
A.面向对象方法比面向过程方法更加先进B.面向对象方法中使用了一些面向过程方法中没有的概念C.面向对象方法替代了结构化程序设计方法D.面向对象程序设计方法要使用面向对象的程序设计语言D)。
2.下列各种高级语言中,不是面向对象的程序设计语言是(A . C++B . JavaC.VB D.CA)。
3.下列关于类的描述中,错误的是(A .类就是 C 语言中的结构类型B.类是创建对象的模板C.类是抽象数据类型的实现D.类是具有共同行为的若干对象的统一描述体4.下列关于对象的描述中,错误的是(C)。
A.对象是类的一个实例B.对象是属性和行为的封装体C.对象就是 C 语言中的结构变量D.对象是现实世界中客观存在的某种实体5.下列关于 C++ 程序中使用提取符和插入符的输入 /输出语句的描述中,错误的是( C )。
A .提取符是对右移运算符( >>)重载得到的B.插入符是对左移运算符(<<)重载得到的C.提取符和插入符都是双目运算符,它们要求有两个操作数D.提取符和插入符在输入/输出语句中不可以连用填空题1. C++ 语言具有面向对象方法中要求的三大特性:封装性、继承性和多态性。
《C程序设计Ⅱ》作业本学院计算机信息工程学院班级学号姓名2010年2月第七部分函数一、选择题(共20分,每题1分)1.以下正确的函数形式是____D_。
A.double fun(int x,int y) B. fun(int x,y){ z=x+y; return z; } { int z; return z; } C.fun(x,y) D.double fun(int x,int y) { int x,y; double z; z=x+y; return z; } { double z; z=x+y; return z; } 2.C语言中,简单变量做参数.以下正确的说法是_____A__ 。
A.实参和与其对应的形参各占用独立的存储单元B.实参和与其对应的形参共占用一个存储单元C.只有当实参和与其对应的形参同名时才共占用存储单元D.形参是虚拟的,不占用存储单元3.若调用一个有返回类型的函数,且此函数中没有return语句,则该函数____D_______。
A.没有返回值B.返回若干个系统默认值C.能返回一个用户所希望的函数值D.返回一个不确定的值4.在C语言中,函数的数据类型是指_____A__ 。
A.函数返回值的数据类型B.函数形参的数据类型C.调用该函数时的实参的数据类型D.任意指定的数据类型5.以下不正确的说法是______A。
A.定义函数时,形参的类型说明可以放在函数体内B.return后边的值不能为表达式C.如果函数值的类型与返回值不一致,以函数值类型为准D.如果形参与其实参的类型不一致,以形参类型为准6.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是____B__ 。
A.地址传递B.单向值传递C.由实参传给形参,再由形参传回给实参D.由用户指定传递方式7.C语言规定,函数返回值的类型是由D_。
A.return语句中的表达式类型所决定B.调用该函数时的主调函数类型所决定C.调用该函数时系统临时决定D.在定义该函数时所指定的函数类型所决定8.下面函数调用语句含有实参的个数为_____ B。
[兰州大学]《C语言程序设计》19秋学期在线考核试题答卷(参考)《C语言程序设计》19秋学期在线考核试题-0001试卷总分:100 得分:70一、单选题 (共 20 道试题,共 40 分)1.以下程序的执行结果是()。
#include<stdio.h>main(){int i=10,j=10;printf("%d,%d\n",++i,j--);}A.9,10B.11,9C.11,10D.10,9答案:C2.若有char a[5],*p=a;则下面的选项中正确的赋值语句是()A.p=“abcd”B.a=“abcd”C.*p=“abcd”D.*a=“abcd”答案:A3.若定义int m=7,n=12; 则能得到值为3的表达式是()A.n%=m-m%5B.n%=(m-m%5)C.n%=(m%=5)D.(n%=m)-(m%=5)答案:D4.C语言源程序的基本单位是()A.过程B.标识符C.子程序D.函数5.若有以下类型说明语句:char a; int b; float c; double d; 则表达式a*b+d-c的结果类型为()。
A.intB.doubleC.charD.Float答案:B6.以下关于运算符优先顺序的描述中正确的是( )A.逻辑运算符<关系运算符<算术运算符<赋值运算符B.赋值运算符<逻辑运算符<关系运算符<算术运算符C.算术运算符<关系运算符<赋值运算符<逻辑运算符D.关系运算符<算术运算符<赋值运算符<逻辑运算符答案:B7.表示关系12<=x<=y的C语言表达式为:()A.(12<=x)||(x<=y)B.(12<=x)|(x<=y)C.(12<=x)&(x<=y)D.(12<=x)&&(x<=y)答案:D8.若有定义:int (*p)[3]; 则p( )A.是一个指针数组名B.是一个指针,它指向一个含有3个整型元素的一维数组C.是一个指向整型变量的指针D.定义不合法答案:B9.若有定义:int x,*pb;则正确的赋值表达式是( )A.pb=xB.pb=&xC.*pb=*xD.*pb=&x10.对二维数组的正确定义是()A.int a[ ] [3]={1,2,3,4,5,6};B.int a[2,3]={1,2,3,4,5,6}C.int a[2] [ ]={1,2,3,4,5,6};D.int a[ ] [ ]={1,2,3,4,5,6};答案:A11.若变量已正确定义,以下非法的表达式是()。
C++程序设计19秋在线作业2【满分答案】1 试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.下列()可以是虚函数。
A.构造函数
B.拷贝构造函数
C.静态成员函数
D.析构函数
[认真阅读上述试题,并作出选择]
正确答案:D
2.下列语句中错误的是()。
A.int *p=new int (10);
B.int *p=new int[10];
C.int *p=new int;
D.int *p=new int[40](0);
[认真阅读上述试题,并作出选择]
正确答案:D
3.下列函数中,()是对文件进行读操作的。
A.put
B.read
C.write
D.seekp
[认真阅读上述试题,并作出选择]
正确答案:B
4.下列函数中,()是对文件进行写操作的。
A.get()
B.read()
C.seekg()
D.put()
[认真阅读上述试题,并作出选择]
正确答案:D
5.get()函数的功能是从输入流中读取()。
A.一个字符
B.当前字符
C.一行字符
D.指定若干个字符
[认真阅读上述试题,并作出选择]
正确答案:A。
【奥鹏】19秋福师《C++语言程序设计》在线作业二
试卷总分:100 得分:100
一、单选题(共20题,40分)
1、定义inta[2][3],*prt[2],i; for(i=1;i<2;i++)prt[i]=a[i]; 则对a数组的正确引用为()。
Aprt[0][0]
B*(a+1)[2]
C*(prt[1]+2)
D*(&a[0][0]+2)
[仔细分析上述题目,并作出选择]
正确答案是:B
2、下列()是正确的语句。
A;
B=17
Cx+y
Dout<<"\n"
[仔细分析上述题目,并作出选择]
正确答案是:A
3、表示在输出时显示小数位,和在文件输入时判断文件尾的函数分别是()。
Ashowbase()和eof()
Bshowpoint()和eof()
Cshowpoint()和bad()
Dshowpoint()和good()
[仔细分析上述题目,并作出选择]
正确答案是:B
4、在函数定义前加上关键字”inline”,表示该函数被定义为()。
A重载函数
B内联函数
C成员函数
D普通函数
[仔细分析上述题目,并作出选择]
正确答案是:B
5、如果变量x,y已经正确定义,下列语句哪一项不能正确将x,y的值进行交换
Ax=x+y,y=x-y,x=x-y
Bt=x,x=y,y=t
Ct=y,y=x,x=t
Dx=t,t=y,y=x
[仔细分析上述题目,并作出选择]。
(完整版)2019二级C语言题库参考答案解析2019年C语言考题答案1、程序填空题给定的程序的功能是调用fun函数建立班级通讯录。
通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5。
dat的二进制中.填空:(1)STYPE (2)FILE (3)fp改错: (1) for(i=0;i<=sl;i++) (2) t[2*sl]=’\0'或t[sl+sl]='\0’编程:*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);2、程序填空题给定程序的功能是:从键盘输入若干文本(每行不超过80个字符),写到文件myfile4.txt中,用—1作为字符串输出输入的标志。
然后将文件的内容读出显示在屏幕上.文件的读写分别由自定义函数ReadText和Writetext实现。
填空:(1) *fw (2) str (3) str改错:(1) void fun(long s,long *t)(2)s1=s1*10;编程:int i,j=0,min=a[0]。
s;for(i=0;i〈N;i++){if(a[i].s〈min){j=0;b[j++]=a[i];min=a[i].s;}else if(min==a[i].s)b[j++]=a[i];}return j;3、程序填空题给定程序中,函数fun的功能是:讲自然数1~10以及它们的平方根写到名为myfile3。
txt的文本中,然后再按顺序读出显示在屏幕上。
填空:(1)fp(2)fclose(fp)(3)myfile3.txt改错:(1)for(i=j+1;i〈n;i++) (2)p=i;编程:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;4、程序填空题给定程序中,函数fun的功能是:找出形参s所指字符串出现频率最高的字母(不区分大小写),并统计出其出现的次数,例如,形参s所指的字符串为:abcAbsmaxiess,程序执行后的输出结果为:letter 'a':3 timesletter 's’:3 times填空:(1) "r" (2 )fs (3)ft改错:(1) if (d%2==0)(2 ) s/=10;编程:int i = 0, j = 0;while(s[i]){if(i % 2 == 0 && s[i]% 2 == 0)t[j++] = s[i];i++;}t[j] = 0;5、程序填空题给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接,函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。
2019 年3 月全国计算机等级考试二级C 语言真题(考试时间90 分钟,满分100 分)一、选择题1、下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构D、循环队列是一直逻辑结构2、下列叙述中正确的是A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对3、一棵二叉树共有25 个节点,其中5 个时子节点,那么度为1 的节点数为A、4B、6C、10D、164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式B、外模式C、概念模式D、逻辑模式5、在满足实体完整性约束的条件下A、一个关系中可以没有候选关键词B、一个关系中只能有一个候选关键词C、一个关系中必须有多个候选关键词D、一个关系中应该有一个或者多个候选关键词6、有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A、自然连接B、并C、差D、交7、软件生命周期中的活动不包括A、软件维护B、市场调研C、软件测试D、需求分析8、下面不属于需求分析阶段任务的是A、确定软件系统的功能需求B、确定软件系统的系统的系能需求B、制定软件集成测试计划D、需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A、程序外部功能B、程序内部逻辑C、程序数据结构D、程序流程图10、在软件设计中不使用的工具是A、系统结构图B、程序流程图C、PAD 图D、数据流图(DFD 图)211、针对简单程序设计,以下叙述的实施步骤正确的是A、确定算法和数据结构、编码、调试、整理文档B、编码、确定算法和数据结构、调试、整理文档C、整理文档、确定算法和数据结构、编码、调试D、确定算法和数据结构、调试、编码、整理文档12、关于C 语言中数的表示,以下叙述正确的是A、只有整型数在允许范围内能精确无误的表示,实型数会有误差B、只要在在允许范围内整型和实型都能精确表示C、只有实型数在允许范围内能精确无误的表示,整型数会有误差D、只有八进制表示的数在不会有误差13、以下关于算法叙述错误的是A、算法可以用伪代码、流程图等多种形式来描述B、一个正确的算法必须有输入C、一个正确的算法必须有输出D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是A、一个C 程序可以包含多个不同名的函数B、一个C 程序只能有一个主函数C、C 程序在书写时,有严格的缩进要求,否则不能编译通过D、C 程序的主函数必须用main 作为函数名15、设有以下语句Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2).若要为变量ch1 和ch2 分别输入字符A 和B,正确的输入形式应该是A、A 和B 之间用逗号间隔B、A 和B 之间不能有任何间隔符C、A 和B 之间可以用回车间隔D、A 和B 之间用空格间隔16、以下选项中非法的字符常量是A、’\102’B、’\65’C、’\xff’D、’\019’17、有以下程序#include <sthio.h>Main()Int A=0,B=0,C=0.C=(A=A5).(A=B,B+=4).Printf(“%d, %d, %d\n”,A,B,C)程序运行后输出的结果是A 0,4,5B 4,4,5C 4,4,4D 0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A、x++. printf((“%d\n”,x).B、n=++x. printf((“%d\n”,n).C、++x. printf((“%d\n”,x).D、n=x++. printf((“%d\n”,n).19、以下选项中,能表示逻辑值“假”的是A 1B 0.000001C 0D 100.020、有以下程序#include <sthio.h>3Main(){ int a;Scanf(“%d”,&a).If(a++<9) printf((“%d\n”,a).Else printf((“%d\n”,a)程序运行时键盘输入9<回车>,则输出的结构是A、10 B 11 C 9 D 821、有以下程序#include <sthio.h>Main(){int s=0,n.For (n=0.n<3.n<++){switch(s){ case 0.Case 1.s+=1.Case 2.s+=2.break.Case 3.s+3.Case 4.s+=4.printf((“%d\n”,s).程序运行后的结果是A 1,2,4B 1,3,6C 3,10,14D 3,6,1022、若k 是int 类型变量,且有以下for 语句For(k=1;k<0.k++)printf(****\n”).下面关于语句执行情况的叙述中正确的是A、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环23、有以下程序#include <sthio.h>Main(){char A,B,C.B=’1’.C=’A’For(A=0.A<6.A++){if(A%2) putchar(B+A).Else putchar(C+A);程序运行后输出的结果是A 1B3D5FB ABCDFEC A2C4E6D 12345624、设有如下定义语句Int m[ ]={2,4,6,8},*k=m.4以下选项中,表达式的值为 6 的是A *(k+2)B k+2C *k+2D *k+=225、fun 函数的功能是:通过键盘输入给x 所指的整型数组所有元素赋值。
C++程序设计19秋在线作业2【东北师范大学】1 试卷总分:100 得分:100
一、单选题 (共 20 道试题,共 60 分)
1.下列()可以是虚函数。
[A.]构造函数
[B.]拷贝构造函数
[C.]静态成员函数
[D.]析构函数
[提示:请根据所学知识,完成本题]
正确答案是:D
2.下列语句中错误的是()。
[A.]int *p=new int (10);
[B.]int *p=new int[10];
[C.]int *p=new int;
[D.]int *p=new int[40](0);
[提示:请根据所学知识,完成本题]
正确答案是:D
3.下列函数中,()是对文件进行读操作的。
[A.]put
[B.]read
[C.]write
[D.]seekp
[提示:请根据所学知识,完成本题]
正确答案是:B
4.下列函数中,()是对文件进行写操作的。
[A.]get()
[B.]read()
[C.]seekg()
[D.]put()
[提示:请根据所学知识,完成本题]
正确答案是:D
5.get()函数的功能是从输入流中读取()。
[A.]一个字符
[B.]当前字符
[C.]一行字符
[D.]指定若干个字符
[提示:请根据所学知识,完成本题]
正确答案是:A
6.假设A为抽象类,下列声明()是正确的。
[A.]A fun(int);
[B.]A *p;
[C.]int fun(A);
[D.]A obj;
[提示:请根据所学知识,完成本题]。
第九章数组一、选择题[9.1] 假设已定义:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0<=i<=9,那么对a数组元素的引用不正确的选项是A)a[p-a] B) *(&a[i]) C) p[i] D) *(*(a+i))【解析】A:p开场是数组a首地址,只要p++那么再减去a的首地址a[p-a]就能取到所有元素,B:&a[i]循环取其地址,*(&a[i]) 是该地址中所存储的元素C:p就是指针变量,相当于a[i],D:*(a+i) 那么正确[9.2] 以下程序段数组所有元素输入数据,应在下划线填入的是A) a+(i++) B) &a[i+1] C) a+i D) &a[++i]main(){ int a[10],i=0;while(i<10) scanf("%d",_);}【解析】因为要遍历,所以排除B.C,因为D先加1再取值,丢了a[0][9.3] 以下程序的输出结果是A) 3 B) 4 C) 1 D) 2main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2)); }【解析】*p=a;p指向首地址,*(p+2))往后移动两个元素,指向3[9.4] 以下程序的输出结果是A) 不确定的值 B) 3 C) 2 D) 1main(){ int n[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf("%d\n",n[k]);}[9.5] 以下程序的输出结果是A)17 B)18 C)19 D)20main(){ int a[]={2,4,6,8,10},y=1,x,*p;p=&a[1];for(x=0;x<3;x++) y+=*(p+x);printf("%d\n",y);}【解析】p=&a[1]那么p指向元素为4,y+=*(p+x);相当于y=1+4+6+8=19[9.6] 以下程序的输出结果是A) 6 B) 8 C) 4 D) 2main(){ int a[]={2,4,6,8},*p=a,i;for(i=0;i<4;i++) a[i]=*p++;printf("%d\n",a[2]);}【解析】p=a,相当于重新把a中的容赋给a本身,所以a[2]=6[9.7] 以下程序的输出结果是A) 720 B) 120 C) 24 D) 6f(int b[],int n){ int i,r=1;for(i=0;i<=n;i++) r=r*b[i];return r;}main(){ int x,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);}【解析】调用x=f(a,3);for循环4次,将前四个元素相乘,即得r=2*3*4*5;[9.8] 以下程序中假设第一个printf语句输出的是194,那么第二个printf语句的输出结果是A) 212 B) 204 C) 1a4 D) 1a6 12main(){ int a[]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf("%x\n",p);printf("%x\n",p+9); }【解析】因为开场p的地址为194,p+9是指指针向后移动9个元素,而不是9个字节,每个int占2个字节,所以共移动18个字节,1个字节占一个存储单位,%x\n"是16进制,将18转化成16进制是12,所以194+12=2a6[9.9] 以下程序的输出结果是A) 0987654321 B) 4321098765 C) 5678901234 D) 0987651234fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(i<j){ t=*(s+i); *(s+i)=*(s+j); *(s+j)=t;i++; j--; }}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a;fun(p,0,3); fun(p,4,9); fun(p,0,9);for(i=0;i<10;i++) printf("%d",*(a+i));}【解析】为了使大家清晰地看出fun(int *s,int n1,int n2)的作用,我自己完善了程序如下:#include <stdio.h>#include <stdlib.h>fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(i<j){ t=*(s+i); *(s+i)=*(s+j); *(s+j)=t;i++; j--; }}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a;fun(p,0,3);for(i=0;i<10;i++) printf("%d",*(a+i)); printf("\n");fun(p,4,9);for(i=0;i<10;i++) printf("%d",*(a+i));printf("\n");fun(p,0,9);for(i=0;i<10;i++) printf("%d",*(a+i));printf("\n");}结果如下:其实,fun(p,0,3);就是将a中的前4个元素倒序,fun(p,4,9); 就是将a中的第5个到第10个倒序,最后fun(p,0,9);全部元素倒序。
大工19秋《C/C++语言程序设计》在线作业2
一、单选题(共 10 道试题,共 50 分。
)
1. 在执行int a[][3]={1,2,3,4,5,6};语句后,a[0][0]的值是()。
A. 4
B. 1
C. 2
D. 5
正确答案:B
2. 在定义int a[5];之后,对a的引用正确的是()。
A. a[5]
B. a[4.3]
C. a(5)
D. a[0]
正确答案:D
3. 当一个类对象离开它的作用域时, 系统将自动调用该类的()。
A. 构造函数
B. 拷贝构造函数
C. 析构函数
D. 默认构造函数
正确答案:C
4. 下列哪个函数不是类的成员函数。
()
A. 析构函数
B. 构造函数
C. 拷贝构造函数
D. 友元函数
正确答案:D
5. 下列哪个函数的功能是对对象进行初始化。
()
A. 析构函数
B. 数据成员
C. 构造函数
D. 静态成员函数
正确答案:C
6. 下列哪个函数的作用是字符串比较()。
A. strlen()
B. strcmp()
C. strcat()
D. strcpy()
正确答案:B。