每日一练—C++专项练习 7.20

1、指出下列关于C源程序的叙述中哪些是错误的()

A、一个C源程序可由一个或多个函数组成

B、一个C源程序必须包含一个main()函数

C、C源程序的基本组成单位是函数

D、在C源程序中,注释说明只能位于一条语句的后面

答案选D。注释有2种方式:/* */和//

/* */可以位于一条语句的前面

C中,C程序的基本组成单位是函数

2、以下程序

int main()
{
    char str[][10]={"China","Beijing"},*p=(char *)str;
    printf("%s\n",p+10);
}

程序运行后的输出结果()

输出结果是Beijing。因为p+10指向下一列。下一列的开头是B的位置,而%s是字符串输出格式符,所以输出结果为Beijing。

3、能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是()。

a>=10||a<=0

4、下列关于类的权限的描述错误的是()

A、类本身的成员函数只能访问自身的私有成员

B、类的对象只能访问该类的共有成员

C、普通函数不能直接访问公有成员,必须通过对象访问

D、一个类可以将另一个类的对象作为成员

A 类本身的成员函数还可以访问公有成员,所有错误。

5、设有定义语句

int x[6]={2,4,6,8,5,7},*p=x,i;

要求依次输出x数组6个元素中的值,不能完成此操作的语句是(   )。

 A、for(i=0;i<6;i++) printf("%2d",*(p++));
 B、for(i=0;i<6;i++) printf("%2d",*(p+i));
 C、for(i=0;i<6;i++) printf("%2d",*p++);
 D、for(i=0;i<6;i++) printf("%2d",(*p)++);

选择D。(*p)++表示的是取出指针p指向的内容,然后将它加1.但是指针不会改变。所以输出结果是2,3,4,5,6,7。不能将X数组中的6个元素输出。

6、对两个字符a和b进行初始化:char a[]="ABCDEF";char b[]={'A','B','C','D','E','F'};则以下叙述正确的是:

A、a数组比b数组长度长

B、a,b长度相同

C、a,b数组完全相同

D、a和b中都存放字符串

A正确,因为char a[]="ABCDEF"赋值的时候默认增加了一个'\0',所以长度比b数组多1。a,b中都存放的是一个一个字符,只不过是一个数组。

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

可以在任意位置

8、什么是面向对象程序设计语言中的一种机制。这种机制实现了方法的定义与具体的对象无关,而对方法的调用则可以关联于具体的对象。

答:模板

错误。

9、在64位系统中,有如下类:

class C
{
public:
    char a;
    static char b;
    void *p;
    static int *c;
    virtual void func1();
    virtual void func2();
};

则sizeof(C)的数值是()

A、9  B、17  C、32  D、24

10、32位机上,给你1、2、3 这三个数字,可以使用C的各种运算符,你能在计算机上得到的最大的整数是()

A、2*3*sizeof(1)

B、3<<(2<<sizeof(1))

C、sizeof(3)<<(sizeof(2)<<sizeof(1))

D、(unsigned long)(2-3)*1

选择D。A 24 B 0 C 0 D 2^32-1

猜你喜欢

转载自blog.csdn.net/weixin_42095973/article/details/81126232