C语言程序设计基础:数据类型与运算

需积分: 0 2 下载量 186 浏览量 更新于2024-09-17 收藏 75KB DOC 举报
"C语言程序设计个人压缩版,主要基于谭浩强的教科书整理,包含数据类型、运算符、表达式、变量赋值、算术运算、强制类型转换、自增自减运算符、赋值运算符、逗号运算符、格式输入输出等内容。" 在C语言中,数据类型是编程的基础,它包括了整型、浮点型和字符型等。整型常量有三种表示方法:十进制、八进制和十六进制。例如,十进制数字100、八进制数字0144(代表十进制的116)和十六进制的0x64(也是十进制的100)。需要注意的是,C语言不直接支持二进制表示。 整型变量在内存中以二进制形式存储,其大小取决于编译器。例如,在Turbo C中,整型变量占2字节,而在VC++中则占4字节。如果在整型常量后加上`u`或`U`,表示该常量为无符号整型,同样,`l`或`L`表示长整型。浮点变量包括`float`、`double`和`long double`,分别占用4字节、8字节和16字节,但浮点类型数据可能会存在舍入误差,处理时需谨慎。 字符型变量占用1字节,与整型变量类似,但在内存中以ASCII码表示。字符串常量由字符序列组成,C语言会在每个字符串末尾自动添加一个`'\0'`作为结束标志。由于C语言没有专门处理字符串的类型,通常使用字符数组来操作字符串。 在变量赋值时,不能同时给多个变量赋值,如`inta=b=c=3;`这样的语句是不合法的。算术运算符的优先级和结合性是重要的概念,例如`++`的优先级高于`+`,而`*`和`++`的结合性是从右到左。在表达式`k=2+i++`中,先执行`++`操作,然后进行赋值。 强制类型转换运算符`(类型名)(表达式)`用于将一种类型的数据转换为另一种类型,表达式需要括在括号内。自增自减运算符`++`和`--`只能应用于变量,不能用于常量或表达式。 赋值运算符`=`用于给变量赋值,而逗号运算符`,`具有较低的优先级,用于组合多个表达式。在类型转换中,非`unsigned`类型转化为`unsigned`时,数据会原样复制。 `printf`函数是C语言中的格式化输出,常用的格式字符有`d`(十进制整数)、`o`(八进制)、`x/X`(十六进制)、`u`(无符号整数)、`c`(字符)、`s`(字符串)、`f`(浮点数)、`e/E`(科学记数法)、`g/G`(自动选择`f`或`e`)。例如,`%d`用于输出十进制整数,`%ld`用于输出长整型,`%-m.ns`可以控制输出字符串的宽度和对齐方式,`%m.nf`用于控制浮点数的输出精度。 以上内容涵盖了C语言的基本数据类型、运算符、表达式以及基本的输入输出操作,是学习C语言的基础知识。理解和掌握这些概念对于编写C语言程序至关重要。