东南大学C++程序设计(上)考试卷( A 卷)_第1页
东南大学C++程序设计(上)考试卷( A 卷)_第2页
东南大学C++程序设计(上)考试卷( A 卷)_第3页
东南大学C++程序设计(上)考试卷( A 卷)_第4页
东南大学C++程序设计(上)考试卷( A 卷)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、东南大学C+程序设计(上)考试卷( A 卷)自 觉 遵 守 考 场 纪 律 如 考 试 作 弊 此 答 卷 无 效学号 姓名 密封线课程名称考试学期得分适用专业电类、非电类考试形式闭卷考试时间长度100分钟(一) 选择题(每空2分,共20分)1. 设有说明“int i=10;float x;”,执行“x=5/i;”后,x的值为_A. 0.5 B. 0 C. 1.0 D. 以上皆否 2. 在while(!a)中,其中!a与表达式_等价。A. a=0 B. a=1 C. a!=1 D. a!=03. 下面的整型常数中错误的是_。 A. 123 B. 380 C. 038 D. 0xAF4. 以下_

2、不能用作标识符A. a6.3B. _1234C. GetNameD. b_tree5. 设以下变量均为int类型,则值不等于10的表达式是_。Ax=y=9,x+y,x+1 Bx=y=9,x+y,y+1Cx=9,y=1,y=x,x+y Dy=9,y+1,x=y,x+16. 若定义函数,int f(int x) x*=10;return x; 执行以下语句,int a=3,b;b=f(a) + f(a) 之后a,b的值是_。A3,30B30,60C300,330 D3,3307. 已知int i=0;while(i+!=7); 当while循环结束后,变量i的值为_。A5B6 C7 D88. 表达

3、式_是满足:当c的值为1、3、5三个数时值为“真”,否则值为“假”的表达式A (c=1)|(c=3)|(c=5) B (c!=1)&&(c!=3)&&(c!=5)C (c=1)&&(c=3)&&(c=5) D (c=1)|(c=3)|(c=5)9. 对于C+的函数,正确的叙述是_A.函数的定义不能嵌套,但函数的调用可以嵌套B.函数的定义可以嵌套,但函数的调用不能嵌套C.函数的定义和调用都不能嵌套D.函数的定义和调用都能嵌套10. 若定义函数时未指定函数的返回类型,则函数的返回类型为_Avoid Bint Cdouble D编译出错

4、(二) 填空题(每空1分,共10分)1已知小写字母A的ASCII码值是65,则下列语句执行后输出是 char c = 66;cout<<c;2. 设y是int型变量,判断y为奇数的关系表达式为_。3. 整型变量n的当前值是6,执行以下switch语句后n的值是 switch(n)case 6: +n;case 7: n-;case 8: +n;default: n/=2;4. 全局与静态变量在程序运行时自动初始化为 5. 已知x为double型,执行语句 (float)x 之后,x为 类型。6. break语句只能用在循环语句和_语句中。7. 变量可分为局部变量和全局变量,其中全局

5、变量的作用域范围_8. 函数具有相同的函数名,但具有不同的参数个数或不同的参数类型,编译系统根据不同的参数去调用不同的函数,称_函数。9. 有整型变量a、b,则下列for循环中的输入语句最多可执行_ 次for(a=0,b=0;b!=10&&a<5;a+) cin>>b;10. 若有下列程序,则程序运行后的输出是 #include<iostream>using namespace std;void f(int);int main()f(123);return 0;void f(int n)if(n >= 10)f(n/10);cout<&

6、lt;n%10;(三)阅读程序并填空(每空2分,共30分)1.有程序如下:void main (void)for(int i=1;i<7;i+) if(i%3=0) break; cout<<i<<'t'for(i=1;i<7;i+) if(i%3=0) continue; cout<<i<<'t'请问:程序输出为 。2. void main()int a,b,c;a=2,b=3,c=1;if(a<b) if (a>c) cout<<a; else cout <<b;

7、问:执行上述程序后输出 。3. 写出下列程序段运行时的输出结果void count(int x)cout<<(x%10)%10<<x/10%10<<x/100;void count(int x,int y) cout<<(x%10)%10<<(x-x%y)/y;void main(void)int a=285,b=369;cout<<"原整数:"<<a<<endl;cout<<"结果数:"count(a,b);cout<<endl;第一

8、行是 第二行是 4. 写出下列程序的输出结果。void main(void)int a,b;for(b=1,a=1;b<=50;b+)if(a>=10) break;if(a%2=1)a+=5;continue;a-=3;执行完毕之后a和b的值分别是_和_5、设有如下程序int m=10;/Aint f(int x,int y)int m=5; /Bm+=x*y; /Creturn m; /Dvoid main()int a=6,b=7;cout<<f(a,b)/m<<endl;执行完毕之后的输出结果是_ 5. 设有如下程序。void main()char

9、c;cin>>c;if(c<='z'&&c>='a')c=c-'a'+'A'if(c<='Z'&&c>='A')c=c-'A'+'a'cout<<c<<endl;程序执行后,若输入英文字母B,则程序输出_;若输入英文字母b,则程序输出_。6. 阅读下列程序#include<iostream>using namespace std;int a,b;void f(int

10、 j) static int i=a; /注意静态局部变量 int m,n; m=i+j; i+; j+; n=i*j; a+; cout<<"i="<<i<<'t'<<"j="<<j<<'t' cout<<"m="<<m<<'t'<<"n="<<n<<endl;int main() a=1; b=2; f(b); f(a);

11、 cout<<"a="<<a<<'t'<<"b="<<b<<endl; return 0;该程序输出的第一行为_,第二行为_,第三行为_7. 阅读下列程序int fun1(int x,int y);void main()int k=4,m=1,p;p=fun1(k,m); cout<<p<<endl;p=fun1(k,m); cout<<p<<endl;int fun1(int x,int y)static int m=

12、0,i=2;i+=m+1;m=i+x+y;return m;该程序输出的第一行为_,第二行为_8. 阅读下列程序(请注意if语句里面的符号)int num=4;if(num=1) cout<<”Alpha”;else if(num=2) cout<<”Bata”;else if(num=3) cout<<”Gamma”;else cout<<”Delta”;上面程序段的输出分别为_。(四)完善程序题(每空2分,共20分。其中非电类做1-3,电类做1-2和第4题)1. 求出1000之内的“完数”。所谓“完数”,即这个数等于它的因子之和。例如:6是一

13、个完数,即6=1+2+3。要求每输出4个完数换一行。#include<iostream.h>void main()int n=0,s;for(int i=1;i<=1000;i+) ;for(int j=1;j<=i/2;j+)if( )s+=j;if( )cout<<i<<'t'n+;if( )cout<<'n'2、将450之间的所有偶数用两个素数之和表示。判断一个整数是否为素数用函数完成。#include<iostream>#include<cmath>using names

14、pace std;bool prime(int m) if(m=1|m=0) return false; if(m=2) return true; int k=(int)sqrt(m); for(int i=2;i<=k;i+)/穷举法 if(m%i=0) ; if(i>k) ; else return false;int main() for(int n=4;n<=50;n+=2) for(int i=2;i<=n/2;i+) if(prime(i)&&prime(n-i) cout<<n<<'='<<

15、;i<<'+'<<n-i<<endl;/列出所有可能组合 return 0;3、程序功能:输入三个整数a、b、c,通过调用函数选出其中最大值,将该值输出。(本题限非电类同学完成,电类同学完成第4题)#include<iostream.h>int max(int,int,int);void main( )int a,b,c;cout<<”input a,b,c:”<<endl;cin>>a>>b>>c;cout<<”a=”<<a<<”tb

16、=”<<b<<”tc=”<<c<<endl;cout<<”max of a,b,c is:”<< <<endl;int max(int x,int y,int z)int m;if(x>=y&&x>=z) ;else if( ) m=y;else ; ;4、下面为复数类,其中设计了类的加号运算符重载。(本题限电类同学完成)#include <iostream.h>class ComplexdoubleReal,Image ; : Complex(double r=0.0,

17、 double i=0.0):Real(r),Image(i) Complex(Complex ) Real=com.Real ; Image=com.Image ; void Print() cout<<"Real="<<Real<<'t'<<"Image="<<Image<<'n' Complex operator+(Complex); /重载+运算符函数Complex operator+(double); /重载+运算符函数;Complex Complex:operator+( )/重载+Complex Temp(Real+c.Real , Image+c.Image) ;return ; Complex Complex:operator+(double d) /重载+ return Complex( , Image); void main(void)Complex c1(1.0,1.0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论