同济大学c++C卷答案(5页).doc

上传人:1595****071 文档编号:37025380 上传时间:2022-08-29 格式:DOC 页数:5 大小:176KB
返回 下载 相关 举报
同济大学c++C卷答案(5页).doc_第1页
第1页 / 共5页
同济大学c++C卷答案(5页).doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《同济大学c++C卷答案(5页).doc》由会员分享,可在线阅读,更多相关《同济大学c++C卷答案(5页).doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、-同济大学c+C卷答案-第 5 页同济大学课程考核试卷课号: 课名:C+语言 考试考查:考查此卷选为:期中考试( )、期终考试()、重考( )试卷年级 专业 学号 姓名 得分 一、选择填空 (30分)1) 按照标识符的要求,下列符号中不属于标识符组成部分的是(D)。A、大小写字母B、数字C、下划线D、 ! # $ % & * 2) 若有定义:char c;int x;float y;double z;则表达式x+c-(int)z/y值的类型为( C)。A、char B、int C、float D、double3) 有下列定义:char s10,*p,s1=“xyz”;以下语句中正确的是(B)。

2、A、s =“abcdefgh”;B、p =“abcdefgh”;C、s = s1;D、p=&s; cin p;4) 以下数组定义中正确的是( C )。A、int n=5;int an;B、int b3=1,2,3;C、int c34=0;D、int d=2,4,6,8;5) 已知int a(5),b(3);当逻辑表达式语句 !a&b+;b|a-|a+b;执行完毕后,a和b的值分别为(D)。A、4,4 B、4,3 C、5,4 D、5,36) 以下常量中不是字符型常量的是( B)。A、101B、aC、+D、n7) 对于int *p( );的描述,( B )是正确的。A、定义一个指向某int型函数的

3、指针变量p。B、函数p的声明,该函数的返回值是一个指向整型数据的指针值。C、定义函数p,函数p的返回值为int型数据。D、定义一个int型指针变量p,指向int型数据。8)下列变量定义中,不正确的是(D)。A、int a(0),b=1;B、int a,&b=a;C、int a,*b=&a;D、int a=b=1;9) 有下列定义:int c10; int *p;以下执行语句中不能使数组c中元素c1的值为1的是( C )。A、*(c+1)=1;B、p=c; *(p+1)=1;C、* +c =1;D、p=c; * +p =1;10) 当被调函数的形参是数组,调用函数的实参用数组名相对应,实现函数调

4、用时,下列描述中,( B )是错误的:A、实参数组把地址值传递给形参数组,使得两者指向内存的同一片存储域; B、函数调用时系统将实参数组元素拷贝一个副本给形参数组;C、若实参是一维数组名,其对应的一维形参数组可以不必说明数组大小,只需在数组名后跟一对说明即可,但两者类型应保持一致;D、在被调函数中对形参数组的任何改变,会影响实参数组所指内存存储单元中的内容。11) 在下列关键字中,用以说明类中公有成员的是(A):A、publicB、privateC、protectedD、friend12) 以下关于构造函数特征描述中,(D)是不正确的:A、构造函数的函数名与类名相同;B、构造函数允许重载; C

5、、构造函数可以设置缺省参数;D、构造函数必须指定其函数类型说明。13) 下面关于对象概念的叙述中,(A )是错误的。A、对象就是结构体变量; B、对象代表正在创建的系统中的一个实体;C、对象是一个状态和操作(或方法)的封装体;D、对象之间的信息传递是通过发送消息进行的。14) 在私有继承中,基类的公有成员将成为其派生类的(C )成员。A、公有 B、保护 C、私有 D、friend15) 设Date是一个日期类,date1是该类的一个对象,p是指向date1的Date类指针,GetDate()是Date类的一个公有成员函数,则以下不正确的表达式是(A)。A、Date.GetDate()B、dat

6、e1.GetDate()C、(*p).Date:GetDate()D、p-GetDate()二、写出下列各程序运行时的输出结果 (50分)1. #include void main()int i=10,j; float a; j = 1/(10/3); a = i/3.0; cout j endl;cout a endl; 答:0 3.333332.#include void main( )int i,j; i=j=2;if(i=1)if(j=2)cout (i,i+j) endl;elsecout (i=i-j) endl; cout i “ ” j endl;答:3 1 23.#inclu

7、de void swap(int &x,int y) int t=x; x=y; y=t; void main( ) int a=10,b=15; swap(a,b); cout“a=”a“ b=”bendl; 答:a=15 b=154.#include int x=1;void fun(int *p)static int x=2; *p *=x-1;x += 2; void main( )int i; for(i=1;i4;i+) fun(&x);cout x endl; 答:1 35. 15#include void f(char *p,int n)int i;for(i=0;in;i+)

8、 cout *(p+i);void main( )char s=“0123456789ABCDEF”; f(s+8,5); 答:89ABC6.#include void main( )int x(5);doswitch(x%2)case 1: x-;break;case 2: x+;break;x-;cout x 0); 答:3 1 -17.#include void f(int *p,int n)for(int i=0;in;i+) pi=i+1; void main( ) int a33,i,j; f(a0,9); for(i=0;i3;i+) for(j=0;j3;j+)coutaij“

9、 ”; cout endl; 答:1 2 3 4 5 6 7 8 98.#include void main( )int a34= 1,2,3,4,5,6,7,8,9,10,11,12;int *p13=a0,a1,a2;int (*p2)4=a;int *p=&a00;cout *(p+1) endl;cout *(p11+2) endl;cout *(*(p2+2)+3) endl; 答: 2 7 129.#include class TPoint public:TPoint( )x=0;y=0;TPoint(int i,int j)x=i;y=j;void Display( );priv

10、ate:int x,y;void TPoint:Display( ) cout x “,” y endl; void main()TPoint p1(4,5),p2,p3(-1,8);p1.Display( );p2.Display( );p3.Display( ); 答:4,5 0,0 -1,810.#include #include class Staff private:char name32; float wage,tax,wAfterTax;public:void SetData(char *s,float w)strcpy(name,s);wage = w; void Show()

11、 cout name endl; cout wage ; cout tax ; cout wAfterTax endl;void TaxCalc();void Staff:TaxCalc() float p;if(wage 1000.0) p=0.0;else if(wage 2000) p=0.05;else if(wage 5000) p=0.1;else p=0.15;tax = p * wage;wAfterTax = wage - tax;void main( )int i; Staff st3,*p;st0.SetData(Zhang,1800);st1.SetData(Wang,

12、4000);st2.SetData(Zhao,6000);p=st;for(i=0;iTaxCalc();for(i=0;iShow(); 答:Zhang1800 90 1710Wang4000 400 3600Zhao6000 900 5100三、编程 (20分)1) 某班有30个学生,5门功课。试根据sort函数的原型声明,写出按学生课程总分由高到低进行排序的sort函数程序。#include #include struct studentint num;char name32;float score5;float total;/总分void sort(student *p,int n);

13、/sort函数的原型声明,其中:n为学生数void main()student stu30;int i,j;float sum;for(i=0;i stui.num;gets(stui.name);sum = 0.0;for(j=0;j stui.scorej;sum += stui.scorej; stui.total = sum;sort(stu,30);for(i=0;i30;i+)cout stui.num endl; cout stui.name endl;for(j=0;j5;j+)coutstui.scorej“ ”;cout stui.total endl;/ sort函数程序

14、写在下面空白处void sort(student *p,int n) int i,j,k;student temp;for(i=0;in-1;i+)k=i;for(j=i+1;jtotaltotal) k=j;if(i!=k)temp=*(p+i);*(p+i)=*(p+k);*(p+k)=temp;2)根据MyStr类中成员函数Replace函数的原型声明,写出将MyStr类对象s中所有出现字符c1的地方均替换为字符c2的Replace函数。#include #include class MyStrprivate:char str80;public:MyStr(char s)strcpy(str,s);void Print()cout str endl;void Replace(char c1,char c2);void main()MyStr s(“this is a c+ program.”);s.Replace(t,T);s.Replace(c,C);s.Print();/ MyStr:Replace函数程序写在下面空白处void MyStr:Replace(char c1,char c2)int i;for(i=0;*(str+i)!=0;i+)if(*(str+i)=c1) *(str+i)=c2;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 单元课程

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁