C语言程序设计》.docx
- 文档编号:27440416
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:41
- 大小:40.44KB
C语言程序设计》.docx
《C语言程序设计》.docx》由会员分享,可在线阅读,更多相关《C语言程序设计》.docx(41页珍藏版)》请在冰豆网上搜索。
C语言程序设计》
大连理工大学网络教育学院
2017年秋《C/C++语言程序设计》
期末考试复习题
☆注意事项:
本复习题满分共:
400分。
一、单选题
1、下列while循环的执行次数是(A)。
while(inti=0)i++;
A.0
B.1
C.5
D.无限
2、下列哪个函数不是类的成员函数。
(D)
A.析构函数
B.构造函数
C.拷贝构造函数
D.友元函数
3、在执行inta[][3]={1,2,3,4,5,6};语句后,a[0][0]的值是(B)。
A.4
B.1
C.2
D.5
4、C++中用3个保留字实现异常处理,除了throw和catch外,还有(C)。
A.if
B.class
C.try
D.return
5、下面表达式中错误的是(C)。
A.b=a++
B.a/=2
C.a+b=5
D.a=5,b=6,c=7
6、在定义inta[5];之后,对a的引用正确的是(D)。
A.a[5]
B.a[4.3]
C.a(5)
D.a[0]
7、类中将关键字(A)写在函数体之前函数头之后,说明该函数是一个常成员函数(或const成员函数),可以防止函数改变数据成员的值。
A.const
B.static
C.friend
D.void
8、设intn=10,i=3;则赋值运算n%=i+1执行后,n的值是(C)。
A.0
B.3
C.2
D.1
9、C++中用3个保留字实现异常处理,除了try和catch外,还有(C)。
A.if
B.class
C.throw
D.return
10、设有定义intx;doublev;,则10+x+v值的数据类型是(B)。
A.int
B.double
C.char
D.不确定
11、对于while、do…while循环结果说法正确的是(C)。
A.只是表达形式不同
B.while结构中的语句至少执行一次
C.do…while结构中的语句至少执行一次
D.条件成立时,他们有可能一次也不执行
12、下列运算符中优先级最高的为(A)。
A.!
B.%
C.-=
D.&&
13、有关构造函数的说法错误的是(D)。
A.构造函数名字和类的名字一样
B.构造函数在说明类变量时自动执行
C.构造函数无任何函数类型
D.构造函数有且只有一个
14、通常的拷贝构造函数的参数是(C)。
A.某个对象名
B.某个对象的成员名
C.某个对象的引用名
D.某个对象的指针名
15、为了判断两个字符串s1和s2是否相等,应当使用(D)。
A.if(s1=s2)
B.if(s1==s2)
C.if(strcpy(s1,s2))
D.if(strcmp(s1,s2)==0)
16、在定义inta[3][6];后,第10个元素是(B)。
A.a[2][4]
B.a[1][3]
C.a[3][1]
D.a[4][2]
17、不是C语言的浮点类型的是()。
D
A.float
B.double
C.longdouble
D.real
18、下面不是字符常量是()。
A
A.“t”
B.‘\t’
C.‘’
D.‘t’
19、C语言对嵌套if语句的规定是:
else总是与()配对。
D
A.其之前最近的ifB.第一个if
C.缩进位置相同的ifD.其之前最近且不带else的if
20、下面代码段的执行结果是()。
D
inti;
for(i=1;i<10;i++)
{
if(i%5==0)break;
printf("%d",i);
}
printf("end\n");
A.endB.12345endC.12345D.1234end
21、以下程序中调用scanf函数给变量a输入数值的方法是错误的,原因是()。
B
inta,*p=&a;
scanf(“%d”,*p);//输入a的数值
A.*p表示的是指针变量p的地址
B.*p表示的是变量a的值,而不是变量a的地址
C.*p表示的是指针变量p的值
D.*p只能用来说明p是一个指针变量
22、设inta[10]={15,12,7,31,47,20},*p,下列语句中正确的是()。
B
A.for(p=a;a<(p+10);a++);
B.for(p=a;p<(a+10);p++);
C.for(p=a,a=a+10;p D.for(p=a;a 23、关于封装,下列说法中不正确的是()。 D A.通过封装,对象的全部属性和操作结合在一起,形成一个整体 B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见) C.通过封装,每个对象都成为相对独立的实体 D.通过封装,对象的属性都是不可见的 24、有以下代码段输出的结果为()。 C inta=1,b=3,c=5; int*p1=&a,*p2=&b,*p=&c; *p=*p1*(*p2); printf("%d\n",c); A.1B.2C.3D.4 25、设已有定义char*st="howareyou"下列程序段中正确的是()。 C A.chara[],*p;strcpy(p=a+1,&st[4]);B.chara[11];strcpy(++a,st); C.chara[20];strcpy(a,st);D.chara[],*p;strcpy(p=&a[1],st+2); 26、设有以下说明语句,则以下叙述不正确的是()。 C structStu{ inta; floatb; }stutype; A.struct是结构体类型的关键字B.structstu是用户定义的结构体类型 C.stutype是用户定义的结构体类型名D.a和b都是结构体成员名 27、以下对结构体变量stu1中成员age的合法引用是()。 C structstudent{ intage,num; }stu1, *p=&stu1; A.stu1->ageB.student.ageC.p->ageD.p.age 28、C++源文件的扩展名为()。 A A.cppB.cC.txtD.exe 29、关于C++和C语言的描述中,()是错误的? C A.C是C++的一个子集? B.C程序在C++环境可以运行 C.C++程序在C环境可以运行D.C++是面向对象的而C是面向过程的 二、填空题 1、表达式sqrt(81)和pow(6,3)的值分别为和。 9、216 2、空串的长度为,存储它需要占用个字节。 0、1 3、strlen("apple")的值为。 5 4、使用cin和cout进行输入输出操作的程序必须包含头文件,其语句格式为。 iostream.h#include 5、对一个一维字符数组a进行初始化的数据为"12345",则a[0]和a[3]元素对应的初值分别为和 。 1’、‘4’ 6、对一个类中的数据成员的初始化可以通过构造函数中的实现,也可以通过构造函数中的实现。 初始化表、函数体 7、随机函数rand()%20的值在至区间内。 0、19 8、若需要把一个函数“voidF();”定义为一个类AB的友元函数,则应在类AB定义中加入一条语句: 。 friendvoidF(); 9、根据给定的程序功能,将程序代码补充完整,每空只填一条语句 定义并调用排序函数,对一维数组进行降序排序。 #include ①;/*宏定义常量SIZE为10*/ voidsort(inta[],intsize);/*冒泡排序函数*/ voidmain() { intarray[SIZE]={2,6,4,8,10,12,89,68,45,38},i; ②;/*调用排序函数*/ for(i=0;i ③;/*输出数组元素*/ } voidsort(inta[],intsize) { intpass,k,t; for(pass=0;④;pass++) for(k=0;k if(⑤)/*降序排序*/ {t=a[k];a[k]=a[k+1];a[k+1]=t;} } 参考答案: 本题考察数组排序 1#defineSIZE10; 2sort(array,SIZE); 3printf("%5d",array[i]); 4pass 5a[k]>a[k+1]; 10、根据给定的程序功能,将程序代码补充完整,每空只填一条语句,输入一个正整数,判断是否为素数。 #include ①/*引用头文件*/ voidmain() {②;/*定义变量m与i*/ printf("输入一个正整数m: \n"); ③;/*输入整数m的值*/ for(i=2;i<=sqrt(m);i++)/*寻找能整除m的因子i*/ if(④)break; /*输出是否为素数*/ if(⑤)printf("%d是素数.\n",m); elseprintf("%d不是素数.\n",m); } 参考答案: 本题考察数控制结构 1#include 2intm,i; 3scanf("%d",&m); 4m%i==0 5i>sqrt(m) 11、以下程序实现字符串的复制,将程序补充完整。 #include char*fuzhi(char*p1,char*p2) { inti; for(i=0;①;i++) *(p1+i)=*(p2+i); ②; returnp1;} intjishu(char*p) { inti; for(i=0;③;i++); ④; } intmain() { chara[20],b[20]; ⑤;//输入字符串,存储在b中 fuzhi(a,b); printf("%s\n",a); printf("thenumberis%d\n",jishu(a)); return0; } 参考答案: 本题考察数组及函数 1*(p2+i)! =0; 2*p1=0; 3*p++=! 0 4returni; 5gets(b); 12、根据给定的程序功能,将程序代码补充完整,每空只填一条语句,以下程序实现二维数组的转置,输出转置后的数组。 #include ①/*数组大小*/ voidinvert(intx[][N]) {inti,j,t;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计