![c复习资料及答案_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/8dcf40db-b1a8-428a-a699-e802db44acf2/8dcf40db-b1a8-428a-a699-e802db44acf21.gif)
![c复习资料及答案_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/8dcf40db-b1a8-428a-a699-e802db44acf2/8dcf40db-b1a8-428a-a699-e802db44acf22.gif)
![c复习资料及答案_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-3/5/8dcf40db-b1a8-428a-a699-e802db44acf2/8dcf40db-b1a8-428a-a699-e802db44acf23.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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、执行。(丫)7、 数组是一种构造型数据,即是若干相同类型的数据的集合。()8、 C+语言中,二维数组中元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,再存放第二行的元素。()9、 #include“ iostrean的作用是将说明标准输入输岀流对象的头文件包含到当前源文件中来。(丫)10、C+语言中允许函数“嵌套调用”和“递归调用”,所谓“递归调用”就是指:在调用-个函数的过程中又岀现直接或间接地调用该函数本身。(丫)、选择题1、由C+源程序文件编译而成的目标代码文件的缺省扩展名为(C )A).cpp B).exe C).obj D).lik2、设x和y均为bool类型(bool
3、类型:1或0),则x&&y为真的条件是(A )A).它们均为真B).其中一个为真C).它们均为假D).其中一个为假3、设有 inti ;则表达式 i=l,+i,+i|+i,i 的值为(C )A).l B).2C).3D).44、 设有 int i;则表达式(i=l, i=10)?i+| |+i:+i的值为(A )解析:(i-1, i=10)?i+| |+i:+i(i=l, i=10)是真的情况表达式的值=i+| |+i是假的时候=+i(i=l, i=10)这个是逗号运算符最终i=10,是真所以表达式的值是i+| |+i = 10 | |12 = 1A).l B).2C).3D)
4、.1O5、设有 int a =(10,ll,12),*p=&a0;则执行完 *p+;*p+=l;后 a0,al,a2的值依次是()A).10,ll,12B).ll,12,12C).10,12,12D).ll,ll,126、设a、b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是()A).'A'&&B1B).a<=b 17、若x和y都是int型变量,x=100,y=200,则下面程序片段 cout?(x,y)?endl;的输岀结果是 ()解析:语句中遵循优先级高的优先执行的原则,括号优先级最高,所以(x, y)最先计算
5、。这是一个逗号表达式,注意,是一个表达式,是表达式就有值。逗号 表达式的值等于最右边的那个值,即x,y,z的值是乙依次类推。所以(x, y)=y=200,最后执行语句其他部分,输出200B).100A).2OOC).100 200D).输岀格式符不够,输岀不确定的值8、下面各语句中,能正确进行字符串赋值操作的语句行是()A).char s45=("ABCDE");('AVB'/C'.'D'.'E')C). Char *s; s="ABCDE"B). char s5='A','
6、B',C,D,'E' ( char s6=D). char *s; cin? s;9、若有:inta6=4,5,6,9,5,7,*p=a,*q=p;则对数组元素的错误引用是()A). a4B). *(p+4)C). *a+ (变量才能加减)D). *q+10、下列不正确的转义字符是()A).''B).'"C).'O74'D).'0'11、假定a和b为int型变量,则执行以下语句后b的值为()a=l; b=10;do(b-=a; a+; while (b <0);A). 9B).-2C).-1D).
7、812、对于结构中定义的成员,其隐含访问权限为()A), publicC). privateB). protectedD). static13、设Pl和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的 句是()A).k=*Pl+*P2;B).p2=k; C).P 仁P2;D).K=*P1 * (*P2);14、设有如下定义:int arr=6,7,8,9,10;int * ptr;则下列程序段的输岀结果为()ptr=arr;* (ptr+2)+=2;coutv<*ptrv<*(pt r+2)v Ven dl;A).8,10B).6,8C).7,9D).
8、6,1015、执行以下程序段后,m的值为()in ta23=( 1,2,3,4,5,6);int m,*p;p=&a00;m=(*p)*(*(p+2)*(*(p+4);D). 12A). 15 B). 14 C). 13三、填空题1、描述命题“A小于B或小于C"的表达式为。2、在C+中有二种参数传递方式:和o3、定义重载函数时,应在参数个数、参数类型或参数次序上4、拷贝初始化构造函数使用来初始化创建中的对象。5、一个C+函数由两部分组成,即:和 o6、一个C+程序总是从 开始执行。*/部分或 部分所起的作用和o,以便系统据此判断字符串是否结束7、C+语言程序中出现的/*是:。
9、8、C+语言中数组元素的访问方式有两种,即:9、C+规定:在每一个字符串的结尾加上一个10、C+语言中数据类型的转换有两种,即:和?11、C+语言规定了运算符的优先级和结合性,其结合性分为:12、若有int x=4,y=7;则表达式 x+=y,x*=x+y 的值为。3、x>l&&y!=0 的相反条件为o14、过程化程序设计方法中,程序由三种基本结构,即:顺序结构、。15、在C+中,若需要在程序文件中进行标准输入输岀操作,则必须在开始加入预处理命令,若使用到数学库中的函数时,要在源程序的开始加入预处理命令。16、 C+语言中用来存放变量地址的变量称作。17、int *p10
10、;的含义是 o18、int *p;的含义是 o四、简答题1、请用C+语言的表达式表示下列代数式%3 sin55 °id jeab (e=2.71828)a + b xh-_ 4。+ /z +£ea+b ? sin50(e=2.718(5)ln2、根据要求完成下列各题。(2)定义结构体类型 date,该结构体包含的成员为year (整型)、mo nth (整型)、day (整型) , 再使用 typedef将结构体类型date等价成DATE,最后使用DATE定义一个变量 pdate。五、程序分析题1、写出下列程序运行结果:(1)#include "iostream.
11、h" (4 分)void main()(int x=5,y=8,*px,*py; px=&x,py=&y; cout?nnum 1 - ,?*px? , ,?, num2=n?*py<< ,;' if(x<y) swapl(x,y);H , , , , , , cout?Hnum 1 =,?*px?, ,?,num2=,?*py?,;, if(x<y) swap2(px,py);cout?nnum 1 = ,?*px? , ,?,num2="? *py<< ,;9; if(x<y) swap3(px,py);
12、cout?Hnum 1 =,?*px?, ,?,num2=,?*py?,;,)swap 1 (int a,int b) (int t;t=a; a=b; b=t;n ,5 ,cout?nnum 1 - ,?a?,' vv"num2=" vvbvv 5;,;) swap2(int *p,int *q) (int *t;t=p; p=q; q=t;cout?Hnum 1 ="vv*pvv',' vv"num2=''?*qvv' ;' ; swap3(int *p,int *q)(int t; t=*p;
13、*p=*q;*q=t;Hcout?Hnum 1 ="vv*pvv',' vv"num2=''?*qvv' ;';(2) #include "iostream.h (3 分”) main(int argc,char *argv) (inti;cout?,argc=,?argc<<,;9; for(i=0;i<=argc-1 ;i+) cout? argvi? ,;'注:文件的路径可以不考虑 若上面的程序编译、连接后生成可执行文件 ABC.EXE, 若输入以下命令行 abc filel file
14、2 <enter> ( 表示回车 )(3) #include <iostream.h> (4 分)class A(int a, b;public: A()(a=b=O;)A( int aa , int bb ): a(aa),b(bb)cout vv ” a="vvav,”<v”b=”b?endl;A() (cout? "Destructor! ”?endl;;void mai n()? A()(A x , y(2,3);) 对象x,y消亡后分别自动调用析构函数2、试分析下列程序或函数的功能。 (4分)(1) #i nclude "i
15、ostream.h"void mai n() char str81,*sptr;in ti;for(i=0; i<80; i+)(stri=ci n.get();if(stri= 'n) break;)stri= 'O'sptr=str;while(*sptr) cout? (*sptr+);if (grade>=80)grade=”B" cout? 6CThe grade is:"vvgrade;if (grade>=70)grade=A,CA,; cout? 6CThe grade is:"vvgrade;i
16、f (grade>=60) grade=,D,; cout? uThe grade is: 9,?grade; elsegrade=A,EA,; cout? 4tThe grade is: 9,?grade;4、程序填空题:(每空1分,共8分)(1) 以下程序通过调用自定义函数scopy()将字符串si复制到字符串S2,并输岀显示,请填空。#i nclude "iostream.h"void scopy (,)while(*p匸'0')(; ; *q=W;void mai n()(char *sl="Nanji ng, Chi na"
17、;char s220;cout?"nThe si is:"? sl;cout?"nThe s2 is:"? s2;(2) class A(int *a;int n;public: A(i nt nn=0): n(nn)(if(n=0) a=0;else a=; 分配长度为n的动态数组void seta(i nt *aa)(for (i nt i=0; i<n; i+) ai=aai;)定义析构函数,释放动态数组空间;六、编程题1、编制一个完整的程序:从键盘输入10个整型数组元素,调用自定义函数void sort( int array,int n )
18、对其进行由大到小排序,最后将排序结果输岀到显示器终端,要求自定义函数sort()中用冒泡法实现排序。04财计C+程序设计语言答案一、判断题(10分)1 5 : F, F, F, F, F2 10: T, T, T, T, T二、选择题(25分)I 5 : C, A, C, A, C610: D, A, C, C, CII 15 : D, A, B, D, A16 20 : C, D, D, A, A三、 语法填空题(15分)、A<B | A<C。2、值传递和地址传递。3、不相同。4、已存在同类型对象的引用。5、函数的说明部分和函数体部分。6、main函数的入口地址处 。7、注释说明
19、,以增加程序的可读性。8、下标方式和指针方式。9、字符串结束标志,0,10、自动类型转换和强制类型转换。11、左结合性和右结合性。12、198 o13> xv=l II y=0。14、选择结构、循环结构。15> #inelude viostream.h> , #inelude“ math.h ”16、指针变量。17、定义指针数组 P,它有10个指向整型数据的指针元素组成。18、定义一个指针变量P,它指向一个指向整型数据的指针变量。四、简答题(16分)1、请用C+语言的表达式表示下列代数式。(1) x*x*x*s in (55*3.14/180)/(3.14*d)(2) 1.0
20、/3*exp(a-b)(3) (a+b*b*h-b/4)/(a+h/t)(4) exp(a+b)*si n(50*3.14/180)(5) log(a+x/5.0*sqrt(a+x*x)2、根据要求完成下列各题。(1) static char str ="welcome to Nanjing !"char *str="welcome to Nanji ng厂:(2) struct date(int year;int mon th;int day;;typedef struct date DATE;DATE pdate;五、程序分析题1、 ( 1)、各 cout 按
21、执行次序输岀的结果为5,8; 8,5; 5,8; 8,5; 5,8; 8,5; 8,5(2) 、程序执行后的输岀结果是:argc=3; abc.exe ; filel; file2;(3) 、程序的输岀结果是:a=2, b=3Destructor!Destructor!2、 程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输岀该字符串3、改错题:#in clude <iostream.h>mai n()(int n um; char grade; cout? "please in put n um:,; cin? num;if(grade>=90)&am
22、p;&(grade<=l 00) (grade>=80)else if (grade>=70)else if (grade>=60) en difen dift49grade=AAA,; cout? The grade is: ?grade;grade="B" cout?The grade is: ?grade;grade='C: cout? t4The grade is: 9,?grade;t49grade=''D" cout? The grade is: ,?grade;grade=''E" cout?t4 The gradeis: 9, ?grade;else
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 住房屋租赁合同范例
- 2025年度智慧园区视频监控系统集成合同
- 农田机器维修合同范本
- 业主物业合同范本
- 别墅石材装修合同范本
- 冻库合同范本
- 交通疏解合同范本
- 业务咨询合同范本
- epc工程总承包合同范例
- 住房包工合同范本
- 物业管理服务应急响应方案
- 风车的原理小班课件
- 物业保洁员劳动竞赛理论知识考试题库500题(含答案)
- 国家职业技术技能标准 4-07-07-01 洗衣师 劳社厅发20081号
- 六年级数学竞赛试题及答案(六套)
- 七年级下学期数学开学第一课课件
- 临床诊疗指南-口腔医学分册
- 《中国心血管健康与疾病报告2024》要点解读
- 浙教版八年级下册科学第一章 电和磁整章思维导图
- 重庆建设-花篮拉杆式悬挑脚手架工艺标准(试行)
- 动物疫病传染病防控培训制度
评论
0/150
提交评论