C语言教程01 - 初始C语言01

举报
芒果_Mango 发表于 2022/01/29 21:43:10 2022/01/29
【摘要】 ✈如有错误,欢迎大佬们批评指正!谢谢 初始C语言01 1.c语言标准规定的long long 长度sizeof(long long) >=sizeof(long) >= sizeof(int) 2.实型 就是浮点型 3.计算机中的单位bit:比特位byte: 字节 1byte = 8bitkb = 1024bytemb = 1024 kbgb = 1024mbtb = 1024 ...

✈如有错误,欢迎大佬们批评指正!谢谢


初始C语言01

1.c语言标准规定的long long 长度

sizeof(long long) >=sizeof(long) >= sizeof(int)				

2.实型 就是浮点型


3.计算机中的单位

bit:比特位
byte: 字节  1byte = 8bit
kb = 1024byte
mb = 1024 kb
gb = 1024mb
tb = 1024 gb
pb = 1024 tb

4.一个工程里有且只有一个main函数

多文件情况下也是一样


5.局部变量和全局变量

局部变量 - 在大括号(代码块)内部定义的变量就是局部变量

全局变量 - 在大括号外部定义的变量就是全局变量

作用域

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

全局变量的作用域:整个工程都可以使用

生命周期

1.程序的生命周期其实和main函数的生命周期一样

2.局部变量的生命周期:进入局部变量所在的范围开始,出局部变量范围生命周期结束

3.全局变量的生命周期:程序的生命周期


6.字面常量

直接写出来的值

如: 3.14
	 a

7.const修饰的常变量

一个变量不能改变就说明具有常属性 ,但仍是变量,是常变量

例子:

int n = 100;
int arr[n] ={0}; //错误,[]内的必需为常数 ,写成变量是变长数组,而C99才支持变长数组的概念

const int  n = 100;	//n不是常量,n只是具有常属性,不能被修改而已
int arr[n] = {0}; 	//错误,	

8.#define定义的标识符常量

通过define定义出来的就是真的常量

注意:#define定义后面不跟分号

#define Max 100
int main()
{
    int a  =Max;
    int arr[Max] = {0};		//正确,因为#define定义出来的Max是常量
    printf("%d\n",a);
    Max = 200;		//错误  Max为常量,不能被修改
    return 0;
}

9.枚举

生活中有些东西可以一一列举

如:性别:男,女,保密 三元色:红绿蓝

enum Sex		//enum Sex 是枚举类型
{
    //枚举的可能取值--枚举常量,可以被赋值,否则第一个数从0开始,数值依次往下+1
    MALE,			
    FEMALE,
    SECRET
};		//注意要有分号

注意:枚举常量后面跟的是逗号 不是分号
     最后一个枚举常量后面可以不跟逗号,其余要有逗号
enum Sex
{
	MALE,
	FEMALE,
	SECRET
};
int main()
{
	enum Sex s = SECRET;	//s是枚举变量,值是SECRET对应的值
    s = 10;	//正确,s是变量,可以更改s的值,
    // MALE = 4;   //ERR  因为MALE是常量,不能被修改
    
    //若枚举常量不赋值,默认从0开始,值往下+1
	printf("%d\n", MALE);	//0
	printf("%d\n", FEMALE);	//1
	printf("%d\n", SECRET);	//2    
	return 0;
}
enum Sex
{
	MALE=3,
	FEMALE=7,
	SECRET
};
int main()
{
	printf("%d\n", MALE);	//3
	printf("%d\n", FEMALE);	//7 
	printf("%d\n", SECRET);	//8	//SECRET未被赋值,值顺着FEMALE往下+1
	return 0;
}

10.关于变长数组

C99中的概念

编译器一定要支持C99标准,否则运行不了

变长数组不可以初始化

//c99
int n = 10;
int arr[n] = {0};	//err 变长数组不可以初始化

int arr[n];	//正确

11.字符串

字符串末尾默认放\0 ,

image.png

对于数组而言,未初始化部分自动放\0


今天就先到这吧~希望对你有所帮助!欢迎老铁们点个关注订阅这个专题! 同时欢迎大佬们批评指正!

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。