C++基础知识——练习一(题目)

 一、选择题

1、求“abc\ \12\n”字符串的长度(  )

(A) 5          (B) 6          (C) 7          (D) 8


拓展练习1:字符串常量 ”\tMyNane\103” 的长度是:(   )

(A) 6          (B) 8          (C) 12          (D) 14

拓展练习2:字符串常量 "\t\"\062\xff\n" 的长度是___ ___。


2、C++语言规定:在一个源程序中,main函数的位置(   )。

A.必须在最开始           B.必须在系统调用的库函数的后面

C.可以任意                  D.必须在最后

3、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为(   )。

A.main          B.MAIN         C.name          D.function

4、当需要对标准输入/输出设备进行输入/输出操作时,应在文件开始使用#include预处理命令,使之包含(   )头文件。

A.iostream.h         B.stdlib.h         C.fstream.h          D.strstream.h

5、若a=-14,b=3,则条件表达式a<b?a:b+1的值为(   )。

A.-14         B.-13         C.3         D.4

6、设x=7,执行语句y=++x,则y等于(   )

(A) 6          (B) 7           (C)9         (D) 8

7、下列字符列中,合法的长整型常量是:(   )

(A) 4.18e3          (B) 0.46793          (C)4L          (D) 956738

8、在C++中,char类型数据在内存的存储形式是:(  )

(A) 原码          (B) 反码           (C)补码         (D) ASCII码

9、若a是int类型变量,则表达式a=25/3%3的值是:(   )。

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

10、设有变量定义 int i, j; 与表达式 i==0 && j==0 等价的表达式是:(   )

(A) i||j         (B) !i&&!j          (C) !i==!j         (D) i==j

11、设变量int a = 5; 下列哪个表达式计算后,使得变量b的值等于2 ?(   )

(A) b=a/2         (B) b=6-(a--)          (C) b=a%2         D) b=a>3?3:2

12、if…else中为避免嵌套出现二义性,C++规定else子句总与(   )

(A)其之前最近的if语句

(B)其之前最近且尚未配对的if语句

(C)缩排位置相同的if语句

(D)其之后最近的if语句

13、逻辑运算符两侧运算对象的数据(  )

(A)只能是逻辑型数据                    (B)只能是整型数据

(C)只能是整型或字符型数据         (D)可以是任何类型的数据

14、设变量x,y,a,b,c,d的值为1,计算表达式(x=a!=b)&&(y=c!=d)后,变量x,y的值分别是:(  )

(A) 0,0         (B) 0,1          (C) 1,0         (D) 1,1

15、若a是int类型变量,则计算表达式a=1000%999的值是(  )。

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

16、已知 int x=1, y=0; 执行下面程序段后,y的值为(  )。

if(x) { if (x>0) y=1; } else y = -1 ;

(A)-1         (B)0          (C) 1          (D)不确定

17、 已知 int x=1, y=0, w ; 执行下面程序段后,w的值为( )。

if(x) if(y) w=x&&y; else w=y;

(A)0          (B)-1          (C) 1          (D)不确定

18、语句while(w) … 中的表达式w的等价表示是:(  )

(A) w==0          (B) w==1           (C) w!=0          (D) w!=1

19、语句while(a>b) a--; 等价于(  )。

(A)if(a>b)a--;             (B)do{a--}while(a>b);

(C) for(a>b)a--;         (D) for(;a>b; a--);

20、已知int i=0,x=0; 下面while语句执行时循环次数为(  )。

while( x || i ) { x ++ ; i ++ ; }

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

21、执行语句 x=1; while(++x<7)cout<<’*’; 后输出结果是:(  )

(A) *****          (B) ******          (C) *******          (D) ********

22、C++中循环语句while和do …while的主要区别是(   )

(A)do…while的循环体至少无条件执行一次

(B)while的循环控制条件和do…while的循环控制条件的控制条件的控制方式是相反的

(C)do …while允许从外部转到循环体内,while不允许

(D)while的循环体不能复合语句

23、若有以下程序段:

for(m=1;m<=100;m++)

{

cin>>y;

if(y<0)

continue;

cout<<m;

}

则下面正确的说法是(   )

(A)当y<0时整个循环结束           (B)当y>=0时什么也不输出

(C)cout语句永远也不执行          (D)最多输出100个非负整数

24、假定a为一个字符型(char)数组,则元素a[8]的地址比该数组的首地址大(   ) 个字节。

A.4          B.8          C.16          D.32

25、语句“while(!x)…”等价于(   )

(A)while(x==0)…          (B) while(x!=1)…          (C) while(x!=0)…         (D) while(x==1)…

26、一维数组a正确定义是(   )。

(A)char a(10)                   (B) int a[]

  (C) int k=5,a[k]                   (D)char a[]={‘a’,’b’,’c’}

27、char x[5]={‘a’,’b’,’\0’,’c’,’\0’} ; cout<<x;输出的结果是(   )

(A)’a’’b’          (B)ab          (C) ab c         (D)abc

28、在"int a[ ][3]={{1},{3,2},{4,5,6},{0}};"中,a[2][2]的值是(  )。

A.1          B.0          C.6         D.2

29、设有下面和程序段

char a[3],b[]=“China”

a=b;

cout<<a;

则(   )

(A)编译出错                  (B)运行后将输出Ch  

  (C) 运行后将输出Chi         (D)运行后将输出Chian

30、判断字符串s1是否大于字符s2的是(   )

(A)if(strcmp(s1,s2)>0)          (B)if(strcmp(s1,s2))

(C)if(strcmp(s2,s1)>0)          (D)if(s1>s2)

二、程序填空题

 1、以下程序的功能是:用选择法对5个实数排序(按从小到大顺序)。请填空

#include <iostream>

using namespace std;

void main( )

{ double x[5], t; int i,j,k;

for(i=0; i<5; i++) cin>>x[i];for(i=0; i<4; i++)

{ k=i ;

for(【1】; j<5; j++)

if(x[j]<x[k]) k=j;

【2】//将选择好的下标元素和下标为i 的元素交换

【1】

【2】

2、以下函数的功能是:用递归法将一个整数m 转换成字符串。例如:输入整数1472,应输出字符串 "1472”。m的位数不确定,可以是任意位数的整数。请填空

void print( int m )

{ if(m<10) 【3】//递归出口

else

{

【4】//递归体

putchar(m%10+48);

【3】

【4】

3、下面是显示如下图案的程序。

1111111111

2222222

33333

444

5

#include<iostream.h>

void main(

{ int i, j, k ;

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

 for( k = 1;_(5)_; k++)

cout<<ends ;

for(j-1 ;___(6)_; j++)

cout <<_(7)_;

cout<<endl;

}

}

三、阅读程序写结果

1.//循环

#include<iostsam h>

void main()

{ int i=0,s=0:

while (i++<=10)

{ if(i%2) continue;

s=s+i;

cout<<s<<’\t’;

}

}

输出:

2.//数组,指针

#include<iostream. h>

void main()

{ int num[5];

int *p=num,i :

for(i=1;i<=5;i++) num[i-1]=i;

for(i=0; i<5;i++)

cout<<num[i]+(*p++)<<'\t';

cout<<endl:

}

输出:

3.//递归

#include<iostream.h>

void print(char ch)

{int i=0;

if(ch==’D')

return;

else

{print(ch+1);

while(i++<=ch-'A')

cout<<ch;

cout<<endl;

}

}

void main{

print(‘A’);

}

输出:

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值