一、基本语法
C的令牌(Tokens)
C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。
关键字(保留字)
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 |
二、数据类型
在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
整数类型
类型 | 存储大小 | 值范围 |
---|---|---|
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位系统为主。
以下列出了32位系统与64位系统的存储大小的差别(windows 相同):
为了得到某个类型或某个变量在特定平台上的准确大小,您可以使用 sizeof 运算符。表达式 sizeof(type) 得到对象或类型的存储字节大小。下面的实例演示了获取各数据类型的大小:
1 #include <stdio.h> 2 #include <limits.h> 3 4 int main() 5 { 6 printf("int 存储大小 : %lu ", sizeof(int)); 7 printf("short int 存储大小 : %lu ", sizeof(short int)); 8 printf("long int 存储大小 : %lu ", sizeof(long int)); 9 printf("long long int 存储大小 : %lu ", sizeof(long long int)); 10 printf("float 存储大小 : %lu ", sizeof(float)); 11 printf("double 存储大小 : %lu ", sizeof(double)); 12 13 return 0; 14 }
浮点类型
浮点型数据是用来表示具有小数点的实数的。
类型 | 存储大小 | 值范围 | 精度 |
---|---|---|---|
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 定义了宏,在程序中可以使用这些值和其他有关实数二进制表示的细节。下面的实例将输出浮点类型占用的存储空间以及它的范围值:
1 #include <stdio.h> 2 #include <float.h> 3 4 int main() 5 { 6 printf("float 存储最大字节数 : %lu ", sizeof(float)); 7 printf("float 最小值: %E ", FLT_MIN ); 8 printf("float 最大值: %E ", FLT_MAX ); 9 printf("精度值: %d ", FLT_DIG ); 10 11 return 0; 12 }
if ( U.read(me.Blog) ) $("#推荐").click(); if ( U.copy(me.Blog) ) $("#u Blog").console("原文链接:http://www.cnblogs.com/Grand-Jon/p/7417511.html "); else me.Fuck(U);