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

 31、下面关于C++字符数组的叙述中,错误的是( )。

(A)字符数组可以放字符串

(B)字符数组的字符可以整体输入、输出

(C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

(D)可以用关系运算符对字符数组比较大小

32、以下正确的描述是(  )。

A.函数的定义可以嵌套,但函数的调用不可以嵌套。

B.函数的定义不可以嵌套,但函数的调用可以嵌套。

C.函数的定义和函数的调用均不可以嵌套。

D.函数的定义和函数的调用均可以嵌套。

33、若有数组名作为函数调用的实参,则传递给虚参的是(  )

(A)数组的首地址                    (B)数组第1个元素的值

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

34、下列字符列中可以作为“字符串常量”的是(  )。

A. ABC         B. ″ABC″         C. ’abc’         D. ’a’

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

A. char s[5] = {“ABCDE”};

B. char s[5] = {‘A’,’B’,’C’,’D’,’E’};

C. char *s; s = “ABCDE”;

D. char *s; scanf(“%s”, s);

36、以下正确的函数原型声明语句是(  )

(A)int fun(int a,b);         (B)float fun(int a;int b);

(C)double fun( );           (D)int fun(char a[][],b);

37.判断字符型变量ch是否为大写英文字母,应使用表达式(    )。

A、ch>='A' & ch<='Z’                 B、ch<='A' ||ch>='Z’

C、’A’〈=ch〈='Z’                      D、ch>='A' && ch〈=’Z'

38、变量的指针,其含义是指该变量的(  )。

A) 值         B) 地址         C) 名         D) 一个标志

39、变量的引用,其含义是指该变量的(  )。

A.值      B.类型      C.别名      D.地址

40、有如下代码段:

int p,a[10]={1,3,4,5,7,8,10,12,15,16};

p=&a[5];

则(p-1)的值为(  )。

A)1     B) 4     C) 7      D) 10

41、设有数组定义:char array[]=”China”;则数组array所占的空间为(  )。

A) 4个字节         B) 5个字节         C) 6个字节         D) 7个字节

42、已有定义“int a=5,&ra=a;”则下叙述中,错误的说法是(  )。

(A)ra是变量a的引用         (B)ra的值为5

(C)ra是a的地址值          (D)执行“ra=10;”后变量a的值也变为10

43、设 int x = 1, y = 3 , 能正确表示代数式3x|x-y|的C++表达式是(  )。

(A)abs(x-y)*3*x             (B)3x(abs(x-y))

(C)3x||(x-y)                 (D)3x(x-y)|| 3x(y-x)

44、设有说明语句

struct abc

{

int m;

float n;

} stype;

则下面错误的叙述是(  )

(A)struct 是定义结构体类型的关键字

(B)stype是结构体类型名

(C)m和n都是结构体成员

(D)stype是结构体变量名

45、一个结构体变量所占用的内存字节数是(  )

(A)结构体中第一个成员所需的内存字节数

(B)结构体中最后一个成员所需的内存字节数

(C)结构体中占用内存最大的成员所需的字节数

(D)结构体中各成员所需的内存字节数和

46、设a和b是两个结构体变量,下面正确的表达式是(  )

(A)a=b         (B)a=b+1         (C)a>b         (D)a==b

47.假定 int 类型变量占用两个字节,则以下定义的数组 a 在内存中所占字节数是(     )。

int a[10]={10,2,4};

A. 20

B.10

C.6

D.3

48、若有定义:int a[2][3];以下选项中对数组元素正确引用的是(   )。

A. a[2][0]

B. a[2][3]

C. a[0][3]

D. a[1>2][1]

49、对于以下定义,正确的叙述为( )。

char x[]="abcdefg", char y[]={'a','b','c','a','e','f','g'};

A.数组 x 和数组 y 等价

B.数组 x 的长度大于数组 y 的长度

C.数组 x 和数组 y 的长度相同

D.数组 x 的长度小于数组 y 的长度

50.以下程序段的输出结果是(  )。

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

int i, s=0;

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

    s+=aa[i][3];

printf("%d\n", s);

A.11

B.19

C.13

D.20

二、填空题

1.写出以下程序段的输出结果:输入4,则输出( ),输入5,则输出( ),输入12,则输出( ),输入-5,则输出( )。

int i, n = 5, x, a[10] = {1, 3, 5, 7, 9};

scanf("%d", &x);

    for (i = n - 1; i >= 0; i--)

        if (x < a[i])

            a[i + 1] = a[i];

        else

            break;

    a[i + 1] = x;

    n++;

    printf("%d", i + 1);

答:

2.求数组中相邻元素之和。将数组 x 中相邻两个元素的和依次存放到 a 数组中。请填空。

    int i, a[9], x[10];

    for (i = 0; 1 < 10; i++)

        scanf("%d", &x[i]);

    for (_______; i < 10; i++)

        a[i - 1] = _______ + x[i];

答:

  1. ( )
  2. ( )

3.简化的插入法排序。将一个给定的整数 x 插到已按升序排列的整型数组 a 中,使 a 数组仍然按升序排列。假定变量都已正确定义并赋值,请填空。

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

    {

        if (________)

        {

            break;

        }

    }

    for (________)

    {

        a[j + 1] = a[j];

    }

    ________;

    n++;

答:

  1. ( )
  2. ( )
  3. ( )

4.输入 8 ,以下程序段的输出结果为( ),输入 5 ,输出结果为( )。

    int i, max_sum, n, this_sum, a[] = {-1, 3, -2, 4, -6, 1, 6, -1};

    scanf("%d", &n);

    max_sum = this_sum = 0;

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

    {

        this_sum += a[i];

        if (this_sum > max_sum)

            max_sum = this_sum;

        else if (this_sum < 0)

            this_sum = 0;

    }

    printf("%d\n", max_sum);

答:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值