chapter3——最简单的C程序设计

3.1 数据的表现形式及其计算

3.1.1 常量和变量

常量: 程序运行过程中,其值不能变的量

变量: 代表一个有名字的、具有特定属性的一个存储单元。在程序运行期间,变得的值是可改变的。

1、常量

常量分为: 整型常量、实型常量、字符常量、字符串常量、符号常量

这里特别要注意符号常量:#define PI 3.1416

       符号常量,指定用一个符号名称表示一个常量。符号常量不占内存只是一个临时符号。所以不能对符号常量赋值。

2、 变量

变量要遵循 先定义后使用的原则。有类型,占存储单元。

常变量 const int a=3; 常变量有变量的基本属性,有类型,占存储单元。 由于常变量的存在,可以大部分代替符号常量的使用。

 

3.1.2 数据类型 (由变量引申)

类型: 对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式。

3.2.3  整型数据

基本整型int ,短整型short int ,长整型long int , 双长整型long long int

变量值在存储单元中都是以补码的形式存在

3.2.4 字符型数据

1. 字符与字符代码

字符时以整数形式(字符的ASCII代码)存放在内存单元。在C中1个字节(8位)存放一个字符。

由于字符时以ASCII存储,整数是以补码形式存储,所以能区分字符和整数

 

2. 字符常量

字符变量: 用类型符char定义字符变量

在负数,signed 和unsigned方面要重新理解

3.2.5  浮点型数据

浮点型数据是用来表示具有小数点的实数

3.2.6  怎样确定常量的类型

整型常量和浮点型常量

浮点型常量这里面主要讨论了精度损失的问题

3.2.7 运算符和表达式

1. 基本的算术运算符

对于除/ 而言,得到结果的值与被除数符号相同

对于取余而言,操作数必须为整数。

2. 自增、自减运算符

自增、自减运算符只能用于变量。

变成时最好减少前++和后++的区别,增强可读性

3. 算术表达式和运算符的优先级和结合性

结合性的问题是C语言所特有的。要在实际运用中体会。

4.不同数据类型间的混合运算

注意: %f, %d, %c 是让计算机里面的数据按照某种格式输出

5. 强制类型运算符

(类型名)(表达式)

一般使用强制类型转换时,是为了将编译系统内部的转换呈现给读者。加强可读性。

6. c运算符

3.2  C语句

3.2.1 C语句的作用和分类

1.控制语句

2.函数调用语句

3.表达式语句

4.空语句

5.复合语句

一般来说,一个表达式加上一个;就是一个语句。

这里面,printf();是函数调用语句

3.2.2 最基本的c语句——赋值语句

1.赋值运算符

2.复合的赋值运算符

特别要注意: x%=y+3

               等价于 x=x%(y+3)

3.赋值表达式

由运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”

变量 赋值运算符 表达式

4. 赋值过程中的类型转换

在这里面主要是可能出现的精度不同从而导致数据丢失的状况。

 

3.3  数据的输入输出

3.3.1  输入输出举例

一元二次方程

在这里面当用到除法的时候,要考虑到数据类型的一致,(-b) / (2.0*a)

3.3.2  有关数据输入输出的概念

1.所谓输入输出时以计算机主机为主体而言的。计算机向输出设备(打印机,显示器)为输出,从输入设备(键盘、磁盘、扫描仪)这些向计算机提供数据的为输入。

2.C语言本身是不提供输入输出语句的。printf 和scanf 只是一个库函数名字,而不是输入输出语句。

3. 在使用系统库函数的时候,要在程序的开头用预处理指令#inlcude 把有关头文件放在本程序中。

对于预处理指令的两种格式的区别,<> 和""不同,<>是按照标准方式查找文件,而""则是按照先在用户的当前目录,后标准形式的方式查找。

3.3.3  用printf函数输出数据

在运用printf 和scanf两个函数的时候,必须指定输入输出数据的格式!

一般用%f的格式只能输出6位小数,而一个双精度数只能保证15位有效数字的精确度,也就是15位小数!

/*
	2013年5月21日22:25:53
	目的:如何使用scanf和printf函数
*/
# include <stdio.h>
int main(void)
{
	/* printf("%12d\n", 123); */

	/*char a = 'a';
	printf("%c\n", a);*/

	/*printf("%s\n", "china");	//	这样的话,用%s 输出字符串的时候,后面要用"" 这个要特别注意*/

	/* float a = 3;
	printf("%f\n", a/4.0);	//在运用%f的格式时,系统一般的处理方法是,实数中的整数部分全部输出,小数部分输出6位,这也就牵扯到如何判断1个数是不是0的问题。*/

	/*float a = 3;
	printf("%9.5f\n", a/4);*/

	double a = 1000;
	printf("%20.15f\n", a/3);

	return 0;
}

3.3.4  用scanf函数输入数据

scanf(格式控制,地址表列);

在格式控制的后面应该是地址,所以用到的应该是&符

3.3.5  字符数据的输入输出

1.用putchar函数输出一个字符

2.用getchar函数输入一个字符

posted @ 2013-05-23 22:28  同叔练级之路  阅读(151)  评论(0编辑  收藏  举报