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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_34781336/article/details/79260319

我学习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关键字: - - -
auto else long switch
break enum register typedef
case extern return union
char float short unsigned
const for signed void
continue goto sizeof volatile
default if static while
do int struct _Packed
double
C99新增关键字:
_Bool _Complex _Imaginary inline
restrict
C11新增关键字:
_Alignas _Alignof _Atomic _Generic
_Noreturn _Static_assert _Thread_local

整数类型

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

类型 存储大小 值范围
char 1 字节 -128 到 127 或 0 到 255
unsigned char 1 字节 0 到 255
signed char 1 字节 -128 到 127
int 2 或 4 字节 -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int 2 或 4 字节 0 到 65,535 或 0 到 4,294,967,295
short 2 字节 -32,768 到 32,767
unsigned short 2 字节 0 到 65,535
long 4 字节 -2,147,483,648 到 2,147,483,647
unsigned long 4 字节 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 

浮点类型

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

类型 存储大小 值范围 精度
float 4 字节 1.2E-38 到 3.4E+38 6 位小数
double 8 字节 2.3E-308 到 1.7E+308 15 位小数
long double 16 字节 3.4E-4932 到 1.1E+4932 19 位小数

头文件 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 的指针,可以转换为任何数据类型。

猜你喜欢

转载自blog.csdn.net/qq_34781336/article/details/79260319