C语言初学3:变量和常量

一、变量的定义与初始化

# 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;
}

二、变量声明的两种方式

  1. 需要建立存储空间。例如:int a 声明时就建立了存储空间。
  2. 不需要建立存储空间,通过使用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";/* 字符串常量 */ 
}

八、定义常量的两种方式

  1. 使用 #define 预处理器: #define 可以在程序中定义一个常量,它在编译时常量名会被替换为其对应的值。
  2. 使用 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 */

}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值