第二章 数据类型

1.什么是形参变量,什么是实参变量?
答:1. 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
2. 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。

2.什么是被调函数,什么是主调函数?
答:函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。
主调函数,作为程序如口,进行程序运算,其中部分语句调用已定义的其他函数的一段程序。
被调函数:被调用的函数为被调函数,调用该函数的函数为主调函数。它一般在主调函数的程序体内使用函数名调用,在外部进行定义。所以在主调函数内不存在函数定义,只存在名字。

3.什么宏定义?
答:宏(Macro),是一种批量处理的称谓。计算机科学里的宏是一种抽象(Abstraction),它根据一系列预定义的规则替换一定的文本模式。
解释器或编译器在遇到宏时会自动进行这一模式替换。对于编译语言,宏展开在编译时发生,进行宏展开的工具常被称为宏展开器。
宏这一术语也常常被用于许多类似的环境中,它们是源自宏展开的概念,这包括键盘宏和宏语言。绝大多数情况下,“宏”这个词的使用暗示着将小命令或动作转化为一系列指令。

4.什么是原码、反码、补码?
答:1、正整数的原码、反码、补码完全一样,即符号位固定为0,数值位相同。
2、负整数的符号位固定为1,由原码变为补码时,规则如下:原码符号位1不变,整数的每一位二进制数位求反,得到反码;反码符号位1不变,反码数值位最低位加1,得到补码。

5.\0的具体含义?
答:字符’0’:char c = ‘0’; 它的ASCII码实际上是48。内存中存放表示:00110000
字符’\0’ : ASCII码为0,表示一个字符串结束的标志。这是转义字符。
整数0 :ASCII码为0,字符表示为空字符,NULL;数值表示为0;内存中表示为:00000000

6.什么是静态数据区域?
答:在c中是指由malloc,free运算产生释放的存储空间,在c++中 就是指new和delete运算符作用的存储区域。
1、 静态存储分配
指在编译时对数据对象分配固定的存储位置,运行时始终不变。即一旦存储空间的某个位置分配给了某个数据名,则在目标程序的整个运行过程中,此位置(地址)就属于该数据名。
由静态存储分配产生的数据区称为静态数据区。
静态存储分配适用于不允许递归过程或递归调用,不允许可变体积的数据结构的语言
静态存储分配的特点:简单、易于实现
2、 动态存储分配
指在运行阶段动态地为源程序中的数据对象分配存储位置
实行动态存储分配的语言的特点:
允许递归过程
允许可变数据结构(可变数组或记录等)
允许用户自由申请和释放空间
这种程序在编译时无法确定运行时所需数据空间的大小,需待程序运行时动态确定

7.多线程的含义?
答:进程:当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。线程:线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。
多线程:多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。

8.枚举能做到的事情,#define宏能不能做到?
答:枚举可以自增1,这样不用每一个值都定义,而宏必须每个值都定义。而且枚举是一个集合,代表一类值,像你代码中的颜色归为一类,方便使用,而宏不能形成集合。

9.联合体存储数据的规则?
答;1.它的所有成员相对于基地址的偏移量都为0;
2.此结构空间要大到足够容纳最"宽"的成员;
3.其对齐方式要适合其中所有的成员。

10.如何理解复杂的变量声明?
答:理解复杂声明可用“右左法则”:从变量名看起,先往右,再往左,碰到圆括号就调转阅读方向。括号内分析完后跳出括号,还是按先右后左的顺序,如此循环,直到整个声明分析完。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值