C语言代码信息

运行结果
教程手册
代码仓库
点击编辑器上方的运行按钮,会在此处显示运行结果。
以下是用户最新保存的代码
获取Linux主机的唯一标识 发布于:2020-08-11 16:32 extern 修饰符用于当有两个或多个文件共享相同... 发布于:2020-08-11 15:58 变量在头部就已经被声明, 它们是在主函数内被定义... 发布于:2020-08-11 14:30 输出浮点类型占用的存储空间以及它的范围值 发布于:2020-08-11 14:21 表达式 sizeof(type) 获取 int 类... 发布于:2020-08-11 14:18 函数定义声明和全局变量 发布于:2020-08-11 11:56 3.给出两个 非空 的链表用来表示两个非负的整数。... 发布于:2020-08-11 15:31 2.给定一个排序链表,删除所有重复的元素,使得每个... 发布于:2020-08-07 21:43 2.给定一个排序链表,删除所有重复的元素,使得每个... 发布于:2020-08-07 21:43 2.给定一个排序链表,删除所有重复的元素,使得每个... 发布于:2020-08-08 12:32 九九乘法表 发布于:2020-08-05 20:25 个人学习一下 发布于:2020-08-04 19:44 重新测试链表 发布于:2020-08-07 16:20 结构体的测试学习 发布于:2020-08-01 17:10 C sandbox 发布于:2020-07-31 01:27 统计素数并求和 发布于:2020-07-28 16:12 树和二叉树 发布于:2020-07-28 14:36 反转一个单链表。原学习 发布于:2020-08-06 09:12 //带表头结点的单向链表 发布于:2020-07-28 16:01 反转一个单链表。 发布于:2020-08-01 17:06 同步机制学习 发布于:2020-07-26 17:21 设计预览项目 发布于:2020-07-25 21:30 分块检索法实验1 发布于:2020-07-25 10:39 时间戳时间计算 发布于:2020-07-24 15:56 两有序数组合并排序--非冒泡 发布于:2020-07-23 13:18 两有序数组合并排序--冒泡 发布于:2020-07-23 13:08 DSA学习中....... 发布于:2020-07-22 15:58 7、字符替换。要求用函数replace将用户输入的... 发布于:2020-07-21 11:04 hhhhhhhh 发布于:2020-07-18 14:47 this is a test 发布于:2020-07-18 14:29 No.1 最大因子。 发布于:2020-07-16 12:55 冒泡排序~ 发布于:2020-07-16 00:11 n! = ? 发布于:2020-07-15 22:26 1!+2!+3!+....+n!=? 发布于:2020-07-15 22:20 嘻嘻嘻嘻嘻嘻嘻 发布于:2020-07-14 19:27 123456789 发布于:2020-07-12 09:29 #inclde<stdio.h> ... 发布于:2020-07-10 22:55 9、有5个字符串,首先将它们按照字符串中的字符个数... 发布于:2020-07-21 13:51 chapter1 发布于:2020-07-08 22:57 普通计算器 发布于:2020-07-08 13:20 普通计算器 发布于:2020-07-08 13:20 shuzu sizeof 发布于:2020-07-07 18:20 输入数的阶乘 发布于:2020-07-06 10:59 输入两个正整数m和n,求其最大公约数和最小公倍数。 发布于:2020-07-05 17:04 利用条件运算符的嵌套来完成此题:学习成绩>=... 发布于:2020-07-05 15:18 将一个正整数分解质因数。例如:输入90,打印出90... 发布于:2020-07-05 11:11 打印出所有的"水仙花数",所谓... 发布于:2020-07-05 10:26 有一对兔子,从出生后第3个月起每个月都生一对兔子,... 发布于:2020-07-05 09:57 分行与列考虑,共 9 行 9 列,i 控制行,j ... 发布于:2020-07-04 20:45 用*号输出字母C的图案。 发布于:2020-07-04 20:25 [更多]
显示目录

变量

变量

变量就是可以变化的量,是程序可操作的存储区的名称。

每个变量都有特定的类型,类型决定了变量存储的大小和布局。每个变量都会有一个名字(标识符)。变量占据内存中一定的存储单元。

使用变量之前必须先定义变量,要区分变量名和变量值是两个不同的概念。

变量的名称可以由字母、数字和下划线字符组成。必须以字母或下划线开头。但是大写字母和小写字母是不同的,因为 C 是大小写敏感的。

C语言中有多种基本的变量类型:

类型 描述
char 通常是一个八位字节(一个字节)。这是一个整数类型。
int 对机器而言,整数的最自然的大小。
float 单精度浮点值。
double 双精度浮点值。
void 表示类型的缺失。
short 短整型
long 长整型

枚举、指针、数组、结构、共用体等等其他类型的变量,C 语言也允许定义

变量定义完成后,接下来就是使用变量,为变量赋值。 将一个值放到一个变量中,这个动作叫“赋值”。通俗点讲,“给变量赋值”意思就是将一个值传给一个变量。

赋值的格式是: 变量名 = 要赋的值;

C 中的变量定义

定义变量就是:告诉编译器如何创建丶在何处创建变量的存储。

定义变量的格式:数据类型 变量名; 定义变量是一条语句,语句后都要加分号' ;' 不能省略分号。 定义变量指定一个数据类型,并包含了该类型的一个或多个变量的列表,如下所示:

type variable_list;

type 在这里必须是一个有效的 C 数据类型,可以是 char、w_char、int、float、double、bool 或任何用户自定义的对象,variable_list 可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔。下面列出几个有效的声明:

int    i, j, k;
char   c, ch;
float  f, salary;
double d;

行 int i, j, k; 声明并定义了变量 i、j 和 k,这指示编译器创建类型为 int 的名为 i、j、k 的变量。

在声明的时候变量可以被初始化(指定一个初始值)。初始化器由一个等号,后跟一个常量表达式组成,如下所示:

type variable_name = value;

下面列举几个实例:

extern int d = 3, f = 5;    // d 和 f 的声明 
int d = 3, f = 5;           // 定义并初始化 d 和 f
byte z = 22;                // 定义并初始化 z
char x = 'x';               // 变量 x 的值为 'x'

不带初始化的定义:带有静态存储持续时间的变量会被隐式初始化为 NULL(所有字节的值都是 0),其他所有变量的初始值是未定义的。

C 中的变量声明

变量声明向编译器保证变量以给定的类型和名称存在,这样编译器在不需要知道变量完整细节的情况下也能继续进一步的编译。变量声明只在编译时有它的意义,在程序连接时编译器需要实际的变量声明。

当您使用多个文件且只在其中一个文件中定义变量时(定义变量的文件在程序连接时是可用的),变量声明就显得非常有用。您可以使用 extern 关键字在任何地方声明一个变量。虽然您可以在程序中多次声明一个变量,但变量只能在某个文件、函数或代码块中被定义一次。

实例 尝试下面的实例,其中,变量在头部就已经被声明,但它们是在主函数内被定义和初始化的:

#include <stdio.h>

// 变量声明
extern int a, b;
extern int c;
extern float f;

int main ()
{
  /* 变量定义 */
  int a, b;
  int c;
  float f;

  /* 实际初始化 */
  a = 10;
  b = 20;

  c = a + b;
  printf("value of c : %d \n", c);

  f = 70.0/3.0;
  printf("value of f : %f \n", f);

  return 0;
}

运行实例

当上面的代码被编译和执行时,它会产生下列结果:

value of c : 30
value of f : 23.333334

同样的,在函数声明时,提供一个函数名,而函数的实际定义则可以在任何地方进行。例如:

// 函数声明
int func();

int main()
{
    // 函数调用
    int i = func();
}

// 函数定义
int func()
{
    return 0;
}

C 中的左值(Lvalues)和右值(Rvalues)

C 中有两种类型的表达式:

左值(lvalue):指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。

右值(rvalue):术语右值(rvalue)指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。 变量是左值,因此可以出现在赋值号的左边。数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。下面是一个有效的语句:

int g = 20;

但是下面这个就不是一个有效的语句,会生成编译时错误:

10 = 20;
由JSRUN为你提供的C语言在线工具
        JSRUN提供的C语言在线运行,C语言 在线编译工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。

title

使用此草稿 删除草稿