C++程序设计模拟测试题试卷及答案

 《C++程序设计试卷》

单项选择题:(每题2分,共20分)

  1. 结构化程序设计的三种基本控制结构是(     )。   

A)输入、处理、输出  B)树形、网形、环形     

C)顺序、选择、循环  D)主程序、子程序、函数

  1. 下列哪个是C++的合法变量名(    )?

A) 8d           B) ex3.12               C)1_2a         D) _int

  1. 若整型变量 int  a=2,b=1,c=3,d=4;  则条件表达式a<b?a:c<d?c:d的值为(  )。

A) 1   B) 2   C) 3   D) 4

  1.   for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是(    )。   

A)0  B)5  C)6  D)无限循环

  1. 若一个函数体中定义与全局变量相同名字的变量x,在函数体内对x赋值,修改的是  (    )。

A)局部变量和全局变量都被修改 B) 全局变量x

C)不确定 D) 局部变量 x

  1.  设有如下定义语句:int a[5],*p=a;,则下列表达式错误的是  

A)p++       B)a++   C)p-a    D)a+1

  1.  设有变量定义: double x; int m;  函数原型声明:void f(double *, int &);

则正确的函数调用语句是(    )。

A) f(&x,m); B) f( x, &m); C) f(*x, &m); D) f (x,*m);

  1. 若用数组名作为调用函数的实参,则传递给形参的是(     )。

A) 数组存贮首地址       B) 数组的第一个元素值

C) 数组中全部元素的值       D) 数组元素的个数

  1. 设有二维数组a[3][4], 不等价的一对表达是(       )。

A) *(a[0]+2) 与 a[0][2] B) a[0]+3 与 &a[0][3]

C) *a[1] 与 a[1][0] D) a[0][2] 与 a[0]+2

  1. 若有函数原型int max (int a , int b); 并且有:int (*p) ( int , int ) = max ;

调用max函数的正确方法是(      )。

A)  ( * p ) max ( a , b ) ; B)  * p max ( a , b ) ;

    C)  ( * p ) ( a , b ) ; D)   * p ( a , b ) ;

答案栏:

1、____  2、____ 3、____ 4、____5、____ 6、____7、___ 8、____9、___ 10、____

  • 简答题:(共20分)
  1. 语句 cout<< ”y\x42\\x\102\nx”的显示结果是什么?说明理由。(3分)

答:

  1. 以下程序的输出结果是什么?请说明原因。(2分)

int main()

{ unsigned short  a=65535;   

short int  b;

b=a;

cout<<”b=”<<b;

return 0;

}

答:

  1. 设有说明char a[6], * b =a;  sizeof(a), sizeof(b)的值各是多少?分析结果原因。(3分)

答:

  1. 设有说明int a[2*3]; 请写出两个表示数组a最后一个元素地址的表达式(2分)。

答:

  1. 设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的原型。(2分)

main()

{    double   s[10][22];

int   n; 

fun(s);

}

答:

  1. 设有如下定义:

struct person{char  name[10]; int age;};

person   class[10]={“Johu”,  17,

“Paul”,  19

“Mary”,  18,

“Adam    16,};

根据上述定义,写出能输出字母M语句。(3分)

答:

  1. 以下语句不能正确输出单链表head的数据元素值,请找出原因。(2分)

struct link{int data; link * next; };

link *head, *p;

……

p=head;

while(p!=NULL)  {cout<<p.data; p++; }

……

答:

  1. 设有函数调用语句 array_max_min(a ,n, max, min); 功能是由参数max, min返回基本整型数组a 的n个元素中的最大值和最小值。对应的函数原型是什么?(3分)(只需给出原型,不用写函数定义)

答:

  • 阅读程序,写出运行结果:(每小题4分,共20分)

  1. #include<iostream>

using namespace std;

  int main ()

{ int x,n;

 x=n=5;

x+=n++; 

cout<<x<<n<<endl;

return 0;

 }

  1. #include<iostream>

using namespace std;

int  main ()

{ char s[6]="abcde", *p=s;

cout<<*p<<p<<endl; 

return 0;

}

  1. #include <iostream>

using namespace std;

int main()

{  int i,j;

for( i=1; i<=3; i++ )

{ j=1;

  while (j<i)

   { cout << i<<','<<j<<endl;

        j++;

}

   }

return 0;

}

  1. 以下程序的输出的结果是

#include <iostream>

using namespace std;

void incre();

int x=3;

int main()

{   int i;

for (i=1;i<x;i++)  incre();

}

void incre()

{   static   int  x=1;

x*=x+1;

cout <<x;

}    

  1. #include <iostream>

using namespace std;

void  fun ( int , int , int * ) ;

int main ( )

{int  x , y , z ;

 fun ( 5 , 6 , &x ) ;

 fun ( 7 , x , &y ) ;

 fun ( x , y , &z ) ;

 cout << x << ","<< y << "," << z ;

 return 0;

}

void fun ( int a , int b , int * c )

{ b+=a ;  * c=b-a ; }

答案栏:1、__________________________ 2、__________________________

3、__________________________ 4、__________________________

5、__________________________

  • 程序填空题:(每空2分,共22分)
  1. 下面程序的功能是:输入三角形的三条边存放在变量a,b和c 中,判别它们能否构成三角形,若能,则判断是等边、等腰、还是其它三角形,在横线上填上适当内容。

#include <iostream>

using namespace std;

int  main()

{ float a, b, c ;

  cout<<"a,b,c=";  

cin>>a>>b>>c;

  if (  a+b>c && b+c>a && c+a>b  )          

   {

   if (       【1】          )       

   cout<<"等边三角形!\n";

    else if (          【2】          )    

           cout<<"等腰三角形!\n";

         else cout<<"其它三角形!\n";

   }

  else cout<<"不能构成三角形!\n";

return 0;

}

  1. 以下程序功能是打印100以内个位数为6且能被3整除的所有数。

#include <iostream>

using namespace  std;

int main ( )

{ int  i ,  j  ;

  for ( i = 0 ;  ___【3】___  ;  i + + )

  { j = i * 10 + 6 ;

   if  ( ___【4】____ )  continue  ;

   cout << j << ”  ” ;

 }

return 0;

}

  1. 下列程序实现两个变量的值互换。

#include <iostream>

using namespace std;

void swap(int *, int *);

int main()

{ int a=3,b=8;

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高校知识店铺合集汇总

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值