通过老师的教学,课下自己的总结,产生的心得体会。
一.C语言的数据类型
1.基本类型:整型,实型,字符型,枚举型
2.构造类型:数组类型,结构体类型,共用体类型
3.指针类型;4.空类型
二.常量与变量
1.常量分为字面常量和符号常量。其中符号常量中标识符的用户标识符命名规则较为重要:
(1)标识符是由字母,数字和下画线组成的一串符号,必须以英文字母或者下画线开头。
(2)区分大小写
(3) 不可用关键字,一般也不用预定义标识符
2.符号常量的定义格式:#define 符号常量 常量 (其中符号常量应遵循标识符的命名规则)
3.变量必须先定义,后使用
三.整型数据
1.整型变量:
(1)关键字为int
(2)整型变量的类型:short int<=int<=long int, 还有有符号和无符号整型变量。
(3)整型数据在内存中是以二进制形式存储,且是以补码的形式进行存储。(正数的原码与反码,补码均相同,负数的补码是原码的数值位取反加一得到的,故负数的补码的补码就是原码。)
注意点:计算机为简化运算,故只进行加法运算,用补码形式存储便是因此。
(4)重点:整型数据的溢出
例如:计算机中整型数据在有符号的前提下,例如short int 表示范围是 -32768——+32767,此时若出现如下代码:
#include<stdio.h>
int main()
{
short a,b;
a=32767;
b=a+1;
printf("%d,%d",a,b);
return 0;
}
此时程序的输出结果是:a=32767,b=-32768。原因如下:
a在计算机中的存储是:0111111111111111,故a+1为1000000000000000,这为-32768的补码形式,故b=-32768
四.实型数据
1.实型常量:(1)小数形式,注意必须要有小数点;(2)指数形式:尾数 阶码标志及阶码,注意阶码标志不可带符号,尾数和阶码可以带符号且阶码只可为整数。
2.实型变量
(1).实型变量可分为单精度与双精度类型。注意float的有效位数一般为6~7位,double的有效位数一般为15~16位。
3.实型数据在内存中的存放形式:符号位,指数以及尾数三部分组成
五.字符型数据
1.字符常量:(1)每个字符常量只占用一个字节;(2)字符常量只可用单引号括起来;(3)字符常量区分大小写,只可为单个字符
2.转义字符:以“\”开头,后跟一个字符,一个八进制或者一个十六进制数来表示一个具有特定含义的字符或者控制字符。
3.字符串常量:是由一对双引号括起的字符序列。注意点:字符串常量占的内存字节数等于字符串中字符数加1,增加的一个字节由系统自动存入字符'\0'
4.字符变量:由关键字char定义
六.算术运算符与算术表达式
1.当两个整数相除时,结果为整数;使用“%”,运算符两边运算量必须为整数
2.优先级问题:圆括号最高级,其次是单目运算符,后是双目运算符
3.自增,自减运算符,需注意前缀与后缀时对于表达式的影响
七.赋值运算符和赋值表达式
需注意赋值运算符是右结合性,了解复合赋值运算符
八.逗号运算符和逗号表达式
逗号运算符是所有运算符中优先级最低,逗号表达式的值是从左至右计算到最后一个表达式的值
九.位运算
(1)对象只能是整型或者字符型数据
(2)按位取反运算符:“~”;左移运算:“<<”;右移运算:“>>”;按位与运算:“&”;按位异或运算:“^”;按位或运算:“|”
十.数值类型转换和计算机类型长度运算符
1.数值类型转换:自动类型转换:char,short自动转换为int
强制类型转换:(类型标识符)(表达式),需注意不会改变变量的类型。
2.计算机类型长度运算符:sizeof(运算对象)