欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-05 15:26:31
...

1、十进制数268转换成十六进制数是()。

10C

 

2、sizeof(char),sizeof(int),sizeof(double),sizeof(float)的值分别是()

分别为1,4,8,4

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

3、如果有#define AREA(a,b)a+b则语句int s=AREA(3,4)*AREA(3,4) 执行后变量s值为()

宏定义是直接替换,所以s = 3+4*3+4 = 19

 

4、下面程序段的输出结果是:

int a = 5, b = 4, c = 3, d = 2;
if (a>b>c)
    printf("%d\n", d);
else if ((c - 1 >= d) == 1)
    printf("%d\n", d + 1);
else
    printf("%d\n", d + 1);

a>b>c = (a>b)>c = 1>3 = 0

c - 1 >= d = 3 - 1 >= 2 = 1==1   所以输出d+1=3

 

5、设已经有A,B,C,D4个类的定义,程序中A,B,C,D析构函数调用顺序为?

C c;
void main()
{
    A*pa=new A();
    B b;
    static D d;
    delete pa;
}

析构顺序是A B D C

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

6、已知int a[3][3] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };  不能表示数组元素a[2][1]的地址是()。

A、&a[2][1]

B、*(a[2]+1)

C、a[2]+1

D、*(a+2)+1

选择B

 

7、定义char dog[]="wang\0miao";那么sizeof(dog)与strlen(dog)分别是多少:

char dog[] = "wang\0miao" 因为字符中间有一个\0,所以赋值时在\0处截断,所以dog[] = "wang\0",长度为5。所以sizeof(dog) = 1*5 = 5  strlen(dog) = 5

错误

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

所以sizeof(dog) = 10 ,strlen(dog) = 4

8、利用fseek函数可以实现的操作是()。

改变文件的位置指针

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

9、不是 E-R 图中基本元素的有()。

A、实体   B、属性   C、联系   D、关系

选择C

错误,应该选D。

10、阅读下面代码,程序会打印出来的值是?

#include <stdio.h>
void f(char**p)
{
    *p +=2;
}
main()
{
    char *a[] = {"123","abc","456"},**p;
    p = a;
    f(p);
    printf("%s\r\n",*p);
}

*p+=2 -> *p = *p + 2 ,*p指向字符串“123”的第一个元素,所以*p+2指向3。