




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.下列各种高级语言中,( C )是面向对象的程序设计语言。A、BASIC;B、PASCAL;C、C+;D、Ada2.下列各种高级语言中,( B )是最早提出了对象的概念。A、 Algol 60;B、Simula 67;C、Smalltalk;D、C+3.下述面向对象抽象的原理中,( D )是不对的。A、 数据抽象;B、行为共享;C、进化;D、兼容4.( A)不是面向对象系统所包含的要素。A、 重载;B、对象;C、类;D、继承5.关于C+与C语言的关系的描述中( D)是错误的。A、 C语言是C+的一个自集;B、;C语言与C+是兼容的;C、C+对C语言进行了一些改进;D、C+和C语言都是面向对象的6.下面关于对象概念的描述中,( A)是错误的。A、对象就是C语言中的结构变量;B、对象代表着正在创建的系统中的一个实体;C、对象是一个状态和操作(或方法)的封装体;D、对象之间的信息传递是通过消息进行的7.下面关于类概念的描述中,( D )是错误的。A、 类是抽象数据类型的实现;B、类是具有共同行为的若干对象的统一描述体;B、 类是创建对象的样板;D、类就是C语言中的结构类型8.C+对C语言作了很多改进,下列描述中( D )使得C语言发生了质变,即从面向过程变成为面向对象。A、增加了一些新的运算符;B、允许函数重载,并允许设置缺省参数;C、规定函数说明必须用原型;D、引进了类和对象的概念9.按照标识符的要求,( A )符号不能组成标识符。A、 连接符;B、下划线;C、大小写字母;D、数字字符10.下列符号中,( C )不可作为分隔符。A、,;B、:;C、?;D、;11.C+引进了引用的概念,对编程带来了很多方便。()12.C+允许使用友元,但是友元会破坏封装性。()13.C+中使用了新的注释符(),C语言中注释符(*)不能在C+中使用。()14.C+中为了减轻使用者的负担,与C语言相比较C+中减少了一些运算符。()15.C+程序中,每条语句结束时都加一个分号(;)。()16.C+中标识符内的大小写字母是没有区别的。()17.C+中不允许使用宏定义的方法定义符号常量,只能用关键字const来定义符号常量。()18.在编写C+程序时,一定要注意采用人们习惯使用的书写格式,否则将会降低其可读性。()19.C+是一种以编译方式实现的高级语言。()20.在C+编译过程中,包含预处理过程、编译过程和连接过程,并且这三个过程的顺序是不能改变的。()21.预处理过程是一般编译过程之后连接过程之前进行的。()22.源程序在编译过程中可能会出现一些错误信息,但在连接过程中将不会出现错误信息。()23.#include void main() cout”BeiJing” ”; cout”ShangHai”n”; cout”TianJing”endl;23.BeiJing ShangHaiTianJing24.#include void main() int a,b; coutab; cout”a=”a”,”b=”bendl; cout”a-b=”a-b”n”;假定,输入如下两个数据:8 524.a=8,b=5a-b=30025 01E1#include void main() char c=m; int d=5; cout”d=”d”;”; cout”c=”c D、&42.下列各运算符中,( D )不可以作用于浮点数。A、/ B、& C、! D、43.下列各运算符中,( B )优先级最高。A、+(双目) B、*(单目) C、b)+(int(b)%2) D、-a+b47.下列表达式中,( D )是合法的。已知:double m=3.2; int n=3;A、 m3 B、+a+b+ C、b+(a=3) D、(a=3)-a+50.任何字符常量与一个任意大小的整型数进行加减都是有意义的。()51.转义序列表示法只能表示字符不能表示数字。( )52.在命名标识符中,大小写字母是不加区分的。( )53.C+的程序中,对变量一定要先说明再使用,说明只要有使用之前就可以。( )54.C+中数组元素的下标是从0开始,数组元素是连续存储在内存单元中的。( )55.数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数。( )56.枚举变量的取值受到该枚举变量所对应的枚举表中的枚举符的局限。( )57.指针是用来存放某种变量的地址值的变量。这种变量的地址值也可以存放在某个变量中,存放某个指针的地址值的变量称为指向指针的指针,即二级指针。( )58.引用是用来给某个变量以别名的变量。对引用的操作,实质上就是对被引用的变量的操作。( )59.运算符的优先级和结合性可以确定表达式的计算顺序。60.在说明语句int a(5),&b=a,*p=&a;中,b的值和*p的值是相等的。61.已知:int a(5);表达式(a=7)+a具有两义性。62.移位运算符在移位操作中,无论左移还是右移,所移出的空位一律补0。63.某个变量的类型高是指该变量被存放在内存中的高地址处。64.隐含的类型转换都是保值映射,显式的类型转换都是非保值映射。65.类型定义是用来定义一些C+小所没有的新的类型。66.预处理命令在程序中都是以( B )开头的。A、* ; B、# ; C、:;D、/ 67.文件包含命令中被包含的文件的扩展名( D )。A、必须为.h ; B、不能用.h ; C、必须是.c ; D、不一定是.h68.下列条件编译命令中# if ( A ) # else#endifA、整常量表达式;B、任何标识符;C、任意表达式;D、被定义的宏名69.带参数的宏定义中,程序中引用宏定义的实参( D )。A、只能是常量;B、只能是整型量;C、只能是整型表达式;D、可以是任意表达式70.下列( A )是语句 A、;B、a=17;C、x+y;D、cout”n” 71.下列for循环的次数为( B )。for(int i(0),x=0; !x&i=5;i+)A、5;B、6;C、1;D、无限 72.下列while循环的次数是( A ) 。while(int i=0) i-; A、0;B、1;C、5;D、无限73.下列do-while循环的循环次数为( D )。已知: int i(5); docouti-endl;i-;while(i!=0);A、0;B、1;C、5;D、无限74.下列for循环的的循环体次数为( D )。for (int i(0), j(10); i=j=10; i+,j-)A、0;B、1;C、10;D、无限 75.已知:int a,b;下列switch语句中,( D )是正确的。A、 switch (a)case a: a+;break; case b: b+;break;B、 switch (a+b) case1: a+b;break;case2: a-bC、 switch (a*a)case 1,2: +a; Case 3,4: +b;D、switch (a/10+b)case 5: a/5; break;default: a+b;76.下述关于循环体的描述中,( C )是错误的。A、循环体中可以出现break语句和continue语句;B、循环体中还可以出现循环语句;C、循环体中不能出现goto语句;D、循环体中可以出现开关语句。77.下述关于goto语句的描述中,( D )是正确的。A、goto语句可在一个文件中随意转向;B、goto语句后面要跟上一个它所转向的语句;C、goto语句可以同时转向多条语句;D、goto语句可以从一个循环体内转到循环体外。78.下述关于break语句的描述中,( C )是不正确的。A、break语句可用于循环体内,它将退出该重循环;B、break语句可用于开关语句中,它将退出开关语句;C、break语句可用于if体内,它将退出if语句D、break语句在一个循环体内可以出现多次。79.下列关于开关语句的描述中,( A )的正确的。A、开关语句中default子句可以没有,也可有一个;B、开关语句中每个语句序列中必须有break语句;C、开关语句中default子句只能放在最后;D、开关语句中case子句后面的表达式可以是整型表达式。80.下列关于条件语句的描述中,( C )是错误的。A、 if语句中只有一个else子句;B、 if语句中可以有多个else if 子句;C、 if语句中if体内不能是开关语句;D、 if语句的if体中可以是循环语句。81.预处理命令是在进行编译时首先执行的,然后再进行正常编译。82.宏定义命令是以分号结束的。 83.带参数的宏定义只能有1至2个参数。 84.文件包含命令所包含的文件是不受限制的。 85.条件编译命令只在编译时才有作用。86.预处理命令的主要作用是提高效率的。87.复合语句就是分程序。 88.条件语句不能作为多路分支语句。 89.开关语句不可以嵌套,在开关语句的语句序列中不能再有开关语句。 90.开关语句中的default关键字,只能放在该语句的末尾,不能放在开头或中间。 91.Switch语句中必须有break语句,否则无法退出switch语句。 92.While循环语句的循环体至少执行一次。 93.Do-while循环可以写成while循环的格式。94.For循环是只有可以确定的循环次数时才可使用,否则不能用for 循环。 95.只有for循环的循环体可以是空语句,其他种循环的循环体不能用空语句。 96.当循环体为空语句时,将说明该循环不做任何工作,只起延时作用。 97.循环是可以嵌套的,一个循环体内可以包含另一种循环语句。98.在多重循环中,内重循环的循环变量引用的次数比外重的多。99.Break语句可以出现在各种循环体中。100.Continue语句只能出现在循环体中。101.# include# define M 1.5# define A(a) M*avoid main()int x(5),y(6);coutA(x+y)endl;010113.5 0102 03E1# include# define MAX(a,b) (a)(b)?(a):(b)void main()int m(1),n(2),p(0),q;q=MAX(m,n+p)*10;coutqendl;0102200103 03E1#include#include”f1.cpp”void main() int a(5),b;b=f1(5);coutbendl;f1.cpp文件内容如下:#define M(m) m*mf1(int x)int a(3);return M(x+a);0103130104 03E1#includevoid main() int i(0);while(+i) if(i=10) break; if(i%3!=1) continue;coutiendl;01041470105 03E2#includevoid main()int i(1);doi+;cout+iendl;if(i=7) break;while(i=3);cout”ok! n”;010535ok!0106 03E2#includevoid main()int i(1),j(2),k(3),a(10);if(!i)a-;else if(j) if(k) a=5;elsea=6;a+;coutaendl;if(ij) if(i!=3) if(!k) a=1;else if(k) a=5;a+=2;coutaendl; 0106670107 03E3#includevoid main()int i,j,a88;*a=1;for(i=1;i8;i+)*(a+i)=1;*(*(a+i)+i)=1;for(j=1;ji;j+) *(*(a+i)+j)=*(*(a+i-1)+j-1)+*(*(a+i-1)+j);for(i=0;i8;i+)for(j=0;j=i;j+)cout” “*(*(a+i)+j);coutendl;010711 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 11 7 21 35 35 21 7 10108 03E3#includevoid main() int x(5);do switch(x%2) case 1: x-; break; case 0: x+; break;x-;coutx0);010831-10109 03E3#includevoid main() int a(5),b(6),i(0),j(0);switch(a) case 5: switch(b) case 5: i+;break;case 6: j+;break;default: i+;j+; case 6: i+; j+; break; default:i+;j+;couti”,”jendl; 01091,20110 03E3#includechar input=”SSSWILTECH1111W1WALLMP1”;void main() int I; char c; for(i=2;(c=inputi)!=0;i+) switch(c) casea: couti; continue; case1: break; case 1 : while(c=input+i)!=1&c!=0); case 9 : coutS; case E: case L: continue; default:coutc; continue;cout ;coutendl;0110SWITCH SWAMP111.当一个函数无返回值时,定义它时函数的类型应是( A )。A、 Void; B、任意; C、int; D、无112.在函数说明时,下列(D )项是不必要的。A、 函数的类型;B、函数参数类型和名字; C、函数名字; D、返回值表达式113.在函数的返回值类型与返回值表达式的类型的描述中,( B )是错误的。A、 函数返回值的类型是在定义函数时确定的,在函数调用时是不能改变的;B、 函数返回值的类型就是返回值表达式的类型;C、 函数返回值表达式类型与函数返回值类型不同时,表达式类型应转换成函数返回值类型;D、 函数返回值类型决定了返回值表达式的类型。114.在一个被调用函数中,关于return语句使用的描述,( D )是错误的。A、 被调用函数中可以不用return语句;B、 被调用函数中可以使用多个return语句;C、 被调用函数中,如果有返回值,就一定要有return语句;D、 被调用函数中,一个return语句可返回多个值给调用函数。115.下列的( D )是引用调用。A、 形参是指针,实参是地址值;B、 形参和实参都是变量;C、 形参是数组名,实参是数组名;D、 形参是引用,实参是变量。116.在传值调用中,要求(C )。A、 形参和实参类型任意,个数相等;B、 实参和形参类型都完全一致,个数相等;C、 实参和形参对应的类型一致,个数相等;D、 实参和形参对应的类型一致,个数任意。117.在C+中,关于下列设置参数默认值的描述中,( C )是正确的。A、 不允许设置参数的默认值;B、 设置参数默认值只能在定义函数时设置;C、 设置参数默认值时,应该是先设置右边的再设置左边的;D、 设置参数默认值时,应该全部参数都设置。118.重载函数在调用时选择的依据中,( D )是错误的。A、 参数个数; B、参数的类型; C、函数名字; D、函数的类型。119.下列的标识符中,( C )是文件级作用域的。A、 函数形参; B、语句标号; C、外部静态类标识符; D、自动类标识符。120.有一个int型变量,在程序中使用频度很高,最好定义它为( A )。A、 register; B、auto; C、extern; D、static。121.下列标识符中,( B )不是局部变量。A、 register类; B、外部static类; C、auto类; D、函数形参。122.下列存储类标识符中,( C )是可见性与存在性不一致。A、 外部类; B、自动类; C、内部静态类; D、寄存器类。123.在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用( A )合适。A、 内联函数; B、重载函数; C、递归调用; D、嵌套调用124.采用函数重载的目的在于( D )。A、 实现共享; B、减少空间; C、提高速度; D、使用方便,提高可读性125.在将两个字符串连接起来组成一个字符串时,选用( C )函数。A、 str( ); B、strcpy( ); C、strcat( ); D、strcmp( )126.在C+中,定义函数时必须给出函数的类型。()127.在C+中,说明函数时要用函数原型,即定义函数时的函数头部分。()128.在C+中,所有函数在调用前都要说明。()129.如果一个函数没有返回值,定义时需要用void 说明。()130.在C+中,传址调用将被引用调用所代替。()131.使用内联函数是以牺牲增大空间开销为代价的。()132.返回值类型、参数个数和类型都相同的函数也可以重载。()133.在设置了参数默认值后,调用函数的对应实参就必须省略。()134.计算机函数参数顺序引起的二义性完全是由不用的编译系统决定的。()135.for循环中,循环变量的作用域是该循环的循环体内。()136.语句标号的作用域是定义该语句标号的文件内。()137.函数形参的作用域是该函数的函数题。()138.定义外部变量时,不用存储类说明符extern,而说明外部变量时用它。()139.内部静态类变量与自动类变量作用域相同,但是生存期不用。()140.静态生存期的标识符的寿命是短的,而动态生存期标识符的寿命是长的。()141.重新定义的标识符在定义它的区域内时可见的,而与其同名的原标识符在此区域内是不可见的。但是,它是存在的。()142.静态类标识符在它的作用域之外是不存在的。()143.所有的函数在定义它的程序中都是可见的。()144.编译系统所提供的系统函数都被定义在它所对应的头文件中。()145.调用系统函数时,要先将该系统函数的原型说明所在的头文件包含进去。()0146 04E1#include #define N 5void fun();void main()for(int i(1);iN;i+)fun();void fun()static int a;int b(2);cout(a+=3,a+b)endl;01465811140147 04E2#include int add(int a,int b);void main()extern int x,y;coutadd(x,y)endl;int x(20),y(5);int add(int a,int b)int s=a+b;return s;0147250148 04E2#include void f(int j);void main()for(int i(1);i=4;i+) f(i);void f(int j)static int a(10);int b(1);b+;couta+b+j=a+b+jendl;a+=10;014810+2+1=1320+2+2=2430+2+3=3540+2+4=460149 04E2#include void f(int n) int x(5); static int y(10); if(n0) +x; +y; coutx,yendl; void main() int m(1); f(m);01496,110150 04E1#include int fac(int a);void main() int s(0); for(int i(1);i=5;i+) s+=fac(i); cout5!+4!+3!+2!+1!=sendl;int fac(int a) static int b=1; b*=a; return b;01505!+4!+3!+2!+1!=1530151 04E2#include void fun(int ,int ,int *);void main() int x,y,z; fun(5,6,&x); fun(7,x,&y); fun(x,y,&z); coutx,y,zendl;void fun(int a,int b,int *c)b+=a; *c=b-a;01516,6,60152 04E2#include int add(int x,int y=8);void main()int a(5);coutsun1=add(a)endl;coutsun2=add(add(a)endl;coutsun3=add(add(add(a)endl;int add(int x,int y)return x+y;0152sun1=13sun2=18sun3=230153 04E1#include #define N 6int f1(int a);void main() int a(N); coutf1(a)endl;int f1(int a)return (a=0)?1:a*f1(a-1);01537200154 04E1#include void swap(int &,int &);void main() int a(5),b(8); couta=a,b=bendl; swap(a,b); couta=a,b=bendl;void swap(int &x,int &y) int temp; temp=x; x=y; y=temp;0154a=5, b=8a=8, b=50155 04E2#include int & f1(int n,int s)int &m=sn; return m;void main()int s=5,4,3,2,1,0; f1(3,s)=10; coutf1(3,s)endl;0155100156 04E2#include void print(int),print(char),print(char *);void main() int u(1998); print(u); print(u); print(abcd);void print(char x)coutxendl;void print(char *x)coutxendl;void print(int x)coutxendl;0156u1998abcd0157 04E2#include void ff(int),ff(double);void main()float a(88.18);ff(a);char b(a);ff(b);void ff(int x)coutff(int):xendl;void ff(double x)coutff(double):xendl;0157ff(double):88.18ff(int):970158 04F1从键盘上输入15个浮点数,求出其和及平均值。要求写出求和及求平均值的函数。0158 # include Double s,sum(double b,int n),average(int n); Void main()Double a15;Cout”Input 15 doubles:”;For (int i=0;iai; S=sum(a,15);Double ave=average(15);Cout”SUM=”s”,”AVERAGE=”aveendl;Double sum(double b,int n) Double sum=0; For(int i=0;i15;i+) sum+=bi; Return sum;Double average(int n)Retrun s/n;0519 04F1从键盘上输入10个int 型数,去掉重复的,将剩余的由大到小排序输出。0519# include Void main() Int a10,n=10; Void sor(int b,int n); Cout”Input 10 integer:”; For(int i=0;iai; For(i=0;in;i+) For(int j=i+1;jn;j+) If(ai= =aj) aj=a-n; j-;sort(a,n);For(i=0;in;i+)Coutai”;Coutn;Void sort(int b,int n) For(int i=1;in;i+) For(int j=0;jn;j+) If(bjbj+1) Int t=bj bj=bj+1; bj+1=t;0160 04F2 给定某个年、月、日的值,例如,1998年4月7日。计算出这一天属于该年的第几天。要求写出计算闰年的函数和计算日期的函数。0160# includeInt sum_day(int ,int),leap(int);Void main() Int year,month,day; Coutyearmonthday; Int days=sum_day(month,day); If(leap(year)&month2) days+; cout”是这一年的第”days”天n”;Int sum_day(int month,int day) Static int days_month13=0,31,28,31,30,31,30,31,31,30,31,30,31; For(int i=1;imonth;i+) day+=days_monthi; return day;Int leap(int year)Int leap=year%4= =0&year%100!=0|year%400=0Return leap;0161 04F2写出一个函数,使从键盘上输入的一个字符反序存放,并在主函数中输入和输出该字符串。0161# include# includeVoid fun(char);Void main() Char s80;Couts;Cout”反序前:”sendl;fun(s);Cout”反序后:”sendl;Void fun(char ss) Int n=strlen(ss); For(int i=0;in/2;i+) Char c=ssi; ssi=ssn-1-i; ssn-1-i=c;0162 04F2写出一个函数,要求将输入的十六进制数转换成十进制数。要求函数调用时,使用指针作函数的形参。0162# includeVoid main() Int htoi(char s); Cout”请输入一个十六进制数:”; Char s120=”; Cin.read(s1,20); Coutendl; Int n=htoi(s1); Cout”该树转换为十进制数”n=0&si=a&si=A&si=F) n=n*16+si-A+10; Return n;0163 04F2编写两个函数,一个是将一个5位int 型转换成为每两个数字间加一个空格的空符串;另一个是求出转换后的字符串长度。由主函数输入int型数,并输出转换后的字符串和长度。0163# include Char *fun1(int); Int fun2(); Char s10; Void main() Int number; Coutnumber; Cout”整型数加空格后为:”fun1(number)endl; Cout”加空格后字符串的长度为:”fun2()endl;Char *fun1(int n) Int a5; a4 =n%10;a3 =n/10%10;a2 =n/100%10;a1 =n/1000%10;a0 =n/10000;for(int i=0,j=0;i5;i+,j+=2) sj=char(ai+0); sj+1= ; sj-1=0; return s;Int fun2() Int n=0,i=0; While(si+) n+; return n;0164 04F2输入5个学生4门功课的成绩,然后求出:A每个学生的总分;B 每门课程的平均分;C输出总分最高的学生的姓名和总分数。0164#includeint all_scor(int a),high_scor(int a,int *i);double aver_scor(int sc);void main( )char name 10=“Ma”,”Wang”,”Li”,”Huang”,”Kang”;int score4=89,86,75,90,91,82,75,80,78,93,85,80,90,79,95,85,68,75,81,83;int a15;cout”每个学生功课的总分:”;for(int i=0;i5;i+) cout(a1i=all_scor(scori)” ”;cout”n 每个学生功课的平均成绩:”;for(i=0;i5;i+) cout aver_scor (scorei)”;int n=0,high;high=high_scor(a1,&n);cout” 学生姓名:”namen”t最高分:”highendl;double aver_scor(int sc)return (double)all_scor(sc)/4;int all_scor(int a)int s=0;for(int j=0;j4;j+) s+=aj;return s;int high_scor(int a,int *i)for(int j=1;j5;j+)if(a0aj)a0=aj;*i=j;return a0;0165 04F3使用递归调用方法将一个n位整数转换成字符串。0165#includevoid main()int num;void
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业员工关系管理中的沟通技巧
- 低血压护理预案
- 园艺分享养花经验
- 职场沟通技巧培训课程
- 任务三 丰富家园场景说课稿-2025-2026学年小学信息技术(信息科技)五年级下册桂科版
- 第3节 自我意识的偏差教学设计-2025-2026学年中职心理健康全一册高教版
- Module2 Unit 2 Im a boy.(教学设计)-2023-2024学年外研版(一起)英语一年级上册
- 生物化学硕士入学考试模拟题
- 企业数据脱敏管理方案解析
- 第三课 小猫报站名-链表的应用教学设计-2025-2026学年初中信息技术大连版2015七年级下册-大连版2015
- 2025年中考语文备考之名著复习:《艾青诗选》题集组(答案)
- 2024年游泳初级指导员认证理论考试题库(浓缩500题)
- 新能源发电技术 电子课件 2.5 可控核聚变及其未来利用方式
- 移动互联网时代的信息安全与防护学习通超星期末考试答案章节答案2024年
- 体育与健康-《立定跳远》教学设计
- 人工智能训练师理论知识考核要素细目表一级
- GB/T 9799-2024金属及其他无机覆盖层钢铁上经过处理的锌电镀层
- 退休返聘人员劳务合同范本
- DL-T5190.1-2022电力建设施工技术规范第1部分:土建结构工程
- 第2课 中国特色社会主义的开创和发展 教案-2023-2024学年中职高教(2023)中国特色社会主义
- ASME-第九卷焊接和钎焊评定标准-资料
评论
0/150
提交评论