前言:
这一站,只是为了让我们大概的了解C语言,有些知识讲的不是特别深刻。不过,不要担心,我们这是一个连续节目。先入门,再精通。一上来讲的太难,就会导致从入门到放弃。
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
#include
int main()
{
printf("hello world\n");
return 0;
}
这里值得注意的是:
main函数是程序的入口。程序第一个读取的就是main函数,而不是第一行
一个工程中有且只有一个nain函数
如下图,我们在同一个工程中,分别创建了add.c和sub.c两个源文件,显示编译错误
.
上面所说的源文件就是后缀为 . c的文件
后缀为 . h的文件是头文件
include 是包含的意思;stdio------standard input output------标准输入输出。#include
C语言中内置的数据类型有以下几种:
char----------------------字符数据类型
short------------------------短整型
int---------------------------整形
long-------------------------长整形
long long-------------------更长的整形
float-------------------------单精度浮点型
double----------------------双精度浮点型
在此,我们应该有这样的疑问:
为什么有这么多的数据类型
每种数据类型的大小又是多少
#include
int main( )
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(long double));
return 0;
}
sizeof函数是用来计算数据及数据类型所占空间的大小的,单位是字节
一个整形类型为什么会有这么多种的类型------其实是为了更加丰富的表达生活中的各种值
那么有了数据类型,应该怎么去用呢?
double sum = 0;
char arr = 'e';
int sum = 0;
//数据类型 变量名
//建议每个变量都初始化
在日常生活中,有不变的量,也有变化的量。
在C语言中,我们把不变的量叫做常量,把变化的量叫做变量
是不是根据字面意思就很好理解
C语言中的常量分为以下几种:
//字面常量演示
3.14;//字面常量
1000;//字面常量
//const 修饰的常变量
const float pai = 3.14f; //这里的pai是const修饰的常变量
pai = 5.14;//是不能直接修改的!
//#define的标识符常量 演示
#define MAX 100
printf("max = %d\n", MAX);
- const修饰的常变量,是具有常量性质的变量(是不能直接修改的)在本质上还是一个变量
变量的命名不是随意的,有以下一些规则:
1、只能由字母(包括大写和小写)、数字和下划线( _ )组成
2、不能以数字开头
3、长度不能超过63个字符
4、变量名中区分大小写的
5、变量名不能使用关键字
变量的分类:
1.全局变量
2.局部变量
当局部变量与全局变量相撞在一起,会发生什么??
接下来,该谈谈变量的作用域和生命周期
作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用而限定这个名字的可用性的代码范围就是这个名字的作用域
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
我们以下面的程序为列子,来解释一下作用域和生命周期
#include
int main()
{
{
int a = 5;
}
printf("%d\n", a);
return 0;
}
运行结果:
#include
int main()
{
int a = 0;
{
a = 5;
}
printf("%d\n", a);
return 0;
}
"you are the best \n"
#include
//下面代码,打印结果是什么?为什么?(突出'\0'的重要性)
int main()
{
char arr1[] = "bit";
char arr2[] = { 'b', 'i', 't' };
char arr3[] = { 'b', 'i', 't', '\0' };
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
当然,我们用另一组数据也可以证明。这里要用到strlen函数
- sizeof( )函数-----用来计算数据及数据类型所占空间的大小,单位是字节
2. strlen-----头文件是,是用来专门计算字符串的大小(找到 \0 才结束),单位是个
3. 字符串的 \0 是字符串结束的标志,不算是字符串的内容
前言:假如我们要在屏幕上打印一个目录: c:\code\test.c
问题1:在屏幕上打印一个单引号’,怎么做?
问题2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?
- 代码中有不需要的代码可以直接删除,也可以注释掉
- 代码中有些代码比较难懂,可以加一下注释文字
前言:
前面C语言内置的数据类型只能用来描述一种类型。如果我们想要在一个变量中反应几种不同类型的数据类型,那么就需要我们今天所学的结构体类型
这里我们先随意定义一个结构体:
struct------结构体的标志
struct stu------结构体变量类型(相当于 int )
可以直接在后面定义一个结构体变量s, 也可以在main函数内部定义。这两种定义类型还是有区别的:前者是全局变量,后者是局部变量
下面,进行结构体初始化:
struct stu s = { 20,"沐雨",'男'};
1.结构体的初始化跟数组一样,都是用的{ }
2.依次按顺序写出初始化的数据,中间用逗号操作符( , )来连接
下面来介绍结构体用到的操作符