一、变量的定义与初始化
# include <stdio.h>
int main()
{
int age; //定义整型变量
float salary; //定义浮点型变量
char grade; //定义字符型变量
int *ptr; //定义指针变量
int i, j, k; //定义多个变量
int x = 10; //整型变量 x 初始化为 10
float pi = 3.14; //浮点型变量 pi 初始化为 3.14
char ch = 'A'; //字符型变量 ch 初始化为字符 'A'
/*
int x; //定义整型变量x
x = 20; //变量x初始化为20
*/
return 0;
}
二、变量声明的两种方式
- 需要建立存储空间。例如:int a 声明时就建立了存储空间。
- 不需要建立存储空间,通过使用extern关键字声明变量名而不定义它。例如:extern int a 其中变量 a 可以在别的文件中定义的。
int a; //声明,也是定义
extern int a; //声明,不是定义
三、变量只有定义后才能使用
#include <stdio.h>
// 定义变量 x 和 y(如果未定义,直接在下面赋值时编译会报错)
int x;
int y;
int addtwonum()
{
// 函数内声明变量 x 和 y 为外部变量
extern int x;
extern int y;
// 给外部变量(全局变量)x 和 y 赋值
x = 1;
y = 2;
return x+y;
}
int main()
{
int result;
// 调用函数 addtwonum
result = addtwonum();
printf("result 为: %d",result); // result 为: 3
return 0;
}
四、一个源文件引用另一个源文件中定义的函数
1. 在同一个项目下新建源文件main.c和unit01.c,在main函数中直接调用unit01函数
main.c文件代码
#include<stdio.h>
int main()
{
void hello(); //函数声明
hello(); //使用该方法调用函数,必须对其进行函数声明
return 0;
}
unit01.c文件代码
#include<stdio.h>
void hello()
{
printf("hello world");
}
2. 在源文件的开头,函数的外部对被调用函数进行声明
main.c文件代码
#include<stdio.h>
int sum(int a, int b); //函数声明
int main()
{
printf("%d", sum(2, 3)); //使用该方法调用函数,必须对其进行函数声明
return 0;
}
unit02.c文件代码
int sum(int a, int b)
{
return a + b;
}
3. 将被调用函数声明在头文件中,然后在源文件中引入头文件
头文件test.h代码
/*头文件中对函数进行声明*/
void hello();
int sum(int a, int b);
主函数main.c代码
#include<stdio.h>
#include "test.h"
int main()
{
hello();
printf("%d", sum(2, 3)); //头文件中已经进行了函数声明
return 0;
}
被调用函数unit01.c代码
#include<stdio.h>
void hello()
{
printf("hello world\n");
}
被调用函数unit02.c代码
int sum(int a, int b)
{
return a + b;
}
五、整型常量
#include<stdio.h>
int main(){
int myInt = 85;/* 十进制 */
int m = 0213;/* 有前缀0,是八进制 */
int n = 0x4b;/* 有前缀0x,是十六进制 */
unsigned int a = 30u;/* 无符号整型 */
long b = 30l;/* 长整型 */
unsigned long c = 20ul;/* 无符号长整型 */
}
六、浮点型常量
#include<stdio.h>
int main(){
float myFloat = 3.14f;
double myDouble = 3.14159;
}
七、字符常量和字符串常量
#include<stdio.h>
int main(){
char myChar = 'a';/* 字符常量 */
char myString[] = "hello world";/* 字符串常量 */
}
八、定义常量的两种方式
- 使用 #define 预处理器: #define 可以在程序中定义一个常量,它在编译时常量名会被替换为其对应的值。
- 使用 const 关键字:const 关键字用于声明一个只读变量,即该变量的值不能在程序运行时修改。
#define 预处理器
# define 常量名 常量值
#include<stdio.h>
#define LENGTH 10
#define WIDTH 5
#define NEWLINE '\n'
int main(){
int area; /* 定义面积变量 */
area = LENGTH * WIDTH;
printf("value of area: %d", area); /* value of area: 50 */
printf("%c", NEWLINE); /* %c 单个字符 */
}
const 关键字
const 数据类型 常量名 = 常量值; /* 使用该常量时,其值将始终为常量值,并且不能被修改 */
#include<stdio.h>
int main(){
const int LENGTH = 10;
const int WIDTH = 5;
int area; /* 定义面积变量 */
area = LENGTH * WIDTH;
printf("value of area: %d", area); /* value of area: 50 */
}