初学C++30道选择题带答案(1)

题目

(31) 下面程序的输出是

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

#include <iostream>

using namespace std;

main()

{  int a=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));

cout<<k<<a<<b;}

(32)以下叙述中正确的是

A) 不可以输出指针变量;

B) 声明一个指针变量后,可以直接往该地址输入数据,如int *p;cin>>p;

C) 当输入一个实型数据时,可以控制小数点后的位数;

D) 当输出数据时,是根据数据所在内存地址找到该数据的;

(33)以下程序的输出结果是

A) 10 10    B) 12 12    C) 11 10     D) 11 13

#include <iostream>

using namespace std;

main()

{   int a=12,b=12;

cout<< - -a<< + +b;}

(34)以下程序运行后,输出结果是

A) cde                B)字符c的ASCLL码值     C) 字符c的地址            D) 出错

#include <iostream>

using namespace std;

main()

{char *s=“abcde”;

s=s+2;

cout<<s;}

(35)下面能正确进行字符串赋值操作的语句是

A) char s[]={“ABCDE”};    B) char s[5]={'a','b','c','d',''e'};

C) char s[6]=“ABCDEF”;    D) char *s;cin>>s;

(36) 下列语句中符合C++语言语法的赋值语句是

A) a=7+b+c=a+7;    B) a=7+b++=a+7;     C) a=7+b,b++,a+7     D) a=(7+b,c=a+7);

(37) 在C++语言中,要求运算元素必须是整型的运算符是

A) %         B) /              C) <           D) !

(38) 已知字母A的ASCⅡ码为十进制的65,下面程序的输出是

A) 67,D       B) B,C        C) C,D         D) 不确定的值

#include <iostream>

using namespace std;

main()

{   char ch1,ch2;

ch1='A'+'5'-'3';ch2='A'+'6'-'3';cout<<ch1<<ch2;}

(39) 下面程序的输出是

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

#include <iostream>

using namespace std;

main()

{    int a[10]={ 1,2,3,4,5,6,7,8,9,10},*p=a;

cout<<*(p+2);}

(40)下列程序的功能是

A)求字符串的长度               B)比较两个字符串的大小

C)将字符串X复制到字符串Y     D)将字符串X连接到字符串Y后面

using namespace std;

int main()

{    chat * x;

char*y=x;while(*y++);

return(y-x-1);}

(41) 下面程序的输出是

A)xyzabcABC      B)zabcABC     C)yzabcABC     D)xyabcABC

#include <iostream>

using namespace std;

main()

{    char  p1[10] ="abc", *p2 ="ABC",str[50]="xyz";

strcpy(str+2,strcat(p1,p2));

cout<<str;}

(42)下面程序的输出是

A)741         B)852       C)963       D)875421

#include <iostream>

using namespace std;

main()

{    int y=9;

for(;y>0;y--)

if(y%3==0)

cout<<--y;}

(43)若有以下定义语句:int a[10]={1,2,3,4,5,6,7,8,9,10};  则下列哪个是对该数组元素的正确引用:

 A) a[10]          B) a[a[3]-5]     C) a[a[9]]          D) a[a[4]+4]

(44)若有以下定义语句:double  a[5],*p=a ; int i=0 ; 则对 a数组元素的错误引用是:

A) a[i]            B) a[5]        C) p[4]        D) p[i]

(45)阅读程序:   

#include <iostream>

using namespace std;

main()    

{   int a[10]={1,2,3,4,5,6,7,8,9,0},*p;

p=a;

cout<<p;

cout<<p+2;}

该程序有两个cout语句, 如果第一个cout语句输出的是200, 则第二个cout语句的输出结果是

A)203              B)204              C)206               D)208

46.逗号表达式(x=4*5,x*5),x+35的值为( )

A) 35                       B)20                     C)100                   D)55

47.以下程序运行后,输出结果是

A)  rld                         B)字符r的ASCLL码值

C) 字符r的地址           D) 出错

#include <iostream>

using namespace std;

main()

{

char *s=“world”;

s=s+2;

cout<<s;}

48.下列正确的十六进制整型常量表示是( )

A) 0x11      B) xaf        C) 0xg        D) x1f

49.设有函数关系为

  ,下面选项中能正确表示上述关系为( )

A) y = 1;                           B) y = -1;

If(x>=0)                                  if(x!=0)

If(x==0 ) y=0;                       if(x>0) y = 1;

else  y = -1;                          else y = 0

      C) if(x<=0)                           D)  y = -1;

            If(x<0)y = -1;                  if(x<=0)

            else  y = 0;                          if(x<0)y = -1;

          else  y = 1;                            else y = 1;

50.以下会出现死循环的程序段是( )

A) for(int x=0;x<3 ;){ x++;};

B) int k=0;do { ++k;}  while( k>=0 );

C) int a=5;while(a){ a--;};

D) int i=3;for(;i;i--);

51.语句:cout<< ((a=3)&&(b= -3));的输出结果是( )

A) 无输出                      B) 3                 C) -1           D)1

52.下面程序的输出是( )

A) 3, 0           B) 2, 5          C) 3, 6            D) 2, 0

#include <iostream>

using namespace std;

int main()

{ int a[10]={ 1,2,3,4,5},*p=a;

cout<<*(p+2) << ", "<< *(p+5);

return 0;}

53.下面程序的输出是

A)78123XYZ      B) 9123XYZ      C) 78XYZ123      D) 9XYZ123     

#include <iostream>

using namespace std;

int main()

{ char  p1[10] ="123", *p2 ="XYZ",str[50]="789";

strcpy(str+2,strcat(p1,p2));

cout<<str;

return 0;}

54.下面程序的输出是

A)741         B)852       C)963       D)875421

#include <iostream>

using namespace std;

int main()

{   int y=9;

for(;y>0;y--)

if(y%3==0)

cout<<--y;

return 0;}

55.设有说明语句:char s1[20]=“well”, s2[20]= “done”, const char *ptr=s1; 以下语句中,不符合c++语法规则的语句是:( )

 A) strcpy(s2,ptr)          B) ptr=s2;      C) *ptr=*s2;         D) ptr=ptr+3

56.以下选项中,能用作用户标识符的是( )

A)void        B)8_8         C)_0_         D)unsigned

57.以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是( )

A)if((a>b)&&(b>c)) k=1;else k=0;    B)if((a>b)||(b>c) k=1;else k=0;

C)if(a<=b) k=0;else if(b<=c) k=1;     D)if(a>b) k=1;else if(b>c) k=1; else k=0;

58.若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是( )

A)p=a  B)q[i]=a[i]  C)p=a[i]  D)p=&a[2][1]

59.有以下程序

#include<iostream>

using namespace std;

int main()

{ int a=1,b=2,c=3,x;

  x=(a^b)&c;

  cout<<x<<"\n";

  return 1;

}

程序的运行结果是

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

60.设有定义:int x=2;,以下表达式中,值不为6的是( )

A)x*=x+1    B)x++,2*x           C)x*=(1+x)    D)2*x,x+=2

答案

31  C 32  D 33  D  34  A  35  A    

36  D 37  A 38  C  39  A 40  A   

41 D 42  B 43 D  44  B  45   

46  D 47  A  48  A    49  C 50  B 

51  D 52  A  53   A    54  B 55 

(56)    C     (57)   A     (58)   A      (59)   D     (60)    D  

  • 26
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值