前言
作为一名大二的学生,当我认识了计算机,并且喜欢计算机后,立刻决定专升本报考计算机专业。为了让自己能学好这个专业,我决定写博客,用来鼓励自己,提醒自己。作为一名大专生,我认识到自己有很多不足,对生活也很迷茫。大一的时候对PS PR AE很感兴趣,因为没有目标,所以只坚持了半年就放弃了。大二的时候,一次偶然的机会我了解到了计算机,突然,我就有目标了,决定学习计算机。在B站上找到了鹏老师讲的c语言的课,开启了我的学习之路。
正文
1.基本框架
.c 源文件 .h 头文件
int main() //主函数—程序的入口—有且仅有一个
{
return 0;
}
int 是整型的意思:
main前面的int表示函数调用返回一个整型值,return 0;(用来前后呼应)
2.不同类型所占的内存空间大小:
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
printf("%d\n", sizeof(long double));//8
return 0;
}
//结果是(单位:字节byte)
c语言规定sizeof(long)>=sizeof(int),根据平台不同long有时候4有时候8
bit-字(比特位)
byte-字节
kb
mb
gb
tb
pb
计算机硬件-通电后有 正点1 负电0
1/0:一个比特位
1字节=8比特位
1kb=1024byte
后面以此类推都是1024
3.常用基本数据类型
char//字符数据类型,1字节; short//短整型,2字节; int//整型,4字节; long//长整型,4(8)字节; long long//更长的整型,8字节;float//单精度,浮点数,4字节 ;(打印出来保留5位小数) double//双精度,浮点数,8字节;
4. 变量,常量
常量:不变的(圆周率,性别,身份证号,血型等)
变量:变化的(年龄,体重,薪资等)
4.1常量:
4.1.1字面常量.
如 3; 100;
4.1.2const修饰的常变量.
const—常属性
const int n=10; //n是变量,但是又有常属性,所以我们说n是常变量
intarr[n]={0};
4.1.3#define 定义的标识常量.
#define MAX 10//定义一个字符,这个字符为10
//头文件
//定义一个字符,这个字符为10
int main() //主函数
{
int a[p] ={0} ;
printf("%d\n",p); //打印输出的值为10
return 0;
}
4.1.4枚举常量.
枚举—一一列举
如 性别:男,女,保密
三原色:红,黄,蓝
星期;1,2,3,4,5,6,7
枚举关键—(enum)
enum Color
{
red;
yellow;
blue;
}// red,yellow, blue是枚举常量
int main()
{
enum Color color=red;枚举常量不能改,枚举类型创建的变量color是可以改
color=yellow;//可以改
color=we;//不能改
// printf("%d\n", red);
// printf("%d\n", yellow);//打印的结果不同
// printf("%d\n", blue);
return 0;
}
4.2变量:
变量的属性:生命周期与作用域
&:取地址符号
4.2.1定义变量的方法.
int age=100;
float wei=45.5f;
char p=“w"; //相当于开辟了一块 字符型 的内存(即申请一块空间),命名为p,并将w赋值给p
4.2.2变量的分类.
局部变量:定义在代码块({})之内的变量
全局变量:定义在代码块({})之外的变量
局部变量和全局变量的名字建议不要相同—容易误会,产生bug,局部变量和全局变量的名字相同的时候,局部变量优先。
4.2.3作用域(生命周期)
变量哪里可以用,哪里就是作用域。
int num3 = 20; //全局变量--定义在代码块(即大括号{})之外的变量,名字为num3
int main()
{
int num1=0;//局部变量--定义在代码块({})内部的变量,名字为num1
int num2=0; //计算两个数字和
int sum=0;//C语言语法规定,变量要定义在当前代码块的最前面
scanf(“%d%d”,&num,&num2);//&:取地址符号
sum=num1+num2;
printf(“%d\n”,sum);
reture 0;
}
局部变量作用域:变量所在的局部范围 全局变量的作用域:整个工程任何地方都可以用
未声明的标识符 那么就要声明(用extern来声明外部的符号) extern int g_lj;
生命周期:变量什么时候开始,什么时候结束
局部周期:{开始~~}结束。
全局周期:是main的生命周期,也是全局的生命周期
5.打印的数据表示
%c打印字符格式的数据
%d打印整型十进制的数据(int) long int 用 %ld
%f打印单精度浮点型——打小数(float) double 用 %lf
%p打印地址形式
%x打印16进制数字
%s打印文字
待续.......