C语言是最基础的语言,学好C语言,为学习其他语言打好了基础,今天我们来认识一下C语言。
首先,我们来认识一下第一个C程序:
#include
int main()
{
/*printf用于在标准输出上打印信息*/
//printf用于在标准输出上打印信息
printf("hello bit.\n");
return 0;
}
C语言中main函数的程序的入口
int main()
{
return 0;
}
注意main函数的返回值类型为int注释
C注释风格
/*这是一个注释内容*/
可以注释多行,但是不能嵌套注释。
C++注释风格
//注释内容
可以嵌套使用
字符串
"hello bit.\n"
这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String
转义字符
看这段代码输出的是什么?
#include
int main()
{
printf("(are you ok ??)\n");
return 0;
}
三字母词:
三字母词 | 表示字符 |
??( | [ |
??) | ] |
??< | { |
??> | } |
转义字符:
数据类型:
char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点数
double //双精度浮点数
为什么出现这么多的类型?
每种类型的大小是多少?
#define _CRT_SECURE_NO_WARNINGS 1
#include
#include
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)); //4
printf("%d\n", sizeof(float)); //4
printf("%d\n", sizeof(double)); //8
printf("%d\n", sizeof(long double)); //8
system("pause");
return 0;
}
结果如下:
常量:
我们发现生活中有些值是不发生变化的。
比如:圆周率,性别(?),身份证号码,血型等等。
那计算机中要miao’shu描述这些信息,就得一个不变的量来表示。这种值我们叫常量。
常量的分类
(1)字面常量
1, 3.14, ‘w’, '\n',
(2)const定义的常量
#include
int main(void)
{
int num = 0;
const int c_num = 0;//const修饰标识符
num = 20;
c_num = 20;//ok?
system("pause");
return 0;
}
在C语言中,当const 修饰一个标识符的时候我们说,这个标识符依然是一个变量,但
//test.c
#include
int main()
{
//int arr[需要一个常量];
const int sz = 10;
int arr[10];//ok
int arr2[sz];//ok?
system("pause");
return 0;
}
补充:
#include
int main()
{
//int arr[需要一个常量];
const int sz = 10;
int arr[10];//ok
int arr2[sz];//ok?
system("pause");
return 0;
}
(3)#define定义的标识符常量
#include
#define PAI 3.14
int main()
{
int radius = 0;//半径
double area = PAI*radius*radius;//圆面积的计算
system("pause");
return 0;
}
(4)枚举常量
#include
enum Sex
{
MALE,
FEMALE,
SECRET
}
int main()
{
printf("%d\n", MALE);
printf("%d\n", FEMALE);
printf("%d\n", SECRET);
system("pause");
return 0;
}
这里的MALE,FEMALE,SECRET都是枚举常量。
变量
我们发现现实生活中很多的值是发生变化的。
比如:
你的身高,体重,成绩,年龄,薪资等等。
这些值又得一个变化的量来表示,在计算机语言中我们叫【变量】。
char c = 'w';
short s = 1;
int num = 0;
long age = 20;
float weight = 60.5;
double salary = 10000.00;
//上面定义的都是不同类型的变量
变量的分类
变量根据出现的位置可以划分为:
(1)局部变量
(2)全局变量
变量出现在局部范围(代码块内部)内,称为局部变量。
如:
#include
void test()
{
int num = 0;//局部变量
}
int main()
{
int num = 10;//局部变量
return 0;
}
变量出现在所有代码块之外,称为全局变量,如:
#include
int g_val = 2016;//全局变量
int main()
{
printf("hehe\n");
return 0;
}
(3)static修饰变量
#include
void test()
{
int num = 0;
num++;
printf("%d\n", num);
}
int main()
{
int i = 0;
for (i = 0; i<10; i++)
{
test();
}
return 0;
}
结果如下:
如果test函数中的num被static修饰,将会怎样?#include
void test()
{
static int num = 0;
num++;
printf("%d\n", num);
}
int main()
{
int i = 0;
for (i = 0; i<10; i++)
{
test();
}
return 0;
}
结果如下:
变量的初始化、赋值#define _CRT_SECURE_NO_WARNINGS 1
#include
#include
int main()
{
int x = 10;
int y = 20;
int sum = x + y;
system("pause");
return 0;
}
这里我们称:x + y为一个表达式。将x+y的结果赋值给sum,这里必学将x和y的计算出
int x = 1;
int y = 2;
int sum = 0;
sum = x+y;
sum = x*y;
sum = (x+y)*10;
关心求值顺序和计算结果。
2、类型属性
决定了表达式的值能否复制给其他变量。上面代码中表达式x+y ,产生结果的类
型是int,所以可以很好的赋值给sum这个整形的变量。