C++程序设计考试题及答案

合集下载

C程序设计试卷及答案

C程序设计试卷及答案

C程序设计试卷及答案《c程序设计》考试试题(120分钟)一、单项选择题(每小题2分后,共60分后)?1.以下运算符中优先级最低的就是________。

a)<b)+c)&&d)!=2.c语言中的标识符只能由字母、数字和下划线组成且第一个字符________。

a)必须为字母b)必须为下划线c)必须为字母或下划线d)可以就是字母,数字或下划线中任一种3.推论char型变量ch与否为大写字母的恰当表达式就是________。

a)@a@<=ch<=@z@b)(@a@<=ch)and(@z@>=ch)c)(ch>=@a@)&(ch<=@z@)d)(ch>=@a@)&&(ch<=@z@)4.以下的for 循环________。

for(x=0,y=0;(y!=123)&&(x<4);x++);a)是无限循环b)循环次数不定c)执行4次d)执行3次5.putchar函数可以向终端输出一个________。

a)字符或字符变量值b)字符串c)整型变量表达式的值d)实型变量值6.设a,b,c都就是int型变量,且a=3,b=4,c=5,则下面的表达式中,值0的表达式就是________。

a)@a@&&@b@b)ac)a||b+c&&b-cd)!((a7.推论字符串a和b与否成正比,应采用________。

a)if(a==b)b)if(a=b)c)if(strcpy(a,b))d)if(strcmp(a,b))8.请阅读以下程序:main(){inta=5,b=0,c=0;if(a=b+c)printf(\elseprintf(\}以上程序________。

a)有语法错误不能通过编译b)可以通过编译但不能通过连接c)输出***d)输出$$$9.t为int类型,步入下面的循环之前,t的值0,while(t=l){??}则以下叙述中正确的是________。

C语言程序设计试题及答案完整版

C语言程序设计试题及答案完整版

C语言复习资料必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。

3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。

byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。

概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。

C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。

2、每个C语言程序中main函数是有且只有一个。

3、在函数中不可以再定义函数。

4、算法的是一定要有输出的,他可以没有输入。

5、break可用于循环结构和switch语句。

6、逗号运算符的级别最低。

第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。

有其它元素就错了。

并且第一个必须为字母或则是下划线。

第一个为数字就错了。

关键字不可以作为用户标识符号。

main define scanf printf 都不是关键字。

迷惑你的地方If 是可以做为用户标识符。

因为If中的第一个字母大写了,所以不是关键字。

2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。

考试口诀:e前e后必有数,e 后必为整数。

.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。

'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。

4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。

碰到这种情况,不要去管,一样做题。

掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案

C语言程序设计试题(2008 /2009 学年第二学期)一.选择题(满分30分,每题2分)1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。

A. a=b=c+8;B. a+=y+3;C. c++;D. a+b+c2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。

A. 1B. 2C. –1D. -23.执行下面程序:#include "stdio.h"void main(){int a=1,b=2,c=3;c=(a+=a+2),(a=b,b+3);printf(“%d,%d,%d”,a,b,c);}则输出结果是: A 。

A. 2,2,4B. 4,2,3C. 5,5,3D. 4,2,54.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。

A. a< >0B. !aC. a=0D. a5. for (j=0;j<11;j++);循环结束后,j的值是 B 。

A. 12B. 11C. 10D. 96. C语言中函数返回值的类型由 D 决定的。

A. return语句中的表达式类型B. 调用该函数的主调函数的类型C. 调用函数时临时决定D. 定义函数时所指定的函数类型7. 下列说法中正确的是 B 。

A 在调用用户自定义函数时,必须对其进行声明。

B 函数可以返回一个值,也可以什么值也不返回。

C 说明函数时,必须明确参数的类型和返回值。

D 在程序设计中空函数没有什么作用。

8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。

switch ( i ){case 0: i+=1;case 10: i+=1;case 11: i+=1;default: i+=1;}A. 10B. 11C. 12D. 139. 下列语句中不正确的字符串赋值或初始化的是 C 。

A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'};C. char str[10]; str= "strings";D. char str[]= "strings";10. 有如下程序:#include <stdio.h>void main(){int a=1,b=0,c=0;if (a<b)if (b<0) c=0;else c++;printf (“%d\n”,c);}该程序的运行结果是 D 。

《C语言程序设计》考试及答案

《C语言程序设计》考试及答案
int main( )
{
int *p, a = 10;
p = &a;
printf("%d,%d\n",a,*p);
return 0;
}
[单选题]*
D、10,10(正确答案)
C、10,*p
B、a,*p
A、-859668,163828
6、当定义一个结构体变量时,系统为它分配的内存空间是()。[单选题]*
A、一个函数
B、一个数组
C、一个结构体(正确答案)
D、一个文件名
12、int *p,q;的含义是()。[单选题]*
A、q是一个指针变量
B、p是一个整型变量
C、p是一个指针变量,用来存放一个整型变量在内存中的地址(正确答案)
D、以上都不对
13、若有定义:int x,*pp;则正确的赋值表达式是()。[单选题]*
A、(a<=0)&&(a>=10)
B、(a<=0)||(a>=10)(正确答案)
C、(a<=0)OR(a>=10)
D、(a<=0)|(a>=10)
26、如果a=4 , b=3 ,c=2 ,d=1 ,则条表达式
a<b ? a : c<d ? c : d的值为( )。
[单选题]*
A、1(正确答案)
B、2
A、1(正确答案)
B、2
C、3
D、4
3、变量的指针,其含义是指该变量的()。[单选题]*
A、值
B、地址(正确答案)
C、名
D、一个标志
4、若执行fopen函数时发生错误,则函数的返回值是()。[单选题]*
A、地址值
B、NULL(正确答案)

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。

答案:42. C语言中,使用______关键字可以定义一个无限循环。

答案:while3. C语言中,数组的元素默认初始化为______。

c语言程序设计考试题库及答案

c语言程序设计考试题库及答案

c语言程序设计考试题库及答案1. 选择题1.1 下列关于C语言的描述,错误的是:A. C语言是一种过程式编程语言B. C语言支持面向对象编程C. C语言支持结构化编程D. C语言具有丰富的库函数答案:B1.2 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:C1.3 下列选项中,哪个不是C语言中的合法变量名?A. _myVarB. myVar2C. 2ndVarD. var$答案:D2. 填空题2.1 在C语言中,用于定义一个整型变量的关键字是______。

答案:int2.2 C语言中,用于输入数据的库函数是______。

答案:scanf2.3 C语言中,用于输出数据的库函数是______。

答案:printf3. 简答题3.1 简述C语言中数组的定义方式。

答案:在C语言中,数组可以通过指定数据类型和数组大小来定义。

例如,定义一个整型数组可以写作:int arrayName[arraySize];。

3.2 解释C语言中的指针是什么,并给出一个指针的定义示例。

答案:指针是一种变量,它存储的是另一个变量的内存地址。

定义指针的示例:int *ptr; 这里ptr是一个整型指针。

4. 编程题4.1 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```4.2 编写一个C语言函数,实现字符串反转的功能。

答案:```cvoid reverseString(char *str) {int length = 0;while (str[length] != '\0') {length++;}for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}```。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 018B 0x18C 0o18D 18答案:C解释:在 C 语言中,八进制整数以 0 开头,数字取值范围 0 7,所以 0o18 能正确表示八进制整数。

3、若有定义:int a = 5, b = 2; 则表达式 a / b 的值是()A 25B 2C 20D 3答案:B解释:在 C 语言中,两个整数相除,结果为整数,舍去小数部分,所以 5 / 2 的结果是 2 。

4、以下程序段的输出结果是()int x = 10;printf("%d\n",++x);A 10B 11C 9D 12答案:B解释:++x 是先将 x 的值增加 1,然后再使用 x 的值,所以输出11 。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2的值是 3 。

6、以下函数声明中,正确的是()A void fun(int a, b);B void fun(int a, int b);C void fun(int a; int b);D void fun(int, int);答案:B解释:函数参数列表中,每个参数都需要明确指定其类型,所以 B 选项正确。

7、若有定义:char str ="hello";则 sizeof(str)的值是()A 5B 6C 20D 不确定答案:B解释:str 数组不仅包含字符'h','e','l','l','o',还包含一个字符串结束符'\0',所以 sizeof(str)的值是 6 。

C程序设计试卷及答案

C程序设计试卷及答案

数组a : 1 2 3 4 5 0 6 0 0 0 0 0 C 语言考试样卷及参考答案一、选择题(40题,每题1.5分,共60分)【1】以下关于C 语言标识符的描述中,正确的是 。

A )标识符可以由汉字组成B )标识符只能以字母开头C )关键字可以作为用户标识符D )Area 与area 是不同的标识符答案:D )Area 与area 是不同的标识符(C 语言标识符中大小写字母被认为是不同的字符)【2】以下不属于C 语言关键字的是 。

A )case B)byte C)enum D)sizeof答案:B )byte【3】CA ) 【4A )’【5 A )答案:【6【7A )【8A )!答案:D )!,/,==,=【9】以下程序的运行结果是什么?void main(){int a[][3]={{1,2,3},{4,5},{6},{0}};clrscr();printf("%d,%d,%d\n",a[1][1],a[2][1],a[3][1]);}结果:5,0,0【10】以下各语句或语句组中,不正确的操作是 。

A) char s[ ]=”abcde” B) char *s;gets(s);C) char *s;s=”abcde” D) char s[300];scanf(“%s”,s);答案:B (指针*s没有指向确定的变量)【11】以下叙述中不正确的是。

A)在不同的函数中可以使用相同名字的变量B)程序中有调用关系的函数必须放在同一个源文件中C)在一个函数内定义的变量,其变量名只在本函数范围内有效D)函数中的形式参数是局部变量答案:B【12】以下程序的运行结果是什么?void main(){ int i=1,v1=0,v2=0,v3=0;for (i=5;i<15;i++){ switch (i%3){ case 1:v1++;case 2:v2++;break;default:v3++;}}printf("%d,%d,%d\n",v1,v2,v3);}i v1 v2 v35 16 17 1 28 39 210 2 411 512 313 3 614 7结果:3,7,3【13】在循环语句的循环体中执行break语句,其作用是。

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

C++程序设计1、声明个CPU类,包含等级(rank),频率(frequency),电压(voltage)属性,有两个公有成员函数run(函数功能:输出“cpu正在运行”),stop(函数功能:输出“cpu停止运行”)。

其中rank为枚举型CPU_Rank,声明为enumCPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为double 型电压值。

编写构造函数和析构函数,在主函数中显示它们的调用顺序。

2、定义复数类COMPLEX,并用成员函数为复数类COMPLEX重载加、减及赋值运算符操作。

3、写一个程序,定义一个抽象类Shape,由它派生3个类:Square(正方形)、Trapezoid(梯形)和Triangle三角形。

用虚函数分别计算几种图形面积、并求它们的和。

要求用基类指针数组,使它每一个元素指向一个派生类对象。

4、已知交通工具类定义如下。

要求:(1)实现这个类;(2)定义并实现一个小车类car,是它的公有派生类,小车本身的私有属性有载人数,小车的函数有init(设置车轮数,重量和载人数),getpassenger(获取载人数),print(打印车轮数,重量和载人数)。

5、声明一个车(vehicle)基类,具有maxspeed、weight成员变量,run、stop成员函数(简单输出提示“车正在行进”,“车停止”),由此派生出自行车类(bicycle)、汽车类(motorcar)。

自行车类有高度(height)属性,汽车(motorcar) 类有座位数(seatnum)。

从bicycle和motorcar 派生出摩托车类(motorcycle),在继承过程中,注意把vehicle 设置为虚基类,同时编写各个类的构造函数和析构函数,在主函数中建立各个类对象,观察执行情况。

6、定义类X、Y、Z,函数h(X *),满足:类X有私有成员i,Y的成员函数g(X *)是X的友元函数,实现对X的成员i加1;类Z是类X的友元类,其成员函数f(X *)实现对X的成员i加5;函数h(X *)是X的友元函数,实现对X的成员i加10。

在一个文件中定义和实现类,在另一个文件中实现main()函数。

提示:按Y、Z、X顺序定义类,在Y、Z类前前向声明X , X * x表示X类对象指针x,访问x对象数据成员i变量的形式为 x->i。

答案1、#include <iostream.h>enum CPU_Rank {P1=1,P2,P3,P4,P5,P6,P7};class CPU{private:CPU_Rank rank;int frequency;float voltage;public:void run();void stop();CPU(CPU_Rank r,int f,float v);~CPU();CPU(CPU &c);};void CPU::run(){cout<<"CPU正在运行"<<endl;}void CPU::stop(){cout<<"CPU停止运行"<<endl;}(1分)CPU::CPU(CPU_Rank r,int f,float v){rank=r;frequency=f;voltage=v;cout<<"构造了一个CPU:"<<endl;}CPU::~CPU(){cout<<"析构了一个CPU:"<<endl;}void main(){CPU a(P1,300,2.8);a.run();a.stop();}2、class COMPLEX {public:COMPLEX(double r = 0, double i = 0);COMPLEX operator +(const COMPLEX& other); COMPLEX operator -(const COMPLEX& other); COMPLEX operator =(const COMPLEX& other); private:double real, image; // 复数的实部与虚部};COMPLEX::COMPLEX(double r, double i){real=r;image=I;}COMPLEX::COMPLEX operator +(const COMPLEX& other) { COMPLEX temp;temp.real=real+other.real;temp.image=image+other.image;return temp}COMPLEX::COMPLEX operator -(const COMPLEX& other) { COMPLEX temp;temp.real=real-other.real;temp.image=image-other.image;return temp}COMPLEX::COMPLEX operator =(const COMPLEX& other){real=other.real;image=other.image;return *this;}3、class vehicle{protected:int wheels;//车轮数float weight;//重量public:void init(int wheels,float weight);int get_wheels();float get_weight();void print();};void vehicle::init(int wheels,float weight){this->wheels=wheels;this->weight=weight;cout<<wheels<<endl;}int vehicle::get_wheels(){return wheels;}float vehicle::get_weight(){return weight;}void vehicle::print(){cout<<"车轮数:"<<wheels<<","<<"重量:"<<weight<<endl;} class car:public vehicle{private:int passengers;public:void init(int wheels,float weight,int pass);int getpassenger();void print();};void car::init(int wheels,float weight,int pass) {vehicle::init(wheels,weight);passengers=pass;}int car::getpassenger(){return passengers;}void car::print(){vehicle::print();cout<<"可载人数:"<<passengers<<endl;}4、#include <iostream.h>class Shape{public:virtual double area()const=0;};class Square:public Shape{public:Square(double s):side(s){}double area() const{return side*side;}private:double side;};class Trapezoid:public Shape{public:Trapezoid(double i,double j,double k):a(i),b(j),h(k) {}double area() const{return ((a+b)*h/2);}private:double a,b,h;};class Triangle:public Shape{public:Triangle(double i,double j):w(i),h(j){}double area() const{return(w*h/2);}private:double w,h;};void main(){Shape *p[5];Square se(5);Trapezoid td(2,5,4);Triangle te(5,8);p[0]=&se;p[1]=&td;p[2]=&te;double da=0;for(int i=0;i<3;i++){da+=p[i]->area();}cout<<"总面积是:"<<da<<endl;}5、#include <iostream.h>class vehicle{private:int maxspeed;int weight;public:vehicle(int m,int w){maxspeed=m;weight=w;cout<<"vehicle构造函数"<<endl;}~vehicle(){cout<<"vehicle析构函数"<<endl;}void run(){cout<<"车在行进中……"<<endl;}void stop(){cout<<"车停止"<<endl;}};class bicycle:virtual public vehicle{private:double height;public:bicycle(int m,int w,double h):vehicle(m,w){height=h;cout<<"bicycle构造函数"<<endl;}~bicycle(){cout<<"bicycle析构函数"<<endl;}};class motorcar:virtual public vehicle{private:int seatnum;public:motorcar(int m,int w,int s):vehicle(m,w){seatnum=s;cout<<"motorcar构造函数"<<endl;}~motorcar(){cout<<"motorcar析构函数"<<endl;}};class motorcycle:public bicycle,public motorcar{public:motorcycle(int m,int w,double h,int s):bicycle(m,w,h),motorcar(m,w,s),vehicle(m,w){cout<<"motorcycle构造函数"<<endl;}~motorcycle(){cout<<"motorcycle析构函数"<<endl;} };void main(){vehicle a(200,3);a.run();a.stop();bicycle b(50,1,1.5);b.run();b.stop();motorcar c(120,2,5);c.run();c.stop();motorcycle d(100,1,1.3,3);d.run();d.stop();}6、#include <iostream.h>class X;class Y{public:void g(X* x);};class Z{public:void f(X* x);};class X{private:int i;public:friend void Y::g(X*);friend class Z;friend void h(X*);X(int i1){i=i1;cout<<"在X类中i的值是:"<<i<<endl;} };void Y::g(X *x){x->i++;cout<<"在Y类中i的值是:"<<x->i<<endl;}void Z::f(X *x){x->i+=5;cout<<"在Z类中i的值是:"<<x->i<<endl;}void h(X *x){x->i+=10;cout<<"在函数h中i的值是:"<<x->i<<endl;}int main(){X x(1);Y y;Z z;y.g(&x);z.f(&x);h(&x);}。

相关文档
最新文档