南昌大学C++期末试卷及答案(03-10)共八份
- 格式:doc
- 大小:252.50 KB
- 文档页数:44
南昌大学 2011~2012 学年第一学期期末考试试卷试卷编号:6031 ( C )卷课程编号:J5502Z007 课程名称:普通物理(光学)考试形式:闭卷适用班级:10物理学、10应物姓名:学号:班级学院:专业:考试日期:题号一二三四五六七八九十总分累分人签名题分40 30 30 100得分考生注意事项:1、本试卷共5页,请查看试卷中是否有缺页或破损。
如有立即举手报告以便更换。
2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。
一、填空题:(每空2分,共 40分)得分评阅人1、光强均为I o的两束相干光相遇而发生干涉时,在相遇区域内有可能出现的最大光强是__________。
2、当一束自然光在两种介质分界面处发生反射和折射时,若反射光为完全偏振光。
则折射光为_________偏振光,且反射光和折射光之间的夹角为___________。
3、光的偏振现象说明光波是_________波。
4、用纳光灯的纳黄光垂直照射光栅常数为d =3μm的衍射光栅,第五级谱线中纳黄光的(589.3nm)的角位置Φ5 = 。
5、在空气中用波长为λ的单色光进行双缝干涉实验时,观测到干涉条纹相邻明条纹的间距为1.33mm,当把实验装置放在水中时(水的折射率n=1.33),则相邻明条纹间距变为____________________。
6、若出射的同心光束是会聚的我们称之为__________。
7、把折射率为1.5 的玻璃片插入杨氏实验的一束光路中,光屏上原来第5 级亮条纹所在的位置为中央亮条纹,插入的玻璃片的厚度为_________。
(已知光波长为6×10-7m.)8、在双折射晶体内部,光在晶体内沿______传播时,e光和o光的传播速度相等。
9、若波长为6250 Ǻ的单色光垂直入射到一个每毫米有800条刻线的光栅上时,则该光栅的光栅常数为;第一级谱线的衍射角为。
10、人眼的明视距离cm。
11、物镜直径D=5cm的望远镜对可见光平均波长λ=550nm的最小分辨角是_______。
—南昌大学考试试卷—【适用时间:2013 ~2014 学年第二学期试卷类型:[ A ]卷】南昌大学 2013~2014学年第二学期期末考试《C程序设计(A卷)》参考答案及评分标准一、单项选择题(每小题2分,共40分)二、填空题(每空2分,共20分)【1】、循环结构【2】、声明(定义) 【3】、地址(指针) 【4】、函数头【5】、地址【6】、5_【7】、s=0 【8】、t*10【9】、strlen(str)/2 【10】、str[j-1]或*(str+j-1)三、程序阅读题(每小题4分,共 20 分)1、a=5,b=0,c=32、i1=4,i2=3,i=143、s0=18,s1=20,s2=484、 *************************5、x=13, y=21x=5, y=21, z=3四.程序设计题(每小题 10 分,共20 分)1编写一个函数,实现显示输出数组a[n]中大于等于平均值的所有元素值。
函数原型为void f2(double a[], int n),其中n为数组元素个数。
void f2(double a[ ], int n){int i;double sum=0;for(i=0;i<n;i++) sum+=a[i];sum/=n;for(i=0;i<n;i++)if(a[i]>=sum) printf(“%10.2lf ”,a[i])’;}2求满足不等式22+42+...+n2<1000的最大n值,假定分别用i和s作为取偶数值和累加值的变量。
#include<stdio.h>void main(){int i=0; //用i作为依次取值偶数的变量int s=0; //用s作为累加变量do {i+=2;s+=i*i;}while(s<1000);printf("n=%d",i-2);}。
南昌大学2003 ~2004 学年第二学期期末考试试卷A卷一单项选择题1.‘A’的ASCII码为65,n为int型,执行n =‘A’+‘6’-‘3’;后,n的值为 B 。
A)‘D’ B) 68 C) 不确定的值D) 编译出错2.下列变量名中, A 是合法的。
A)CHINA B) byte-size C) double D) A+a 3.在static int B[3][3]={{1},{3,2},{4,5,6}};中, a[2][2]的值是 C 。
A)0 B) 5 C)6 D)24.若有定义int a=3, *p=&a ;则*p的值是 B 。
A)常量a的地址值B)3C)变量p的地址值D)无意义5.下列关于指针运算的各叙述中,不正确的叙述是 D 。
A)指向同一数组的两个指针,可以进行相等或不等的比较运算;B)可以用一个空指针赋值给某个指针;C)指向数组的指针,可以和整数进行加减运算;D)指向同一数组的两个指针,可以进行有意义的相加运算。
6. 已知x、y、z是int型变量,且x=3,y=4,z=5;则下面各表达式中,值为0的是 D 。
A)‘x’&&‘y’ B)x<=y C)x || y+z && y-z D) !((x<y) && !z || 1) 7.下列各选项中,正确的选项是 A 。
A) 0和‘\0’值相等。
B) 0和‘0’ 值相等。
C)‘\0’和‘0’ 值相等。
D) 0、‘\0’和‘0’ 值都不相等。
8. 若有说明语句:char ch=‘\72’;则变量ch A 。
A)包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法9.在下列关于C++与C语言关系的各描述中, D 是错误的。
A)C语言是C++的一个子集;B)C语言与C++是兼容的;C)C++对C语言进行了一些改进;D)C++和C语言都是面向对象的。
10.在下列关于类概念的各描述中, A 是错误的。
南昌大学期末考试试卷(所有答案)XXXX第二学期结束时,南昌大学,试卷一,卷一,选择题。
“A”的ASCII码是65,n是整数,n=“A”,“6”-“3”;之后,n的值是b。
a)“d”b)68c)不确定值d)编译错误2。
在下列变量名中,a是合法的。
在A)中国B)字节之后,n的值是Ba)“d”b)68c)不确定值d)编译错误2。
在下列变量名中,a是合法的。
中国字节:字符通道.a)包含1个字符和2个字符c)包含3个字符是非法的9。
在下面对c和c之间关系的描述中,d是错误的。
a)语言c是c的子集;c语言与c语言兼容;C)c对c语言做了一些改进;c和c语言都是面向对象的。
10.下面对类概念的描述是错误的。
类是C语言中的结构类型;b)类是具有共同行为的几个对象的统一描述;类是创建对象的模板;d)类是抽象数据类型的实现。
11.在下列选项中,符合C语法的赋值表达式是C。
A)d=' 2e A)d=' 2e,' b) c) d 5='1' 1212.;表达式3)可以被理解为b. a)用于(;0 )b)对于(;1 )c)对于(;表达式1) d)表示(;表达式-省略部分-)1.一个错误a1='10a2=20a3=31a4=41 '扣1分2.三角形,得3分* * * * * * * * * * * *3.如果格式不正确,扣1分1220分4.如果顺序不正确,每点:4圆半径:5圆析构函数扣1分!点析构函数!五、程序设计问题(每项10分,共20分)1、# include # define size 10 void main(){ int数据[大小];m .请输入“[m”数据;int j=0,k=0;对于(int I=1;[[j])j=I;否则,如果(数据[I]0){ int d=数据[0];数据[0]=数据[k];数据[k]=d;} if(k2,# include lass date { public : CD ate()函数重载year=' y;月=m;day=d;'(int y,int m='1,int '成员函数设置默认参数void print date();打印日期无效设置日期(int sy,int sm,int sd)非静态函数设置日期{ year=' sy月=sm。
一单项选择题1.‘A’的ASCII码为65,n为int型,执行 n =‘A’+‘6’-‘3’;后,n的值为B。
A)‘D’ B) 68 C) 不确定的值 D) 编译出错2.下列变量名中, A 是合法的。
A)CHINA B) byte-size C) double D) A+a3.在static int B[3][3]={{1},{3,2},{4,5,6}};中, a[2][2]的值是C。
A)0 B) 5 C)6 D)24.若有定义 int a=3, *p=&a ;则 *p的值是 B 。
A)常量a的地址值 B)3C)变量p的地址值 D)无意义5.下列关于指针运算的各叙述中,不正确的叙述是 D 。
A)指向同一数组的两个指针,可以进行相等或不等的比较运算;B)可以用一个空指针赋值给某个指针;C)指向数组的指针,可以和整数进行加减运算;D)指向同一数组的两个指针,可以进行有意义的相加运算。
6. 已知x、y、z是int型变量,且x=3,y=4,z=5;则下面各表达式中,值为0的是 D 。
A)‘x’&&‘y’ B) x<=y C)x || y+z && y-z D) !((x<y) && !z || 1) 7.下列各选项中,正确的选项是A。
A) 0和‘\0’值相等。
B) 0和‘0’值相等。
C)‘\0’和‘0’值相等。
D) 0、‘\0’和‘0’值都不相等。
8. 若有说明语句:char ch=‘\72’;则变量 ch A 。
A)包含1个字符 B) 包含2个字符C) 包含3个字符 D) 说明不合法9.在下列关于C++与C语言关系的各描述中, D是错误的。
A)C语言是C++的一个子集; B)C语言与C++是兼容的;C)C++对C语言进行了一些改进; D) C++和C语言都是面向对象的。
10.在下列关于类概念的各描述中, A 是错误的。
A)类就是C语言中的结构体类型;B)类是具有共同行为的若干对象的统一描述体;C)类是创建对象的样板;D)类是抽象数据类型的实现。
南昌大学c期末考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是正确的C语言数组声明?A. int arr[10];B. int arr[];C. int arr[10] = {0};D. 所有选项答案:D3. C语言中,哪个函数用于将字符串转换成浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 下列哪个运算符用于执行按位与操作?A. &&B. &&C. &D. ||答案:C5. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. all of the above答案:D6. 下列哪个选项是C语言中的合法变量名?A. _myVarB. 2myVarC. my$varD. my var答案:A7. C语言中,哪个函数用于输出格式化的字符串到标准输出?A. printfB. scanfC. sprintfD. fprintf答案:A8. 下列哪个选项是C语言中的正确注释?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. all of the above答案:B9. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlenB. strlengthC. strlengD. length答案:A10. 下列哪个选项是C语言中的正确循环语句?A. forB. whileC. do-whileD. 所有选项答案:D二、填空题(每题2分,共20分)1. 在C语言中,一个变量的声明包括变量的____和____。
答案:类型名字2. C语言中,用于定义指针的关键字是____。
南昌大学2006〜2007学年第二学期期末考试试卷试卷编号:(C )卷单项选择题(每题1分,共20分,答案请填在题后的括号内)1、操作系统的功能是_________ O ()(1)把源程序编译成目标程序(2)控制、管理计算机系统的资源和程序的执行(3)实现计算机用户之间的信息交流(4)实现计算机硬件和软件之间的转换2、操作系统采用多道程序设计技术提高 CPU和外部设备的°()(1)稳定性(2)利用率(3)可靠性(4)兼容性3、批处理系统的主要缺点是°()(1) CPU勺利用率不高(2)失去了交互性(3)不具备并行性(4)以上都不是4、引入进程概念的关键在于°()(1)独享资源(2)共享资源(3)顺序执行(4)便于执行5、在多进程系统中,进程什么时候占用处理器,取决于°()(1)进程相应的程序段的长度(2)进程调度策略(3)进程总共需要运行时间多少(4)进程完成什么功能6、当一个进程就要退出等待队列而进入就绪队列。
()(1)启动了外设(2)用完了规定的时间片(3)获得了所等待的资源(4)能得到所等待的处理器7、进程和程序的一个本质区别是°()(1)前者分时使用CPU后者独占CPU (2)前者存储在内存,后者存储在外存(3)前者为动态的,后者为静态的(4)前者在一个文件中,后者在多个文件中8临界区是指并发进程中访问共享变量的段(1)管理信息(2)信息存储(3)程序(4)数据9、一种既有利于短小作业又兼顾到长作业的作业调度算法是° ()(1)先来先服务(2)轮转(3)最高响应比优先(4)最短作业优先10、一作业8: 00到达系统,估计运行时间为1小时,若10: 00开始执行该作业,其响应比是°()(1) 0. 5 (2) 1 (3) 2 (4) 311、产生系统死锁的原因可能是由于°()(1)进程释放资源(2)多个进程竞争,资源出现了循环等待(3)一个进程进入死循环(4)多个进程竞争共享型设备12、采用资源剥夺法可解除死锁,还可以采用方法解除死锁。
一单项选择题1.‘A’的ASCII码为65,n为int型,执行 n =‘A’+‘6’-‘3’;后,n的值为B。
A)‘D’ B) 68 C) 不确定的值 D) 编译出错2.下列变量名中, A 是合法的。
A)CHINA B) byte-size C) double D) A+a3.在static int B[3][3]={{1},{3,2},{4,5,6}};中, a[2][2]的值是C。
A)0 B) 5 C)6 D)24.若有定义 int a=3, *p=&a ;则 *p的值是 B 。
A)常量a的地址值 B)3C)变量p的地址值 D)无意义5.下列关于指针运算的各叙述中,不正确的叙述是 D 。
A)指向同一数组的两个指针,可以进行相等或不等的比较运算;B)可以用一个空指针赋值给某个指针;C)指向数组的指针,可以和整数进行加减运算;D)指向同一数组的两个指针,可以进行有意义的相加运算。
6. 已知x、y、z是int型变量,且x=3,y=4,z=5;则下面各表达式中,值为0的是 D 。
A)‘x’&&‘y’ B) x<=y C)x || y+z && y-z D) !((x<y) && !z || 1) 7.下列各选项中,正确的选项是A。
A) 0和‘\0’值相等。
B) 0和‘0’值相等。
C)‘\0’和‘0’值相等。
D) 0、‘\0’和‘0’值都不相等。
8. 若有说明语句:char ch=‘\72’;则变量 ch A 。
A)包含1个字符 B) 包含2个字符C) 包含3个字符 D) 说明不合法9.在下列关于C++与C语言关系的各描述中, D是错误的。
A)C语言是C++的一个子集; B)C语言与C++是兼容的;C)C++对C语言进行了一些改进; D) C++和C语言都是面向对象的。
10.在下列关于类概念的各描述中, A 是错误的。
A)类就是C语言中的结构体类型;B)类是具有共同行为的若干对象的统一描述体;C)类是创建对象的样板;D)类是抽象数据类型的实现。
11.在下列各选项中,符合C++语法的赋值表达式是 C 。
A) d=3+=d+6 B) d=6+e=d+8C) d=e+=f+6 D) d=2+e, d+5=112.对 for(表达式1 ;;表达式3 )可理解为 B 。
A)for(表达式1 ;0 ;表达式3 )B)for(表达式1 ;1 ;表达式3 )C)for(表达式1 ;表达式1 ;表达式3 )D)for(表达式1 ;表达式3 ;表达式3 )13.若有定义:int a[3][4] ;则对a数组某一元素的正确表示是 C 。
A)a[2][4] B) a[1,3] C)a[1+1][0] D) a(2)(1)14.若有初始化 static char str[]=“NDJSZX”;则其中的str[]相当于B。
A)str[8] B) str[7] C) str[6] D) str[2]15.一维整型数组a的正确定义是 D 。
A) int a(10);B) int n=10; int a[n];C) int n; cin>>n; int a[n];D) const int SIZE=10; int a[SIZE];16.采用函数重载的目的在于 D ;A) 实现共享 B)减少空间C) 提高速度 D)使用方便,提高可读性17.下列的各类函数中, C 不是类的成员函数。
A)构造函数 B)析构函数C)友元函数 D)拷贝初始化构造函数18.若有定义:int x , *p ;则正确的赋值表达式是 D 。
A) *p=*x B) *p=&x C) p=x D) p=&x19.下列静态数据成员特性中, D 是错误的。
A) 说明静态数据成员时前边要加修饰符static;B) 静态数据成员要在类体外进行初始化;C) 引用静态数据成员时,要在静态数据成员名前加<类名>和作用域分辨符;D) 静态数据成员不是所有对象共有的。
20.以下各选项中,正确的函数声明是 C 。
A)double func( int x , int y )B)int func( int x ; int y ) ;C)float func( int x , int y ) ;D)char func( int x , y ) ;二、填空题(每空1分,共20分)1.一个C++程序的执行从main 函数开始,到 main 函数结束。
2.设有定义 int x=3, y=4 ;则表达式 x*=y+5的值为 27 。
若有定义 int a=2 ;则执行完语句 a+=a-=a*a ;之后,a的值为-4 。
3.在C++ 中,只能用于整型操作数的算术运算符是 % ;表达式3 / 2的结果为 1 。
4.在C++ 中,变量的三个基本要素是指:变量名、变量类型和变量值。
5.设有定义 int x=3, y=4, t ;则实现x,y两变量值交换的三个语句是:t=x ;x=y ; y=t ;。
6.在C++ 中,有两种给出注释的方法。
一种是沿用C语言的注释符,即/* */ 。
另一种是从它开始,直到它所在行尾的字符都为注释的注释符,即 // 。
7.在C++ 中,函数在定义时可以预先定义出默认的形参值。
默认形参值必须按从右到左的顺序定义。
因为在调用时,实参初始化形参是按从左到右的顺序。
8.在C++程序中,对刚创建的对象进行初始化的工作由构造函数来完成;而对象被删除前的一些清理工作则是由析构函数来完成的。
9. Visual C++ 6.0 集成开发环境界面由标题栏、菜单栏、工具栏、项目工作区窗口、文档窗口、输出窗口以及状态栏等组成。
10.类是逻辑上相关的函数与数据的封装。
特殊类的对象拥有其一般类的全部属性与服务,称作特殊类对一般类的继承。
三、程序阅读题 (每小题5分,共30分)请在各程序的右侧空白部分,写出对应程序运行后的输出结果。
1.源程序如下:# include <iostream.h>void main( ){char *s =″abcdefg ″ ;cout << s << endl ; s + = 2 ; cout << s << endl ;}2.源程序如下:# include <iostream.h># define N 5 void main( ) { int i , j ; for( i = N; i >= 1 ; i-- ) {for( j = 1; j <= N-i ; j + + )cout << ″ ″; // 双引号内含一空格for( j = 1; j <= 2*i-1 ; j + + )cout << ″*″;cout << endl ;}}3.源程序如下:# include <stdio.h>void main( ) {int fun( int a ) ;int a=2, i ;for ( i = 0 ; i < 3 ; i + + ) printf (“ %3d ” , fun( a ) ) ;}int fun( int a ){int b = 1 ;static int c = 1 ;b = b + 1 ;c = c + 1 ;return ( a + b + c ) ;}4.源程序如下:# include <stdio.h>void main( ){int prime ( int x ) ;static int a [6] = { 5, 9, 6, 11, 13, 8 } ;int i , *p = a , sum = 0 ;for ( i = 0 ; i < 6 ; i + + )if ( prime ( *( p + i ) ) = = 1 ){ printf ( “ %d \t ” , * (a+i ) ) ; sum + = * ( a + i ) ; } printf ( “\n The Sum = %d \n ”, sum ) ;}int prime ( int x ){int i ;for ( i = 2 ; i < x ; i + + )if ( x % i = = 0 ) return ( 0 ) ;return ( 1 );}5.源程序如下:# include < iostream.h >void f1( int I ) { I += 10 ; }void f2( int * I ) { *I += 10 ; }kl,void f3( int& n ) { n += 10 ; }void main( ){int I = 0 ;f1( I ) ;cout <<“I is ”<< I << endl ;f2( &I ) ;cout <<“I is ”<< I << endl ;f3( I ) ;cout <<“I is ”<< I << endl ;}6.源程序如下:# include <iostream.h>class Class{ public :Class ( int n = 6 , int m = 7 ) ;~Class ( ) ;void Set ( int n , int m ) { x = n ; y = m ; }private :int x, y ;} ;Class :: Class( int n, int m){Set( n, m ) ;cout <<“Construct : x= ”<< x <<“, y= ” << y << endl ;}Class :: ~Class( ){cout <<“Destruct : x=” << x <<“, y= ” << y << endl ;}void main( ){ Array Class a ( 5 ) ;Class b ( 1 , 3 ) ;cout <<“exiting…\n ” ;}四、程序填空题 (每小题6分,共12分)。
1.本程序用递归的方法计算并输出Fibonacci数列的前20项。
Fibonacci数列的规律是:数列前两项均为1,从第三项开始,每一项都是其前两项的和。
请补全fac函数。