c++复习题(答案)
C语言复习60题

01计算机本身最擅长的能力是?A、推理B、想像C、重复D、分析正确答案: C、重复。
02 计算机(CPU)能够直截了当运行人类编写的程序A、√B、×正确答案: B、×、03编程语言是与计算机交谈的语言A、√B、×正确答案: B、×。
04 关于C语言,以下讲法错误的有:A、C语言是与Unix操作系统一同发展起来的B、C语言不能写图形界面的软件C、C语言一般是编译执行的D、C语言诞生于1970年代正确答案: B、C语言不能写图形界面的软件、06 IDE的中文翻译是什么?正确答案是:集成开发环境、07 给定:int a,b; 以下哪些scanf的使用是正确的?A、scanf("%d”,&a); scanf(”%d",&b);B、scanf(”%d %d”, &a, &b);C、scanf("%d, %d", &a,&b);D、scanf("%d%d”, a, b);正确答案: A、scanf("%d”,&a); scanf(”%d", &b);。
B、scanf(”%d%d", &a, &b);、C、scanf(”%d,%d”,&a,&b);、08 以下哪些是有效的变量名?A、mainB、4everC、monkey—kingD、__int正确答案:A、main。
D、__int。
09给定:inta,b; scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?A、1 2B、1,2C、1(回车)2D、1、2正确答案:A、1 2。
C、1(回车)2、10给定以下代码段:inta,b=0;则a的初始值是0A、√B、×正确答案: B、×、11写出下式的运算结果:10/3、0*3 正确答案是:10、0。
12写出下式的运算结果:10/3*3、0正确答案是:9、0。
C语言复习题(答案)

1.编程计算球的体积(V=34πr3),要求半径通过键盘输入,π的值定义为符号常量PI ,输出结果保留两位小数,输入前和输出时要求给出含义明确的提示信息。
#include<stdio.h>main(){float r,v;scanf(“%f ”,&r)v=4/3*PI*r*r*r;printf(“v is %.2f ”,v);}2.输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。
#include<stdio.h>main(){int n,s,g,b;printf(“please input n:\n ”);scanf(“%d ”,&n);g=n%10;s=n/10%10;b=n/100;printf(“%d”,100*g+10*s+b);}3.输入三角形的边长,求三角形的面积(面积=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)。
#include <stdio.h>main(){int a,s,c,b;printf(“please input a,b,c:”);scanf(“%d,%d,%d”,&a,&b,&c);while(a+b)<=c||(a+c<=b||(b+c)<=a);{printf(“please input a,b,c:”);scanf(“%d,%d,%d”,&a,&b,&c);}s=(a+b+c)/2;area=sqrt(s*(s-a)(s-b)(s-c));printf(“area is:%d\n”,area);}4. 输入3个字符,反向输出这3个字符和它们的ASCII码。
#include <stdio.h>main(){char ch1,ch2,ch3;printf("please input ch1&ch2&ch3:");scanf(“%c%c%c”,&ch1,&ch2,&ch3);printf(“%c\t%c\t%c\n”,ch3,ch2,ch1);printf(“%d\t%d\t%d\n”,ch3,ch2,ch1)}5.编程计算圆的面积(S=πr2),要求半径通过键盘输入,π的值定义为符号常量PI,输出结果保留两位小数,输入前和输出时要求给出含义明确的提示信息。
C语言1-5章复习题和参考答案.doc

1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A .-3 B.9 C.-12 D.62、若有定义:int a=8, b=5, c;执行语句c=a/b+0.4;后,c的值为()。
A .1.4 B.l C.2.0 D.23、有如下程序:void main(){int i,sum;for(i=l;i<=3;sum++)sum+=i;printf("%d\n",sum);}该程序的执行结果是()。
A .6 B.3 C.死循坏D.O4、下列关于表达式的描述屮,错误的是()0A.常量和变量都是表达式。
B.运算符类型对应表达式的类型。
C.每一个表达式都有自己的值。
D.表达式必须以分号结尾。
5、C语言中,合法的长整型常数是()。
A.'\t'B."A"C.65D.a6、若已定义x和y为double类型,则表达式x=l;y= (x+3) /2的值是()。
A.lB.2C.2.00000D.2.500007、表达式:10!二9的值是()oA.trueB.非零值C.OD.l8、以下程序的输出结果是()。
#include<stdio.h>void main(){printf("%d\n", NULL);}A.不确定的B.OC.-lD.l9、请选出合法的C语言赋值语句。
()A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);10^假设int b=2;表达式(b»2)/(b»l)的值是()。
A .0 B.2 C.4 D.811>关于语句printf("hello world\rT);,下列描述中错误的是()。
A . printf()是格式化输出函数,用于输出信息。
B.printf()括号屮的内容为函数的参数。
C.printf()括号中的内容会全部输出到控制台上。
C期末考试复习题(答案)

C期末考试复习题(答案)C语言复习题一、单项选择题1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。
A).c B).obj C).exe D).bas2、)完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( B )A)连接、编译B)编译、连接 C)连接、运行D)运行3、关于C语言的叙述中,不正确的是(D)A)C程序可由一个或多个函数组成B)C程序必须包含一个main ()函数C)C程序的基本组成单位是函数D)注释说明只能位于一条语句的后面4、一个C程序的执行是从(A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束5、以下正确的叙述是(C )A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误6、下列选项中,不能用作标识符的是( D)。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_7、常数的书写格式决定了常数的类型和值,0x1011是( C )A)8进制整型常量B)字符常量 C)16进制整型常数D)2进制整型常数8、以下4组用户定义标识符中,全部合法的一组是( A )A)_total clu_1 sum B)if -max turbC)txt REAL 3COM D)int k_2 _0019、_( D )是合法的用户自定义标识符。
A) b-b B)float C)123a D) _isw10、以下选项中不正确的整型常量是( C )。
A) 12L B) -10 C) 1,900 D) 123U11、表达式( C )的值是0。
C语言复习卷带答案

姓名:__________________年级专业:__________________ 学号:__________________凡年级专业、姓名、学号错写、漏写或字迹不清者,成绩按零分记。
…………………………密………………………………封………………………………线…………………………《复习卷》试卷一、单选题(每题1分,共计30分) 1、下列选项中,不合法的变量是(D )。
A 、int x = 3; B 、char ch = 'c' C 、float f ; D 、case c;2、下列选项中,不合法的常量是(D )。
A 、2 B 、'\n' C 、'a' D 、'\483'3、关于#include<stdio.h>这句代码,下列描述中错误的是(C ) A 、"#"是预处理标志,用来对文本进行预处理操作 B 、include 是预处理指令 C 、一对尖括号可以去掉D 、stdio.h 是标准输入输出头文件4、假设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 的值为( C )。
A 、0 B 、1 C 、2 D 、35、C 语言程序的三种基本结构是( A )。
A 、顺序结构,选择结构,循环结构 B 、递归结构,循环结构,转移结构 C 、嵌套结构,递归结构,顺序结构 D 、循环结构,转移结构,顺序结构6、关于下面的for 循环语句 int i,k; for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”); 下列选项中,描述正确的是(B )A 、判断循环结束的条件非法B 、是无限循环C 、只循环一次D 、一次也不循环7、以下定义语句中,错误的是( D )。
c复习题及答案

一、选择题1. 在每个C++程序中都必须包含有这样一个函数,该函数的函数名为 A 。
A. mainB. MAINC. nameD. function2. 若a,b 均为int 型变量,为了将10赋给a ,将20赋给b ,则对应以下cin 语句的正确输入方式为 B 。
(<CR>代表回车换行,_代表空格)。
cin >> a >> b;A .1020<CR>B .10_20<CR>C .10,20<CR>D .20_10<CR>3. 在以下关于C++语言的注释的叙述中,不正确的是 C 。
A. A .C++程序中,注释可用"/*"、"*/"形式表示,也可用"#KDJF C. 67KDJ D. DK3_4. 关于字符串和字符的关系正确的是 CA. “A ”与’A ’是相同的B. 字符串是常量,字符是变量C. “A ”与’A ’是不同的D. “A ”与“A ”是相同的5. 下面关于语句的说法正确的是 BA. 下面这两段程序的执行效果是一致的B. 空语句是只有一个分号的语句,它其实什么也不干C. 语句的构成不一定需要分号D. 语句的书写对程序的运行不起作用,因此可以随便写都可以6. 以下各标识符中,合法的用户标识符组为 D 。
A. PAd ,P#d ,b-b ,abc ,_0123,ssipedB. cin ,a10,CPP ,float ,del_word ,signedC. void ,max ,hiy ,<fr>,list ,*jerD. a ,temp ,_isw ,INT ,keep ,wind7. 在VC++中,以下语句的输出为 D 。
short int k= -1;cout << k << ',' << (unsigned short) k <<endl;A .-1,-1B .-1,32767C .-1,32768D .-1,655358. 若给出以下程序,其输出为 B 。
C语言复习题及答案

复习A:一、单项选择题1、如果要把常量327存入变量a中,a不能定义的类型是哪一个? ( )A)int B)char C)long D)float2、若x 为unsigned int 型变量,则执行下列语句后x值为()x = 65535;printf(“%d\n”,x);A)65535 B)1 C)无定值D)-13、有以下程序main(){int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf(″%d,%d\n″,k,m);}程序运行后的输出结果是()A)0,0 B)0,1 C)1,0 D)1,14、在C语言中,如果下面的变量都是int类型,则输出的结果是()。
sum=pad=5; pAd=sum + + ,pAd + +, + + pAd;printf("%d\n",pad);A) 7 B) 6 C) 5 D) 45、以下程序的输出结果是()。
main(){ int a=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}A)1 B)0 C)非0的数D)-16、当执行以下程序段时()。
x=-1;do{x=x*x;}while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误7、全局变量的存储类型可以定义为()。
A)auto或static B)extern或registerC)auto或extern D)extern或static8、定义全局变量时,若变量的的存储类别缺省,则默认的存储类型是()。
A)auto B)registerC)extern D)static9、已知:int a, x; 则正确的赋值语句是()。
A)a=(a[1]+a{2})/2; B)a*=*a+1; C)a=(x=1, x++, x+2); D)a="good";10、已知:int a, *p=&a; 则下列函数调用中错误的是()。
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。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆交通大学电信类 15级《C++面向对象程序设计》课程复习题(2016年 5月)一、选择题1. 以下说法中正确的是(B)。
A. C++程序总是从第一个定义的函数开始执行B. C++程序总是从main 函数开始执行2. 下面有关构造函数的描述中,正确的是(BA. 构造函数可以带有返回值 )。
B. 构造函数的名字与类名完全相同 D. 构造函数必须定义,不能缺省C. 构造函数必须带有参数3. 在声明类时,下面的说法正确的是(C)。
A. 可以在类的声明中给数据成员赋初值B. 数据成员的数据类型可以是registerC. private ,public ,protected 可以按任意顺序出现D. 没有用private ,public ,protected 定义的数据成员是公有成员4.在下面有关析构函数特征的描述中,正确的是(CA. 一个类可以有多个析构函数 )。
B. 析构函数与类名完全相同 D. 析构函数可以有一个或多个参数C. 析构函数不能指定返回类型5.构造函数是在(B)时被执行的。
A. 程序编译B. 创建对象C. 创建类D. 程序装入内存6. 下面有关静态成员函数的描述中,正确的是(B )A. 在静态成员函数中可以使用this 指针B. 在建立对象前,就可以为静态数据成员赋值C. 静态成员函数在类外定义是,要用static 前缀D. 静态成员函数只能在类外定义7.下面有关友员函数的描述中,真确的说法是(A A. 友员函数是独立于当前类的外部函数)B. 一个友员函数不可以同时定义为两个类的友员函数C. 友员函数必须在类的外部进行定义D. 在类的外部定义友员函数时必须加上friend 关键字C. C++函数必须有返回值,否则不能使用函数D. C++程序中有调用关系的所有函数必须放在同一个程序文件中8.友员的作用之一(A)A. 提高程序的运行效率B. 加强类的封装C. 实现数据的隐蔽性D. 增加成员函数的种类9.使用派生类的主要原因是(AA. 提高代码的可重用性C. 加强类的封装性)B. 提高程序的运行效率D. 实现数据的隐藏10.在C++中继承方式有几中(C )A. 1B. 2C. 3D. 411.派生类的对象对它的基类成员中( A)是可以访问的。
A.公有继承的公有成员;C.公有继承的保护成员;B.公有继承的私有成员;D.私有继承的公有成员。
12. 类中定义的成员默认为( B )访问属性。
A. publicB. privateC. protectedD. friend13.下列存储类标识符中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用(A )合适。
A. 内联函数;B. 重载函数;C. 递归调用;D. 嵌套调用。
14.C++对C语言作了很多改进,下列描述中( D )使得C语言发生了质变,从面向过程变成了面向对象。
A. 增加了一些新的运算符;C. 规定函数说明必须用原型;B. 允许函数重载,并允许设置缺省参数;D. 引进了类和对象的概念;15.按照标识符的要求,(A )符号不能组成标识符。
A. 连接符B. 下划线C.大小写字母D. 数字字符16.下列变量名中,(AA CHINA)是合法的。
B byte-sizeC doubleD A+a17.下列各种函数中,(C )不是类的成员函数。
A 构造函数B 析构函数C 友元函数D 拷贝构造函数18.下列(A )是正确的语句。
A ;B a=17C x+yD cout<<"\n"19.不能作为函数重载判断的依据的是( B)A.返回类型B. constC.参数个数D. 参数类型20.通常,拷贝构造函数的参数是(C )A.某个对象名B.某个对象的成员名 D.某个对象的指针名C.某个对象的引用名21.下面对静态数据成员的描述中,正确的是( C)A 类的不同对象有不同的静态数据成员值B 类的每个对象都有自己的静态数据成员C 静态数据成员是类的所有对象共享的数据D 静态数据成员不能通过类的对象调用22.假定AB 为一个类,则执行AB x;语句时将自动调用该类的(B )A.有参构造函数B.无参构造函数C.拷贝构造函数D.赋值构造函数23.C++程序从上机到得到结果的几个操作步骤依次是(B )。
24.假定一条定义语句为“int a[10], x, *p=a;”,若要把数组a 中下标为3的元素值赋给 x ,则不正确的语句为( D )。
A. x=p[3];B. x=*(a+3);C. x=a[3];D. x=*p+3;25.关于封装,下列说法中不正确的是( D )。
A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C. 通过封装,每个对象都成为相对独立的实体D. 通过封装,对象的属性都是不可见的26.预处理命令在程序中都是以(B)符号开头的。
A. *B. #C. &D. @27.存储以下数据,占用存储字节最少的是(B)。
A. 0B. ‘0’C. “0”D. 0.028.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用(D)符号作为分隔A. 编译、编辑、连接、运行 C. 编译、运行、编辑、连接B. 编辑、编译、连接、运行D. 编辑、运行、编辑、连接符。
A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车D. int *p=m;29.假定变量m 定义为“int m=7;”,则定义变量p 的正确语句为( B )。
A. int p=&m;B. int *p=&m;C. int &p=*m;30.下面的哪个保留字不能作为函数的返回类型?(C)A. voidB. intC. new31.采用重载函数的目的是(D)。
A.实现共享B.减少空间C.提高速度D.使用方便,提高可读性32.假定AB 为一个类,则(CA. AB(AB x);)为该类的拷贝构造函数的原型说明。
B. AB(int x);C. AB(AB& x);D. void AB(AB& x);33、 C++对C 语言作了很多改进,下列描述中(D )使得C 语言发生了质变,从面向过程变 成了面向对象。
34、 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这 实体也就是( A)。
A.类B.对象C.函数体D.数据块35、 关于new 运算符的下列描述中,( C )是错误的。
A 、 它可以用来动态创建对象和对象数组;B 、使用它创建的对象或对象数组可以使用运算符delete 删除;C 、使用它创建对象时要调用构造函数;D 、使用它创建对象数组时必须指定初始值; 36、 ( D )不是构造函数的特征。
A 、构造函数的函数名与类名相同;B 、构造函数可以重载;C 、构造函数可以设置缺省参数;D 、构造函数必须指定类型说明。
37、 假定一个类的构造函数为B(int x,int y){a=x--;b=a*y--;},则执行B x(3,5); 语句 后,x.a 和x.b 的值分别为( C) A 、 3和5B 、 5和3C 、 3和15D 、20和5A 、增加了一些新的运算符;B 、允许函数重载,并允许设置缺省参数;C 、规定函数说明必须用原型;D 、引进了类和对象的概念;D.long38、关于成员函数特征的下列描述中,( A )是错误的。
A、成员函数一定是内联函数;B、成员函数可以重载;C、成员函数可以设置缺省参数值;D、成员函数可以是静态的;39、在公有继承的情况下,基类成员在派生类中的访问权限( B )。
A、受限制B、保持不变C、受保护D、不受保护40、友元的作用是( A )。
A、提高程序的运用效率;B、加强类的封装性;C、实现数据的隐藏性;D、增加成员函数的种类;41、在C++中,关于下列设置缺省参数值的描述中,(B )是正确的。
A、不允许设置缺省参数值;B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;C、只能在函数的定义性声明中指定参数的缺省值;D、设置缺省参数值时,必须全部都设置;42、关于delete运算符的下列描述中,( C )是错误的。
A、它必须用于new返回的指针;B、使用它删除对象时要调用析构函数;C、对一个指针可以使用多次该运算符;D、指针名前只有一对方括号符号,不管所删除数组的维数。
43、const int *p说明不能修改( C )。
A、p指针;B、p指针指向的变量;C、p指针指向的数据类型;D、上述A、B、C三者;44、当需要打开A盘上的以xxk.dat文件用于输入时,则定义文件流对象的语句为 ( B)。
A、fstream fin(“A:xxk.dat”,1)B、ifstream fin(“A:xxk.dat”,ios::nocreate)C、ofstream fin(“A:xxk.dat”)D、ifstream fin(“A:xxk.dat”,ios::app)45、派生类的对象对它的基类成员中(A )是可以访问的。
A、公有继承的公有成员;B、公有继承的私有成员;C、公有继承的保护成员;D、私有继承的公有成员;46、在int a=3; *p=&a;中,*p的值是( D )。
A、变量a的地址值B、无意义C、变量p的地址值D、 347. 下述静态数据成员的特征中,( D )是错误的。
A. 说明静态数据成员时前边要加修饰符static;B. 静态数据成员要在类体外进行初始化;C. 引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符;D. 静态数据成员不是所有对象所共用的。
48. ( A)是析构函数的特征。
A. 一个类中只能定义一个析构函数;C. 析构函数的定义只能在类体内; B. 析构函数与类名没有关系;D. 析构函数可以有各个或多个参数。
;49. 已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象。
如果要给m赋值为5,(C )是正确的。
A. A1.p=5;C. A.*p=5; B. A1->p=5;D. *A1.p=5;50. 派生类的构造函数的成员初始化列中,不能包含( C )。
A. 基类的构造函数;B. 派生类中子对象的初始化;C. 基类的子对象初始化;D. 派生类中一般数据成员的初始化51. 派生类的对象对它的基类成员中( A)是可以访问的。
A. 公有继承的公有成员;B. 公有继承的私有成员;C. 公有继承的保护成员;D. 私有继承的公有成员。
52.C++类体系中,不能被派生类继承的有(A )。
A.构造函数B.虚函数C.静态成员函数D.赋值操作函数53.下面标识符中正确的是(A )。