C程序语言教程一(关键字数据类型等)

我学习C的时候用的C-Free软件,轻便简介,学C功能也完全够了。要注册码查看我的这篇文章

C 程序结构

C 程序主要包括以下部分:

  • 预处理器指令
  • 函数
  • 变量
  • 语句 & 表达式
  • 注释

让我们看一段简单的代码,可以输出单词 “Hello World”:
实例

#include <stdio.h>

int main()
{
   /* 我的第一个 C 程序 */
   printf("Hello, World! \n");
   return 0;
}

接下来我们讲解一下上面这段程序:

程序的第一行#include <stdio.h>是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。
下一行 int main() 是主函数,程序从这里开始执行。
下一行 // 将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。
下一行 printf(…) 是 C 中另一个可用的函数,会在屏幕上显示消息 “Hello, World!”。
下一行 return 0; 终止 main() 函数,并返回值 0。

编译 & 执行 C 程序
接下来让我们看看如何把源代码保存在一个文件中,以及如何编译并运行它。下面是简单的步骤:
打开一个文本编辑器,添加上述代码。

  • 保存文件为 hello.c。
  • 打开命令提示符,进入到保存文件所在的目录。
  • 键入 gcc hello.c,输入回车,编译代码。
  • 如果代码中没有错误,命令提示符会跳到下一行,并生成 a.out 可执行文件。
  • 现在,键入 a.out 来执行程序。
  • 您可以看到屏幕上显示 “Hello World”。

C-Free点击运行即可:
这里写图片描述

注意事项:

  • 所有代码段符号都是英文输入法下的,比如() ' " ; : . [] {}这些符号,由于输出内容或注释可能会切换到中文,再接着写代码时忘记切换回英文,一旦书写错误,符号错误极难发现,如若没有编译器自动提醒!这不仅仅是写C才有的问题!
  • 该有;时不写;,不该有是还写,都会导致编译不通过,比如声明变量int haha就不能编译,需要分号!再如函数结束时写出这样也不能通过:fun(){...};因为最后不需要分号!
  • 空格使用不当!该有空格的地方不能少,可以多。比如:inthaha错的。正确的:int haha
  • 变量命名不能用关键字!关键字后面讲,另外命名规范后面讲到。
  • C是区分大小写的。Hello与hello就不一样。

关键字

下表列出了 C 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。

C89关键字:---
autoelselongswitch
breakenumregistertypedef
caseextern return union
charfloatshortunsigned
constforsignedvoid
continuegotosizeofvolatile
defaultifstaticwhile
dointstruct_Packed
double
C99新增关键字:
_Bool_Complex_Imaginaryinline
restrict
C11新增关键字:
_Alignas_Alignof_Atomic_Generic
_Noreturn_Static_assert_Thread_local

整数类型

下表列出了关于标准整数类型的存储大小和值范围的细节:

类型存储大小值范围
char1 字节-128 到 127 或 0 到 255
unsigned char1 字节0 到 255
signed char1 字节-128 到 127
int2 或 4 字节-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int2 或 4 字节0 到 65,535 或 0 到 4,294,967,295
short2 字节-32,768 到 32,767
unsigned short2 字节0 到 65,535
long4 字节-2,147,483,648 到 2,147,483,647
unsigned long4 字节0 到 4,294,967,295

注意,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。

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

下面的实例演示了获取 int 类型的大小:

#include <stdio.h>
#include <limits.h>

int main()
{
   printf("int 存储大小 : %lu \n", sizeof(int));

   return 0;
}

它会产生下列结果:

int 存储大小 : 4 

浮点类型

下表列出了关于标准浮点类型的存储大小、值范围和精度的细节:

类型存储大小值范围精度
float4 字节1.2E-38 到 3.4E+386 位小数
double8 字节2.3E-308 到 1.7E+30815 位小数
long double16 字节3.4E-4932 到 1.1E+493219 位小数

头文件 float.h 定义了宏,在程序中可以使用这些值和其他有关实数二进制表示的细节。下面的实例将输出浮点类型占用的存储空间以及它的范围值:
实例

#include <stdio.h>
#include <float.h>

int main()
{
   printf("float 存储最大字节数 : %lu \n", sizeof(float));
   printf("float 最小值: %E\n", FLT_MIN );
   printf("float 最大值: %E\n", FLT_MAX );
   printf("精度值: %d\n", FLT_DIG );

   return 0;
}

它会产生下列结果:

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

void 类型

void 类型指定没有可用的值。它通常用于以下三种情况下:

类型描述
函数返回为空C 中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的返回类型为空。例如 void exit (int status);
函数参数为空C 中有各种函数不接受任何参数。不带参数的函数可以接受一个 void。例如 int rand(void);
指针指向 void类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数 void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值