初始C语言(1)

一.第一个C程序

#incluude<stdio.h>
int main()
{
    printf("Hello world!");
    return 0;
}

相信各位在刚接触C语言的时候都见过这段代码,现在也以它为开头,一起来掀开C语言的神秘面纱!

一个程序的入口是main函数,而一个工程有且只有一个main函数。

这里提到的工程并不是指main函数所在的源文件,一个真正的程序往往包含多项功能,而实现这每一个功能就有可能会有上万行代码,如果我们将这些代码都放到一个源文件中,那将会让人崩溃。这时候,我们只需要将这些代码分门别类地放到多个源文件中,就能让我们的代码更加清晰明了,这就是一个工程的构建。

二.数据类型

C语言为我们提供了丰富的数据类型,我们可以根据需要的数据范围和类型进行合理选择。

让我们一起来看看每种类型的大小(字节):

#include <stdio.h>
int main()
{
     printf("%d\n", sizeof(char));       //字符数据类型 1字节
     printf("%d\n", sizeof(short));      //短整型       2字节
     printf("%d\n", sizeof(int));        //整型         4字节
     printf("%d\n", sizeof(long));       //长整型       4字节
     printf("%d\n", sizeof(long long));  //更长的整型   8字节
     printf("%d\n", sizeof(float));      //单精度浮点数 4字节
     printf("%d\n", sizeof(double));     //双精度浮点数 8字节
     return 0;
}

注:以上类型大小是在VS上运行的结果。

三.常量和变量

在C语言中,不变的值我们用常量表示;可变的值用变量表示。

1.变量的定义与命名

int age=56;
char c='z';
float score=90.5;
  • 变量只能由字母、数字和下划线组成。
  • 不能以数字开头。
  • 长度不能超过63个字符。
  • 变量名不能使用关键字。
  • 变量名中区分大小写。

2.变量的分类

  • 局部变量:在一个函数内部或复合语句内部定义的变量(也是常说的在{ }以内定义的变量)。
  • 全局变量:在所有函数外部定义的变量。
#include<stdio.h>

int apple=7;//全局变量

void print()
{
    printf("%d",apple);
}
int main()
{
    int apple=10;//局部变量
    printf("%d",apple); //输出结果为10
    print();//打印7
    return 0;
}

总结:

在局部变量在定义时可以和全局变量同名时

  • 局部变量优先使用。
  • 如果在局部变量所在的局部范围内使用局部变量,需要对局部变量初始化或赋值。因为局部范围内定义局部变量后,全局变量在此范围失效。
  • 修改局部变量的值,对全局变量无影响。

可理解为,此时局部变量和全局变量只是名字相同的两个不同变量。

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

作用域:

1. 局部变量的作用域是变量所在的局部范围。
2. 全局变量的作用域是整个工程。

生命周期:

1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。

4.常量

1.字面常量

直接输入到程序中的值,如int a=16; 16就是一个字面常量。

2.const修饰的常变量

const int a=15;
a=16;//error 被const修饰后,a的值不能被改变,这里会报错

注:常变量并不等同于常量,在定义数组大小时,不能是const修饰的常变量。

const int a=5;
int arr[a]={0};//error const修饰a,只是在语法层面限制a不能改变,而a的本质还是变量

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

定义的标识符不占内存,只是一个临时的符号,预编译后这个符号就不存在了。

#include<stdio.h>
#define MAX 100  //在预编译时,会直接把程序中的MAX替换为100
int main()
{
    printf("%d",MAX);//输出100
}

4.枚举常量

#include<stdio.h>
enum Sex
{
MALE,
FEMALE,
SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
    printf("%d %d %d",MALE,FEMALE,SECRET);//0 1 2枚举常量的默认是从0开始,依次向下递增1的
    return 0;
}
#include<stdio.h>
enum Sex
{
	MALE=3,
	FAMALE,
	SECREAT=6
};
int main()
{
	printf("%d %d %d", MALE, FAMALE, SECREAT);//3 4 6
	return 0;
}

注意:在定义枚举常量时,最后的分号不要忘记。

结语:

后期会持续更新C语言相关内容....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值