C语言程序设计答案,答案不唯一,仅供参考
一、思考题
1、 常量和变量有什么区别?它们分别是如何定义的?
常量是指在C程序运行过程中其值不变的量,变量是一个值的存放处,其值在程序运行过程中可以被改变。
常量有两种形式:字面常量与符号常量,C语言可以使用以下两种形式定义符号常量
(1)用关键字const定义
定义格式为:const 类型名 常量名=值;
(2)用编译预处理命令#define
定义格式为:#define
变量的定义格式为:
数据类型 变量名1,变量名2,…,变量名n;
或
数据类型 变量名1=初值1,变量名2=初值2,…,变量名n=初值n;
2、 变量的要素有哪些?请用一个例子说明?
名字、类型、值和地址
int a = 1;int是类型,a是名字,1是值,地址是编译器给a变量分配的内存空间
3、 变量在整个程序中能有相同的值吗?为什么?请举例说明。
可以,因为变量的值可以被改变,但不是一定被改变。如果程序中没有其它不同的赋值,变量将保持不变。
4、 为什么程序需要有短整型(short)和长整型(long)?
整型的值集理论上是所有整数,但由于受到计算机存储单元的限制,C语言的整型只能表示所有整数的一个有限子集,因此,整数有它的表示范围限制,且不同的C语言系统可表示整数的范围可能不同。不同范围的整型数据所占有的内存空间大小不同。程序开发人员通过选择能够满足范围要求的类型(short或long),可以减少数据存储空间。比如,当短整型可以满足数据范围要求时,就没有必要选择需要更多存储空间的长整型。
5、 字符’8’和数字8有何不同?
字符’8’是字符型,数字8是整型
6、 C语言有字符串变量吗?
没有
7、 C语言中的运算符“/”和“%”有何区别?C语言中除法运算符“/”与数学中的运算
符“÷”的用法和功能完全一样吗?
“/”是除法,“%”是取余数,“/”与“÷”的用法和功能不完全一样,“÷”得到的是两数相除后得到的真实值,“/”得到的是两数相除后取整的值。
8、 在C语言中,运算符“=”的功能是什么?能用它来判别两个量是否相等吗?
“=”是赋值运算符,它将右侧表达式的值赋予左侧变量。不能判别两个量是否相等。
9、 双目运算符两边的操作数可以是不同的类型吗?如果可以,它们如何影响运算的结果?
可以,C编译器会先对其中一些操作数进行隐式类型转换,使操作数类型一致后进行计算。转换方向为:char,short->int->unsigned->long->double,float->double
10、描述你所学过的运算符的优先级。
() [] -> . 从左到右
! ~ ++ -- + - * (type) sizeof 从右到左
* / % 从左到右
+ - 从左到右
<< >> 从左到右