C语言程序设计(黄迪明)
第一章 C语言程序设计基础知识
例题及习题
1.1 C语言具有哪些特点
答:1.C语言是一种兼有高级语言和汇编语言优点的语言;2.C语言是一种结构化程序设计语言;3.语言数据类型丰富;4.C语言具有种类丰富的运算符;5.C语言具有预处理功能。、
1.4 C语言开发步骤
答:C程序的运行一般要经过四个步骤。即源程序的编辑、源程序的编译、目标程序的链接和可执行程序的运行。
1.7 one_$ 这个标识符是错的,因为$不能作为标识符
第二章 基本数据类型及运算
一、变量存储
1.常量的存储
内存中安排常量数据存储区,按照常量在程序中的出现顺序(重复出现的常量,仅仅存放一次),以此存放哥哥常量(二进制机器数形式);不允许改变常量数据存储区的内容,即只能使用常量,而不能够改变常量的(值)。
2.变量的存储
在Turbo C 2.0环境中,int型量占用两个字节的内存单元,float型量占用4个字节的内存单元,char型量占用1个字节的内存单元。
内存中(按照函数的调用吮吸动态地)安排变量数据存储区,按照变量在程序中的出现顺序,依次存放各个变量;允许改变变量数据存储区的内容;既可以使用变量,也能够改变变量(的值)。
二、运算符
1.未定义操作,例:
(a++)+(a++)+(a++) //不同编译器运行的结果是不一样的 Turbo C为 表达式=18 a=9
2.逻辑表达式
在逻辑表达式的求解中,并不是所有的逻辑运算符都被执行,只有在必须执行下一个逻辑运算符才能求解出表达式的解时,才执行该运算符。即只要得到了结果,求值的过程就停止:短路求值。
a = 1,b = 0,c = -2;
a && b && c; //只有a为真时,才需要判别b的值,只有a和b都为真的情况下才需要判别c的值
(a++) || ++b && c; //不需要计算后面的语句,运算结束时a为2,b、c的值保持原值不变
3.位运算
位运算符:&(按位与)、|(按位或)、~(按位取反)、^(按位异或)
!注意:如果两个长度不同的数据(假如long和int)进行位运算(i&j)时,系统会将二者按右端补齐,如果j为正数,则左侧16位补满0;如果j为负数,则左侧16位补满1;如果j为无符号整数,则左侧16位也补满0。
移位运算符:整型变量<<表达式 或 整型变量>>表达式
左移:右边空出的位补0,左边溢出的位丢弃
右移:无符号数,则左边空出来的填充0;正数时,左侧用0填充;负数时,可能补1也可能补0,看编译系统。
三、类型转换
1.隐式转换(自动类型转换)
double <