1.1变量和常量
了解什么是变量?
变量就是程序在运行期间数值可以改变的量,需要先定义,后使用。
变量定义格式:类型说明符 变量名1,变量名2,变量名3 .... 例子如下:
int a=4,b=5,c=6; //定义整型变量a,b,c 并为他们赋一个初始值
float x;
double y;
指定变量名a,b,c的数据类型为整型,并为其赋一个初始值,也可以不用赋值,只定义变量。
错误的初始化赋值如下:(只为 q 定义了数据类型,而 w 和 e 没有声明数据类型)
int q=w=e=5
1.2基本数据类型
数据类型 | 字节数 | 取值范围 |
int | 4 | -2,147,483,648~2,147,483,647(-231 ~ 231-1) |
short int | 2 | -32,768~32,767 |
long int | 4 | -2,147,483,648~2,147,483,647(-231 ~ 231-1) |
unsigned int | 4 | 0~4,294,967,295 |
unsigned short int | 2 | 0~65,535 |
unsigned long int | 4 | 0~4,294,967,295 |
char | 1 | -128~127 |
float | 4 | -3.4x10-38 ~ 3.4x1038 |
double | 8 | -1.7x10-308 ~ 1.7x10308 |
long double | 8 | -1.7x10-308 ~ 1.7x10308 |
sizeof运算符
sizeof运算符可以获取变量或数据类型的大小,格式:
sizeof 表达式; sizeof(数据类型或表达式) 如下
#include<stdio.h>
int main(void)
{
float haha=2.4;
int a;
printf("%d",sizeof(haha)); //sizeof(表达式)
printf("%d",sizeof(int)); //sizeof(数据类型)
return 0;
}
1.3常量
在程序运行中,保持不变的量,就是常量
常量的分类:
1.3.1数值常量
没有什么好解释的,就是一串数字
十进制数:0-9; 八进制数:0-7,以0开头的三位数,如012、010
十六进制数:0-9,A-F / a-f ,以0x 或0X 开头的,如0x18、0X1F
1.3.2符号常量
用一个符号代表一个常量,必须在开头时用宏声明后使用
#define常量
定义: #define 宏名 符号串 符号串可以是常量,表达式,格式串
ps:宏名一般使用大写字母表示。
编写一个计算圆的面积,来理解
#include<stdio.h>
#define PI 3.14 //设置常量 PI为 3.14
int main(void)
{
float Area,r; //定义圆的面积Area,半径r
printf("请输入半径:");
scanf("%f",&r);
Area = PI*r*r; //计算圆的面积
printf("半径为%f的面积为%f\n",r,Area);
return 0;
}
const限定符
const声明 pi 在下面程序中不可改
#include <stdio.h>
int main(void)
{
const float pi=3.14159,r=10;
float s;
s=pi*r*r;
printf("pi*r*r=%f",s);
return 0;
}
1.3.3字符常量
字符型数据用来表示一个字符值。相当于是在计算机内部的ASCII码值。
字符常量:用单引号括起来的一个字符,如
‘a’、‘A’、‘1’、‘%’ //‘a’ 和 ‘A’是不同的字符常量
char c = ‘Y’
字符串常量:用双引号括起来的字符串,如“abc”、“/s”、“a”
2.1算术运算符
基本算术运算符:+ - * / %
符号 | 说明 | 优先级 | 结合性 | 算术表达式 |
+ - | 单目取正 单目取负 | 14 14 | 从右到左 | a=+8 b=-a |
* / % | 乘 除 取余 | 13 13 13 | 从左到右 | a=12*5.5 b=10/5 c=12%5 |
+ - | 加 减 | 12 12 | 从左到右 | a=18+5.6 b=18-4 |
“/”除法运算符是整除,两个数相除时结果取整
“%” 求余运算符只能作用于两个整数,运算结果为整数。运算结果的符号与被除数的符号一致:如 9%-2=1 -9%2=-1; 如果除数小于被除数,结果即为被除数,如: 2%9=2
2.2自增自减运算符
自增自减运算符号:++、-- 使用格式:
前缀模式:++变量 或 --变量 ++i ,先对 i 的值进行加 1 ,然后在使用 i 的值 如下:
k=++i 可转化成 i=i+1; k=i; //前缀先加
后缀模式:变量++ 或 变量-- i++ ,先使用 i 的值,然后对 i 的值 加 1 如:
k=i++; 等同与 k=i; i=i+1; //后缀先用
2.3数据类型转换
自动转换--隐式转换
整型、实型和字符型可以混合运算,系统自动转换成占内存字节最大的操作数类型(double)
强制转换--显示转换
(类型名)表达式,如 (double)(a+b) 将 a+b 的值转换成double类型
记录第一次写博客,写得东西七七八八的,可能也只有自己能看得懂。编写过程中也复习到了很多的知识。