今天讲了C语言的常量与变量,数据类型和运算与表达式
C语言3大重点:
1. 常量与变量;
2. 数据类型;
3. 运算与表达式。
实参是在主调函数中
形参是在被调函数中
如果在函数A执行的过程中调用函数B。则A是主调函数,B是被调函数。
常量的前面有符号0x,这个符号表示该常量是十六进制表示。如果前面的符号只有一个字母0,那么表示该常量是八进制。
变量即在程序运行过程中它的值是允许改变的量。
常量即在程序运行过程中它的值是不允许改变的量。
变量必须说明,说明的目的,是让程序知道变量类并给变量分配相应数量的存储单元。例如,int要分配4个bytes, double 要分配8个bytes. 也让程序知道用它来计算应当如何操作。变量必须先说明,后使用。变量名不可为系统保留字。
编译器认识常量,所以不需要说明,编译器自动分配它们的存储单元。常量有数字常量(123, -345.6, 1.0E-06 等),ASCII字符常量('\t','a'), 字符串常量("string abc")。常量不需要说明,也不得说明。
数据类型
数据类型只是访问的方式与运算方式不同
指针只是一个数据类型。
原码:数的2进制码
反码:与原码取反
补码:负整数的补码,符号位不变,数值位各位取反,最后整个数加1. 正数的补码就是原码本身
计算机里的数据都是用补码形式存放
大小端
大端模式,是指数据的高位,保存在内存的低地址中,而数据的低位,保存在内存的高地址中。
小端模式,是指数据的高位保存在内存的高地址中,而数据的低位保存在内存的低地址中。
*p
取p变量内容,根据内容找到地址空间,然后取出地址里的内容
&p
取p变量的地址
指针中去的地址是变量的第一个字节的地址
初始化与赋值是不同的
运算符的优先级与它的结合性
j=i++ --àj=I, i=i+1
j=++i --ài=i+1, j=i
printf("sine of %lf is %lf\n",x,s);
printf(“变量格式”,变量名)
其中%lf为格式字符,表示按双精度浮点数处理。它在格式串中两次现,对应了 x和 s 两个变量。其余字符为非格式字符则照原样输出在屏幕上。
Scanf(“%d\n%d\n”,&a,&b)
Scanf(“变量格式”,变量的地址)
scanf 和 printf 这两个函数分别称为格式输入函数和格式输出函数。其意义是按指定的格式输入输出值。因此,这两个函数在括号中的参数表都由以下两部分组成:
“格式控制串”,参数表
格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类char型。
scanf有一个返回值
putchar 向终端输出一个字符
getchar 从键盘输入一个字符
整理的一些注意的点
一个C程序应该包括两个问题:
1. 对所加工数据的描述
2. 对数据操作方法的描述
文件包含命令,其意义是把尖括号<>或引号""内指定的文件包含到本程序来,成为本程序的一部分。被包含的文件通常是由系统提供的,其扩展名为.h。因此也称为头文件或首部文件. C语言的头文件中包括了各个标准库函数的函数原型。此凡是在程序中调用一个库函数时,都必须包含该函数原型所在的头文件
1. 一个C语言源程序可以由一个或多个源文件组成
2. 每个源文件可由一个或多个函数组成。
3.一个源程序不论由多少个文件组成,都有一个且只能
有一个 main函数,即主函数。
4.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。
5.每一个说明,每一个语句都必须以分号结尾。但预处
理命令,函数头和花括号“}”之后不能加分号。
6.标识符,关键字之间必须至少加一个空格以示间隔。
若已有明显的间隔符,也可不再加空格来间隔。
标示符
在程序中使用的变量名、函数名、标号等统称为标识符。除库函数的函数名由系统定义外,其余都由用户自定义.C 规定,标识符只能是字母(A~Z,a~z)、数字(0~9)下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。
在标识符中,大小写是有区别的.
关键字
1. 用于定义、说明变量、函数或其它数据结构的类型。如int,double 等
2. 用于表示一个语句的功能。如if else就是条件语句的语句定义符。
3. 预处理命令字.用于表示一个预处理命令。如include。
运算符
运算符与变量,函数一起组成表达式,表示各种运算功能。运算符由一个或多个字符组成。
分隔符
分隔符有逗号和空格两种。
常量
可分为数字常量、字符常量、字符串常量、符号常量、转义字符。
注释符
以“/*”开头并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。注释内的内容不做任何处理。
计算机中所有程序的运行都是在内存中进行的,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。