版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+复习资料及答案一、 判断题1、在变量定义int sum , SUM; 中sum和SUM是两个相同的变量名。(N )2、字符串”china”在内存中占据的存储空间是5个字节。(N )3、在C+语言中,”A”和A是等价的。( N )4 、C+表达式4/7和4.0/7的值是相等的,且都为double型。( N )5、关系表达式 a=b>c 等价于 a=(b>c) ,同时也等价于 a=b>c。( N )6、continue 语句和break 语句的区别是:break 语句提前跳出switch结构或结束循环的执行;continue 语句只结束本次循环,而不是终止整个循环的
2、执行。(Y )7、数组是一种构造型数据,即是若干相同类型的数据的集合。( )8、C+语言中,二维数组中元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,再存放第二行的元素。( )9、#include “iostream.h” 的作用是将说明标准输入输出流对象的头文件包含到当前源文件中来。(Y )10、C+语言中允许函数“嵌套调用”和“递归调用”,所谓“递归调用”就是指:在调用一个函数的过程中又出现直接或间接地调用该函数本身。(Y )二、 选择题1、由C+源程序文件编译而成的目标代码文件的缺省扩展名为( C ) A).cpp B).exe C).obj D).lik2、设x和y均为b
3、ool类型(bool类型:1或0),则x&&y为真的条件是(A ) A).它们均为真 B).其中一个为真 C).它们均为假 D).其中一个为假3、设有int i;则表达式i=1,+i,+i|+i,i的值为 ( C ) A).1 B).2 C).3 D).44、设有int i;则表达式(i=1,i=10)?i+|+i:+i的值为 (A )解析:(i=1,i=10)?i+|+i:+i(i=1,i=10)是真的情况表达式的值=i+|+i是假的时候=+i(i=1,i=10)这个是逗号运算符最终i=10,是真所以表达式的值是i+|+i = 10 |12 = 1 A).1 B).2 C).
4、3 D).105、设有int a =10,11,12,*p=&a0;则执行完*p+;*p+=1;后a0,a1,a2的值依次是 ( ) A).10,11,12 B).11,12,12 C).10,12,12 D).11,11,126、设a、b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是( ) A).'A'&&'B' 1 B).a<=b 1 C).c>=b|b+c&&b-c 1 D). a<=b+c&&c>=a+b7、若x和y都是int型变量,x=10
5、0,y=200,则下面程序片段cout<<(x,y)<<endl; 的输出结果是( )解析:语句中遵循优先级高的优先执行的原则,括号优先级最高,所以(x, y)最先计算。这是一个逗号表达式,注意,是一个表达式,是表达式就有值。逗号表达式的值等于最右边的那个值,即x,y,z的值是z,依次类推。所以(x, y)=y=200,最后执行语句其他部分,输出200 A).200 B).100 C).100 200 D).输出格式符不够,输出不确定的值8、下面各语句中,能正确进行字符串赋值操作的语句行是( ) A).char s45="ABCDE" B). cha
6、r s5='A','B','C','D','E'(char s6= 'A','B','C','D','E') C). Char *s; s="ABCDE" D). char *s; cin>>s;9、若有:int a6=4,5,6,9,5,7,*p=a, *q=p; 则对数组元素的错误引用是( )A). a4 B). *(p+4) C). *a+(变量才能加减) D). *q+10、下列不正确的转义字符是
7、( ) A).'' B).'" C).'074' D).'0'11、假定a和b为int型变量,则执行以下语句后b的值为( )a=1; b=10;do b-=a; a+; while (b-<0);A). 9 B). 2 C). -1 D). 812、对于结构中定义的成员,其隐含访问权限为( )A). public B). protected C). private D). static13、设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是( ) A).k=*P1+*P2; B).
8、p2=k; C).P1=P2; D).K=*P1 * (*P2);14、设有如下定义:int arr=6,7,8,9,10;int * ptr;则下列程序段的输出结果为( )ptr=arr;* (ptr+2)+=2;cout<<*ptr<<*(ptr+2)<<endl;A).8,10 B).6,8 C).7,9 D).6,1015、执行以下程序段后,m的值为( )int a23= 1,2,3,4,5,6 ;int m,*p;p=&a00;m=(*p)*(*(p+2)*(*(p+4);A). 15 B). 14 C). 13 D). 12三、 填空题1
9、、描述命题“A小于B或小于C”的表达式为 。2、在C+中有二种参数传递方式: 和 。3、定义重载函数时,应在参数个数、参数类型或参数次序上 。4、拷贝初始化构造函数使用 来初始化创建中的对象。5、一个C+函数由两部分组成,即: 和 。6、一个C+程序总是从 开始执行。7、C+语言程序中出现的/*/部分或/部分所起的作用是: 。8、C+语言中数组元素的访问方式有两种,即: 和 。9、C+规定:在每一个字符串的结尾加上一个 ,以便系统据此判断字符串是否结束。10、C+语言中数据类型的转换有两种,即: 和 。11、C+语言规定了运算符的优先级和结合性,其结合性分为: 和 。12、若有int x=4,
10、y=7; 则表达式x+=y,x*=x+y的值为 。13、x>1 && y!=0的相反条件为 。14、过程化程序设计方法中,程序由三种基本结构,即:顺序结构、 、 。15、在C+中,若需要在程序文件中进行标准输入输出操作,则必须在开始加入预处理命令 ,若使用到数学库中的函数时,要在源程序的开始加入预处理命令 。16、C+语言中用来存放变量地址的变量称作 。17、int *p10; 的含义是 。18、int *p; 的含义是 。四、简答题1、请用C+语言的表达式表示下列代数式。(1) (2) (e=2.71828) (3) (4) (e=2.71828) (5) 2、根据要求
11、完成下列各题。(1) 用两种方法实现一个字符串str,并赋以初值”welcome to Nanjing !”。 (2) 定义结构体类型date, 该结构体包含的成员为year (整型)、month (整型)、day(整型),再使用typedef 将结构体类型date等价成DATE,最后使用DATE定义一个变量pdate。五、程序分析题1、写出下列程序运行结果:(1) #include "iostream.h" (4分) void main( ) int x=5,y=8,*px,*py; px=&x,py=&y; cout<<"num1=
12、”<<*px<<,<<”num2="<<*py<< if(x<y) swap1(x,y); cout<<"num1=”<<*px<<,<<”num2="<<*py<< if(x<y) swap2(px,py);cout<<"num1=”<<*px<<,<<”num2="<<*py<< if(x<y) swap3(px,py);
13、 cout<<"num1=”<<*px<<,<<”num2="<<*py<< swap1(int a,int b) int t; t=a; a=b; b=t; cout<<"num1=”<<a<<,<<”num2="<<b<< swap2(int *p,int *q) int *t; t=p; p=q; q=t; cout<<"num1=”<<*p<<,<<
14、;”num2="<<*q<< swap3(int *p,int *q) int t; t=*p;*p=*q;*q=t; cout<<"num1=”<<*p<<,<<”num2="<<*q<<(2) #include “iostream.h” (3分) main(int argc,char *argv ) int i; cout<<”argc=”<<argc<< ; for(i=0;i<=argc-1;i+) cout<&l
15、t;argvi<< ; 若上面的程序编译连接后生成可执行文件ABC.EXE, 若输入以下命令行 abc filel file2 <enter> (表示回车) 注:文件的路径可以不考虑(3) #include <iostream.h> (4分)class A int a, b; public: A()a=b=0; A( int aa , int bb ) : a(aa),b(bb) cout <<”a=”<<a<<”, ”<<”b=”<<b<<endl; A() cout<<”
16、Destructor!”<<endl; void main( ) A x , y(2 , 3) ; /对象x , y消亡后分别自动调用析构函数A( )2、试分析下列程序或函数的功能。(4分) (1) #include "iostream.h"void main( ) char str81,*sptr;int i;for(i=0; i<80; i+) stri=cin.get( );if(stri='n') break;stri=0;sptr=str;while(*sptr) cout<<(*sptr+);3、程序改错题:(4分)
17、从键盘输入一个分数(0100),判断它属于哪个分数段,并输出分数段字母代号。#include <iostream.h>main( )int num; char grade; cout<<“please input num:”; cin>>num; if(grade>=90)&&(grade<=100) grade=”A”; cout<<“The grade is:”<<grade; if (grade>=80) grade=”B”; cout<<“The grade is:”<<
18、;grade; if (grade>=70) grade=”C”; cout<<“The grade is:”<<grade; if (grade>=60) grade=”D”; cout<<“The grade is:”<<grade; else grade=”E”; cout<<“The grade is:”<<grade;4、程序填空题: (每空1分,共8分)(1)以下程序通过调用自定义函数scopy( )将字符串s1复制到字符串s2,并输出显示,请填空。 #include “iostream.h” vo
19、id scopy ( , ) while(*p!= '0') *q='0' void main( ) char *s1="Nanjing, China" char s220; cout<<"nThe s1 is:"<<s1; cout<<"nThe s2 is:"<<s2;(2) class A int *a ; int n;public: A(int nn=0) : n(nn) if(n=0) a=0; else a= ; /分配长度为n的动态数组 vo
20、id seta(int *aa) for (int i=0; i<n; i+) ai=aai ; /定义析构函数,释放动态数组空间六、编程题1、 编制一个完整的程序:从键盘输入10个整型数组元素,调用自定义函数void sort( int array , int n )对其进行由大到小排序,最后将排序结果输出到显示器终端,要求自定义函数sort( )中用冒泡法实现排序。04财计C+程序设计语言答案一、判断题(10分)1 5 :F,F,F,F,F 2 10:T,T,T,T,T二、选择题(25分)1 5 :C,A,C,A,C6 10:D,A,C,C,C11 15:D,A,B,D,A16 20
21、:C,D,D,A,A三、语法填空题(15分)1、 A<B | A<C 。2、值传递 和 地址传递 。3、 不相同 。4、 已存在同类型对象的引用 。5、 函数的说明部分和函数体部分。6、 main函数的入口地址处 。7、 注释说明,以增加程序的可读性 。8、 下标方式 和 指针方式 。9、 字符串结束标志0 10、 自动类型转换 和 强制类型转换 。11、 左结合性 和 右结合性 。12、 198 。13、 x<=1 | y=0 。14、选择结构 、循环结构 。15、 #include <iostream.h> , #include “math.h” 。16、 指
22、针变量 。17、 定义指针数组p,它有10个指向整型数据的指针元素组成 。18、 定义一个指针变量p,它指向一个指向整型数据的指针变量。四、简答题(16分)1、请用C+语言的表达式表示下列代数式。(1) x*x*x*sin(55*3.14/180)/(3.14*d) (2) 1.0/3*exp(a-b)(3) (a+b*b*h-b/4)/(a+h/t)(4) exp(a+b)*sin(50*3.14/180)(5) log(a+x/5.0*sqrt(a+x*x)2、根据要求完成下列各题。 (1) static char str =”welcome to Nanjing !” ; char *s
23、tr=”welcome to Nanjing !” ; (2) struct date int year; int month; int day; typedef struct date DATE; DATE pdate;五、程序分析题1、(1)、各cout按执行次序输出的结果为 5,8; 8,5; 5,8; 8,5; 5,8; 8,5; 8,5(2)、程序执行后的输出结果是 :argc=3; abc.exe ; file1; file2;(3)、程序的输出结果是:a=2, b=3 Destructor! Destructor!2、程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串。3、改错题:#include <iostream.h>main( )int num; char grade; cout<<“please input num:”; cin>>num; if(grade>=90)&&(grade<=100) grade=”A”; cout<<“The grad
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年航空质量审计合同
- 2025年城市综合体开发建设可行性研究报告
- 2025年生态旅游开发与品牌塑造项目可行性研究报告
- 2025年电子商务全渠道战略项目可行性研究报告
- 2025年智能机器人产业化发展可行性研究报告
- 使用石料协议书
- 中侨实业协议书
- 2025年农业生产资料供应链可行性研究报告
- 中美协议书范本
- 高考全国二卷政治考试题库及答案
- 2021年山西省文化旅游投资控股集团公司组织架构和部门职能
- 预存款合作协议
- 招标代理机构入围 投标方案(技术方案)
- 热工与流体力学基础课件
- 药品生产企业销售模式、组织架构及岗位设置-药品生产企业销售部门组
- 乡村振兴背景下农村集体经济发展问题
- 小型水工建筑物设计基本知识-水工建筑物的安全加高
- 燃气报警施工方案
- 保安员基本条件及行为规范
- 家装设计的职责【部门职能】1、接待装-112702874
- 艾坚蒙(安庆)科技发展有限公司年产4000吨光固化引发剂系列产品项目环境影响报告书
评论
0/150
提交评论