C++语言程序设计复习题
C语言程序设计期末复习题及答案(1)

5. n为整型,表达式n=1,n+2,n*5 的值是__5_______。
6. 已知:float x=8.53; 整形变量i=(int)x;则i=__8_____。
7. 已知:int x=5;语句y=x++*x++;执行完成后x=___7__,y=_25____。
int i, k, num;
gets(str1); gets(str2);
i=strlen(str1);
k=strlen(str2);
num=______? ____: ____;
printf("%d\n", num);
}
2. 下面程序是计算字符串中实际字符的个数,即实现和字符串处理函数strlen相同的功能,补充空白处的程序。
for (j=0;j<n-1-i;j++)
if (a[j]>a[j+1])
{c=a[j];a[j]=a[j+1];a[j+1]=c;}
}
2. 本题20分.总体程序完整性3分,结构体定义正确3分,结构体数组定义以及初始化正确6分,指针定义正确3分,输出判断正确3分,输出姓名地址2分。以下代码为参考代码,答案不唯一。
(B)在指针操作中,运算符“&”是取指针指向的对象的值。
(C)在指针操作中,运算符“*”的操作对象是一个地址。
(D)语句int *ip;定义了指针变量只能存放整型变量的地址。
14.判断字符串str1是否大于字符串str2,应当使用___d________。
(A)if (str1>str2)
c语言程序设计基础期中复习题

c语言程序设计基础期中复习题c语言程序设计是计算机科学与技术专业中非常重要的基础课程之一。
它不仅教会我们如何使用计算机语言编写程序,还培养了我们解决问题的逻辑思维能力。
下面是一些c语言程序设计基础的期中复习题,供同学们复习参考。
# 一、选择题1. 以下哪个选项是C语言中的关键字?- A. class- B. int- C. function- D. include2. C语言中,用于定义变量的关键字是:- A. define- B. declare- C. var- D. let3. 以下哪个是合法的C语言标识符?- A. 2variable- B. for- C. variable2- D. int4. 在C语言中,用于表示逻辑“与”的运算符是:- A. &&- B. ||- C. !- D. &5. C语言中,用于实现条件判断的语句是:- A. if- B. switch- C. case- D. default# 二、填空题1. 在C语言中,基本数据类型包括整型(int)、字符型(char)、______(请填写浮点型)等。
2. C语言中,字符常量可以用单引号括起来,例如'A',而字符串常量则需要用双引号括起来,例如"______"。
3. C语言中,一个完整的程序由______和函数组成。
4. 在C语言中,使用______语句可以实现循环控制。
5. C语言中,函数的返回类型是放在函数名之前的,例如int main()表示函数返回类型为______。
# 三、简答题1. 请简述C语言的基本数据类型有哪些,并简要说明它们的特点。
2. 请解释C语言中数组的定义和使用方式。
3. 描述C语言中函数的声明和调用过程。
4. 请说明C语言中指针的概念及其基本操作。
5. 解释C语言中结构体(struct)的作用和定义方式。
# 四、编程题1. 编写一个C语言程序,实现输入两个整数,输出它们的和。
C语言程序设计题库及答案

《C语言程序设计》复习题库1、计算下面公式的值。
T=1/1!+1/2!+1/3!+……+1/m! 当m=5时的结果(按四舍五入保留3位小数)。
(注:所有变量用float数据类型定义!)答案:2、程序填空:用*号输出字母C的图案。
#include ""#include ""main(){_____________printf(" *\n");__________________________getch();}3、8232和9678,它们的个、十、百、千各位数字之和是15的倍数,8+2+3+2=15,9+6+7+8=30。
编写程序,求四位数的所有奇数中,这样的数(各位数字之和是15的倍数)的总和。
(注:所有变量用long数据类型定义!) 答案:15334594、/*下面程序的功能是:计算并输出700以内的最大的10个能被13或者17整除的自然数之和。
请改正程序中的错误,并运行,最后给出程序运行的正确结果。
(注:只有一处错误!)*/ 答案:6591#include <>void main(){int total=0, mc=1, k=700;int pm[10],count=0;while( (k>=2) && mc<=10 ){if ((k%13==0) || (k%17==0)){pm[mc] = k;mc++;}k--;}for( k=1;k<=10;k++ )total += pm[k-1];printf(" %d\n",total);}5、求x = 1+1/5+1/7+1/9+…的近似值,直到最后一项的绝对值小于10-5为止。
6、计算如下公式的A20值。
A1=1, A2=1/(1+A1), A3=1/(1+A2), A4=1/(1+A3), ......(按四舍五入保留10位小数)。
C语言程序设计期末考试复习题及答案[]
![C语言程序设计期末考试复习题及答案[]](https://img.taocdn.com/s3/m/1af47aac6137ee06eef91860.png)
C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是 ( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
C语言程序设计复习题

C 语言程序设计复习题一、单项选择题1.以下关于C 程序的说法中错误的是( D )。
A )必须有一个且只能有一个主函数B )可以有任意多个不同名的函数C )必须用main 作为主函数名D )主函数必须放在其他函数之前2.以下叙述中正确的是(A )。
A )C 程序中注释部分可以出现在程序中任意合适的地方B )花括号“{”和“}”只能作为函数体的定界符C )构成C 程序的基本单位是函数,所有函数名都可以由用户命名D )分号是C 语句之间的分隔符,不是语句的一部分3.以下叙述中正确的是( C )。
A )C 程序的基本组成单位是语句B )C 程序中的每一行只能写一条语句C )简单C 语句必须以分号结束D )一个C 语句必须在一行内写完4. 下列关于C 程序的说法错误的是( B )。
A )一个程序必须有一个main 函数B )函数首部后面必须有分号C )可以使用“/* */”来注释一段代码D )每个语句的末尾必须有分号5. 下列关于C 程序的说法错误的是( D )。
A )stdio.h 是输入输出头文件B )一个C 语句必须以分号结束C )VC6.0中可以使用“//”来注释一行D )#define 命令不是预处理命令6.下面四个选项中,均是合法的标识符是( )。
A )abc A_4d _student xyz_abcB )auto 12a a_b ab5.xC )A_4d student xyz_abc ifD )abc a_b union scan7.按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( C )。
A )大写字母B )数字字符C )-D )下划线8.C 语言提供的合法的数据类型关键字是( B )。
A )DoubleB )shortC )integerD )Char9.下列数据中,不合法的C 语言实型数据是( C )。
A )0.123B )123e3C )2.1e3.5D )789.010. 下列选项中,不能作为C 语言标识符的是( C )。
c语言程序设计复习题库

复习题库题号题 目 1. 某铁桶厂应客户要求定做一批铁桶,客户给出了铁桶的规格,高30cm ,半径10cm ,共订做1500个铁桶。
计算出所需的原材料。
2.利用系统库函数实现数学运算,求x y 。
3.从键盘上输入一个小写字母,把它转变为大写字母再输出。
4. 设圆半径r=1.5,圆柱高h=3,求圆柱体积,圆柱底面积,圆柱表面积。
用scanf ()输入数据,输出计算结果。
输出时要有说明,结果取小数点后两位数字。
5.由键盘输入n 的值,编程计算并输出n!的值。
6. 让用户输入一个年份,判断改年份是否是闰年– 被4整除不能被100整除,或者被400整除7. 有一个函数⎪⎩⎪⎨⎧--=11312x x x y ())10()101(1≥<≤<x x x写程序,输入x 的值,输出y 相应的值。
8. 在学生成绩管理中,经常要将成绩的百分制转换成对应的等级制。
90分以上为A 等,80-89为B 等,70-79为C 等,60-69分为D 等,其余为E 等。
编写程序,根据输入的百分制成绩,输出对应的等级。
9. 计算从出生年份(例如1996)到当前年份(例如2014)共经过了多少闰年,输出所有的闰年年份。
10. 从1开始做自然数的累加,当其累加和超过1000的时候,共计累加了多少数?当时的累加和是多少?11.百钱买百鸡问题 12. 计算出自然数SIX 和NINE 满足条件SIX+SIX+SIX=NINE+NINE 的个数CNT,以及所有满足此条件的SIX 与NINE 。
13.求 3—100之间的全部素数14. 图形编程图形编程15. 某歌手大赛,共有10个评委打分,分数采用百分制,去掉一个最高分,去掉一个最低分,然后取平均分,得到歌手的成绩,编程实现。
16.让用户输入10个整数,对10个整数进行降序排列 17.对用户输入的10个整数逆序排列并输出 18. 输出Fibonacci 序列前20项** * ** * * * ** * * * * * ** * * * * * * * ** * * * * * * * * * *19.在一个字符数组中查找一个指定的字符,若数组中含有该字符,则输出该字符在数组中第一次出现的位置,否则输出-1.20.写一个函数,求sn=a+aa+aaa+aaaa+aaaaa.....的值,a的值n的值均由用户指定。
C语言程序设计期末考试复习题及答案(答案与题目分离)

C语言考试期末考试复习题及答案一、选择题(1)一个C语言程序总是从()开始执行A)书写顺序的第一个函数B)书写顺序的第一条执行语句C)主函数main( )D)不确定(2)设int x=3,y=4,z=5,则下列表达式中的值为0的是()A) ‘x'&&’y’B)x||y+z&&y—z C) x〈=y D)!((x〈y)&&!z||1)(3)执行以下程序段后,i的值是()int i=10;switch(i+1){case 10:i++; break;case 11:++i;case 12:++i;break;default :i=i+1;}A) 11 B)13 C) 12 D) 14(4)语句while(!e);中的条件!e等价于()A)e==0 B)e!=1 C) e!=0 D)运行时出错(5)用int a[4]={1,2}; 对数组进行初始化后,数组元素a[3]的值是()A)随机值B) 0 C) 1 D)F(6)在执行char str[10]=“china\0”;strlen(str)的结果是()A)5 B) 6 D) 7 D 9(7)若有定义,char *p=”computer";则语句printf(“%c”,*(p+2))运行结果是()A) 随机值B) m C)o D)omputer(8)在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)));函数fun1参数的个数为()A) 8 B) 4C)5 D)编译出错(9)在说明一个结构体变量时系统分配给它的存储空间是()A)该结构体中第一个成员变量所需存储空间B)该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和Key:CDCAB ABBD1。
用C语言编写的代码程序A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释才能执行2。
C语言程序设计期末考试复习题及答案

C语言考试期末考试复习题及答案一、选择题(1) 一个C语言程序总是从(C )开始执行A) 书写顺序的第一个函数B) 书写顺序的第一条执行语句C) 主函数main()D) 不确定(2) 设int x=3,y=4,z=5,则下列表达式中的值为0的是 ( D )A) ‘x’&&’y’B) x||y+z&&y-z C) x<=yD) !((x<y)&&!z||1)(3) 执行以下程序段后,i的值是 ( C )int i=10。
switch(i+1){ case 10: i++。
break。
case 11: ++i。
case 12: ++i。
break。
default : i=i+1。
}A) 11 B) 13 C) 12 D) 14(4) 语句while(!e)。
中的条件!e等价于 ( A )A) e==0 B)e!=1 C) e!=0D) 运行时出错(5) 用 int a[4]={1,2}。
对数组进行初始化后,数组元素a[3]的值是 ( B )A) 随机值B) 0 C) 1 D) F(6) 在执行char str[10]=“china\0”; strlen(str)的结果是 ( A )A)5 B) 6 D) 7 D 9(7) 若有定义,char *p=”computer”。
则语句printf(“%c”,*(p+2))运行结果是( B )A) 随机值B) m C)o D) omputer(8) 在以下函数调用语句中fun1(x,10,(x,10),fun2(y,10,(y,10)))。
函数fun1参数的个数为 ( B )A) 8 B) 4C) 5 D) 编译出错(9) 在说明一个结构体变量时系统分配给它的存储空间是( D )A)该结构体中第一个成员变量所需存储空间 B) 该结构体中最后一个成员变量所需存储空间C)该结构体中占用最大存储空间的成员变量所需存储空间D) 该结构体中所有成员变量所需存储空间的总和1. 用C语言编写的代码程序( B )A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释才能执行2. C语言中用于结构化程序设计的三种基本结构是( A )A)顺序结构、选择结构、循环结构 B)if、switch、break C)for、while、do-while D)if、for、continue3. 以下定义语句中正确的是( C )A)char a='A'b='B'。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++程序设计》复习题一、选择题1.所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是( )A、类B、对象C、函数体D、数据块2.面向对象的程序设计语言必须具备的关键要素是( )A、抽象和封装B、抽象和多态性C、抽象、封装、继承和多态性D、抽象、封装和继承性3.类的构造函数被自动调用执行的情况是在定义该类的( )A、成员函数时B、数据成员时C、对象时D、友元函数时4.设有函数模板template<class Q>Q Sum(Qx,Qy){return(x)+(y);}则下列语句中对该函数模板错误的使用是( )A、Sum(10,2);B、Sum(5.0,6.7);C、Sum(15.2f,16.0f);D、Sum(″AB″,″CD″);5.已知类A是类B的友元,类B是类C的友元,则( )A、类A一定是类C的友元B、类C一定是类A的友元C、类C的成员函数可以访问类B的对象的任何成员D、类A的成员函数可以访问类B的对象的任何成员6.静态成员函数没有( )A、返回值B、this指针C、指针参数D、返回类型7.当一个类的某个函数被说明为virtual时,该函数在该类的所有派生类中( )A、都是虚函数B、只有被重新说明时才是虚函数C、只有被重新说明为virtual时才是虚函数D、都不是虚函数8.下面叙述不正确的是( )A、派生类一般都用公有派生B、对基类成员的访问必须是无二义性的C、赋值兼容规则也适用于多重继承的组合D、基类的公有成员在派生类中仍然是公有的9.在C++中实现封装是借助于( )A、枚举B、类C、数组D、函数10.所有在函数中定义的变量,都是( )A、全局变量B、局部变量C、静态变量D、寄存器变量11.下列特性中,C与C++共有的是( )A、继承B、封装C、多态性D、函数定义不能嵌套12.通常情况下,函数模板中的类型参数个数不能是( )A、0B、2C、4D、313.在下列成对的表达式中,运算符“+”的意义不相同的一对是( )A、5.0+2.0和5.0+2B、5.0+2.0和5+2.0C、5.0+2.0和5+2D、5+2.0和5.0+214.类的指针成员的初始化是通过函数完成的,这个函数通常是( )A、析构函数B、构造函数C、其它成员函数D、友元函数15.要禁止修改指针p本身,又要禁止修改p所指向的数据,这样的指针应定义为( ) A、const char *p=“ABCD”;B、char const *p=“ABCD”;C、char *const p=“ABCD”;D、const char * const p=“ABCD”;16.如果表达式++i*k中的“++”和“*”都是重载的友元运算符,则采用运算符函数调用格式,该表达式还可表示为( )A、operator*(i.operator++(),k)B、operator*(operator++(i),k)C、i.operator++().operator*(k)D、k.operator*(operator++(i))17.下列说法中正确的是( )A、类定义中只能说明函数成员的函数头,不能定义函数体B、类中的函数成员可以在类体中定义,也可以在类体之外定义C、类中的函数成员在类体之外定义时必须要与类声明在同一文件中D、在类体之外定义的函数成员不能操作该类的私有数据成员18.若派生类的成员函数不能直接访问基类中继承来的某个成员,则该成员一定是基类中的( )A、私有成员B、公有成员C、保护成员D、保护成员或私有成员19.对基类和派生类的关系描述中,错误的是( )A、派生类是基类的具体化B、基类继承了派生类的属性C、派生类是基类定义的延续D、派生类是基类的特殊化20.类B是类A的公有派生类,类A和类B中都定义了虚函数func(),p是一个指向类A对象的指针,则p->A::func()将( )A、调用类A中的函数func()B、调用类B中的函数func()C、根据p所指的对象类型而确定调用类A中或类B中的函数func()D、既调用类A中函数,也调用类B中的函数答案:1.B 2.C 3.C 4.D 5.D 6.B 7.A 8.D 9.B 10.B11.D 12.A 13.C 14.B 15.D 16.B 17.B 18.A 19.B 20.A 二、填空题1.假定用户没有给一个名为AB的类定义析构函数,则系统自动给出的缺省析构函数定义为__________。
2.模板定义中标识类型的参数必须用关键字_________修饰。
3.表达式count<<hex还可表示为_________。
4.通过C++语言中的_________机制,可以从现存类中构建其子类。
5.要在调用虚函数的时候强制进行静态联编,可以通过在调用中对虚函数加_________实现。
6.封装要求一个对象应具备明确的功能,并具有_________以便和其它对象相互作用。
7.在删除一个动态对象时,将自动调用该动态对象所属类的_________函数。
8.静态成员函数、友元函数、构造函数和析构函数中,不属于成员函数的是_________。
9.在下面的类定义中,私有成员有_________。
class Location {int X,Y;protected:int zeroX,zerxY;int SetZero(intzeroX, intzeroY);private:int length,height;public:void init(int initX,int initY);int GetX();int GetY();};10.类的私有成员只能被它的成员函数和_________访问。
11.在用C++进行程序设计时,最好用___________________代替malloc。
12.函数模板中紧随template之后尖括号内的类型参数都要冠以保留字________________。
13.在ios类中定义的用于控制输入输出格式的枚举常量中,用于代表十进制、八进制和十六进制的3个枚举常量是dec、oct和___________________。
14.如果重载了运算符+,则相应的运算符函数名是___________________。
15.由static修饰的数据成员为该类的所有对象___________________。
16.设函数max是由函数模板实现的,并且max(3.5,5)和max(10,5)都是正确的函数调用,则该模板具有______个类型参数。
17.在单继承和多继承方式中,面向对象的程序设计应尽量使用______继承。
18.语句序列ifstream datafile;datafile.open(“data.dat”);的功能可用一个语句实现,这个语句是______。
19.将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。
此时const不是指定函数的返回值,而是修饰______指针。
20.一个抽象类的派生类可以实例化的必要条件是实现了所有的______。
21.在C++中,虚函数帮助实现了类的______性。
22.通过C++语言中类的______,可以扩充和完善已有类以适应新的需求。
23.为了在对象生存期结束时释放其指针成员所指向的动态存储空间,通常需要为该类定义______。
24.在联合中,所有数据成员具有_____的地址,任一时刻只有_____个数据成员有效。
25.在已经定义了整型指针ip后,为了得到一个包括10个整数的数组并由ip所指向,应使用语句______。
26.为了实现多态性,派生类需重新定义基类中的___________________。
27.编译时的多态性通过___________________函数实现。
28.在派生类中实现基类成员的初始化,需要由派生类的构造函数调用_________________来完成。
29.在C++中,访问指针所指向的对象的成员使用运算符___________________。
30.重载函数在参数类型或参数个数上不同,但___________________相同。
答案:1.~AB(){};2.class(或typcname)3.cout,sctf(ios::hex,ios::basefield)(或cout.setf(ios::hex),或cout<<settosflags (ios::hex),其中ios::"写成ios_base::也可)4.继承(或派生);5.域名限制(或其它含义等价的描述)6.接口〈或界面.或公有成员〉;7.析构;8.友元函数9.X,Y,length,height (说明:每答对两个给1分);10.友元类(或友元函数,或友元)11.new ;12.class;13.hex;14.operator +;15.共享16.2;17.单一(或单);18.ifstream datafile(“data.dat”)19.this;20.纯虚函数;21.多态;22.继承机制;23.析构函数24.相同一(说明:答对一个给1分);25.ip = new int[10];;26.虚函数27.重载;28.基类的构造.函数;29.->;30.函数名三、改错题1.指出下面程序中的错误,并说明出错原因。
#include<iostream.h>class ConstFun{public:void ConstFun(){}const int f5()const{return 5;}int Obj() {return 45;}int val;int f8();};int ConstFun::f8(){return val;}void main(){const ConstFun s;int i=s.f5();cout<<″Value=″<<i<endl;}2.指出下面程序中的错误,并说明错误原因。
#include<iostream.h>class A{public:void fun(){cout<<″a.fun″<<endl;}};class B{public:void fun(){cout<<″b.fun″<<endl;}void gun(){cout<<″b.gun″<<endl;}};class C:public A,public B{private:int b;public:void gun(){cout <<″c.gun<<″endl;}};void main(){c obj;obj.fun();obj.gun();}3.指出下面程序段中的错误,并说明出错原因。