C语言学习基础知识记录分享

C语言数据类型

char 字符数据类型
short 短整型
int 整数
long 长整型
long long 更长的整型
float 单精度浮点数
double 双精度浮点数

打印数据类型输出符

%d – 一个十进制的整数
%c – 打印字符
%i – 一个整数
%f - -打印浮点数或小数
%lf – 打印双精度浮点型
%p – 以地址的形式打印,一个指针
%x – 打印16进制数字
%n – 一个等于读取字符数量的整数
%u – 一个无符号整数
%[] --一个字符集
%% – 一个精度符号

用代码输出各类型字节

//函数中出现 => 时,表示的是运行结果
int main(){
	printf("%d\n",sizeof(char));//=>1  (字节)  补:char*  为8个字节
	printf("%d\n",sizeof(short));//=>2 (字节)
	printf("%d\n",sizeof(int));//=>4( 字节 ) 补: short int  2个字节		unsigned int :4个字节
	printf("%d\n",sizeof(long));//4或8(字节
)	printf("%d\n",sizeof(long long));//8(字节)
	printf("%d\n",sizeof(float));//4(字节)
	printf("%d\n",sizeof(double));//8(字节)
}

举例说明

int main(){
    short  age=20;//向内存申请两个字节=16bit位,用来存放20;
    float weight=95.6f;//在小数后面加个f 就不会警示,因为这受双精度浮点类型影响,向内存申请4个字节,存放小数
    return 0;
}

常量变量

生活中的有些值是不变的(如圆周率、身份证、血型)
有些值是可变的比如:(年龄、体重、薪资)
定义:不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示。

定义变量的方法

举例说明

int age=150;
float weight=45.5f;
char ch='w';

变量的分类

1、局部变量
2、全局变量

区分局部变量和全局变量

举例说明

int num2=20;//全局变量-定义在大括号{}之外的变量
int main(){
	int num1=10;//局部变量-定义在大括号{} 内部的变量
return 0;
}

下面我们来写个代码,来看看全局变量和局部变量可能会存在的问题

//只要有输出语句printf(),必须写上下面这句,否则运行不出来
#include<stdio.h>;
int global=2019;//全局变量
int main(){//局部变量
	int local=2018;
	 //下面定义的global会不会有问题?
	int global=2020;
	printf("global=%d\n",global);
	return 0;
	// => global=2020
}

总结上面代码的问题:
1、局部变量和全局变量的名字尽量不要相同,容易误会,产生bug
2、当局部变量与全局变量的名字相同的时候,局部变量优先

变量的使用

int main(){//计算两个数的和
//定义变量
int num1=0;
int num2=0;
//输入数据-使用输入函数
scanf("%d%d",&num1,&num2); // & 取地址符号
int sum=0;
sum=num1+num2;
printf("sum=%d\n",sum);
return 0;//最后 小伙伴们不要忘了 int main() 函数有返回值呦
}

变量的作用域和生命周期

定义:作用域(scope),程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效、可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
这个代码哪里可以用,哪里就是它的作用域,在同一个大括号内
举例说明:

#include<stdio.h>;
int main(){//局部变量的作用域
	int num=0;
	printf("num=%d\n",num);
	return 0;
}
int main(){
	{
	int num=0;//这句语句的作用域就是在这一组大括号内的  仅仅是举例  但会运行错误
	}
	printf("num%d\n",num);
	return 0;
	//运行错误,不过 小伙伴们要分清定义呦!
}

全局变量的作用域

定义:全局变量的作用域是整个工程(可以在不同的源文件中运行,只需要输入关键字)
代码举例:

#include<stdio.h>;
int global=2020;
void test(){//自定义以及调用test()函数
	printf("test--%d\n",global);
	//=>test--2020
}
int main(){
	printf("%d\n",global);
	return 0;
	//=> 2020
}

今天小微就先更到这里吧,后期我有可能会更新其他语言,有兴趣的小伙伴可以来讨论讨论,下期不见不散呦~

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值