C语言(一)——初识C语言

目录

简单认识一段代码

数据类型

变量和常量

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

常量

字符串

转义字符

注释

函数

数组

操作符

关键字

结构体

结构的声明

结构成员的类型

结构体变量的初始化

结构体传参


简单认识一段代码

main()函数是程序的入口,所以要有主函数mian(),必须且唯一, int表示整型,“()”中为函数的参数,return 表示返回,0表示整数,为什么返回 0 ,而不返回其他整数,在共识中,认为 0 表示正常返回,约定俗成。

printf为打印,打印的内容用双引号打印,语句结束要用英文分号 “;” 结尾。

【此外:scanf为输入函数 scanf("%d %d", &a, &b) ,其中输入两个数a, b,并用空格分开,“&”表示取地址,如果输入的数据 x 是个数组,就不需要加地址符号“&”, 因为数组名本身就是地址。使用 scanf时添加 #define _CRT_SECURE_NO_WARNINGS,仅限于vs软件编辑。scanf_s是vs平台自有的函数】

printf为库函数,要是用库函数需要引入头文件 # include<stdio.h>

#include<stdio.h>
int main(){
	printf("hello");
    return 0;
}

数据类型

char        //字符串数据类型        用单引号引起

short        //短整型

int        //整型

long         //长整型

long long        //更长的整型

float        //单精度浮点数

double        //双精度浮点数

bool        // 布尔类型        大小是 1

注意:C语言中没有 字符串 类型

每一种类型的大小是多少?

int main() {
	printf("%d\n", 100);	// %d 表示打印整型  \n 表示回车
	printf("%d\n", sizeof(char));	//sizeof 表示某一类型的数据在内存中所占空间的大小
	printf("%zu\n", sizeof(int));	// zu 表示打印一个 sizeof 返回的无符号整型
	printf("%zu\n", sizeof(long));
	printf("%zu\n", sizeof(long long));
	printf("%zu\n", sizeof(float));
	printf("%zu\n", sizeof(double));
	return 0;
}

运行结果:返回的的单位是字节(byte)

计算机中的单位

计算机中的最小单位是比特位(bit)

bit——比特位

byte——字节

kb

mb

gb

pb

计算机中存储方式是二进制,存储 0 或者 1 的大小就是一个比特位的大小, 8个比特位的大小是一个字节

1byte = 8bit        1kb = 1024byte        1mb = 1024kb        ...

C语言规定:

sizeof(long)>=sizeof(int)

例子:类型 int 向内存申请4字节的空间,来存放变量 age。 

int main() {
	int age = 20;
	float price = 66.6;
	return 0;
}

变量和常量

常量是不可变的,如π;变量是可变的,如身高、体重。

在定义变量时要赋值,“初始化”,不然报错“未引用的局部变量”。不进行初始化时,变量中存储的是一个随机值。 

int main() {
	short age = 20;	//年龄
	int height = 180;	//身高
	float weight = 60.5;	//体重
	return 0;
}

变量分为局部变量全局变量

main是一个函数,函数内部定义的变量是局部变量,函数外定义的变量是全局变量。 

int a = 20;
int main() {
	short age = 20;	//年龄
	int height = 180;	//身高
	float weight = 60.5;	//体重
	int b = 20;
	return 0;
}

报错:在同一个范围内,变量不能被重复定义


int main() {
	short age = 20;	//年龄
	int height = 180;	//身高
	float weight = 60.5;	//体重
	int b = 20;
    int b = 200;
	return 0;
}

在函数内部打印变量值时, 如果全局变量和局部变量的名字冲突,则局部变量优先。

建议全局和局部变量的命名不要冲突。

int b = 200;
int main() {
	short age = 20;	//年龄
	int height = 180;	//身高
	float weight = 60.5;	//体重
	int b = 20;
    print("%d", a);
	return 0;
}

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

变量的作用域:变量在哪里可用,哪里就是变量的作用域。

局部变量的作用域是变量所在的局部范围

全局变量的作用域是整个工程

局部变量作用域:

报错:a未定义,a定义在“{}”内,无法在“{}”外直接使用

int main() {
	{
		int a = 10;
		//printf("%d\n", a);
	}	

	printf("%d\n", a);
	return 0;
}

全局变量作用域:

可以应用于整个工程,同一工程下的不同文件同样适用

在同一工程下的 extern.c文件中定义变量

#include<stdio.h>
#define _CRT_SECURE_NO_WARNINGS

int a = 10;

在class_1.c文件中调用

若想使用外部变量,需要使用“extern”声明,“extern”是用来声明一个符号的,“include”是声明一个文件。

extern a;
int main() {
	{
		//int a = 10;
		//printf("%d\n", a);
	}	

	printf("%d\n", a);
	return 0;
}

 运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Billie使劲学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值