初识C语言(一)
写C代码
数据类型
常量,变量
-
写C代码
1.创建工程/项目
2.Visual C++ --->空项目---> 名称,位置(浏览)---> 确定
3.右击源文件 --->添加新建项--->C++文件--->名称 .c --->添加
4.写代码
#include <stdio.h>
//std-标准 standard input output 标准输入输出 包含一个叫stdio.h的文件
int main()
{
return 0;
}
-
数据类型
//char--字符类型
int main()
{
char ch='A';
printf("%c",ch);// %c打印字符格式的数据
//输出A
return 0;
}
%d打印整型 %c打印字符 %f打印浮点数字(小数)
%p以地址的形式打印 %x打印16进制数字
//char 字符数据类型 short 短整型 int 整型 long 长整型 long long 更长的整形 float 单精度浮点数 double 双精度浮点数
???C语言有没有字符串类型数据???
没有
C语言没有原生字符串类型(原生类型指的是类似C语言中int,double等)。
高级语言(jave、C#等)中就有字符串类型,有个string来表示字符串,用法和int一样定义。但是C语言中没有string类型,C语言中的字符串是通过字符指针来间接实现的。
为什么出现这么多类型?
减少内存消耗,对应数字对应类型,所占空间不同
每种类型的大小是多少?
#include <stdio.h>
int main()
{
printf("%d\n",sizeof(char)); //1
printf("%d\n",sizeof(short)); //2
printf("%d\n",sizeof(int)); //4 字节
printf("%d\n",sizeof(long)); //4
printf("%d\n",sizeof(long long)); //8
printf("%d\n",sizeof(float)); //4
printf("%d\n",sizeof(double)); //8
return 0;
}
计算机是硬件——通电
正电 负电
1 0
字节
计算机中的单位
bit 比特位 放一个二进制数
byte 字节 1个字节=8个比特位 10110011(大小)
Kb 1Kb=1024byte
mb 1mb=1024Kb
gb 1gb=1024mb
tb 1tb=1024gb
pb 1pb=1024tb
short 2个byte(字节) 16个比特位 可以储存的最大数为65535 2的16次方-1
000 001 010 011 100三个比特位
-
常量 变量
常量:
//C语言的常量分为以下几种:字面常量、const修饰的常变量(const-常属性)、#define定义的标识、枚举常量
ps:字符型常量必须用单引号括起来,如'M','\n'
字符串常量应用双引号括起来
const int MaxNum3 = 80;
//MaxNum3本质还是一个变量,不过是有了const这种属性//用宏定义表示
const修饰的常变量
#include <stdio.h>
int main()
{
int n = 10;
int arr[n] = { 0 };
//报错:应输入常量表达式 不能分配大小为0的数组
return 0;
}
VS
#include <stdio.h>
int main()
{
const int n = 10;//n是变量,加了const只是让其具有常属性
int arr[n] = { 0 };
//报错:应输入常量表达式 不能分配大小为0的数组
return 0;
}
#define 代值 数值
#define 定义的标识符常量
#include <stdio.h>
#define MAX 10
int main()
{
int arr[MAX] = { 0 };//可行,无报错
printf("%d", MAX);//10
return 0;
}
枚举常量
//枚举———一一列举
//枚举关键字———enum
#include <stdio.h>
enum Sex
{
MALE,
FEMALE,
SECRET
};//MALE,FEMALE,SECRET——枚举常量;这些常量默认分别为0,1,2;是不能被修改的(MALE=6;不可以)
int main()
{
enum Sex s = FEMALE;
printf("%d\n", MALE);//0
printf("%d\n", FEMALE);//1
printf("%d\n", SECRET);//2
return 0;
}
变量:局部变量,全局变量
#include <stdio.h>
int num2 = 20;//全局变量——定义在代码块({})之外的变量 作用域(有用的区域)是整个工程
int main()
{
int num1 = 10;//局部变量——定义在代码块({})内部 作用域是变量所在的局部范围
return 0;
}
//作用域在生命周期内;变量的生命周期是变量的创建到变量的销毁之间的一个时间段
#include <stdio.h>
int a = 100;
int main()
{
int a = 10;
//局部变量和全局变量的名字建议不要相同——容易误会,产生bug
//当局部变量和全局变量的名字相同的时候,局部变量优先
printf("%d", a);
int sum = 0;//C语言语法规定,变量要定义在当前代码块的最前面
return 0;
}