您现在的位置是:首页 >技术杂谈 >初始C语言(2)网站首页技术杂谈

初始C语言(2)

太空程序猿 2024-07-19 00:01:01
简介初始C语言(2)

目录

变量的使用

 变量的作用域和生命周期

作用域

生命周期

 常量

字面常量

const修饰的常变量

#define定义的标识符常量

枚举常量

字符串+转义字符+注释

字符串

转义字符

注释

选择语句

循环语句


变量的使用

#include<stdio.h>
int main()
{
	int a = 0;
	scanf("%d"/*输入的格式*/, &a/*这里需要的是地址,表示数据存放在哪里*/);
	printf("%d", a);
	return 0;
}

scanf,printf:库函数—— C语言的编译器提供的现成的函数,直接可以使用;

scanf的作用是输入数据,数据从键盘读取到内存中;

printf的作用是输出数据,数据从内存中打印(输出)到屏幕上

使用的时候要包含头文件(stdio.h),不然会报错;

&a:取地址a——取出a的地址;

%d——整型;

 %s——字符串;

%f——float(单精度数据类型);

%lf——double(双精度数据类型)

%p——地址的打印;


 变量的作用域和生命周期

作用域

作用域是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效或可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域;

  • 局部变量的作用域是变量所在的局部变量范围;
​
int main()
{
	
	{
		int a = 100;/*在这个括号里可以用,出了这个括号就用不了了*/
	}
	printf("%d", a);
	return 0;
}

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

 同一个源文件下两个不同的文件,引用第一个文件的全局变量,第二个文件依然可以使用;


生命周期

变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段;

变量创建的本质实在内存中开辟一块空间,存放地址;

销毁:是把空间还给操作系统;

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

​
int main()
{
	{
		int a = 0;/*局部变量生命周期的开始*/
		int b = 0;
		int c = a + b;
		printf("%d", c);
	}/*局部变量生命周期的结束(销毁)*/
	return 0;
}

​

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

int a = 100;/*全部变量生命周期的开始*/
int main()
{
	{
		
		printf("%d", a);
	}
	return 0;
}/*全局部变量生命周期的结束(销毁)*

 常量

C语言中的常量和变量的定义的形式有所差异;

C语言中的常量分为以下几种:

字面常量

比如:3;3.14;'a'(字符);"abc"(字符串);

直接写出它的值,而且是一个常属性的值;

const修饰的常变量

​
const int a = 3;/*这里的a是const修饰的常变量*/
a = 5;/*是不能直接修改的!*/

这里的a是具有常属性的,不能被改变,但是本质上还是变量;

#define定义的标识符常量

#include<stdio.h>
#define CH 'a'
int main()
{
	printf("%c", CH);
	return 0;
}

枚举常量

生活中有些值是可以一一列举的;

比如性别:男,女·,保密;

#include<stdio.h>
enum SEX
{
	MALE,/*(枚举常量)*/
	FEMALE,/*(枚举常量)*/
	SECRET/*(枚举常量)*/
};
int main()
{
	printf("%d", MALE);
	printf("%d", FEMALE);
	printf("%d", SECRET);
}

enum是关键字;

列出来枚举类型enum SEX的可能赋值;

初始值默认是从0开始的,依次向下增1的,可以给初始值赋值,但不能对值进行修改;


字符串+转义字符+注释

字符串

字符串——一串字符(如"abc");

字符——键盘上敲出的任何东西都叫字符(如'a','b','c');

"hello bit"

这种由双引号引起来的一串字符成为字符串面值,或者简称字符串;

字符串的结束标志是一个的转义字符;

在字符串的末尾隐藏一个,这个是字符串的结束标志;

在计算字符串长度的时候是结束标志,不算字符串内容;

printf以%s打印字符串的时候,就从你给的地址打印,一直打印到,停止;

​
int main()
{
	char ch1[]/*数组*/ = { 'a','b','c' };
	char ch2[]/*数组*/ = "abc";
	int len1 = strlen(ch1);/*求ch1字符串的长度,并把值赋值给len1*/
	printf("%d
", len1);
	int len2 = strlen(ch2); /*求ch2字符串的长度,并把值赋值给len2*/
	printf("%d
", len2);
	return 0;
}

​

strlen——是一个库函数,用来求字符串长度的,就是从给定的地址,向后数字符,知道遇到结束,不统计在内(头文件——#include<string>);

转义字符

转义字符就是转变原来的意思;

转义字符释义
?
在书写连续多个问号时使用,防止他们被解析成三字母词
'
用于表示字符常量
用于表示一个字符串内部的双引号
\
用于表示一个反斜杠,防止它被解释为一个转义序列符
a
警告字符,蜂鸣

退格符
f
进纸符
换行
回车
水平制表符
v
垂直制表符
ddd
ddd表示1~3个八进制的数字。 如: 130 表示字符X
xdd
dd表示 2 个十六进制数字。 如: x30 表示字符 0

ddd——ddd表示1~3个八进制的数字,八进制的数字转换成十进制后,把十进制作为ASCII值代码的字符;

xdd——dd表示2个十六进制数字,十六进制的数字转换成十进制后,把十进制作为ASCII值代码的字符;


注释

代码中不需要的代码可以直接删除,也可以注释掉;

代码中有些代码比较难懂,可以加一下注释文字;

以//开头的的注释是属于C++注释风格;

//"hello bit"

/*~*/C语言注释风格(不支持注释嵌套);

/*"hello bit"*/

快捷键:(ctrl+k,ctrl+c)注释——(ctrl+k,ctrl+u)取消注释;


选择语句

if语句;

else语句;

int main()
{
	int flag = 0;/*一个等号是赋值*/
	scanf("%d", &flag);
	if (flag == 1)/*两个等号是相等*/
		printf("好");
	else if (flag == 0)
		printf("不好");
}

今天先简单的带大家认识一下选择语句;


循环语句

while语句;

生活中有些事是重复的做的,就是循环;

int main()
{
	int line = 0;
	while (line < 5000)
	{
		printf("敲代码:%d
", line);
		line++;
	}
	return 0;
}

今天先简单的带大家认识一下while语句;


持续跟新中.........

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。