187-C语言刷题26
作者:互联网
1.typedef是在编译的时候进行处理的
2.sizeof是C语言中的一个操作符(operator),不是函数调用,简单的说其作用就是返回一个对象或者类型所占的内存字节数由于结果是无符号整数,因此可以把它看作是无符号整型表达式
3.以下函数值的类型是?
fun ( float x )
{
float y;
y= 3*x-4;
return y;
}
答案:int型
C语言规定如果函数没有给出类型,默认为int型,C++函数如果没有返回类型,必须指明是void类型,不能省略
4.有如下类定义,请问sizeof(B)的值为多少?
class A
{
public:
int fun1();
virtual void fun2();
private:
int _a1;
static int _a2;
};
class B : public A
{
public:
virtual void fun2();
};
答案:8
静态变量在全局区存放,在类域中为所有对象共享,不属于任何对象,B继承A,包含一个int变量(4个字节),同时自己里面有个虚函数指针(4个字节),指向虚表,所以是8个字节
5.C语言中的每条可执行语句最终都将被转换成二进制的机器指令
6.C源程序在编译之前为文本文件,经过编译后为二进制文件
7.设int x=1,float y=2,则表达式x/y的值是多少?
答案:0.5
不同类型运算时以高精度的为准
8.在16位C编译系统上,以下程序的输出结果是?(□表示一个空格)
void main()
{
long y=-43456;
printf("y=│%-8ld│ y=│%-08ld│ y=│%08ldl│y=│%+8ld│", y, y, y, y);
}
答案:y=│-43456□□│ y=│-43456□□│ y=│-0043456│ y=│□□-43456│
%-8ld:左对齐,8位,空位用空格补齐
%-08ld:左对齐,8位,空位用0补齐,但是用0补齐的话,数值会变,所以还是用空格补齐
%08ldl:右对齐,8位,空位用0补齐
%+8ld:右对齐,8位,空位用空格补齐
标签:26,int,43456,void,8ld,C语言,187,补齐,刷题 来源: https://blog.csdn.net/weixin_45964837/article/details/122796937