C++期末考试试卷及参考答案

合集下载

吉林师范成人教育《C语言程序设计试题》期末考试复习题及参考答案

吉林师范成人教育《C语言程序设计试题》期末考试复习题及参考答案

吉林师范成人教育期末考试试卷《C语言程序设计》A卷年级专业姓名分数一、选择题(每题1分共10分)1. 一个C语言程序是由。

A)一个主程序和若干个子程序组成 B)若干函数组成C)若干过程组成 D)若干子程序组成2. 不是整数。

下面不正确的字符串常量是。

A)'abc' B)"12'12" C)"0" D)" "3. 下面四个选项中,均是合法的浮点数的选项是。

A)+1e+1 B)-.60 C)123e D)-e35e-9.4 12e-4 1.2e-.4 .8e-403e2 -8e5 +2e-1 5.e-04. 以下正确的叙述是。

A)在C程序中,每行只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符5. 根据定义和数据的输入方式,输入语句的正确形式为。

已有定义:float f1,f2;数据的输入方式:4.523.5A)scanf("%f,%f",&f1,&f2); B)scanf("%f%f",&f1,&f2);C)scanf("%3.2f %2.1f",&f1,&f2); D)scanf("%3.2f%2.1f",&f1,&f2);6. 下面四个选项中,均是正确的数值常量或字符常量的选项是。

A)0.0 B)"a" C)'3' D)+0010f 3.9e-2.5 011 0xabcd8.9e 1e1 0xFF00 2e2'&' '\"' 0a 50.7. 若x、i、j和k都是int型变量,则计算下面表达式后,x的值为。

2004.1《C语言》期末考试试卷及答案

2004.1《C语言》期末考试试卷及答案

1
(6)C (7)D (8)C (9)A (10)C 二、填空题(20分) 、 、 1、结构化程序的3种基本结构是 2、能实现C程序循环结构的语句包括 、 、 3、按优先级从高到低排列运算符:!、&&、||排列结果 4、假设 struct student {int num; float score; }stu_1; 与 则结构体类型名与结构体变量明分别是 5、strlen(“welcome\0”)的结果是 6、字符常量的概念是 7、函数体一般包括声明部分与 8、C的源程序经过 后生成目标程序 9、设int a,b;则能正确表示代数式1/(ab)的C语言表达式是 10、变量的指针的概念是 答案: (1)顺序结构、选择结构、循环结构 (2)do~_while、for、while (3)!>&&>|| (4)struct student 与 stu_1 (5)7 (6)用单引号‘’界定的字符 (7)执行部分 (8)编译 (9)1.0/(a*b)或1/((float)a*b) (10)存放变量的地址 三、程序填空题(20分) 1.判断某个大于2的整数是否是素数。 判断整数M是否是素数的标准是:除了1与M以外,M不能被任何一个整数所整除。 main() { int n,i,flag; flag=1; ); scanf(“%d”, (1) for ( (2) ) if(n%i==0) { flag=0; (3) ; } if(flag!=0) printf(“ yes”); else printf(“ no”); } 答案:(1)&n (2)i=2;i<n;i++ (3)break;
2
2. 一个函数如下,用程序实现之。
( x < 2) x y = 3x − 1 (2 <= xmain() { float x, y; scanf(“ %f”, &x); if (x<2) y = x; else if (1) y = (2) else y = (3) printf(“y=%f”, y); } 答案:(1)(x<10) (2)3*x-1 (3)4*x-11 分支同样正确,但若表达式少乘号不得分) 四、写出程序运行的输出结果(20分) 1. main() { int a,b; int *p_1, *p_2; a=100; b=10; p_1=&a; p_2=&b; printf(“%d, %d”, a, b); printf(“ %d, %d”,*p_1 ,*p_2); } 程序的运行结果是: 100,10 100,10 (此题若先写大于等于10的

电子科技大学《C语言》2020秋期末考试试题答案

电子科技大学《C语言》2020秋期末考试试题答案

电子科技大学《C语言》2020秋期末考试试题答案试卷总分:100 得分:100一、单选题 (共 35 道试题,共 70 分)1.若有说明int a[][3]={1,2,3,4,5,6,7};则a数组行数的大小为()。

A.2B.3C.4D.不确定答案:B2.若调用一个函数,且此函数中没有return语句,则正确的说法是该函数()。

A.没有返回值B.返回若干个系统默认值C.返回一个用户所希望的函数值D.返回一个不确定的值答案:D3.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用""括起时,寻找被包含文件的方式是A.直接按照系统设定的标准方式搜索目录B.先在源程序所在目录搜索,再按照系统设定的标准方式搜索C.仅仅搜索源程序所在目录D.仅仅搜索当前目录答案:B需要代做加微boge306194.C语言规定:在一个源程序中,main函数的位置()。

A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后答案:C5.以下程序段的作用是()。

int a[]={4,0,2,3,1},i,j,t; for (i=1;i=0&&t>a[j]) {a[j+1]=a[j];j- -;} a[j+1]=t; }A.对数组a进行插入排序(升序)B.对数组a进行插入排序(降序)C.对数组a进行选择排序(升序)D.对数组a进行选择排序(降序)答案:B6.以下说法正确的是()。

A.x'+5是一个错误的表达式B.C语言不允许类型的混合运算C.强制类型转换时,类型说明符必须加括号D.(int)x+y?和(int)(x+y)是完全等价的表达式答案:C7.以下叙述不正确的是()。

A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面答案:D8.下面函数调用语句含有实参的个数为()。

c语言期末复习试题附答案

c语言期末复习试题附答案

试卷编号:1120所属语言:C语言试卷方案:C语言期末考试试卷总分:100分共有题型:4种一、单项选择共30题(共计60分)第1题(分)设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A ).A:k++B:k+=1C:++kD:k+1第2题(分)已知int i=5,执行语句i+=++i后,i的值是(C).A:10B:llC:12D:A、B、C都不对第3题(分)以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. ttinclude <>void main()/* Beginning */{ int r;float s;scanf (〃%d〃,&r);s=p*r*r; printf (〃s=%f\n〃,s);出错的原因是(D).A:注释语句书写位置错误B:存放圆半径的变量r不应该定义为整型C:输出语句中格式描述符非法D:计算圆面积的赋值语句中使用了非法变量第4题(分)〃\\\〃 ABC\〃 \\〃的长度是(B ).A:llB:7C:5D:3第5题(分)已知int j, i=l执行语句j=-i++;后,j的值是(C ).A:1B:2串中的内容为“abcdefg”时,c 所指数组中的内容应该为 “lg2f3e4dcba” 。

*/ttinclude <>#include <>#include <>void fun ( char char *b, char *c )int i , j;char ch;i = 0;j 二 strlen(b)-l;/**********FOUND**********/ch = b [ i];b[j] = ch; i++; j —;/**********FOUND**********/while ( *a &&*b )//此处&&改为| | (逻辑或)if ()*c =*a;c++;/**********FOUND**********/a+;)if ( *b )*c 二*b; c++;b++;*c = 0;main()char sl[100],s2[100],t[200];clrscr ();printf (,z \nEnter si string : 〃);scanf (〃如〃,si);printf (,z \nEnter s2 string : 〃);scanf (〃%s 〃, s2);fun( si, s2, t );printf (/z \nThe result is : %s\n 〃,t );i j四、程序设计共1题(共计20分)第1题(分)/*【程序设计】功能:判断一个整数w 的各位数字平方之和能否被5整除, 可以被5整除则返回1,否则返回0。

大学大一C语言程序设计期末考试试卷及答案

大学大一C语言程序设计期末考试试卷及答案

__ _ _ _ _ _ _ _ _ _ _ _ _ _号学_ _ _ _ _ _ _ _ _ _ _ _ _ _ _名姓班_ _ _ _ _ _ _ _ _ _ _级_ _ _ _ _ _ _ _ _ _院学_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _四川师范大学计算机科学学院2012~2013 学年度第二学期期末考试⋯C语言程序设计试卷试卷 A⋯⋯⋯答卷说明:⋯1、本试卷共 6 页,答题纸 3 页, 4 个大题, 35 个小题,满分 100 分,⋯⋯120 分钟完卷。

⋯⋯2、闭卷考试,所有的答案都一定写在答题纸上,判卷以答题纸上答案⋯为准。

⋯效3、本试卷合用于 2011 级 1、2、3 班。

⋯)(无号一二三四分分人⋯⋯⋯⋯题分数⋯⋯⋯⋯答得分卷人⋯⋯⋯⋯)内一、( 在每小的四个答案中,出一个正确答案,并将正确答案的封(序号填在干的括号内。

每小 1 分,共 20 分)⋯⋯1、在 C 言中,以下符中合法的是()⋯线A).-int B). in1_3C).A_B!D D).const⋯⋯⋯2、不属于 C 言基本数据型的是 ()⋯A). int B). union C). char D). unsigned⋯封⋯⋯3、下边是宏定的描绘。

不正确的选项是()⋯⋯密A).宏不存在型,宏名无型,它的参数也无型)密B).宏替不占用运转(C).宏替不过字符串的代替⋯D).宏替先型,型一致才能够替⋯⋯⋯4、 C 言中,″\\xfds ″在内存中占用的字数是 ()⋯⋯A).3B).4C).5D).6⋯⋯⋯5、int x; 行 printf(″n%x″ ,~x^x);的果是 ()⋯A). ffffffff B). ff C). 0D). 1⋯⋯6、于 while 句,的法是 ()A). 用条件控制循体的行次数B). 循体起码要行一次C).循环体有可能一次也不履行D). 循环体中能够包括若干条语句7、履行以下语句后输出的结果是()int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A).6 , 7, 7B).6, 7, 8C).8,7, 6D).8, 7, 88、设 int a=9,b=20 ;则 printf(″ %d,%dn″ ,a,----b) ;的输出结果是 ()A).9 , 19B).9, 20C).10,19D).10, 209、设 static char x[ ]=″ 12345 ″ ,y[ ]={′ 10′;},那′么2′( , ′)3′ , ′ 4′ , ′ 5′ , ′A).x 数组的长度等于y 数组的长度B).x数组的长度大于y 数组的长度C).x 数组的长度少于y 数组的长度D).x数组与 y 数组的储存地区同样10、设 int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下边语句的输出结果是()for(i=0;i<3;i++)printf(″ %d″ ,x[i][2-i]);A).147B).159C).357D).36911、履行完以下语句后,n 的值是 ()int n;for (n=0 ; n<100 ; n=2*n+1);A).125B).126C).127D).12812、有以下语句: int a=6;a+=a- =a*a;printf(“ %d输”出,a);结果()A). –132B).–60C). -24D). 013、为了连结两个字符串s1 与 s2,应该使用 ( )A). strcat( s1 , s2 )B). strcpy( s1, s2 )C). strlen( s1, s2 )D). strcmp( s1, s2 )14、设 int a,*p ;则语句 p=&a; 中的运算符“ &”的含义是 ()A). 位与运算B).逻辑与运算C).取指针内容D). 取变量地点15、下边输出的结果为 ()i nt a=13, b=64;printf(“n%d”,!a || (b>>3) );A).13B).64C).1D).016、以下定义正确的选项是()A).enum t={a,b}x;B). enum t{1,2}x;C). enum { ′ +-′ ,}x;′D). enum t{a,b}x;17、设有定义:struct u{int a[4];float b[3]; char c[16];}aa;⋯⋯_ ⋯ __ ⋯ _ _ ⋯ _ ⋯__⋯__ ⋯ _ ⋯__⋯__⋯号⋯学)_(_ ⋯ _ ⋯__⋯__⋯__ ⋯ _ ⋯__⋯__⋯_⋯名⋯姓⋯⋯)班封_(__⋯__ ⋯ _ ⋯__⋯__⋯_⋯级⋯_ _ ⋯ __ ⋯ __ ⋯ _ _ ⋯ _ ⋯_院)密学_(_ ⋯ __ ⋯ __ ⋯ _ _ ⋯ _ ⋯__⋯__⋯__ ⋯ _ ⋯__⋯⋯⋯printf( ″%dn″,sizeof(aa));的出是 ( )A).32B).36C).12D).818、数据 -54.78 在文本文件中占用的字个数是()A).4B).5C).6D).819、在宏定 #define p(r) 3.14*r中,宏名是 ()A).p B). p(r)C). 3.14*r D).p(r) 3.14*r20、要翻开一个已存在的用于改正的非空二制文件“ hello.txt ”,正确句是 ( )A). fp=fopen( "hello.txt ","r" )B). fp=fopen( "hello.txt ","ab+" )C). fp=fopen( "hello.txt ","w" )D). fp=fopen( "hello.txt ","r+" )效得分卷人无二、填空 ( 仔每小的明和源代,并将正确答案写到答上的号。

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。

()2、在标准C中,整型变量与字符变量是可以通用的。

()3、在标准C中,“=”是判断两个数是否相等。

大一《C语言程序设计基础》期末考试试卷及答案

大一《C语言程序设计基础》期末考试试卷及答案

《C语言程序设计基础》考试试卷计算机电气类专业一年级 1 学期期末考试试题A卷时间100分钟,考试形式:闭卷总分100分,占总评成绩70 %注:此页不作答题纸,请将答案写在答题纸上一、判断题(每小题1分,共15分)1.标准C中,只有数值型数据才能进行4则混合运算。

2.标准C中,_a是合法的自定义标识符。

3.有定义:float f;表达式f+=(int)3.6%2”不符合C语言语法。

4.标准C中,逻辑运算的结果只有是1表示满足条件,而结果是0表示不满足条件。

5.C语言程序中要求被调用函数在调用函数中能被调用必须要在调用函数中进行声明。

6.以下运算符排列顺序满足按照优先级从高到低的排列:‘&&’、‘!’、‘==’、‘-’。

7.语句for(;;);是非法的。

8.在C语言程序中可以由多个源文件构成,每个源文件都可以有自己的main()函数。

9.while和do-while的主要区别是后者至少无条件执行一次。

10.数组名代表数组的首地址是常量,所以将实参数组名表示地址传给形参数组名是错误的。

11.当函数没有返回值类型时,表示函数类型为void。

12.C语言中,指针变量作函数参数时,它们不是采取单向值传递的方式。

13.一个函数中只允许有一条return语句。

14.在C语言中,如果没有说明变量的存储类型是auto类型的。

15.由于指针中所存放的地址都是整数,所以整型指针和浮点型指针可以相互赋值。

二、填空题(每空1分,共15分)1.若a=4;b=5,c=6;则表达式c==(b=-a); 中c的值是(1)。

2.计算表达式的值:4&&-4的值:(2);设int a=3,b=4,c=5,则表达式a||b+c&&b==c的值:(3);设x=2.5, a=7, y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值:(4);设a=12,则表达式a*=a/5的值:(5);3.若int x = 4,y = 6,z = 0;有循环while(x = y) {z ++;y--;}则循环语句执行完后,z值为(6)。

C语言期末考试试卷与答案

C语言期末考试试卷与答案

C 语言期末考试试卷(A)一、单项选择题(本大题共20 题,每题2 分,共 40 分)1、以下不是 C 语言的特点的是 ( A )A、 C 语言简洁、紧凑B、能够编制出功能复杂的程序C、 C 语言可以直接对硬件进行操作D、 C 语言移植性好2、以下不正确的C语言标识符是( D )A、 ABC B 、 abc C 、 a_bc D 、 ab.c3、一个 C语言程序是由( B )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等 5 个特性,对另外 4 个特性的描述中错误的是( A )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量 a 是整型, f 是实型, i 是双精度型,则表达式10+‘a’+i*f 值的数据类型为( C )A、 int B 、 float C 、 double D 、不确定6、在 C 语言中, char 型数据在内存中的存储形式是( C )A、补码 B 、反码 C 、源码 D 、 ASCII 码7、有如下程序,输入数据:12345M678< cR>后( <CR>表示回车), x 的值是( ) 。

#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、 12345 B 、123 C 、45 D 、 3458、若有以下定义int a,b; floatx,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、 11,10 B 、 9,10 C 、 11,9 D 、 10,910、巳知字母 A 的 ASCII 码是 65,以下程序的执行结果是 ( ) #include<stdio.h>main() {char c1='A',c2='Y'; printf("%d,%d\n",c1,c2);A 、 A,YB 、 65,65C 、 65,90D 、65,89 11、下列运算符中优先级最高的是 ( )A 、 <B 、十C、 %D 、!=12、设 x 、y 和 z 是 int 型变量,且 x =3, y = 4, z = 5,则下面表达式中值为 0 是 ( ) 。

(完整版)C语言程序设计试卷及参考答案

(完整版)C语言程序设计试卷及参考答案

《C语言程序设计》期末考试模拟试卷及参考答案(B)2012.6.5整理一、选择题(每题2分,共30分)1、# include <stdio.h>的结果是______void main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i<3;i++)s+=(*(a+i))[i];printf("%d",s);}A.9B.12C.14D.15参考答案—D2、设有说明语句:char a= '\123abc';则变量a __________A. 包含7个字符B.包含6个字符C. 包含5个字符D. 包含4个字符参考答案—D3、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是_____A. 无限次B.有语法错,不能执行C. 一次也不执行D. 执行1次参考答案—A4、在C语言中,_____。

A.函数定义可以嵌套,但函数调用不能嵌套B.函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套D.函数定义和调用均可以嵌套参考答案—B 5、以下叙述正确的是________A)do-while语句构成的循环不能用其它语句构成的循环代替。

B)do-while语句构成的循环只能用break语句退出。

C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D)用do-while语句构成的循环,在while后的表达式为零时结束循环。

参考答案—D6、以下关于函数叙述中,正确的是。

A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值B.在函数体中至少必须有一个return 语句C.在函数体中可以定义另一个函数D.在函数体中可以调用函数自身参考答案—D7、以下数组声明语句中正确的是。

A.int a,a[n];B.int a[ ];C. int a[2][3]={{1},{2},{3}};D.int a[ ][3]={{1},{2},{3}};参考答案—C8、以下不能正确进行字符串赋初值的语句是________A.char str[5]= "good!";B.char str[ ]= "good!";C.char *str="good!";D.char str[5]={ 'g','o','o','d'};参考答案—A9、以下关于switch语句和break语句的描述中,只有______是正确的。

浙江理工大学c语言期末考试模拟试卷

浙江理工大学c语言期末考试模拟试卷

C程序设计期末模拟试题一、单选题每小题2分,共20分1、在C语言中,正确的int类型的常数是________;A-2U B059 C3a D0xAF2、已知:char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是________;Aint Bchar Cdouble Dfloat3、假设定义变量如下:int x;float y;以下输入语句中________是正确的;A scanf“%f%f”,&y,&x;Bscanf“%f%d”, y, x;Cscanf“%f%d”,&y,&x;Dscanf“%%2d”,&y,&x;4、已知:int a,p=&a; 则为了得到变量a的值,下列错误的表达式为________;Ap0 Bp C&a D&a5、在C语言中,引用数组元素时,其数组下标的数据类型允许是________;A整型常量B整型表达式C整型常量或整型表达式D任何类型的表达式6、以下能对外部的二维数组a进行正确初始化的语句是________;Aint a2={{1,0,1},{5,2,3}}; Bint a3={{1,2,3},{4,5,6}};Cint a24={{1,2,3},{4,5},{6}}; Dint a3={{1,0,1},{ },{1,1}};7、设有int x,y; 以下语句判断x和y是否相等,正确的说法是该语句________;if x=y printf" x is equal to y.";A语法错B不能判断x和y是否相等C编译出错D能判断x和y是否相等8、若用数组名作为函数调用时的参数,则实际上传递给形参的是________;A数组元素的个数B数组的第一个元素值C数组中全部元素的值D数组首地址9、若有定义char x = "12345"; char y ={ '1', '2', '3', '4', '5'};则;Ax数组与y数组的长度相同Bx数组长度大于y的长度Cx 数组长度小于y数组长度Dx数组等价于y 数组10、以下正确的函数说明是________;Afloat addint x,y Bint addint x;int yCchar add Dint addchar x二、程序填空题阅读以下程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确的答案;每小题2分,共30分1、程序说明求s=1-1/2+1/3-1/4+…+1/19-1/20的值;运行示例:sum=程序include <>void main{int i;11 fh=1;12for i=2;i<=20;i++{13s= 14}printf 15 _,s;}供选择的答案11Afloat s; Bfloat s;int Cfloat s, Dint s,12As= 0; Bs=1; Cs=; Ds=2;13Afh=-1; Bfh=fh/i; Cfh=1/i; D fh=-fh;14A s+fh/i; Bs+fh Cfh/i D s=s+1/i;15A "sum=%f\n" B "sum=%d\n"C "s=%f\n"D "s=%s\n"2、程序说明以下函数用于找出一个2×4矩阵中的最大元素值;程序include <>void main{int max_numint str4;int str4={{-1,4,3,5},{7,8,9,0}};printf"max is %d\n", 16 ;}int max_numint str 4{int i,j,max;max= 17 ;fori=0; 18 ;i++forj=0; 19 ;j++if strij>max max= 20 ;returnmax;}供选择的答案16A max_numstr4 B max_numstrC max_numD max_numint str417Astr B str00 C0 Dstr418A i<2 Bi<=2 Ci=2 D i>219Aj<=4 Bj>4 C j<=3 D j=320A strj B strj C stri D strij3、程序说明输入a和b两个整数,按先大后小的顺序输出a和b,用函数处理,并用指针类型的数据作函数参数;程序include <>void main{ void swapint p1,int p2;int a,b;21scanf"%d,%d",&a,&b;22 /把变量a、b的地址分别赋给pointer_1、pointer_2 /if a<b swap 23 ;printf"a=%d,b=%d\n\n",a,b;}void swapint p1,int p2{ int temp;temp= 2425p2=temp;}供选择的答案21A int pointer_1, pointer_2; B int pointer_1, pointer_2;C float pointer_1, pointer_2;D float pointer_1, pointer_2;22A pointer_1=a; pointer_2=b; B a = pointer_1; b = pointer_2;C pointer_1=&a; pointer_2=&b;D a =& pointer_1; b =& pointer_2; 23A a,b B pointer_1,pointer_2Cp1,p2 D pointer_1, pointer_224Aa Bp1 C p2 D p125A a=b B p1=p2 C p2 = p1 D p1=p2三、程序阅读题阅读下列程序说明和程序,在每小题提供的若干参考答案中,挑选一个正确答案,每小题2分,共20分1程序include<>void main{char c;scanf"%c",&c;if '0'<= c<='9'printf"Number";else if'A'<= c<='Z'printf"UP";else if'a'<= c<='z'printf"Low";elseprintf"Other";}26当输入字符A并按下回车后,程序输出A NumberB UPC LowD Other27当输入字符z并按下回车后,程序输出A NumberB UPC LowD Other2程序include<>int dint a,int b{int c;c=a+b;return c;}void printint t{printf"z=%d\n",t;}void main{int x,y,z;void printint t;x=5,y=10;z=dx,y;printz;z=dx,z;z=dz,dz,z;printz;}28程序运行时第一行输出A z=5B z=10C z=15D z=20 29程序运行时第二行输出A z=15B z=20C z=25D z=30 30程序运行时第二行输出A z=20B z=30C z=40D z=603程序include<>define N 81void funchar s{ char c=s;for;s+1;s++s=s+1;s=c;s+1='\0';}void main{ char aN;getsa;funa;putsa;}31程序运行时输入”abc”输出A abcB acbC bac Dbca 32程序运行时输入”good”输出Agood Boodg C dogo D doog4程序include<>void increment{static int x=0;x+=1;printf"%d\n",x;}void main{increment;increment;}33程序运行时第一行输出A 0B 1C 2 D334程序运行时第二行输出A 0B 1C 2 D335如果将程序中static int x=0;改成int x=0;程序运行时第二行输出A 0B 1C 2 D3四、编程题每题10分,共30分1.编一程序,计算s=sin1+cos2+sin3+...+sin99+cos100,输出s;2. 计算个人所得税,月收入的5000元以上部分征20%,800元以上5000元之间部分需缴纳3%的税,800元以下的部分免税;例如,小张月收入为6000元,则她需缴税6000-5000×20%+5000-800×3%=326元;编程,要求输入个人应发工资,计算并输出个人所得税;3.计算机期末考试结束后,班长要统计班里所有同学共30名同学的计算机成绩,请编写一个程序,能录入30名同学成绩,并将这些成绩以及平均值以下面的格式保存到d:\中;X234401X234402X234403平均值为C程序设计模拟试题--yhr参考答案与评分标准一、单选题本题共20分,每小题2分三、程序阅读题本题共20分,每小题2分四、编程题本题共30分,每小题10分。

C程序设计期末考试习题(含答案)

C程序设计期末考试习题(含答案)

c语言程序设计期末试题A(含答案)一、单项选择题(选择一个最佳答案,每题2分,共20分)1.一个C程序的执行是从()。

A)本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束2.下列选项中,不能用作标识符的是( )。

A)_1234_ B)_1_2 C) int_2_ D) 2_int_3。

以下定义语句中正确的是( )。

A) char a='A’b='B’; B)float a=b=10.0;C) int a=10,*b=&a;D)float *a,b=&a;4.设有以下定义:#define d 2int a=0; double b=1.25; char c=’A’;则下面语句中错误的是()。

A) a++; B)b++ C)c++;D)d++;5。

以下4个选项中,不能作为一条C语句的是( ).A) {;}B) a=0,b=0,c=0; C)if(a〉0); D) if(b==0) m=1;n=2;6。

有以下定义语句 double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。

A)a=a+b=b++ B) w%(int)a+b)C) (c+w)%(int)a D)w=a==b;7。

设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( )。

A)p=1; B)*q=2;C) q=p;D)*p=5;8。

设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是()。

A) scanf(“%d",pa) ; B) scanf(“%d”,a);C) scanf(“%d",&pa);D) scanf(“%d”,*pa);9。

C语言期末考试题及答案5

C语言期末考试题及答案5

13.若有定义语句:int a[4][10],*p,*q[4];且0<=i<4,则错误的赋值是()。

A)p=a B)q[i]=a[i]C)p=a[i]D)p=&a[2][1]14.有以下程序struct S{int a,b;}data[2]={10,100,20,200};main(){struct S p=data[1];printf("%d\n",++(p.a));}程序运行后的输出结果是()。

A)10B)11C)20D)2115.下列叙述中,正确的是()。

A)C 语言中的文件是流式文件,因此只能顺序存取文件中的数据B)调用fopen 函数时若用"r"或"r+"模式打开一个文件,该文件必须在指定存储位置或默认存储位置处存在C)当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到该文件中的第1个数据D)无论以何种模式打开一个已存在的文件,在进行了写操作后,原有文件中的全部数据必定被覆盖二、输出结果(本题共30分)1.以下程序运行后的输出结果是()。

void main(){int a,b,c;a=25;b=025;c=0x25;printf("%d %d %d\n",a,b,c);}2.以下程序运行后的输出结果是()。

void main(){int m=3,n=4,x;x=-m++;x=x+8/++n;printf("%d\n",x);}3.如果输入3,9,5,则以下程序输出的结果为()。

void main(){int a,b,c,t;scanf("%d,%d,%d",&a,&b,&c);if(a<b ){t=a;a=b;b=t;}if(a<c )t=a;else if(b>c )t=b;else得分t=c;printf("t=%d\n",t);}4.以下程序运行后的输出结果是()。

2011-2012学年度第二学期C语言程序设计期末考试试卷和答案

2011-2012学年度第二学期C语言程序设计期末考试试卷和答案

************(本科)试卷(A 卷)2011--2012学年第 二 学期《C 程序设计》试卷开课单位:计算机学院,考试形式:闭卷,允许带 入场40分每题1分):答案必须填写在答题卡的相应位置上,否则不得分。

.C 语言中字符型(char )数据在内存中的存储形式是________。

A 、原码 B 、反码 C 、补码 D 、ASCII 码 .C 语言中基本的数据类型包括________。

A 、整型、实型、逻辑型 B 、整型、实型、字符型 C 、 整型、字符型、逻辑型 D 、整型、实型、逻辑型、字符型 .在C 语言中,int 类型数据在内存中占用________。

A 、2字节 B 、4字节 C 、由编译系统决定 D 、由用户决定 .运算符有优先级,C 语言中关于运算符优先级的正确叙述是________。

A 、逻辑运算符高于算术运算符,算术运算符高于关系运算符; B 、算术运算符高于关系运算符,关系运算符高于逻辑运算符; C 、算术运算符高于逻辑运算符,逻辑运算符高于关系运算符; D 、关系运算符高于逻辑运算符,逻辑运算符高于算术运算符。

.下面关于C 语言语句的叙述,错误的是________。

A 、C 语言一行可以允许写多条语句; B 、C 语言语句用分号结束; C 、语句一行写不下时,可以用逗号换行 ; D 、语句一行写不下时,可在任意一空格处回车换行 。

.下面数据中不属于字符型常量的是________。

A 、“\n ” B 、…\0‟ C 、…A ‟ D 、…\t ‟.11.以下选项中,当x 为大于1的奇数时,值为0的表达式__________ 。

A 、 x%2==1B 、 x/2C 、x%2!=0D 、x%2==0 .C 语言源程序名的后缀是__________ 。

A 、 .exeB 、 .C C 、 .objD 、 .cp9.设所有变量均为int型,则表达式(a=5,b=2,b++,a-b)的值是________。

C语言期末考试试卷及答案3

C语言期末考试试卷及答案3

一、单项选择题(本大题共20小题,每小题1分,共20分)1.下列说法正确的是()A.C程序可以从任何一个函数开始执行B.main函数可以被其它函数调用C.一个C程序只能有一个main函数D.main函数中不能有形参2.下列属于正确的标示符是()A.?aB.a=2C.a.3D.a_33.下列数据中属于“字符串常量”的是A.ABCB.“ABC”C.‘abc’D.‘a’4.char型常量在内存中存放的是()A.ASCII代码B.BCD代码C.内码D.十进制代码5.设字符型变量a=3,b=6,计算表达式c=(a^b)<<2后c的二进制值是()A.00011100B.00000111C.00000001D.000101006.若有以下定义:char a;int b;float c;double d;则表达式a*b+d-c的值的类型为()A.floatB.intC.charD.double7.以下程序的输出结果是a=5,b=4,则输入数据的形式应该是()#include“stdio.h”main(){int a,b;scanf("%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b);}A54B5,4C5b=4D5,b=48.C语言中,while和do…while循环的主要区别是()A.while的循环控制条件比do…while的循环控制条件严格B.do…while的循环体至少无条件执行一次C.do…while允许从外部转到循环体内D.do…while的循环体不能是复合语句9.循环语句for(x=0,y=0;(y!=123)||(x<4);x++);的循环执行()A.无限次B.不确定次数C.4次D.3次10.在C语言中,设有数组定义char array[]="China";则array所占的空间为()A.4个字节B.5个字节C.6个字节D.7个字节11.若变量已正确说明为int类型,要通过语句scanf(“%d%d%d”,&a,&b,&c);给a,b,c分别赋值3,5,8,不正确的输入形式是()A.3<enter>B.3,5,8<enter>5<enter>8<enter>C.3<enter>D.35<enter>58<enter>812.char*p="happy new year";char*q=p;int k;for(k=1;k<8;k++){putchar(*q);q++;}上面C程序段的输出结果是()A.happy new yearB.happy newC.happy nD.happyE.appy n13.设double*p[5];则A.p是指向double型变量的指针B.p是double型数组C.p是指针数组,其元素是指向double型变量的指针D.p是数组指针,指向double型数组14.两个指针变量不可以()A.相加B比较C相减D指向同一地址15.对C语言函数描述正确的是A.在C语言中调用函数时,只能把实参的值传给形参,形参的值不能传回给实参B.C函数既可以嵌套定义又可以递归调用C.函数必须有返回值,否则不能使用函数D.函数必须有返回值,返回值类型不定16.设有如下定义,则对data中的a成员的正确引用是()struct test{int a;float b;}data,*p=&data;A.(*p).data.aB.(*p).aC.p->data.aD.p.data.a17.有如下程序(提示:注意宏替换的规则)#define N2#define M N+1#define NUM2*M+1#main(){int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是()A.5B.6C.7D.818.若有以下定义,则printf(“%d\n”,sizeof(them));的输出是()typedef union{long x[2];int y[4];char z[8];}MYTYPE;MYTYPE them;A.32B.16C.8D.2419.下列语句中,将c定义为文件型指针的是()A.FILE c;B.FILE*c;C.file c;D.file*c;20.下列关于C语言数据文件的叙述中正确的是A.文件由ASCII码字符序列组成,C语言只能读写文本文件B.文件由二进制数据序列组成,C语言只能读写二进制文件C.文件由记录序列组成,可按数据存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件二、填空题(本大题共10小题,每小题2分,共20分)1.在定义变量的同时给变量赋予初值就称为___________________________________ 2.下面程序段的输出结果是___________________________________________ int a=28;a=a&21;printf(“%d%o\n”,a,a);3.能正确表示0≤a≤10的逻辑表达式是_________________________________4.若有定义int a[3],*p;则使p指向数组a的赋值语句是_______________________ 5.strcmp函数的功能是________________________________________6.写出数学式a acbbx24 2-+-=的C语言表达式________________________________ 7.将以下程序写成三目运算符的表达式是____________________________________if(a>b)max=a;else max=b8.设有定义如下:#define F(N)2*N,则表达式F(2+3)的值是_____________________. 9.在C语言中,指针运算符为___________________,取地址运算符________________。

C语言期末考试试卷附参考答案

C语言期末考试试卷附参考答案

一、单项选择题(请将答案填在下面表格中20×1)1. 以下叙述中正确的是()。

A. C语言比其他语言高级B. C语言可以不用编译就能被计算机识别执行C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D. C语言出现的最晚,具有其他语言的一切优点2. 以下叙述中正确的是()。

A.构成C程序的基本单位是函数B.可在一个函数中定义另一个函数C. main函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。

A. C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分4. 以下有关for循环的正确描述是()。

A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C.在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来5. 对下面程序段的描述,正确的是()。

x=-1;do{x=x*x;}while(!x);A.是死循环B. 循环执行一次C. 循环执行两次D. 有语法错误6. 以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不一致B.数组元素的个数可以不确定,允许随机变动C.可以使用动态内存分配技术,定义元素个数可变的数组D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数7.以下数组定义正确的是()。

A. int a(20);B. int a[ ]={1,2,5,7,0};C. int a[n];D. int a[2]={1,2,4,6};8.在定义int b[2][10];之后,对b数组元素引用正确的是( )。

A. b[0][9]B. b[2,3]C. b(1)(5)D. b[10] [0]9. 如有定义语句int c[ ]={1,5,3,4,6,7,0};,则数组c有()个元素。

C语言期末笔试2007年1月A卷及答案

C语言期末笔试2007年1月A卷及答案

2006-2007学年第一学期试题名称: C语言程序设计期末考试A课程号:008501101075 共 7 页第 1 页专业年级__________________ 学号______________ 姓名____________ 考试日期_2007_年__月___日分数 ___________一.单选题(每题1.5分,共30分)1.以下叙述正确的语句是______ 。

A)main函数要放置在其它函数的前面B)C语言本身没有输入输出语句C)在C程序中注释说明只能位于一条语句的后面D)函数可以嵌套调用也可以嵌套定义2.下面四组选项中,均是正确的八进制或者十六进制的项是______ 。

A) 023 0x9c 018 B) 0100 048 0xafC) 0x2f 0345 0xaaa D) 0x6g 0x78 0903.下面四组选项中,均不是C语言关键字的选项是______ 。

A) include switch case B) while short autoC) DOUBLE type define D) float char break4.当定义一个结构体变量时系统分配给它的内存是 _____。

A) 各成员所需内存量的总和 B) 结构中第一个成员所需内存量C) 成员中占内存量最大者所需的容量 D) 结构中最后一个成员所需内存量5.以下说法正确的是______ 。

A) 若有语句int a; int *p=&a; 则形式scanf("%d ",&p);是正确的B) 只有格式控制没有输入项也能进行正确输入,如scanf("x=%f,y=%f");C) 当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.2f",&f);D) 对于数组定义char a[30];正确的字符串输入为 scanf("%s",a);6.已有如下定义和输入语句,若要求a,b,c1,c2的值分别为5、6、A和B,当从第一列开始输入数据时,正确的数据输入方式是 ______ (<CR>表示回车)。

广西大学大一计算机专业C语言考试试卷及答案 (8)

广西大学大一计算机专业C语言考试试卷及答案 (8)

广西大学20 -20 学年第学期《C语言程序设计》期末考试试卷(A卷120分钟)年级院系专业姓名学号座位号一. 单项选择题:(每题2分,共40分)下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。

答在试卷上不得分。

1.下面程序段执行后,a的值是______。

int a;printf("%d \n", (a=3*5, a*4, a+5) );A)60 B)20 C)15 D)102.下列程序段的输出是______。

int x=023;printf("%d \n", --x );A)19 B)18 C)23 D)223.执行下列语句后,a的值是______。

int a=8;a+=a-=a*a;A)-240 B)64 C)112 D)-112 4.执行下列语句后,输出的值是______。

int x=6;printf("%d,%d,%d\n",x,x++,--x);A)5,5,5 B)6,5,5 C)7,6,5 D)5,6,5 5.指出下列程序段所表示的逻辑关系是______。

if(a<b){if(c==d)x=1;}elsex=2;A)若a<b且c=d,则x=1;若a>=b且c!=d,则x=2。

B)若a<b且c=d,则x=1;若a>=b,则x=2。

C)若a<b且c=d,则x=1;若a<b且c!=d,则x=2。

D)若a<b且c=d,则x=1;若c!=d,则x=2。

6.下列程序段的执行结果是______。

int i,x;for(i=1,x=1;i<=20;i++){if(x>=10) break;if(x%2==1){x+=5;continue;}x-=3;}printf("%d,%d\n",x,i);A)6,4 B)7,5 C)10,6 D)14,77.下列程序的执行结果是______。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、是非题(每小题 1. 5 分,共 15 分) 说明:判断各小题说法的正确性,在下面表格中对应的题号下填入是非选择, 若正确,则打钩(√);否则,打叉(×)。

返回值类型就可以了。

2. 函数定义中的形参的作用域是该函数的函数体。

3. 用 new 动态申请的内存空间,必须用 delete 来释放。

4. 构造函数和析构函数都可以声明为虚函数。

5. 在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。

6. 类的静态数据成员需要在定义每个类的对象时进行初始化。

7. 使用关键字 class 定义的类中缺省的访问权限是私有(private )的。

8. 在基类中被说明为虚函数的类的成员函数必须在每个派生类中说明为虚函数,才 能具有多态的特征。

9. C++程序中,程序将流对象看作是文件的化身。

10.如果程序中有多处要抛掷异常,应该用不同的操作数类型来相互区别,操作数 的值不能用来区别不同的异常。

二、填空题(每小题 1. 5 分,共 15 分) 1 . 变 量 名是 变 量的 标识 , 由 组 成 , 而 且必 须 以 开头。

2.有了函数原型,函数的作用域就不是从 开始,而是从 开始。

3.获取一个变量的地址所采用的操作符是 。

4.使用 const 语句定义一个标识符常量时,则必须对它同时进行 。

5.假定类 AB 中有一个公用属性的静态数据成员 bb ,在类外不通过对象名访问该成 员 bb 的写法为 。

6.typedef 语句的作用为 。

7.平时所提到的使用 MFC 编程,这里的 MFC 是 的缩写。

8.若要在程序文件中进行标准输入输出操作,则必须在开始的 # include 命令中 使用 头文件。

9.C++中,若将 操作符插入到输出流中,则以十六进制格式输出。

10.C++程序中,异常处理程序的主要任务是 。

三、单选题(在备选答案中选出一个正确答案填入括号内,每小题 2 分,共 20 分) 1.C++对 C 语言作了很多改进,下列描述中使得 C 语言发生质变,从面向过程变成 了面向对象的是( )。

学院 __________ 班级___________ 姓名___________学号____________——————————————装——————————订———————————————线—————————A.增加了一些新的运算符 B. 允许函数重载,并允许设置缺省参数C.规定函数说明必须用原型 D. 引进了类和对象的概念2.当一个函数无返回值时,定义它的函数的类型是( )。

A. voidB. intC. 无D. long 3.下列不是构造函数特征的是()。

A. 构造函数的函数名与类名相同B. 构造函数可以重载C. 构造函数可以设置缺省参数D. 构造函数必须指定返回类型4.关于成员函数特征的下列描述中,错误的是()。

A.成员函数一定是内联函数B.成员函数可以重载C.成员函数可以设置缺省参数值D.成员函数可以是静态的5.关于new 运算符的下列描述中,错误的是()。

A. 它可以用来动态创建对象和对象数组B. 使用它创建的对象或对象数组可以使用运算符delete 删除C. 使用它创建对象时要调用构造函数D. 使用它创建对象数组时必须指定初始值 6.派生类的对象对它的基类成员中可以访问的是()。

A. 公有继承的公有成员B. 公有继承的私有成员C. 公有继承的保护成员D. 私有继承的公有成员7.下列描述中,正确的是().A. 虚函数是一个static 类型的成员函数B. 虚函数是一个非成员函数C. 抽象类是指具有纯虚函数的类D. 抽象类可以说明其对象8.假定要对类AB 定义加号操作符重载成员函数,实现两个AB 类对象的加法,并返回相加结果,则该成员函数的声明语句为 ( )。

A. AB operator+(AB & a, AB & b)B. AB operator+(AB & a)C. operator+(AB a)D. AB & operator+( ) 9.下列不属于VC消息映射内容的是( )。

A. 通过将DECLARE_MESSAGE_MAP 添加到类声明,声明消息映射B. 改写MFC相关类的虚函数C. 放置标识消息的宏来执行消息映射D. 添加成员函数来处理消息 10.下列关于VC++编程描述中,错误的是()。

A. Windows 是一个基于事件驱动、基于消息的操作系统。

B.Windows 程序始终是程序而不是操作系统决定何时调用哪个函数。

C.对于使用VC 向导生成的程序框架,我们也可以用手工的方式写出。

D.MFC 类库其实是对windows API 函数的封装。

四、根据下面各小题题目要求进行简单回答(第1 小题6 分,第2 小题3 分,第3 小题6 分,共15 分)(1) 已知类B 和类D,它们的类关系如下。

请以类对象b1,d1 和指针pb1 为例简要说明C++赋值兼容规则。

(本小题 6 分)class B{ … };class D :pubic B{ … };B b1, * pb1;D d1;答:a)b)C)(2) 下列的程序定义了一个交换两个浮点数的函数swap,并在主函数中调用这个函数进行两个浮点数的交换(本小题 3 分)void swap (float a , float b){float temp=a;a=b; b=temp;}void main( ){float a=1,b=2;swap ( a, b );}错误为:改正方法为:(3) 写出下面程序运行结果。

(本小题 6 分)#include <iostream.h>class A{public:virtual void act1() { cout<<"A::act1() called. "<<endl; }void act2() { act1(); }};class B : public A{public:void act1() {cout<<"B::act1() called. "<<endl;}};void main(){A a,*p;B b;p=&b;b.act1 ();p->act1();p->act2 ();}答:五、下面的程序共有17 行,程序的每行前面加上了行号。

程序中变量num、i 、temp、对象cout 和函数func()的作用域范围分别是什么?在程序的下面用行号来回答。

(每小题1 分,共10 分)1.#include <iostream.h>2.int num;3.void func();4.void main()5. {6.char name[20];7.int i;8. for(i=0; i<20; i++)9. {10.char temp;11.temp=name[i];12.cout<<temp;13. }14. }15. void func()16.{17. cout<<”A function!”;18. }回答:num 的作用域为从第行到第行。

i 的作用域为从第行到第行。

temp 的作用域为从第行到第行。

cout 的作用域为从第行到第行。

func 的作用域为从第行到第行。

六、程序回答题(每小题1 分,共5 分)说明:读懂程序,为便于提问,程序每行前面加有行号,请对所提的问题做出准确解答。

1.#include <iostream.h>2.int CircleArea()3.{4.double *pd=new double;5.if(!pd)6.{7.cout<<"Error Memory Allocation!"<<endl;8.return 1;9.}10.double &rd=*pd;11.cout<<"The radius is: ";12.cin>>rd;13.cout<<"The Area of Circle is: "<<rd*rd*3.14<<endl;14.delete &rd;15.return 0;16.}17.void main()18.{19.if(CircleArea())20.cout<<"The programn failed!"<<endl;21.else22.cout<<"The programn successed!"<<endl;23.}请写出下列问题答案:a) 第4 行起何作用?答:b) 第5-9 行可否省去?并说明原因。

答:c) 第14 行起何作用?答:d) 此程序功能是什么?答:e) 解释14 行中&符号的意义?答:七、请完成下面2 个运算符重载函数,并对程序最后一行分析错误原因并改正(本题运算符重载函数各3 分,分析错误原因并改正4 分,共10 分)给定整数类:class Integer{public:void Set ( int ii=0 ) { i=ii; }Integer operator + ( int c );Integer operator + (Integer & c);void Display() {cout<<i<<endl;}private:int i;};请完成上面2 个运算符重载函数,并以下面的主函数进行测试。

void main(){Integer A, B, C;A.Set(20);C.Set(10);B=A+4;B.Display();B=A+C;B.Display();B=4+A; // 此行代码有误,请分析错误原因并改正}八、编程题。

声明一个shape 抽象类,在此基础上派生出Rectangle 和Circle 类,二者都有GetArea ( ) 函数计算对象的面积,按下面的要求完成程序的编制工作。

( 1 ) Rectangle 类有m_Width, m_Height 属性;( 2 ) Circle 类有m_Radius 属性;( 3 ) 分别编写Rectangle 类和Circle 类带默认参数的构造函数;( 4 ) 编写主函数对Rectangle、Circle 类进行测试,使它们以统一的操作界面输出面积;(提示:利用for 循环进行输出)( 5 ) 回答将Shape 类声明为抽象类的方法及意义。

相关文档
最新文档