C语言的三种基本结构希望大家铭记:顺序结构、选择结构、循环结构。
在刚接触c语言时,算法做一个除步了解。在设计一个算法时,可能要反复修改,而修改流程图是比较麻烦。为了设计算法时方便,常用一种称为伪代码的工具。伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。用伪代码写算法并无固定的。这个可以自行查阅资料进行了解。
这个重点对程序设计中的顺序程序结构进行介绍。
- 数据的表现形式及其运算
- 常量:整形常量、实型常量、字符常量、字符串常量、符号常量。这里对字符常量进行详细的介绍:字符常量分为①普通字符和②转义字符;
- 普通字符:用单撇号括起来的一个字符,如’a’,’b’,’3’;不能写成“ab”,”12”,单撇号只是界限符,字符常量只能是一个字符,不包括单撇号。‘a’和‘A’是两个不同字符常量。注意:字符常量存储在计算机存储单元中时,并不是存储字符本身,而是以其代码(一般是ASCII代码)存储的,
- 转义字符:将“\”后面的字符转换成另外的意义,例:“\n”中的“n”不代表字母n而作为“换行符”
字符串常量:如“boy”,”123”用双撇号把若干个字符包括起来。
符号常量:用#define指令,指定用一个符号名称代表一个常量。
如:#define PI 3.1416 //注意行末没有分号
注意:要区分符号常量和变量,不要把符号常量误认为变量。符号常量不占内存,只是一个临时符号,在预编译后这个符号就不存在了。为与变量名相区别,习惯上符号常量用大写表示。
- 变量:先定义后使用。在定义时指定该变量的名字和类型。注意区分变量名和变量值是两个不同的概念。变量名实际上是以一个名字代表一个存储地址。
整数变量的表示:
十进制:数学的写法
十六进制:前面加 0X 或者 0x 如 0XFF 0x3333
- 标识符:有字母、下划线、数字还有$组成,且第一个字符不能为数字。
- 数据类型
所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式
注:双精度浮点型是C语言提供合法的数据类型的关键字。
在C语言中,实数是以指数形式存放在存储单元中的。
类型 | 字节数 | 有效数字 |
Int | 4 |
|
Char | 1 |
|
Float | 4 | 6 |
Double | 8 | 15 |
注意:要区分类型和变量
每一个变量都属于一个确定的类型,类型是变量的一个重要属性。变量是占存储单元的,是具体存在的实体,在其占用的存储单元中可以存放数据。
- 运算符
- 基本的算术运算符:除了常见的加减乘除,还有取余(%),由于键盘没有×,以“*”替代。%运算符要求参加运算符的运算对象为整数,结果也为整数。除%以外的运算符的操作数都可以是任何算术类型。
- 自增、自减运算符
例如:++i(先自加,后赋值),--i(先自减,后赋值)
i++(先赋值,后加1),i--(先减1,后赋值)
结合性
从左至右的结合方向,又称“左结合性”,从右至左,又称“右结合性”
- 强制类型转换运算符
(double)a (将a转换double类型)
(int)(x+y) (将x+y的值转换成int型)
(float)(5%3) (将5%3的值转换成float型)
其一般形式为(类型名)(表达式)
注意,表达式应该用括号括起来。
- 最基本的语句———赋值语句
赋值符号=就是赋值运算符。赋值就是把右边的值赋值给左边。
复合的赋值运算符,例:a+=3等价于a=a+3.
X*=y+8等价于x=x*(y+8)
注意:赋值表达式的末尾没有分号,而赋值语句的末尾必须有分号。
关于优先级
总结:①.优先级从上到下依次递减,最上面具有最高的优先级
② 相同优先级中,按结合顺序计算。大多数运算是从左至右计算
③ 同一优先级的运算符,运算次序由结合方向所决定。
- 输入输出是以计算机主机为主体而言的。C语言本身不提供输入输出语句。Printf和scanf不是C语言的关键字,只是库函数的名字。C语言函数库中有一批“标准输入输出函数”,它是以标准的输入输出设备为输入输出对象。其中有:putchar(输入字符)、getchar(输出字符)、printf(格式输出)、scanf(格式输入)、puts(输出字符串)和gets(输入字符串)。
- printf函数的一般格式printf(“%d”,n),用双撇号括起来的是个字符串,称“转换控制字符”它包括格式声明(由%和格式字符组成。%d表示int型,%f表示float型,%c表示char型,%s用来输出一个字符串)和普通字符(需要输出时的原样输出字符)
指定数据宽度和小数位数,用%m.nf。
例:”%7..2f”格式指定了输出的数据占7列,其中包括2位小数。但用%f输出时要注意数据本身能提供的有效数字。
输出格式控制符对应: %d – int %ld-long %c – char %f – float %lf – double %x – 输出 16进制 %o – 输出 8 进制 %s – 输出字符串
-
- scanf(格式控制,地址表列)例scanf(“%d”,&a)一定要注意格式,前后对照。以防出错