C++程序设计练习题
《C语言程序设计》练习题及答案
《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。
(完整版)C语言程序设计练习题(含程序及参考答案)
(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。
#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。
程序设计语言C_习题集(含答案)
《程序设计语言C》课程习题集一、单选题1.在C语言中,合法的长整型常数是A) OL B) 4962710 C) 324562& D) 216D2.以下有4组用户标识符,其中合法的一组是A) For B) 4d C) f2_G3 D) WORD3.以下选项中合法的字符常量是A)"B" B) '\010' C) 68 D) D4.以下程序的输出结果是main(){ int a=3;printf("%d\n",a+(a-=a*a) );}A) -6 B)12 C) 0 D) -125.设a、b、C、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值位为A) 0 B) 1 C)2 D) 36.t为int类型,进人下面的循环之前,t的值为0while( t=l ){ ……}则以下叙述中正确的是A) 循环控制表达式的值为0 B) 循环控制表达式的值为1C) 循环控制表达式不合法D) 以上说法都不对7.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是A) 地址传递B) 单向值传递C) 由实参传给形参,再由形参传回实参D) 传递方式由用户指定8.以下程序的输出结果是main(){ int i, a[10];for(i=9;i>=0;i- -) a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}A) 258 B) 741 C) 852 D) 3699.以下选项中,不能正确赋值的是A) char s1[10];s1="Ctest"; B) char s2[]={'C', 't', 'e', 's', 't'};C) char s3[20]="Ctest"; D) char *s4="Ctest\n";10.以下程序的输出结果是union myun{ struct{ int x, y, z; } u;int k;} a;main(){ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf("%d\n",a.u.x);}A)4 B) 5 C) 6 D) 011.以下叙述正确的是A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点12. C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构B) if、switch、breakC) for、while、do-while D) if、for、continue13.下列关于C语言用户标识符的叙述中正确的是A) 用户标识符中可以出现下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头14.有以下程序段int m=0,n=0; char c=’a’;scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,015.有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){ case 1: printf("%d",i);case 2: printf("%d",i);default: printf("%d",i);}}执行后输出的结果是A) 011122 B) 012 C) 012020 D) 12016.有以下程序main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出的结果是A) 9,2 B) 10,2 C) 9,1 D) 10,117.有以下程序void f(int x,int y){ int t;if(x<y){ t=x; x=y; y=t; }}main(){ int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf("%d,%d,%d\n",a,b,c);}执行后输出的结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,518.有以下程序main(){ char *s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是A) n,two B) t,one C) w,one D) o,two19.有以下程序main(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,k=2;for(i=0;i<3;i++){ printf("%d ",m[k][i]); }}执行后输出结果是A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 920.设有如下说明typedef struct{ int n; char c; double x;}STD;则以下选项中,能正确定义结构体数组并赋初值的语句是A) STD tt[2]={{1,’A’,62},{2,’B’,75}};B) STD tt[2]={1,"A",62,2,"",75};C) struct tt[2]={{1,’A’},{2,’B’}};D) struct tt[2]={{1,"A",62.5},{2,"B",75.0}};21.以下选项中属于C语言的数据类型是A)复数型B)布尔型C)集合型D)整型22.一个C程序的执行是从A)main()函数开始,直到main()函数结束B)第一个函数开始,直到最后一个函数结束C)第一个语句开始,直到最后一个语句结束D)main()函数开始,直到最后一个函数结束23.设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是A)3 B)0C)-12 D)924.若有 char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是A)cd\0e B)'c''d' C)cd D)cd e25.已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;下列表达式不是4的是A)*(*p+3) B)*p+3 C)*(*(p+0)+3) D)a[0][3]26.以下有宏替换不正确的叙述A)宏替换不占用运行时间 B)宏名无类型C)宏替换只是字符串替换D)宏名必须用大写字母表示27.执行char str[10]=”Ch\nina”; strlen(str)的值是A)5 B)6 C)7 D)928.下面程序的输出结果是#define POWER(x) (x*x)main(){int i=4; printf("%d",POWER(i-2)); }A)-9 B)-7 C)5 D)-629.在定义int a[3][4];后,第10个元素是A)a[2][4] B)a[3][2] C)a[3][3] D)a[3][1]30.下面程序的输出结果是typedef struct{long x[2];short y[4];char z[8];}MYTYPE;MYTYPE a;main(){ printf("%d\n",sizeof(a));}A)2 B)8 C)14 D)2431.以下能正确进行字符串赋值的是A)char s[5]={‘a’,’e’,’I’,’o’,’u’} B)char s[5];s=”good”C)char s[5]=”abcd” D)char s[5];s[]=”good”32.若有float x;则sizeof(x)和sizeof(float)两种描述A)都正确B)都不正确C)前者正确,后者不正确D)后者正确,前者不正确33.若有代数式3ae/(bc),则不正确的C语言表达式是A)3*a*e/b*c B)3*a*e/b/c C)a/b/c*e*3 D)a*e/c/b*334.下面程序的运行结果是Main( ){struct cmplx{ int x;int y;}cnum[2]={1,3,2,7};Printf(“%d\n”,cnum[0].y/cnum[0].x*cnum[1].x);}A)0 B)1 C)3 D)635.若有以下说明和语句,且0<=i<10,则()是对数组元素的错误引用int a[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;A)*(a+i) B)a[p-a] C)p+i D)*(&a[i])36.设有以下宏定义:#define M 2#define X(m) ((M+2)*m)则执行语句:z=2*(M+X(3+2));后,z的值为A)44 B)45 C)32 D)3337.在如下程序段中的while循环int k=0;While(k=1) k++;A)有语法错,不能执行B)无限循环C)一次都不执行D)执行一次38.下列程序运行的结果为#include<stdio.h>Main(){ int k=0;Char c=’A’;Do{switch(c++){ case ‘A’:k++;break;Case ‘B’:k- -;break;Case ‘C’:k+=2;break;Case ‘D’:k=k%2;break;Case ‘E’:k=k*10;break;Default:k=k/3;}K++;}while(c<’G’);Printf(“k=%d”,k);}A)k=4 B)k=6 C)k=7 D)k=839.下列程序运行的结果为#include<stdio.h>fun(int x,int y,int *cp,int *dp){*cp=x+y;*dp=x-y;}main(){ int a,b,c,d ;a=30 ;b=50;fun(a,b,&c,&d);printf(“%d,%d\n”,c,d);}A)50,30 B)30,50 C)80,-20 D)80,2040.阅读程序回答问题:main( ){ int i,j,k,m=0;for(i=1;i<4;i++)for(j=1;j<4;j++)for(k=1;k<4;k++)m++;printf(“M=%d”,m);}以上程序输出M=( ).A)3 B)6 C)9 D)2741.能将高级语言编写的源程序转换为目标程序的是A)链接程序B)解释程序C)编译程序D)编辑程序42.以下4组用户定义标识符中,全部合法的一组是A)main B)If C)txt D)intenclude -max REAL k_2sin turbo 3COM _00143.设有以下定义int a=0;double b=1.25;char c=’A’;#define d 2则下面语句中错误的是()A)a++ B)b++ C)c++ D)d++;44.以下4个选项中,不能看作一条语句的是A){;} B)a=0,b=0,c=0 C)if(a>0) D)if(b==0) m=1;n=2;45.有以下程序main( ){ char k; int i;for(i=1;i<3;i++){ scanf("%c",&k);switch(k){ case '0': printf("another\n");case '1': printf("number\n");}}}程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是A)another B)another C)another D)numbernumber number number numberanother number46.有以下程序void f(int v , int w){ int t;t=v;v=w;w=t;}main( ){ int x=1,y=3,z=2;if(x>y) f(x,y);else if(y>z) f(y,z);elsef(x,z);printf("%d,%d,%d\n",x,y,z);}执行后输出结果是A)1,2,3 B)3,1,2 C)1,3,2 D)2,3,147.有以下程序段int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是A)5 B)6 C)8 D)948.有以下程序#define f(x) x*xmain( ){ int i;i=f(4+4)/f(2+2);printf("%d\n",i);}执行后输出结果是A)28 B)22 C)16 D)449.设有以下语句typedef struct S{ int g; char h;}T;则下面叙述中正确的是A)可用S定义结构体变量B)可以用T定义结构体变量C)S是struct类型的变量D)T是struct S类型的变量50.有以下程序int a=2;int f(int *a){return (*a)++;}main( ){ int s=0;{ int a=5;s+=f(&a);}s+=f(&a);printf("%d\n",s);}执行后输出结果是A)10 B)9 C)7 D)851.组成C程序的基本单位是A)函数B)标识符C)表达式D)语句52.设int类型的数据长度为2字节,则该类型数据的取值范围A)0至65536 B)0至65535 C)-32767至32768 D)-32768至3276753.在C语言中,逻辑值“真”是用( )表示的。
C语言程序设计练习题(答案)
C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。
图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。
如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。
要事先准备好保存文件的目录,例d:\lx 目录。
在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。
设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。
图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。
图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。
在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。
内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。
c语言顺序结构程序设计练习题10道
c语言顺序结构程序设计练习题1、编写程序:输入一矩形的长和宽,计算该矩形的面积。
2、编程:输入求的半径R,计算并输出球的体积。
3、编程:输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。
4、编程:输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积5、编程:已知三角形的三边a=3,b=4,c=5,求其面积s。
(提示:假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p为半周长:p=(a+b+c)/2。
6、编写一个C程序,输出以下信息:**************************Very Good!**************************7、编写一个程序,输入a、b、c三个值,输出其中最大值.8、写出程序运行的结果:main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}9、写出程序运行的结果:main(){char a ,b, c1,c2;float x ,y;a = 3;b =7;x = 8.5;y = 71.82;c1 = ' A' ;c2 = 'a ';printf("a= %d b = %d/n",a,b);printf("x = %f y = %f",x,y);printf("c1= %c,c2 =%c",c1,c2);}10、求ax2+bx+c=0方程的根,a,b,c由键盘输入,假设b2-4ac>0。
C语言程序设计习题(含答案)
C语言程序设计习题(含答案) C语言程序设计习题(含答案)C语言是一种常用的编程语言,被广泛应用于计算机科学和软件开发领域。
为了帮助学习者更好地掌握C语言的编程技巧,本文提供一些常见的C语言程序设计习题及其答案。
通过完成这些习题,学习者可以锻炼编程思维,加深对C语言的理解,并提高编程能力。
习题一:求两个整数的和题目描述:编写一个程序,计算两个整数的和并输出结果。
解答:```C#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```习题二:计算圆的周长和面积题目描述:编写一个程序,根据用户输入的半径,计算圆的周长和面积,并输出结果。
解答:```C#include <stdio.h>#define PI 3.14159int main() {double radius, circumference, area;printf("请输入圆的半径:");scanf("%lf", &radius);circumference = 2 * PI * radius;area = PI * radius * radius;printf("圆的周长为:%lf\n", circumference);printf("圆的面积为:%lf\n", area);return 0;}```习题三:判断一个数是否为素数题目描述:编写一个程序,判断用户输入的一个正整数是否为素数。
解答:```C#include <stdio.h>int isPrime(int num) {if (num <= 1) {return 0;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return 0;}}return 1;}int main() {int num;printf("请输入一个正整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}```习题四:计算两个矩阵的乘积题目描述:编写一个程序,计算两个3x3的矩阵的乘积并输出结果。
c程序设计习题及答案
第一章C程序概述一、选择题1、以下关于C语言标志符的描述中,正确的是()A)标志符可以由汉字组成B)标志符只能以字母开头C)关键字可以作为用户标志符D)Area与area是不同的标志符2、以下正确的叙述是()A)在C语言中,main函数必须位于文件的开头B)C语言每行只能写一条语句C)C语言本身没有输入、输出语句D)对一个C语言进行编译预处理时,可检查宏定义的语法错误3、下面说法正确的是()A)C程序由符号构成B)C程序由标示符构成C)C程序由函数构成D)C程序由C语句构成4、以下叙述不正确的是()A)一个C源程序可以由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面5、C语言规定:在一个源程序中,main函数的位置()A)必须在最开始B)必须在系统调用的库函熟的后面C)可以任意D)必须在最后二、填空题1、在TURBO C环境中用RUN命令运行一个C程序,所运行的程序的扩展名是---------------。
2、结构化程序由-------------------、----------------------、------------------------三种基本结构组成。
3、C语言源程序文件的扩展名是-------------------,经过编译后,生成的扩展名是---------------------,经过连接后,生成的扩展名是--------------------------。
4、在C程序中,输入操作是由库函数----------------------完成的,输出操作是由库函数---------------------------完成的。
5、一个C源程序中至少应包括一个----------------------------。
第二章数据类型、运算符与表达式一、选择题1、若有定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为()。
C语言程序设计练习题
C语言程序设计练习题一、选择题1.以下八进制数写法正确的是()A.0378 B.427 C.0417 D.04192.若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d ”,&a,&b,&c);给a赋值1,给b赋值2, 给c赋值3, 以下输入形式中错误的是(✞代表一个空格符)()A.✞✞✞1,2,3<回车> B.1✞2✞3<回车>C.1,✞✞✞2, ✞✞✞3<回车> D.1,2,3<回车>3.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()A、INPUT x、y、z;B、scanf("%d%d%d",&x,&y,&z);C、scanf("%d%d%d",x,y,z);D、read("%d%d%d",&x,&y,&z);4.若w,x,z均为int型变量,则执行以下语句后的输出为。
w=3;z=7;x=10;printf("%d\n",x>10?x+100:x-10);printf("%d\n",w++||z++);printf("%d\n",!w>z);printf("%d\n",w&&z);A. 0B. 1C. 0D. 01 1 1 11 1 0 01 1 1 05.分析以下程序, 下列说法正确的是。
main(){int x=5,a=0,b=0;if(x=a+b)printf("* * * *\n");elseprintf("# # # #\n");}A. 有语法错,不能通过编译B. 通过编译,但不能连接C. 输出* * * *D. 输出# # # #6.程序段如下:则以下说法中正确的是:()。
C语言程序设计阶段考试练习题(答案)
第 2页 共7 页(A )0 (B )1 (C )2(D )311. 以下正确的C语言标识符是( )。
(A )%x(B )a+b(C )a123(D )test !12. 下列字符序列中,不可用作C 语言标识符的是( )。
(A )abc123 (B )no.1 (C )_123_ (D )_ok13. 下列符号常量中非法的是( )。
(A )’\a’(B )’b’(C )’\’(D )’3’14. 在C 语言中,不同的类型数据混合运算时,要先转换成同一类型后进行运算。
设一表达式中包含有int 、long 、unsigned 和char 类型的变量和数据,则表达式最后的运算结果是( )类型数据。
(A )int(B )char(C )unsigned(D )long15. 如下程序的执行结果是( )。
{ int n=1; printf(“%d %d %d \n”,n, n++,n --);} (A )1 1 1 (B )1 0 1(C )1 1 0(D )1 2 116. 有如下程序:int a1,a2; c har c1,c2; scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);正确的输入是( )。
(A )10A 20B<CR> (B )10 A 20 B<CR> (C )10 A20B<CR> (D )10A20 B<CR> 17. 有如下程序: scanf(“a=%d,b=%d,c=%d”,&a,&b, &c);若要求a,b,c 的值分别为1,3,2,正确的输入是( )。
(A )132<CR> (B )1,3,2<CR>(C )a=1,b=3,c=2<CR> (D )a=1 b=3 c=2<CR>18.与数学式子129 x x n对应的C 语言表达式是( )。
C语言程序设计习题(含答案)
一、名词解释(每小题4分,共20分)1. 变量2. 赋值运算3. int4. 数组5. 函数二、单选题(每小题2分,共20分)1. 以下运算符中,表示取余数运算的是( )A. %B. /C. !=D. <=2. C语言中,表示“不等于”、“不相等”的运算符是( )A. ≠B. !=C. < >D. =/=3. C语言中,printf函数中的格式字符%d用来( )A. 输出一个字符串B. 输出单个字符C. 输出十进制整数D. 输出双精度浮点数4. C语言中,要求接受用户从键盘输入的一个英文字符到char型变量ch中,那么,该语句的正确写法是( )A. scanf("%z",ch);B. scanf("%c",ch);C. scanf("%z",&ch);D. scanf("%c",&ch);5. 定义一个用来存放双精度浮点数且名为x的变量的正确语句是( )A. double x;B. float x;C. Double x;D. Float x;6. 判断整数型变量score的取值是否在区间[60,100]的正确写法是( )A. if (score>=60 and score<=100)B. if (score>=60 && score<=100)C. if (score>=60 & score<=100)D. if (60<= score <=100)7. 定义最多能存放30个整数且名为scores的数组的正确语句是( )A. INT scores[30];B. int [30] scores;C. int scores[30];D. INT [30] scores;8. 利用string.h中库函数求字符串s的长度的表达式正确写法是( )A. len(s)B. length(s)C. strLen(s)D. strlen(s)9.利用string.h中库函数判断字符串s1大于等于字符串s2的正确写法是( )A. if(strcmp(s1,s2)>=0)B. if (s1>=s2)C. if(strcmp(s1,s2)≥0)D. if (s1≥s2)10. 以下能输出数字0,1,2,3,4,5,6,7,8,9且每行输出一个数字的正确语句是( )A. for( i=0; i<10; i++ ) { printf("%d",i); }B. for( i=0; i<10; i++ ) { printf("%d\n",i); }C. for( i=0; i<10; i++ ) { printf("%d\n",i+1); }D. for( i=0; i<10; i-- ) { printf("%d\n",i); }三、判断题(每小题2分,共10分)1. C语言中,int可以作为变量名,例如语句:char int;可以定义名为int 的字符型变量。
《C语言程序设计》练习题
《C语⾔程序设计》练习题⼀、选择题(在A、B、C、D中选择⼀个正确的)1、以下叙述不正确的是()。
A、⼀个C源程序可由⼀个或多个函数组成B、⼀个C源程序必须包含⼀个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于⼀条语句的后⾯2、C语⾔规定:在⼀个源程序中,main函数的位置()。
A、必须在最开始B、必须在系统调⽤的库函数的后⾯C、可以任意D、必须在最后3、⼀个C程序的执⾏是从()。
A、本程序的main函数开始,到本程序main函数结束B、本程序⽂件的第⼀个函数开始,到本程序⽂件的最后⼀个函数结束C、本程序的main函数开始,到本程序⽂件的最后⼀个函数结束D、本程序⽂件的第⼀个函数开始,到本程序main函数结束4、C语⾔中的标识符只能由字母、数字和下划线三种字符组成,且第⼀个字符()。
A、必须为字母B、必须为下划线C、必须为字母或下划线D、可以是字母、数字和下划线中任⼀种字符5、在计算机内部⽤来传送、存储、加⼯处理的数据或指令都是以()形式表⽰的。
A、⼗进制B、⼋进制C、⼆进制D、⼗六进制6、⼗进制数127转换为⼆进制数是()。
A、1111110B、1111111C、1000000D、100000017、⼗六进制数10H转换为⼋进制是()。
A、10B、2C、20D、168、1KB表⽰()。
A、1024位B、1000位C、1024字节D、1000字节9、以下不正确的标识符是()。
适⽤专业考试⽅式(闭卷) 考试时间为分钟A、scoreB、_abcC、x+yD、Hello10、⼗进制数107转换成⼆进制数是()。
A. 01101011B. 10001101C.0110 1101D. 1110 110111、⼆进制数1011011转换为⼗进制数是()。
A、91B、87C、107D、12312、若x、i、j和k都是int型变量,则计算下⾯的表达式后,x的值为()。
x=(i=4,j=16,k=32)A、4B、16C、32D、5213、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。
C语言程序设计_习题大全(含答案)_C语言-1
C语言基础一:1.下列四组选项中,均不是C语言关健字的选项是( A )。
A) define B) gect C) include D) whileIF char scanf gotype printf case pow2.下面四个选项中,均是合法整型常量的选项是( A )。
A)160 B)-0xcdf C) -01 D)-0x48a-0xffff 01a 986,012 2e5011 0xe 0668 0x<<02>>B>>23.下面四个选项中,均是不合法的转义符的选项是( B )。
A) '\"' B) '\1011' C) '\011' D) '\abc''\\' '\' '\f' '\101''xf' '\A' '\}' 'x1f'4.下面不正确的字符串常量是( A )。
A)'abc' B)"12'12" C)"0" D)" "5.以下选项中不合法的用户标识符是( A )。
A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( D )。
A) swithB) cherC) Case). Default7.下列标识符组中,合法的用户标识符为 AA)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值"真"的表示是用( C )。
A) true B) 整型值0 C)非另整型值 D) T9若有以下定义char s='\092';则该语句( B )A)使s的值包含一个字符 B)定义不合法,s的值不确定C)使s的值包含4个字符 D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占( D )个字节。
c语言程序设计练习题
c语言程序设计练习题顺序程序设计1.输入两个整型变量a,b的值,输出a+b,a-b,a*b,a/b,(float)a/b,a%b的结果,要求连同算式一起输出,每个算式占一行。
例:a等于10,b等于5,a+b的结果输成10+5=152.输入一个非负数,计算以这个数为半径的圆周长和面积。
3.输入任意一个三位数,将其各位数字反序输出(例如输入123,输出321).4.输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。
若是,则输出“YES”,不是则输出“NOT” (要求用条件表达式进行判断,不使用if语句)5.求前驱字符和后继字符。
输入一个字符,找出它的前驱字符和后继字符,并按ASCII码值,按从大到小的顺序输出这三个字符及其对应的ASCII码值。
6.试用彩色文本定位输出。
(实例4,5)7.输入三角形的边长,求三角形面积。
(面积=sqrt(s(s-a)(s-b)(s-c)), s=(a+b+c)/2)分支和循环程序设计1.输入两个字符,若这两个字符之差为偶数,则输出它们的后继字符,否则输出它们的前趋字符。
这里的前趋和后继是指输入的两个字符中,较小字符前面的和较大字符后面的那个字符。
2.输入整数a和b,如果a 能被b整除,就输出算式和商,否则输出算式、整数商和余数。
3.输入某个点A的平面坐标(x,y),判断(输出)A点是在圆内、圆外还是在圆周上,其中圆心从标为(2,2),半径为1 。
4.输入年号和月份,输出这一年的该月的天数。
(一个年份,先判断是否闰年)5.输出9*9乘法表。
6.求爱因斯坦数学题。
有一条长阶,若每步跨2阶,则最后剩余1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7步,最后正好一阶不剩。
7.输入一串字符,直到输入一个星号(*)为止,统计(输出)其中的字母个数和数字字符个数。
8.计算斐波那契分数序列前n项之和(n是某个常数).( 2/1,3/2,5/3,8/5,13/8,21/13,...... 前一项的分子作为后一项的分母。
C语言程序设计练习题6
练习题61.输入一个字符,判断该字符是数字、字母、空格还是其他字符。
main( ){ char ch;ch=getchar();if( ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’)printf("It is an English character\n");else if( ch>=’0’&&ch<=’9’)printf("It is a digit character\n");else if( ch== ‘ ’)printf("It is a space character\n");elseprintf("It is other character\n"); }2.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
用输入0来结束输入,用i,j来放统计数,请填空完成程序。
void main(){ int n,i=0,j=0;printf(“input a integer,0 for end\n”);scanf(“%d”,&n);while (n或n!=0 ) {if(n>0) i=i+1 ;else j=j+1;}printf(“i=%4d,j=%4d\n”,i,j);}3.编程计算1+3+5+……+101的值#include <stdio.h>void main(){int i, sum = 0;for (i = 1;i<=101 ; i++ )sum = sum + i;printf("sum=%d\n", sum); }4.编程计算1+3+5…+99的值main(){int i, sum = 0;i=1;while (i<100 ){sum = sum + i;i++ ; }printf("sum=%d\n", sum);}5.从键盘输入一个字符,判断它是否是英文字母。
C程序设计习题
5.以下语句中不包含关键字的是______________。 A. x=sqrt(2); B. while(!x=0) x--; B. C. if(x<0) x=-x; D. return x; 6.执行以下程序时 #include<stdio.h> main() { int a; float b; scanf("%3d%f", &a, &b); printf("%d\t%f", a, b); } 若要求变量a和b分别从键盘获得输入值45和678.0,则以下 四种输入数据中,不能达到该要求的输入数据是 ________。(_代表“空格”键,<CR>代表“回车”键) A. 45_678<CR> B. 45<CR>678<CR> B. C. 45,678<CR> D.045678<CR>
11.在C语言中大部分执行语句都含有关键字。例如for语句含 关键字for。除这些语句外不含关键字的非空操作语句是 _________。 12.系统库函数scanf和gets在被调用执行时都可以读取从键盘 输入的一串数字字符,其中函数_________具有将读取的数字 字符串转换为整型数的功能。 13.已知int型变量的存储字节数为2,以下程序运行时的输出结 果是_______。 #include<stdio.h> main() { int a=3, b=2, c=7, d=6, e=8; long f=a*10000+b*1000+c*100+d*10+e; printf("%ld",f); }
19.设有如下声明和语句: int a=2, b,c=5; scanf("%d", &b); b=c--||scanf("%d", &c)&&a++; 该程序段执行时,若从键盘输入的数据是4_3(_代表空格),则 变量c的值为____________。 20.若有声明" int a=32767, b;",则在Turbo C 2.0系统中执行 语句" printf("%d", b=++a); "后输出结果是___________。
C语言程序设计习题
C语言程序设计习题集根底知识一单项选择题〔每题2分,共44分〕1 以下表达正确的选项是___。
A C程序根本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为完毕符D 注释语句可以嵌套2 一个C语言程序是从___开场执行的。
A 程序中第一个函数B 名为main的函数C 包含文件〔头文件〕的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的选项是___。
A 0x10B 0976C 076LD 01ff6 C语言中以下运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,那么执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 int i;,那么执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 假设y为int型变量,那么执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且floata=2;int b=3;那么执行以下语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,那么语句printf("%u",i);的输出结果为___。
完整版C语言程序设计练习题含程序及参考答案
完整版C语言程序设计练习题含程序及参考答案1. 请编写一个C程序,要求输入一个整数n,并打印从1到n的所有整数。
```c#include <stdio.h>int main(){int n;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++){printf("%d ", i);}return 0;}```参考答案:```请输入一个整数n:51 2 3 4 5```2. 请编写一个C程序,要求输入两个整数m和n,并计算它们的和、差、积和商(m除以n的结果)。
```c#include <stdio.h>int main(){int m, n;printf("请输入两个整数m和n:");scanf("%d %d", &m, &n);int sum = m + n;int difference = m - n;int product = m * n;float quotient = (float)m / n;printf("和:%d\n", sum);printf("差:%d\n", difference);printf("积:%d\n", product);printf("商:%.2f\n", quotient);return 0;}```参考答案:```请输入两个整数m和n:10 3和:13差:7积:30商:3.33```3. 请编写一个C程序,要求输入一个整数n,并判断它是否为素数。
```c#include <stdio.h>#include <stdbool.h>bool isPrime(int n){if (n <= 1){return false;}for (int i = 2; i * i <= n; i++){if (n % i == 0){return false;}}return true;}int main(){int n;printf("请输入一个整数n:"); scanf("%d", &n);if (isPrime(n)){printf("%d是素数。
《C程序设计》练习题4
《C程序设计》练习题一一.选择题1.以下选项中属于C语言的数据类型是()。
A. 复合型B. 双精度型C. 逻辑型D. 集合型2.以下说法中正确的是()。
A. C语言程序总是从第一个函数开始执行B. 在C语言程序中,要调用的函数必须在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分3.选出下列标识符中不是合法的标识符的是()。
A. hot_doB. cat1C. _priD. 2ab4.下列描述中不正确的是()。
A.字符型数组中能存放字符串。
B.可以对字符型数组进行整体输入、输出。
C.可以对整型数组进行整体输入、输出。
D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
5.表达式:10!=9的值是()。
A. trueB. 非零值C. 0D. 16.能正确表示a和b同时为正或同时为负的逻辑表达式是()。
A.(a>=0||b>=0)&&(a<0 ||b<0) B.(a>=0 && b>=0)&&(a<0 && b<0) C.(a+b>0) &&(a+b<=0) D. a*b>07.C语言中,合法的字符型常数是()A.‘A’ B.“A” C. 65 D. A8.设有数组定义:char array[]=”China”; 则数组所占的空间是()A.4个字节 B.5个字节 C.6个字节 D.7个字节9.若变量c为char类型,能正确判断出c为小写字母的表达式是()A.’a’<=c<=’z’ B.(c>=’a’) || (c<=’z’)C.(‘a’<=c) and (‘z’>=c) D.(c>=’a’) && (c<=’z’)10.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是()A.printf(“x=%d\n”,x) B.printf(“x=%ld\n”,x)C.printf(“x=%8dl\n”,x) D.printf(“x=%LD\n”,x);11.指出下面正确的输入语句()A.scanf(“a=b=%d”,&a,&b);B. scanf(“%d,%d”,&a,&b) ;C.scanf(“%c”,c) ; D. scanf(“% f%d\n”,&f) ;12.C语言源程序的基本单位是()。
《C程序设计》练习及答案
《C程序设计》练习及答案选择题部分第一章c语言概述选择题1、一个c程序的继续执行从______。
a、本程序的main函数开始,到main函数的结束b、本程序文件的第一个函数已经开始,至本程序文件的最后一个函数的完结c、本程序文件的main已经开始,至本程序文件的最后一个函数的完结d、本程序文件的第一个函数已经开始,至本程序文件的main函数的完结2、以下描述恰当的就是______。
a、在c程序中main函数必须位于程序的最前面b、c程序的每行中只能写一条语句c、c语言本身没有输入输出语句d、在对一个c程序展开编程的过程中,可以辨认出注解中的错误3、以下描述不恰当的就是______。
a、一个c源程序可由一个或多个函数组成b、一个c源程序必须包含一个main函数c、c程序的基本组成单位是函数d、在c程序中,注解表明就可以坐落于一条语句的后面4、c语言规定,在一个源程序中,main函数的位置______。
a、必须在最为已经开始b、必须在系统调用的库函数的后面c、可以任一必须在最后5、一个c语言程序是由______。
a、一个主程序和若干子程序共同组成b、函数共同组成c、若干过程共同组成d若干子程序共同组成、、d(acdcb)第三章数据类型、运算符与表达式(红色显示的部分为参考答案)1、如果x、i、j和k都就是int型变量,则排序下面表达式后,x的值______。
x=(i=4,j=16,k=32)a.4b.16c.32d.522、设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是______。
a.7b.8c.6d.23、以下四组选项中,均不是c语言关键字的选项就是______。
a.defineiftypeb.getccharprintfc.includescanfcased.whilegopow4、下列四组选项中,均是c语言关键字的选项是______。
a.autoenumincludeb.switchtypedefcontinuec.signedunionscanfd.ifstructtype5、下列四组选项中,均是不合法的用户标识符的选项是______。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C++程序设计实验(下)练习题一、类与对象1.定义一个名为Rectangle的矩形类:(1)数据成员为矩形的长Len和宽Wid;(2)定义有参构造函数;(3)两个成员函数Area()和Length(),分别计算并输出矩形的面积和周长。
(4)定义主函数,创建一个Rectangle类对象:长为5,宽为2。
通过调用成员函数输出该矩形的面积和周长。
2.日期类。
定义一个日期类Cdate属性:一个包括年(year)、月(month)和日(day)三个整型私有数据成员。
方法:定义成员函数Setdate()设置日期、成员函数Isleapyear()判断是否为闰年、成员函数Print()输出日期。
定义主函数,对上述成员函数进行测试。
void main(){Cdate d1; //定义对象d1.Setdate(1999,12,30); //通过对象访问成员if (d1. Isleapyear())cout<<“闰年”;elsecout<<“非闰年!”;d1.Print();}3.员工问题1.定义一个日期类Date(1)私有数据成员包括:年(int year)、月(int month)、日(int day);(2)定义构造函数:Date(int _year, int _month, int _day),对数据成员进行初始化;(3)定义成员函数void print() const,打印日期信息(打印格式:年/月/日)。
2.定义一个员工类Employee(1)私有数据成员包括:姓名(char *name)、出生日期(Date birth)、月工资(double salary);(2)定义构造函数:Employee(char *_name, int year, int month, int day, double _salary),对数据成员进行初始化;(3)定义析构函数:~Employee(),释放堆空间;(4)定义成员函数double computSalary(double bonus)const,计算员工年薪(计算公式:12×月工资+年终奖),其中参数bonus为年终奖;(5)定义成员函数void print() const,打印员工信息,打印格式如下图所示。
3.定义主函数,完成员工类的所有测试。
4.计算类1、定义一个名称为Calcuator(1)定义二个double类型的私有成员变量operand1和operand2;(2)定义公有无参构造函数operation(),将成员变量均初始化为0;(3)定义公有有参构造函数operation(double op1,double op2),对成员变量初始化;(4)定义公有成员函数getOperand1()和getOperand2()分别返回二个运算数;(5)定义公有成员函数setOperand1(double newOp1)和setOperand2(double newOp2)以修改成员变量operator1,operator2的值;(6)定义公有成员函数Addition()返回二个操作数的和;(7)定义公有成员函数Subtraction()返回二个操作数的差;(8)定义公有成员函数Multiplication()返回二个操作数的乘积;(9)定义公有成员函数Division()返回二个操作数的商,注意分母为0要进行判断;2、在主函数中对上述类测试,要求对类中定义的功能全部测试到,代码保存在test1.cpp文件中5.设计长方形类CRectangle(1)数据成员:长double l、宽double w;(2)无参构造函数将数据成员初始化为(2,1);(3)有参构造函数利用参数对数据成员初始化;(4)提供拷贝构造函数;(5)成员函数area(),返回长方形的面积;(6)成员函数perimeter( ),返回长方形的周长;(7)成员函数void display( ),输出长方形的长和宽;(8)定义主函数,完成类的测试。
6.设计圆类CCircle(1)数据成员:半径double radius;(2)无参构造函数将数据成员初始化为(0);(3)有参构造函数利用参数对数据成员初始化;(4)提供拷贝构造函数;(5)成员函数area(),返回圆的面积;(6)成员函数perimeter( ),返回圆的周长;(7)成员函数void display( ),输出圆的半径;(8)定义主函数,完成类的测试。
7.字符串类声明一个类String1,其数据成员为char head[100],构造函数String(char *Head)实现head的初始化,成员函数void Reverse()实现head内字符串的逆序存放,成员函数void Print()实现head内字符串的输出。
二、继承与多态1.创建由Point类对象派生的Circle类定义Point 类:(1)数据成员:x、y,分别对应横、纵坐标;(2)有参构造函数:利用参数对数据成员赋值;(3)函数Getx:获取点类的横坐标值;(4)函数Gety:获取点类的纵坐标值;定义圆类Circle,公有继承Point类:(5)新增数据成员:半径r;(6)构造函数:Circle(float X,floatY,float R):Point(X,Y) 给点类的数据成员以及圆类的半径赋值;(7)void Display();显示该圆的圆心坐标和半径;(8)主函数参考代码:int main(){floatx,y,r;cout<<"请?输º?入¨?圆2心?坐Á?标À¨º:êo\n";cin>>x>>y;cout<<"请?输º?入¨?半ã?径?:êo\n";cin>>r;Circle c(x,y,r);c.Display();return 0;}2.图形继承问题a) 定义类A //描述圆:(x,y)为圆心,r为半径(1)定义私有数据成员float x,y,r;(2)定义公有有参构造函数,对保护数据成员赋值;(3)定义公有成员函数AccessX、AccessY、AccessR返回x、y、z的值(4)定义公有型成员函数Area().返回圆的面积。
b) 定义类B // 描述物体的高(1)定义私有型成员变量High;(1)定义公有型带参的构造函数,完成对物体高度的赋值;(2)定义返回类型为float的成员函数,返回物体的高;c) 定义派生类圆柱体类C,公有继承A类、私有继承B类(1)定义私有成员float V olume为圆柱体的体积;(2)定义公有构造函数C(float a,floatb,floatc,float d):A(a,b,c),B(d)给数据成员赋值并计算援圆柱体的体积;(3)定义返回类型为float的成员函数,返回物体的体积;d)定义测试类,完成上面类的所有测试。
3.图形继承问题1.定义一个正方形基类Square(1)保护数据成员包括:边长(double width);(2)定义构造函数:Square(double _width),对保护数据成员进行初始化;(3)定义一个虚成员函数virtual doublearea()const; 实现正方形面积的计算。
2.定义一个派生类立方体类Cube,公有继承Square类(1)定义构造函数:Cube(double _width): Square(_width),对基类的数据成员进行初始化;(2)重新实现基类Square的虚函数area(),完成对立方体的表面积的计算;(3)定义派生类的成员函数double volume()const,完成对立方体体积的计算。
3.定义一个派生类长方形类Rectangle,公有继承Square类(1)定义保护数据成员:长方形的长(double length);(2)定义构造函数:Rectangle(double _width, double _length): Square(_width),分别对基类和派生类的数据成员进行初始化;(3)重新实现基类Square的虚函数area(),完成对长方形面积的计算;(4)定义派生类的成员函数double perimeter()const,完成对长方形周长的计算。
4.通过以下测试程序,完成上述基类与派生类的测试。
int main(){Cube cube(10);Rectanglerect(10, 20);Square *base = &cube;cout<<“正方体表面积:”<<base->area()<<endl;cout<<“正方体体积:”<<cube.volume()<<endl;base = ▭cout<<“长方形面积:”<<base->area()<<endl;cout<<“长方形周长:”<<rect.perimeter()<<endl;return 0;}4.计算类利用继承和多态实现加减乘除四则运算,步骤如下:1、先定义一个名称为Operator的类,要求如下:(1)定义二个double类型的私有成员变量operand1和operand2;(2)定义公有的且有参并带默认值的构造函数operation(double op1=0,double op2=0),对成员变量赋值;(3)定义公有成员函数getOperand1()和getOperand2()分别返回二个运算数;(4)定义公有成员函数setOperand1(double newOp1)和setOperand2(double newOp2)以修改成员变量operator1,operator2的值;(5)定义公有成员函数getResult(),其返回值类型为double,并将其定义为纯虚函数。
2、通过公共继承上述运算类Operator定义一个加法运算类类AddOperator,不需要添加任何成员变量和函数,仅需要把父类的虚方法getResult()在这里具体实现,并能返回二个运算数的和。
类似,分别定义三个类分别对应减法,乘法和除法(SubOperator, MultiOperator, DivideOperator),并实现相应的运算。
3、在下述类似的主函数中对计算器类进行测试,要求对类中定义的功能全部测试到,代码保存在test2.cpp中。