C++复习 答案.docx
- 文档编号:9026174
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:24
- 大小:26.73KB
C++复习 答案.docx
《C++复习 答案.docx》由会员分享,可在线阅读,更多相关《C++复习 答案.docx(24页珍藏版)》请在冰豆网上搜索。
C++复习答案
基本知识
1.1选择题
1.C++源程序文件的扩展名为A。
A).CPPB).CC).DDLD).EXE
2.D不是C++语言的基本数据类型。
A)字符类型B)整数类型C)逻辑类型D)枚举类型
3.下列表达式的值为false的是C
A)1<3&&5<7B)!
(2>4)C)3&0&&1D)!
(5<8)||(2<8)
4.在C++语言里,一条语句以B字符作为结束符。
A),B);C).D)无符号
5.下面对枚举类型的描述正确的是C。
A)枚举类型的定义为:
enum{Monday,Tuesday,Wednesday,Thursday,Friday}Day;
B)在C++语言中,用户自定义的枚举类型的第一个常量的默认值是1
C)可以定义如下枚举类型:
enum{Monday,Tuesday,Wednesday=5,Thursday,Friday=5};
D)以上说法都不正确
6.定义如下变量:
inti=2;intj=3;则i/j的结果为B。
A)0.66667B)0C)0.7D)0.66666666……
7.有如下数组声明:
intvalues[30];,下标值引用错误的是A。
A)values[30]B)values[20]C)values[10]D)values[0]
8.下列描述正确的是D。
A)表示m>n为false或m B)switch语句结构中必须有default语句 C)if语句结构中必须有else语句 D)如果至少有一个操作数为true,则包含║运算符的表达式为true 9.下列关于指针运算的描述错误的是A。 A)在一定条件下,两个指针可以相加 B)在一定条件下,两个指针可以进行逻辑判断 C)在一定条件下,指针可以为空值 D)在一定条件下,两个指针可以相互赋值 10.下列对变量的引用错误的是C。 A)inta;int&p=a: B)chara;char&p=a C)inta;int&p;p=a; D)floata;float&p=a; 1.2填空题 11.程序文件的编译错误分为语法错误和连接错误。 12.字符串类型的变量一般用字符指针和数组类型的变量表示。 13.空字符串的长度是0。 14.设intx=10,则表达式x<=10? 20: 30的值为20。 15.一个指针类型的对象占用内存的4个字节的存储空间。 16.除了在函数参数是引用类型和函数返回类型时对变量的引用的情况下,定义引用变量必须初始化。 17.对于嵌套的if…else语句,C++语法规定else总是与离它最近的且尚未配对的if语句匹配。 18.下列程序计算出0到9之间的任意3个不相同的数字组成的三位数共有多少种不同的组合方式。 请完成下列程序。 #include Voidmain() { Inti,j,k,count=0; For(i=9;i>=1;i…) For(j=9;j>=0;j…) If(i==j)continue; else For(k=0;k<=9;k++) If((k! =i)&&(k! =j))count++; Cout< } 1.3阅读程序 19.写成下列程序的运行结果。 #include Voidmain() { Inta[2][2]={1,2,3,4},*p; P=a[0]+1; Cout<<*p< } 答案: 2 20.写出下列程序的运行结果。 #include Voidmain() { Inti,j; For(i=5;i>0;i--) { For(j=i;j>0;j--) Cout<<"*"; Cout< } } 答案: ***** **** *** ** * 1.4编写程序 21.已知一个三角形中三条边的长度分别为a,b和c,请利用下列公式求出三角形的面积 ,其中s=(a+b+c)/2。 注意: 构成三角形的条件是三角形任意两条边长度之和大于第三条边。 22.直角三角形的三条边满足勾股定律: 两条直角边的平方和等于斜边的平方。 编写程序,找出三条边的长度都小于50的所有直角三角形。 函数 2.1选择题 23.当一个函数无返回值时,函数的类型应为B。 A)任意B)voidC)intD)char 24.在C++语言中函数返回值的类型时由C决定的。 A)调用该函数时系统临时B)return语句中的表达式类型 C)定义该函数时所指定的函数类型D)调用该函数时的主调函数类型 25.在不同文件的函数中,对全局变量的引用要加上D关键字。 A)registerB)autoC)staticD)extern 26.不能实现函数之间数据传递的是B。 A)全局变量B)局部变量C)函数接口D)函数返回值 27.对下列程序段的描述正确的是A。 #include IntFun(intx,inty) { Returnx+y; } Voidmain() { Inti+10; Cout< } A)程序输出结果不能确定B)程序输出结果是20 C)程序输出结果是21D)程序输出结果是22 2.2填空题 28.函数的调用方式分为两种: 传值调用和引用调用。 其中,传值调用又根据C++中变量值的不同分为: 传递变量本身值的调用和传递变量地址的传址调用。 29.在调用一个函数的过程中可以直接或间接地调用该函数,这种调用称为递归调用,该函数称为递归函数。 30.假定一个函数的参数说明为intx[],则等价的指针参数说明为int*x。 31.下面的函数Fun将一个整数字符串转换为一个整数。 请完成下列函数定义。 #include IntFun(char*str) { Intnum,digital,len; Num=0//给变量num赋初值 Len=strlen(str); While(*str! =NULL) { Difital=*str-'0'; For(inti=0;i Digital*=10; Len--; Str++ Num+=digital; } Return } 2.3阅读程序 32.阅读下列程序,找出程序中的错误,并说明错误原因。 Int&Fun(intindex,inta[]) { Intr=a[index]; Returnr; } 答案: 函数Fun的返回值为int&,即返回值对int型的引用。 由于变量r是局部变量,因此它的作用域在Fun函数调用完毕之后就结束了,它所占用的内存空间也将被释放。 因此,不能返回对局部变量的引用。 33.写出下列程序的运行结果。 #include voidFun1(int*x,int*y) { Intp; P=*x; *x=*y; *y=p; } voidFun2(int*x,int*y) { Int*p; P=x; x=y; y=p; } Voidmain() { Inta=5,b=10; Fun1(&a,&b); Cout< Fun2(&a,&b);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+复习 答案 C+ 复习