c语言样题.docx

上传人:b****6 文档编号:4989199 上传时间:2022-12-12 格式:DOCX 页数:16 大小:21.31KB
下载 相关 举报
c语言样题.docx_第1页
第1页 / 共16页
c语言样题.docx_第2页
第2页 / 共16页
c语言样题.docx_第3页
第3页 / 共16页
c语言样题.docx_第4页
第4页 / 共16页
c语言样题.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

c语言样题.docx

《c语言样题.docx》由会员分享,可在线阅读,更多相关《c语言样题.docx(16页珍藏版)》请在冰豆网上搜索。

c语言样题.docx

c语言样题

全国高等学校计算机水平考试Ⅱ级―《C++程序设计》考试大纲(试行)

一、考试目的与要求

   学生应了解计算机程序设计的基本知识,掌握C++语言程序设计的基本方法和使用计算机处理问题的思维方法,具有应用计算机编程的初步能力。

  1、了解C++语言的特点,掌握语言的成份及其使用方法,能够阅读及编写简单的应用程序;

  2、掌握最基本的算法和实现的方法;

  3、掌握结构化程序设计的方法,能编制出风格良好的程序;

  4、掌握C++语言程序调试的基本技能。

二、考试内容

㈠数据类型及其运算

【考试要求】

了解基本类型及其常量的表示法;掌握变量的定义及初始化方法;掌握运算符与表达式的概念;掌握C++的自动类型转换和强制类型转换。

【主要考点】

1、数据类型的种类

2、各种数据类型的定义方法

3、运算符的种类

4、运算符优先级和结合性

5、不同类型数据间的转换与运算

㈡基本语句

【考试要求】

了解C语句的概念及种类;掌握C语言常用的输入/出方式。

【主要考点】

1、表达式语句、空语句、复合语句

2、数据的输入与输出

3、输入输出函数printf、scanf的使用

㈢选择结构程序设计

【考试要求】

熟练掌握if…else的三种语法;领会switch与break语句的作用。

【主要考点】

1、if语句

2、switch语句

3、选择结构的嵌套

㈣循环结构程序设计

【考试要求】

领会程序设计中构成循环的方法;掌握for、while、do-while语句的用法;了解break、continue在循环语句中的作用。

【主要考点】

1、for循环结构

2、while和dowhile循环结构

3、continue语句和break语句

4、循环的嵌套

㈤数组的定义和引用

【考试要求】

了解一维数组、二维数组的基本概念;掌握数组类型变量的定义与引用;掌握数组元素的引用。

【主要考点】

1、一维数组和多维数组的定义和初始化

2、数组的引用

3、字符串与字符数组

4、字符串处理函数(strlen,strcpy,strcat,strcmp)

㈥函数

【考试要求】

掌握函数的定义与调用;掌握函数参数的传递方式;领会变量存储类型的概念及各种存储类型变量的生存期和有效范围;领会函数的嵌套调用与递归调用

【主要考点】

1、函数的定义方法

2、函数的类型和返回值

3、形式参数与实在参数;参数值的传递

4、函数的正确调用;嵌套调用和递归调用

5、内联函数和函数重载

6、局部变量和全局变量

7、变量的存储类别和作用域

㈦指针

【考试要求】

了解指针与地址的概念;掌握指针变量的定义、初始化及指针的运算;掌握指针与数组、指针数组、指针实现字符串等知识;了解指针与函数的概念。

【主要考点】

1、指针变量的定义和初始化

2、指针的赋值

3、指针的运算

4、指针与数组

5、指针与字符串

6、指针用作函数参数

㈧结构与联合

【考试要求】

掌握结构体和联合体类型的说明、结构体和联合体变量的定义及初始化方法;掌握结构体与联合体变量成员的引用。

【主要考点】

1、结构体和联合体类型数据的定义方法和初始化

3、结构体和联合体类型的说明及结构体类型变量的定义

4、结构体和联合体变量的初始化

5、结构体和联合体变量的引用

6、结构体数组

㈨基本语句

【考试要求】

了解面向对象类和对象的概念;掌握构造、析构函数的定义和使用;类的继承性。

【主要考点】

1、类的创建和引用对象

2、构造函数与析构函数

3、派生类的定义和访问权限

4、单一继承与多重继承

㈩了解C++流的概念,掌握标准设备输入/输出函数的使用

【考试要求】

了解C++流的概念;掌握标准设备输入/输出函数的使用。

【主要考点】

1、文件类型指针

2、文件的打开与关闭

3、文件的读写

4、输入输出的控制格式

三、考试方式

  机试。

考试时间为105分钟。

四、考试题目类型

考试分两部分:

理论题(20分)、编程题(80分)。

理论题主要由单项选择题组成。

编程题分简单操作题、简单应用题和综合应用题3种类型的考题。

四、考试样题

(一)理论题(20分,每小题1分)

(1)已定义一个整型变量x,则表达式x=1,x++,x+2的值是_________。

A) 1    

B) 2    

C) 3    

D) 4    

(2)以下选项中不正确的实型常量是_______。

A)2.607E–1     

B)0.8103e2.1    

C)–77.77        

D)456e–2       

(3)以下选项中不合法的用户标识符是_______。

A)abc.c       

B)file        

C)Main     

D)PRINTF   

(4)C语言中运算对象必需是整型的运算符是_______。

A)%         

B)/         

C)!

           

D)**           

(5).若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是_______。

A)a=b=c=100;     

B)d=(c=22)–(b++);   

C)c+=b;         

D)d++;          

(6)C语言中不合法的字符常量是_______。

A)‘\0xff’      

B)‘\65’       

C)‘&’       

D)‘\028’      

(7)对象的初始化是通过________实现的。

A) 友元函数   

B) 构造函数   *构造函数的定义

C) 析构函数   

D) 递归函数   

(8)已知x=496,则执行printf(“*%06d*\n”,x);后输出是_______。

A)*496   *          

B)*   496*          

C)*000496*           

D)输出格式符不合法    

(9)若有以下程序段,其输出结是_______。

   int a=0,c=0;

   c=(a-=a-5);

   cout<

A)00        

B)5,5        

C)–5,5     

D)–10–10

(10)设a=3、b=4、c=5,则逻辑表达式:

!

(a+b)+c–1&&b+c/2的值是_______。

A)–1       

B)0        

C)1     

D)true     

(11)以下程序的输出结果是_______。

#include 

voidmain()

{ int w=4,x=3,y=2,z=1;

  cout<<(w

w:

z

z:

x)<

}

A)1         

B)2        

C)3          

D)4          

(12)若执行以下程序时从键盘上输入3和4,则输出结果是_______。

#include 

voidmain()

{ int a,b,s;

  cin>>a>>b;

  s=a;

  if(a

  s*=s;

  cout<

}

A)14       

B)16       

C)18       

D)20       

(13)以下程序段的输出结果是_______。

   int k,j,s;

   for(k=2;k<6;k++,k++)

   { s=1;

      for(j=k;j<6;j++) s+=j;

   }

   cout<

A)9          

B)l       

C)11       

D)10       (K为2,4,只有第二次K为4有效,S=1+4+5*)

(14)以下正确的函数原型为_______。

    A)ff(intx,inty)       *

B)voidff(x,y);           没有定义参数类型(C++不行.C可以)

    C)voidff(intx,y);       一个定义,一个未能定义

D)voidff(int,int);        说明用,定义不能用

(C和C++在函数说明上有不一致地方,如C可以在说明是省去整数和字符类型说明)

(15)以下叙述正确的是_______。

A)do_while语句构成的循环不能用其它语句构成的循环来代替。

B)do_while语句构成的循环只能用break语句退出。

C)用do_while语句构成循环时,在while后的表达式为非零时结束循环。

D)用do_while语句构成循环时,在while后的表达式为零时结束循环。

*

(16)若有以下程序

#include 

classCC

{

charc1,c2;

public:

CC(chara,charb){c1=a;c2=b;}

~CC()

{

cout<

}

voiddisp()

{

  if(c1>c2)

   cout<"<

  else

   cout<"<

}

};

voidmain()

{

CCc('X','Y');

c.disp();

}

则程序运行后的输出结果是________

A) XY   *

       Y>X

B) Y>X

       XY

C) Y>X

D) XY

(17)以下程序段的输出结果是_______。

  char c1='A',c2='Y';

  cout<

A) 因输出格式不合法,无正确输出    

B) 65,90

C) A,Y  *                      

D) 65,89

(18)以下说法中正确的是_______。

A) C语言程序总是从第一个定义的函数开始执行

B) 在C语言程序中,要调用的函数必须在main函数中定义

C) C语言程序总是从main函数开始执行 *

D) C语言程序中的main函数必须放在程序的开始部分

(19)以下程序的输出结果是_______。

#include 

intxyz(inta,intb)

{ int c;

  c=a+b;

  return c;

}

voidmain()

{ int x=6,y=7,z=8,r;

  r=xyz((x--,y++,x+y),z--);

  cout<

}

A) 11      

B) 20      

C) 21      *

D) 31      

(20)若有定义:

 int x,*pb;则以下正确的赋值表达式是_______。

A) pb=&x    *指针定义

B) pb=x      

C) *pb=&x   

D) *pb=*x   

 

(二)操作题

1、简单操作题(35分)

(1)以下程序中f()函数的形式参数有     个

#include

f(intb[],intn)

{

inti,r=1;

for(i=0;i<=n;i++) r=r*b[i];

returnr;

}

voidmain()

{

intx,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

cout<< x<< endl;

}

(2)编写一个C++程序,打印以下图案

   * * *

  * * * * *

   * * * 

   * 

2、简单应用题(20分)

(1)在以下C++程序的两行星号之间填入相应的语句,以完成fun函数部分。

该程序用于求两个由键盘输入的数字的最大公约数。

#include

intfun(intnum1,intnum2);

main()

{

 ints,num1,num2;

 cout<<"Inputanumber:

";

 cin>>num1; 

 cout<<"Inputanothernumber:

";

 cin>>num2;

 s=fun(num1,num2);

 cout<<"Theresultis:

"<

 

}

intfun(intnum1,intnum2)

{

****************************************************************

While(num1!

=num2)

 {ifnum1>=num2) num1=num1-num2

 Elsenum2=num2-num1;

}

Returnnum1;

********************************************************

}

****************************************************************

inttemp,a,b

a=num1;b=num2;

While(b!

=0)

 {temp=a%b;

   a=b;

   b=temp;

}

Returna;

********************************************************

 

3、综合应用题(25分)

编写程序,定义一个类square(正方形),其成员数据及函数要求如下:

①私有数据成员 floatradius(代表边长)

②构造函数 square(floatd=0)当参数缺省时将数据成员radius的值设置为0,否则设置为参数d的值

③成员函数floatperimeter(floatd)计算出周长。

(注:

正方形的周长为:

l=4*r)

classsquare //定义类square及其数据和方法

{

public:

 //外部接口public:

private:

前后功能一致

   square(floatd=0); //构造函数

   floatperimeter(floatd); //计算周长

  //floatArea(); //计算面积

private:

 //私有数据成员

   floatradius;

};

//类的实现

square:

:

square(floatr){radius=r;} //构造函数初始化数据成员radius

floatCircle:

:

Circumference() //计算周长

{

   Return 4*radius;

}

/*floatCircle:

:

Area() //计算面积

{

   return radius*radius;

}*/

 

例:

求圆的周长和半径

#include

constfloatPI=(float)3.14159; 

//给出p的值 const不可改变

constfloatFencePrice=35.; //栅栏的单价

constfloatConcretePrice=20.; //过道水泥单价

classCircle //定义类Circle及其数据和方法

{

public:

 //外部接口

   Circle(floatr); //构造函数

   floatCircumference(); //计算圆周长

   floatArea(); //计算圆面积

private:

 //私有数据成员

   float  radius;

};

//类的实现

Circle:

:

Circle(floatr){radius=r;} //构造函数初始化数据成员radius

floatCircle:

:

Circumference() //计算圆的周长

{

   return2*PI*radius;

}

floatCircle:

:

Area() //计算圆的面积

{

   returnPI*radius*radius;

}

//主函数实现

voidmain()

{

 floatradius;

 floatFenceCost,ConcreteCost;

 cout<< "Entertheradiusofthepool:

";  //提示用户输入半径

 cin>> radius;

 CirclePool(radius);  //定义Circle对象

 CirclePoolRim(radius+3);

   //计算栅栏造价并输出

   FenceCost=PoolRim.Circumference()*FencePrice;

   cout<< "FencingCostis$"<< FenceCost<< endl;

   // 计算过道造价并输出

   ConcreteCost=(PoolRim.Area()-Pool.Area())

*ConcretePrice;

   cout<< "ConcreteCostis$"<< ConcreteCost<< endl;

}

(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)可以任意   D)必须在最后

(5)若x,i,j和k都是int型变量,则执行下面表达式后x的值为

x=(i=4,j=16,k=32)   A)4  B)16 C)32   D)52

(6)下面正确的字符常量是:

A)"a"   B)'\\''   C)'W'   D)''

(6)已知各变量的类型说明如下:

inti=8,k,a,b;

unsigned long w=5;

double x=1.42,y=5.2;

(7)在C语言中,要求运算数必须是整型的运算符是。

A)/  B)++ c)!

=  D)%

(8)若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum的值为

A) 7   B) 8 C) 9 D) 10

(9)设以下变量均为int类型,则值不等于7的表达式是

A) (x=y=6, x+y,x+1)  B)(x=y=6,x+y,y+1)

C) (x=6,x+1,y=6,x+y)  D) (y=6,y+l,x=y,x+1)

(10)putchar函数可以向终端输出一个:

A)整型变量表达式值B)实型变量值C)字符串D)字符或字符型变量值

题号

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

(10)

答案

 

 

 

 

 

 

 

 

 

 

2阅读以下程序,当输入数据的形式为25,13,10正确的输出结果为:

main()

{int x,y,z;

scanf("%d%d%d",&x,&y,&z);

printf("x+y+z=%d\n,x+y+z);}

A)x+y+z=48   B)x+y+z=35  C)x+z=35  D)不确定值

3根据下面的程序及数据的输入方式和输出形式,程序中输入语句的正确形式应该为:

main(){char ch1 ,ch2 ,ch3;

输入语句

printf("%c%c%c",ch1,ch2,ch3);}

输入形式:

 ABC

输出形式:

 AB

A) scanf("%c%c%c",&ch1,&ch2,&ch3);B) scanf("%c,%c,%c",&ch1,&ch2,&ch3);

C) scanf("%c%c%c",&ch1,&ch2,&ch3);D) scanf("%c%c",&ch1,&ch2,&ch3);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1