北航程序设计语言原理题目与参考答案

合集下载

北航网络教育C++程序设计习题1及答案

北航网络教育C++程序设计习题1及答案

《C++程序设计》习题1一、单项选择题1. 下面正确的字符常量是()。

A、"a"B、'\\''C、'W'D、D、''2. 声明或定义一个内联函数时,必须在函数开始使用保留字()。

A、StaticB、ConstC、inlineD、extern3. 下列各种函数中,()不是类的成员函数。

A、构造函数B、析构函数C、友元函数D、拷贝构造函数4. 若用数组名作为函数调用的实参,传递给形参的是()。

A、数组的首地址B、数组中第一个元素的值C、数组全部元素的值D、数组元素的个数5. 函数重载是指()。

A、两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B、两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C、两个以上的函数名字不同,但形参的个数或类型相同D、两个以上的函数取相同的函数名,并且函数的返回类型相同6. 在下面构造函数的声明中,存在着语法错误的是()。

A、BC(int a,int);B、BC(int,int);C、BC(int,int=5);D、D、BC(int x;int y);7. 在一个类中可以对一个操作符进行()重载。

A、1种B、2种以下C、3种以下D、D、多种8. strcmp(str1,str2)<0 表示()。

A、str1的长度小于str2B、str1的长度大于str2C、str1小于str2D、str1的内容小于str2的内容9. 预处理命令在程序中都是以()符号开头的。

A、*B、#C、&D、@10. 由C++源程序文件编译而成的目标文件的默认扩展名是()。

A、cppB、objC、exeD、lik11. 每个类()构造函数。

A、只能有一个B、只可有公有的C、可以有多个D、只可有缺省的12. 在下面构造函数的声明中,存在着语法错误的是()。

A、BC(int a,int);B、BC(int,int);。

北航《C语言程序设计》答案

北航《C语言程序设计》答案

北航《C语言程序设计》在线作业一单选题判断题一、单选题(共15 道试题,共60 分。

)1. 以下叙述中正确的是A. 预处理命令行必须位于源文件的开头B. 在源文件的一行上可以有多条预处理命令C. 宏名必须用大写字母表示D. 宏替换不占用程序的运行时间正确答案:D2. 以下各选项企图说明一种新的类型名,其中正确的是A. typedef v1 int;B. typedef v2=int;C. typedef int v3;D. typedef v4: int;正确答案:C3. C语言对嵌套if语句的规定是:else总是与( )配对。

A. 其之前最近的ifB. 第一个ifC. 其之前最近且不带else的ifD. 缩进位置相同的if正确答案:C4. 已知:#define N 3; 执行语句i=N*3; 后,i=_______.A. 3B. 6C. 9D. 以上均不正确正确答案:C5. 以下选项中可作为C语言合法常量的是A. -8B. -080C. -8e1.0D. -80.0e正确答案:A6. 以下不正确的C语言标识符是_____。

A. ABCB. abcC. a_bcD. ab.c正确答案:D7. 数组int**a[3][4]占据多大空间B. 12C. 48D. 128正确答案:C8. 已知:int x,a,b;下列选项中错误的if语句是______。

()A. if(a=b) x++;B. if(a=<b) x++;C. if(a-b) x++;D. if(x) x++;正确答案:B9. 下列可以正确表示字符型常数的是______。

A. "a"B. …t…C. "n"D. 297正确答案:B10. 表达式:10!=9的值是( )A. trueB. 非零值C. 0D. 1正确答案:D11. 在C语言中,形参的缺省存储类型是( )A. autoB. registerC. staticD. extern正确答案:A12. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为_____。

北航1212考试题目批次《C++程序设计》习题题目练习-练习一-(附答案)

北航1212考试题目批次《C++程序设计》习题题目练习-练习一-(附答案)

北航1212考试批次《C++程序设计》复习题一一、客观题单项选择题(本大题共20小题,每小题1.5分,共30分)1、在面向对象的程序设计中,一切都是围绕着___展开的(B)。

A.语言 B.类 C.数据类型 D.结构2、以下关于类和对象的叙述中,正确的是( D)。

A.类和对象间没有联系 B.一个类的成员函数可以任意被调用C.对象是抽象的,而类是具体实现D.一般只有通过具体的对象才能访问类的成员函数3、关于C++语言和C语言的关系的下列描述中,错误的是( D)。

A.C语言是C++语言的一个子集 B.C++语言对C语言做了些改进C.C++语言与C语言兼容 D.C语言和C++语言都是面向对象的语言4、下列函数中,可以为虚函数的是( D )。

A.自定义的构造函数 B.拷贝构造函数 C.静态成员函数D.析构函数5、在一个被调用函数中,关于return语句使用的描述,错误的是( C )。

A.被调用函数中可以不用return语句; B.被调用函数中可以使用多个return语句;C.被调用函数中,一个return语句可以返回多个值给调用函数;D.被调用函数中,如果有返回值,就一定要有return语句;6、若用数组名作为函数调用时的实参,则实际上传递给形参的是(A)A、数组首地址B、数组的第一个元素值C、数组中全部元素的值D、数组元素的个数7、在以下关于C++语言的注释的叙述中,不正确的是(C )A、C++程序中,注释可用“/*”、“*/”形式表示,也可用“//”形式表示B、C++编译器在编译一个程序时,将跳过注释,不对其进行处理C、C++编译器在编译一个程序时,可发现注释中的单词拼写错误D、程序中注释的多少不会影响所生成的可执行文件的长度8、下列关于C++函数的叙述中,正确的是(C)A、每个函数至少要具有一个参数B、每个函数都必须返回一个值C、函数在被调用之前必须先声明D、函数不能自己调用自己9、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:(B)。

北航《C语言程序设计》在线作业二满分答案

北航《C语言程序设计》在线作业二满分答案

北航《C语言程序设计》在线作业二一、单选题(共 10 道试题,共 40 分。

)1. 若用数组名作为函数调用时的参数,则实际上传递给形参的是A. 数组元素的个数B. 数组的第一个元素值C. 数组中全部元素的值D. 数组首地址-----------------选择:D2. 下列关于#include命令的叙述中,错误的是A. #include命令中,文件名可以用双引号或尖括号括起来B. 一个被包含文件中又可以包含另一个被包含文件C. 一个#include命令中可以指定多个被包含文件D. 一个#include命令中只能指定一个被包含文件-----------------选择:C3. 在C程序中,若对函数类型未加说明,则函数的隐含类型为( )A. intB. doubleC. voidD. char-----------------选择:A4. 表达式( )的值是0。

A. 3%5B. 3/5.0C. 3/5D. 3<5-----------------选择:C5. 已知:int a=5; 执行以下的程序段后输出结果为_______.Do { printf(“%dn”,a--); } while (!a);A. 5B. 4C. 陷入死循环D. 5 4 3 2 1-----------------选择:A6. 有以下语句:int b;char c[10];,则正确的输入语句是_______A. scanf("%d%s",&b,&c);B. scanf("%d%s",&b,c);C. scanf("%d%s",b,c);D. scanf("%d%s",b,&c);-----------------选择:B7. 若有定义:int x; 要将x强制转换为双精度型,应该写成A. x(double)B. x(double)C. (double)xD. double(x)-----------------选择:C8. 函数形参与实参之间的传递是“值传递”,以下叙述正确的是( )A. 实参和与其对应的形参共用一个存储单元B. 实参和与其对应的形参各占用独立的存储单元C. 当实参和与其对应的形参同名时才共用一个存储单元D. 形参是形式的,不占用存储单元-----------------选择:B9. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为_____。

北航数据结构与程序设计真题 北航991真题及答案

北航数据结构与程序设计真题 北航991真题及答案

20XX年“数据结构与C程序设计”(代码991)试题一、单项选择题(本题共20分,每小题各2分)1.对于长度为n的线性表,建立其对应的单链表的时间复杂度为( )。

A.O(1);B.O(log2n);.O(n);D.O(n2)。

2.一般情况下,在一个双向链表中插入一个新的链结点,( )。

A.需要修改4个指针域内的指针;B.需要修改3个指针域内的指针;C.需要修改2个指针域内的指针;D.只需要修改1个指针域内的指针。

3.假设用单个字母表示中缀表达式中的一个运算数(或称运算对象),并利用堆栈产生中缀表达式对应的后缀表达式。

对于中缀表达式A+B*(C/D-E),当从左至右扫描到运算数E时,堆栈中的运算符依次是( )。

(注:不包含表达式的分界符)A.+*/-;B.+*(/-;C.+*-;.+*(-。

4.若某二叉排序树的前序遍历序列为50,20,40,30,80,60,70,则后序遍历序列为( )。

A.30,40,20,50,70,60,80;B.30,40,20,70,60,80,50;C.70,60,80,50,30,40,20;D.70,60,80,30,40,20,50。

5.分别以6, 3, 8, 12, 5, 7对应叶结点的权值构造的哈夫曼(Huffman) 树的深度为( )。

A.6;B.5;C.4;D.3。

6.下列关于图的叙述中,错误的是( )。

A.根据图的定义,图中至少有一个顶点;B.根据图的定义,图中至少有一个顶点和一条边(弧);C.具有n个顶点的无向图最多有n&#61620;(n-1)/2条边;D.具有n个顶点的有向图最多有n&#61620;(n-1)条边(弧)。

7.若在有向图G的拓扑序列中,顶点vi在顶点vj之前,则下列4种情形中不可能出现的是( )。

A.G中有弧<vi,vj>;B.G中没有弧<vi,vj>;C.G中有一条从顶点vi到顶点vj的路径;D.G中有一条从顶点vj到顶点vi的路径。

北航2016+c++程序设计+复习题2附答案

北航2016+c++程序设计+复习题2附答案

时,类 A 的析构函数不会被调用
C.实现全局函数时,new 和 delete 通常成对地出现在由一对匹配
的花括号限定的语句块中
D.执行语句 A *P=new A[100] 时,类 A 的构造函数只会被调用
一次
9、C++语言是从早期的 C 语言逐渐发展演变来的,与 C 语言相比,它
在求解问题方法上进行最大改进的是______。(

A.面向过程
B.面向对象
C.安全性
D.复用性
10、以下不属于类存取权限是______。(

A.public
B.static
C.protected
D.private
11、执行下面语句后,a 和 b 的值分别为______。( )
int a = 5,b = 3,t;
int &ra = a;
int &rb = b;
四、编程题 34、编程:输入三个数,按从小到大的顺序输出。 考核知识点:if 选择结构,最重要的是排序的思想。 35、编程:输入一个三位整数,将它反向输出。 考核知识点:利用算术运算符取一个整数各位上的数值。
};
void main() { B x(5),y(6,7); }
33、下列程序的运行结果是________x=16______________。 #include <iostream.h> void main() { int i, j, x = 0; for( i=0; i<=3; i++ ) { x++; for( j=0; j<=3; j++ ) { if( j % 2 ) continue; x++; } x++; } cout << "x=" << x << endl; }

北京航空航天大学《C语言程序设计》试卷

北京航空航天大学《C语言程序设计》试卷

北京航空航天大学《C语言程序设计》课程考试试卷注意事项: 1、本试卷满分100分;考试时间:90分钟;考试形式:开卷2、请将答案一律写在答题纸上,试卷上作答无效3、考试结束后,考生将试卷及答题纸一并交回4、请将条形码贴在答题纸的指定位置学习中心______________姓名____________学号____________一、单项选择题(本大题共10小题,每小题2分,共20分)1、设有定义语句“char s[]=”123”;”,则表达式“s[3]”的值是______。

()A.' 1' B.'3'C.'\0' D.存在语法错误2、凡是函数中未指定存储类别的局部变量,其隐含的存储类别为______。

()A.自动(auto) B.静态(static)C.外部(extern) D.寄存器(register)3、已知:char w; int x; float y; double z;,则表达式w*x+z-y结果的类型是______。

()A.float B.charC.int D.double4、当声明一个结构变量时,系统分配给它的内存是______。

()A.各成员所需内存量的总和B.结构中第一个成员所需内存量C.成员中占内存量最大者所需的容量D.结构中最后一个成员所需内存量5、C语言中的简单数据类型包括______。

()A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型6、合法的数组说明语句是______。

()A.int a[]="string";B.int a[]={0,1,2,3,4,5};C.char a="string";D.char a[5]={'0','1','2','3','4','5,};7、定义int i=1;,执行语句while(i++<5);后,i的值为______。

北航《C语言程序设计》答案

北航《C语言程序设计》答案

北航《C语言程序设计》答案北航《c语言程序设计》在线作业一单项选择和判断问题一、单选题(共15道试题,共60分。

)1.以下叙述中正确的是a、预处理命令行必须位于源文件的开头。

B.源文件的一行上可以有多个预处理命令。

C.宏名称必须用大写字母表示d.宏替换不占用程序的运行时间正确答案:d2.以下选项试图描述一个新的类型名称,其中正确的名称是a.typedefv1int;b、typedefv2=int;c、类型定义tv3;d、 typedefv4:int;正确答案:C3.c语言对嵌套if语句的规定是:else总是与()配对。

a.其之前最近的ifb.第一个ifc、其上一个最近的IFD没有其他的,如果具有相同的缩进位置,正确答案是:c4.已知:#definen3;执行语句i=n*3;后,i=_______.a.3b.6c.9d、以上这些都不正确。

正确答案:C5.以下选项中可作为c语言合法常量的是a.-8b.-080c.-8e1.0d.-80.0e正确答案:a6.以下不正确的c语言标识符是_____。

a.abcb.abcc.a_bcd.ab.c正确答案:D7.数组int**a[3][4]占据多大空间a、 64b。

12c。

48d。

一百二十八正确答案:c8.已知:intx,a,B;以下选项中错误的if语句是_;。

()a.if(a=b)x++;b.if (a)=正确答案:b9.以下可以正确表示字符类型常量为___。

a、 \b。

?Tc、 \d.297正确答案:b10.表达式:10=9的值为()a.trueb非零值c.0d一正确答案:d11.在C语言中,形式参数的默认存储类型是()a.autob registerc。

静力学。

外人正确答案:a12.假设在C语言中,一个int数据在内存中占用2个字节,那么无符号int数据的值范围是_u。

a、 0~255b。

0~32767c。

0~65535d.0~2147483647正确答案:c13.有以下声明:intb;charc[10];,正确的输入语句是a.Scanf(\b.Scanf(\c.Scanf(\d.Scanf)(\正确答案:b)14.为了避免嵌套的条件分支语句的二义性,c语言规定,c程序中的else总是与()组成配对关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5. 程序输出的结果是什么 The Value is 3 The Value is 3 The Value is 4 The Vlaue is 99
五 并发编程
monitor PRINTER:: var num = 0; var printer_available : cond;//当num > 0时,printer_available为真 proc get_printer() is: while num = 0 do wait (printer_available) end; if num > 0 then num = num - 1 endif; end; proc finish_print() is : num = num + 1; if num = 1 then signal (printer_available) endif; end; End PRINTER
} } }
while (signal.availablePermits() > 0) { try { Thread.sleep(50); } catch (Exception e) { e.printStackTrace(); } System.out.println("一名顾客理完发"); if (signal.availablePermits() < 10) { signal.release();//V操作 } }
引用:引用传递的是存储对象,实参必须是变量名或能得出地址的表达式。 执行结果: 传值:2 24 20 | 3 23 30 传名:2 36 20 | 3 23 30 引用:2 24 20 | 3 23 30
传值:0 1 1 传名:1 2 1 引用:1 2 1 值返回引用: 四 面向对象
1. 哪些操作 面向类型的操作:赋值、拼接、类型转换 面向复合对象的操作:构造、赋值、数组索引 2. q 3. 构造了哪些新类型 PassTest{float: ptValue} String[] 4. 代码存在哪些错误 short b = (short)val; stringArray = new String[3]; System.out.println(stringArray[0] + stringArray[1] + stringArray[2] + val); 5. 程序输出的结果是什么 The Value is 3 The Value is 3 The Value is 4 The Vlaue is 99
import java.util.concurrent.Semaphore; public class SleepBarber { public static void main(String[] args) { Semaphore signal = new Semaphore(10);//初始座位数为10 Semaphore sleep = new Semaphore(0);//初始为睡觉状态 Thread barber = new Thread(new Barber(signal, sleep)); barber.start(); try { Thread.sleep(1000); while (true) { Thread customer = new Thread(new Customer(signal, sleep)); customer.start(); Thread.sleep(100); } } catch (Exception e) { e.printStackTrace(); }
}
public static class Barber implements Runnable { Semaphore signal; Semaphore sleep; public void run() { while (true) { synchronized (this) { try { sleep.acquire();//等待sleep } catch (Exception e) { e.printStackTrace(); } while (signal.availablePermits() > 0) { try { Thread.sleep(50); } catch (Exception e) { e.printStackTrace(); }
题目
2019年1月13日 星期日 22:03
一 lambda演算
二 词法作用域 动态作用域
词法作用域 输出结果:17
词法作用域 输出结果:17 动态作用域 输出结果:21
词法作用域输出结果:2 0 2 1 2 1 动态作用域输出结果:2 0 2 1 2 1
三 参数机制
过程调用中的传值、传名和引用三种参数机制的不同点 传值:把实参值复制到形参上,一般实参运行后不会改变。只能返回单个的函数结 果值。 传名:如果在过程中修改了形参的值,就按结合的变元的名字(地址)找出变元值 进行修改。在传明过程中虚实结合时将程序体中所有形参出现的地方均以实参变元 名置换。 引用:引用传递的是存储对象,实参必须是变量名或能得出地址的表达式。 执行结果: 传值:2 24 20 | 3 23 30 传名:2 36 20 | 3 23 30
}
public static class Customer implements Runபைடு நூலகம்able { Semaphore signal;
}
}
public static class Customer implements Runnable { Semaphore signal; Semaphore sleep; public Customer(Semaphore signal, Semaphore sleep) { this.signal = signal; this.sleep = sleep; } public void run() { synchronized (this) { if (signal.tryAcquire()) {//尝试P座位,如果有就进去,没有就 离开 System.out.println("新增一名顾客," + signal.availablePermits()); if (signal.availablePermits() == 9) { sleep.release(); } } else { System.out.println("座椅不够,客户离开"); } } }
public Barber(Semaphore signal, Semaphore sleep) { this.signal = signal; this.sleep = sleep; } } }
七 选择题
相关文档
最新文档