当前位置:   article > 正文

C语言一:注释、标识符、关键字、数据类型、整数、浮点数、void、变量、变量定义、变量声明、左值右值_c语言基本数据类型,注释,关键字,标识符,变量的定义和使用

c语言基本数据类型,注释,关键字,标识符,变量的定义和使用

注释:

单行注释://
单行或多行:/* */

标识符:

字母、数字、下划线”_“组成,区分大小写
只能以字母、下划线”_“开头,不能以数字开头

关键字 

auto声明自动变量
break跳出当前循环
case开关语句分支
char声明字符型变量或函数返回值类型
const定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变
continue结束当前循环,开始下一轮循环
default开关语句中的"其它"分支
do循环语句的循环体
double声明双精度浮点型变量或函数返回值类型
else条件语句否定分支(与 if 连用)
enum声明枚举类型
extern声明变量或函数是在其它文件或本文件的其他位置定义
float声明浮点型变量或函数返回值类型
for一种循环语句
goto无条件跳转语句
if条件语句
int声明整型变量或函数
long声明长整型变量或函数返回值类型
register声明寄存器变量
return子程序返回语句(可以带参数,也可不带参数)
short声明短整型变量或函数
signed声明有符号类型变量或函数
sizeof计算数据类型或变量长度(即所占字节数)
static声明静态变量
struct声明结构体类型
switch用于开关语句
typedef用以给数据类型取别名
unsigned声明无符号类型变量或函数
union声明共用体类型
void声明函数无返回值或无参数,声明无类型指针
volatile说明变量在程序执行中可被隐含地改变
while循环语句的循环条件

数据类型

 

整数类型

为了得到某个类型或某个变量在特定平台上的准确大小,您可以使用 sizeof 运算符。表达式sizeof(type)得到对象或类型的存储字节大小。

例如:

  1. #include<stdio.h>
  2. int main()
  3. {
  4. //使用sizeof获取数据类型大小
  5. printf("Hello World!\n");
  6. printf("整数%d\n", sizeof(int));
  7. printf("单精度浮点数%d\n", sizeof(float));
  8. printf("双精度浮点数%d\n", sizeof(double));
  9. printf("字符%d\n", sizeof(char));
  10. return 0;
  11. }

输出: 

  1. Hello World!
  2. 整数4
  3. 单精度浮点数4
  4. 双精度浮点数8
  5. 字符1

浮点类型

头文件 float.h 定义了宏,在程序中可以使用这些值和其他有关实数二进制表示的细节。

 

例如:

  1. #include<stdio.h>
  2. #include<float.h>
  3. int main()
  4. {
  5. printf("float 存储最大字节数 : %d\n", sizeof(float));
  6. printf("float 最小值: %E\n", FLT_MIN);
  7. printf("float 最大值: %E\n", FLT_MAX);
  8. printf("精度值: %d\n", FLT_DIG);
  9. return 0;
  10. }

输出:

  1. float 存储最大字节数 : 4
  2. float 最小值: 1.175494E-38
  3. float 最大值: 3.402823E+38
  4. 精度值: 6

void类型

变量

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

变量定义

type variable_list;

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

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

type variable_name = value;

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

变量声明

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

变量的声明有两种情况:

  • 1、一种是需要建立存储空间的。例如:int a 在声明的时候就已经建立了存储空间。
  • 2、另一种是不需要建立存储空间的,通过使用extern关键字声明变量名而不定义它。 例如:extern int a 其中变量 a 可以在别的文件中定义的。
  • 除非有extern关键字,否则都是变量的定义。
  1. extern int i; //声明,不是定义
  2. int i; //声明,也是定义

如果需要在一个源文件中引用另外一个源文件中定义的变量,我们只需在引用的文件中将变量加上 extern 关键字的声明即可。 

addtwonum.c文件代码:

  1. #include <stdio.h>
  2. /*外部变量声明*/
  3. extern int x ;
  4. extern int y ;
  5. int addtwonum()
  6. {
  7. return x+y;
  8. }

test.c文件代码:

  1. #include <stdio.h>
  2. /*定义两个全局变量*/
  3. int x=1;
  4. int y=2;
  5. int addtwonum();
  6. int main(void)
  7. {
  8. int result;
  9. result = addtwonum();
  10. printf("result 为: %d\n",result);
  11. return 0;
  12. }

输出:

result 为: 3

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

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

  1. 左值(lvalue):指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。
  2. 右值(rvalue):术语右值(rvalue)指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。

变量是左值,因此可以出现在赋值号的左边。数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/76319
推荐阅读
相关标签
  

闽ICP备14008679号