main函数
- main是主函数,也是程序的入口,且C语言中必须有主函数
- 一个项目/工程中可以有多个.c文件,但是多个.c文件中只能有一个main函数
#include <stdio.h>
-
#include <stdio.h>
就是一条预处理命令, 它的作用是通知C语言编译系统在对C程序进行正式编译之前需做一些预处理工作。 -
include 是包含的意思 stdio 是standard input output标准输入输出文件 如果程序里有printf函数,就必须需要有
#include <stdio.h>
基本数据类型
- char - 字符数据类型
- short - 短整型
- int - 整型
- long - 长整型
- long long - 更长的整型
- float - 单精度浮点数
- double - 双精度浮点数
操作符-sizeof
sizeof是计算变量在内存的占空间的大小,单位是字节
(1)使用sizeof查看数据类型占空间大小
代码块
# include <stdio.h>
int main()
{
printf("sizeof(char): %d\n", sizeof(char));
printf("sizeof(short): %d\n", sizeof(short));
printf("sizeof(int): %d\n", sizeof(int));
printf("sizeof(long): %d\n", sizeof(long));
printf("sizeof(long long): %d\n", sizeof(long long));
printf("sizeof(float): %d\n", sizeof(float));
printf("sizeof(double): %d\n", sizeof(double));
return 0;
}
程序执行结果如下:
sizeof(char): 1
sizeof(short): 2
sizeof(int): 4
sizeof(long): 4
sizeof(long long): 8
sizeof(float): 4
sizeof(double): 8
计算机存储数据单位
- 计算机的最小存储单位:Byte(字节)
- 一个Byte是8个bit位(二进制)
Windows操作系统常见的存储单位及其之间的对应关系
- 1024 = 2^10
- 1Byte = 8Bit
- 1028B = 1KB
- 1024KB = 1MB
- 1024MB = 1GB
- 1024GB = 1TB
- 1024TB = 1PB
- 1024PB = 1EB
%号的用法
- %d整型输出,通常用来输出int型(“%”与字母之间可以插入数字表示场宽,如%2d表示输出2位整型数,不够2位右对齐;%-2d则表示左对齐)
- %ld长整型输出,通常用来输出long型
- %md,m为指定的输出字段的宽度。
- %s用来输出字符串,通常用来输出char型
- %c用来输出字符,char型
- %p 指针的值(打印指针地址)
- %f用来输出小数,默认情况下保留小数点6位,如1.000000;通常用来输出float型,%.2f用来输出小数,保留两位小数,如1.00
- %lf是双精度浮点型,默认情况下保留小数点6位,通常用来输出double型
- %e以指数形式输出实数
- %g根据大小自动选f格式或e格式,且不输出无意义的零
- %o以八进制数形式输出整数
- %x以十六进制数形式输出整数,或输出字符串的地址
- %u以十进制数输出unsigned型数据(无符号数)
float类型的写法
在C语言中,float和double的使用方法基本相同,只是在定义变量时需要指定数据类型
float f = 13.14f; //需要在数字后面加上f,表示这是一个float类型的数值
double d = 13.14;
需要注意的是,在进行浮点数运算时,由于浮点数存在精度问题,无法在内存中精确保存。比如你输入的是13.14,可能在计算机中是13.14000000205
局部变量与全局变量
局部变量
#include<stdio.h>
void variable()
{
int a = 10; //在variable函数内定义一个局部变量a
}
int main()
{
variable();
printf("%d", a);//在主函数内部是不能使用的
return 0;
}
全局变量
#include<stdio.h>
int a = 10; //定义一个全局变量a
void variable()
{
printf("%d", a);//在variable函数中能使用
}
int main()
{
variable();
printf("%d", a);//在主函数内部也能使用
return 0;
}
当全局变量和局部变量的命名相同时,局部变量优先
#include<stdio.h>
int a = 10; //局部变量命名为a
int main()
{
int a = 30; //全局变量也命名为a
printf("这个a的值是%d",a);
}
运行结果
这个a的值是30