您的位置:首页 > 其它

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

2018-02-05 15:53 330 查看
C 程序结构

关键字

整数类型

浮点类型

void 类型

我学习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 的指针,可以转换为任何数据类型。
b681
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: