C语言入门笔记 第一讲【数据类型 变量 变量的作用域和生命周期】

本文是C语言入门笔记第一讲,涵盖第一个C语言程序、数据类型(如char、int等)及计算机单位,介绍变量(全局与局部),提及scanf函数使用问题及解决办法,还阐述了变量的作用域(局部在大括号内、全局为整个工程)和生命周期(局部进出作用域、全局为程序全程)。

C语言入门笔记 第一讲

一、我的第一个C语言程序

#include<stdio.h>
#pragma warning(disable:4996)
// int是整型的意思
//main前面的int表示main函数调用返回一个整型值
//void main()是过时的写法

int num2 = 20;//全局变量--定义在代码块({})之外的变量
int a = 100;//全局变量a
int main() { 
	//主函数,程序的入口,有且仅有一个。从这里开始执行,不能没有他。按F10开始执行,按一下F10,执行一条语句
	//这里完成任务
	//在屏幕上输出hello world
	//函数-printf-打印函数
	//库函数-C语言本身提供给我们使用的函数-使用需要打招呼-#include<stdio.h>
	//std:标准  io:input&output .h:head,头文件后缀

	printf("hello world\n");
	//char 字符类型
	char ch = 'A';//向计算机内存申请一块空间。存放一个字符A
	printf("%c\n",ch);//%c -- 打印字符格式的数据

	int age = 20;
	printf("%d\n", age);//%d -- 打印整型十进制数据

	float f = 5.0;
	printf("%f\n", f);

	double d = 3.14;
	printf("%lf\n", d);

	printf("char:%d(数字代表字节数)\n", sizeof(char));
	printf("int:%d\n",sizeof(int));
	printf("short:%d\n",sizeof(short));
	printf("long:%d\n",sizeof(long));
	printf("long long:%d\n", sizeof(long long));
	printf("float:%d\n", sizeof(float));
	printf("double:%d\n", sizeof(double));

	short age2 = 20;//向内存申请2个字节=16个bit位,用来存放20这个数
	float weight = 95.6f;//向内存申请4个字节存放小数,后面加f意思是申明它是一个单精度浮点类型,因为默认是double-双精度浮点类型

	int num1 = 20;//局部变量--定义在代码块之内的变量
	int a = 10;//局部变量a
	printf("%d\n", a);//全局变量a和局部变量a可以共存--但打印出来的是局部变量a
	//局部变量和全局变量名字不建议相同

	int numb1 = 1;
	int numb2 = 2;
	//输入数据-使用输入函数scanf
	scanf("%d%d", &numb1, &numb2);
	//取地址符号&
	int sum = 0;
	sum = numb1 + numb2;
	printf("sum = %d\n", sum);
	return 0;//返回0
}

二、数据类型

1.char:字符数据类型

2.short int:短整型

3.int:整型

4.long int:长整型

5.long long int:更长的整型

6.float:单精度浮点数

7.double:双精度浮点数

 

%d -- 打印整型

%c -- 打印字符

%f -- 打印浮点数,打印小数

%p -- 以地址的形式打印

%x -- 打印16进制的数字

 

计算机中的单位

bit - 比特位

计算机是硬件 -- 通电

正电:1 负电:0

要存一个1或者一个0:开辟一个空间 这个空间大小就是一个bit位,也叫二进制

byte:字节

一个字节是8个bit位

如10110011

是一个字节

一个字节=8个比特位的大小

1k byte = 1024b

m byte

g byte

t byte

p byte

 

数字代表能表示的字节数:

char:1
int:4
short:2
long:4
long long:8
float:4
double:8

以int为例,int可表示4个字节的数,而一个字节是8位,所以int可表示32个二进制位的数,即2的32次方个数

所以int可表示的数据范围为:0~2^32-1

short int可表示的数据范围为:0~2^16-1 (0~65535)

假如要表示年龄,则用short age更合适,更节省空间

 

三、变量

全局变量--定义在代码块({})之外的变量

局部变量--定义在代码块({})之内的变量

int b = 20;//全局变量

int main(){

{

int a = 10;//这个a是属于这个大括号内的局部变量,只能在大括号内使用

}

printf("%d\n",a);//这样就会报错,因为没有声明这个变量a,而是在上面的代码块里声明的

printf("%d\n",b);//不会报错,因为b是全局变量

return 0;

}

tips:

全局变量a和局部变量a可以共存--但打印出来的是局部变量a

局部变量和全局变量名字不建议相同

 

四(番外)、scanf函数

scanf("%d%d",&a,&b);

&为取址运算符

    int numb1 = 1;
	int numb2 = 2;
	//输入数据-使用输入函数scanf
	scanf("%d%d", &numb1, &numb2);
	//取地址符号&
	int sum = 0;
	sum = numb1 + numb2;
	printf("sum = %d\n", sum);

这样的话会报错:返回值被忽略: “scanf”

原因:是因为微软认为scanf不安全导致的。

解决方法:在程序开头加上:#pragma warning(disable:4996)

还可以使用微软的编译器,将scanf改成scanf_s即可。

五、变量的作用域和生命周期

作用域(scope)

一个变量可以用的范围。

1.局部变量是在大括号内,全局变量是整个工程

2.全局变量在同一工程的其他源文件下定义,可在本源文件下使用

生命周期

1.局部变量的生命周期是:进入作用于开始,出作用域结束

2.全局变量的生命周期是:整个程序的生命周期

 

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值