C程序语言教程一(关键字数据类型等)
2018-02-05 15:53
330 查看
C 程序结构
关键字
整数类型
浮点类型
void 类型
我学习C的时候用的C-Free软件,轻便简介,学C功能也完全够了。要注册码查看我的这篇文章
预处理器指令
函数
变量
语句 & 表达式
注释
让我们看一段简单的代码,可以输出单词 “Hello World”:
实例
接下来我们讲解一下上面这段程序:
程序的第一行
下一行 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是区分大小写的。Hello与hello就不一样。
注意,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。
为了得到某个类型或某个变量在特定平台上的准确大小,您可以使用 sizeof 运算符。表达式 sizeof(type) 得到对象或类型的存储字节大小。
下面的实例演示了获取 int 类型的大小:
它会产生下列结果:
头文件 float.h 定义了宏,在程序中可以使用这些值和其他有关实数二进制表示的细节。下面的实例将输出浮点类型占用的存储空间以及它的范围值:
实例
它会产生下列结果:
b681
关键字
整数类型
浮点类型
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关键字: | - | - | - |
---|---|---|---|
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 |
为了得到某个类型或某个变量在特定平台上的准确大小,您可以使用 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 位小数 |
实例
#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 的指针,可以转换为任何数据类型。 |
相关文章推荐
- DirectX 3D_基础之HLSL(高级着色语言) HLSL着色器程序的编制 HSLS变量 HLSL入口函数 HLSL程序编译 变量常量类型 设置方法 前缀 关键字 类型 语句 类型转换
- 编译器定义的C/C++语言各种基本数据类型的取值范围用程序输出
- Java2实用教程(第二版)程序代码——第二章 标识符、关键字和数据类型
- Java语言基础(关键字、标识符、注释、常量与变量、进制、数据类型、类型转换、代码示例)
- R语言基础教程1:数据类型
- C语言基础-复合类型数据,编译相关,关键字,位运算,内存管理,gdb调试
- R语言基础教程1:数据类型
- C#1.23/数据类型/注释说明/关键字/标识符/C#程序遵循规范/变量【值类型】/
- 常用程序语言的数据类型比较
- c语言学习笔记之数据类型、关键字
- C语言教程--第二章: 数据类型、运算符、表达式(连载中)
- 零基础易语言入门教程(五)之逻辑型数据类型
- 数据处理程序语言中的基本数据类型
- 汇编语言基础教程-数据类型
- EGL语言教程之一:变量与数据类型
- Java教程-Java语言数据类型
- Microsoft SQL Server 2005 数据类型 与程序语言数据类型对照
- enum C/C++程序语言中的一种数据类型
- 夺命雷公狗C/C++-----1---语言数据类型和常见32关键字
- 零基础易语言入门教程(四)之数据类型