C语言学习系列(四)C语言基本语法和数据类型

一、基本语法

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 \n", sizeof(int));
 7    printf("short int 存储大小 : %lu \n", sizeof(short int));
 8    printf("long int 存储大小 : %lu \n", sizeof(long int));
 9    printf("long long int 存储大小 : %lu \n", sizeof(long long int));
10    printf("float 存储大小 : %lu \n", sizeof(float));
11    printf("double 存储大小 : %lu \n", 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 \n", sizeof(float));
 7    printf("float 最小值: %E\n", FLT_MIN );
 8    printf("float 最大值: %E\n", FLT_MAX );
 9    printf("精度值: %d\n", 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);
时间: 2024-10-14 23:26:43

C语言学习系列(四)C语言基本语法和数据类型的相关文章

C语言学习系列(六)基本语法

一.C运算符 算术运算符(语法和java类似或基本一样略过不再描述) 关系运算符(略) 逻辑运算符(略) 位运算符 运算符 描述 实例 & 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中. (A & B) 将得到 12,即为 0000 1100 | 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中. (A | B) 将得到 61,即为 0011 1101 ^ 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中. (A ^

Go语言学习笔记(四) [array、slices、map]

日期:2014年7月22日 一.array[数组] 1.定义:array 由 [n]<type> 定义,n 标示 array 的长度,而 <type> 标示希望存储的内容的类型. 例如: var arr[10] int arr[0] = 1 arr[1] = 2 数组值类型的:将一个数组赋值给 另一个数组,会复制所有的元素.另外,当向函数内传递一个数组的时候,它将获得一个数组的副本,而不是数组的指针. 2.数组的复合声明.a :=[3]int{1,2,3}或简写为a:=[...]i

C++语言学习(四)——类与对象

C++语言学习(四)--类与对象 一.构造函数(constructor) 1.构造函数简介 C++语言中,构造函数是与类名相同的特殊成员函数.在类对象创建时,自动调用构造函数,完成类对象的初始化.类对象本身是变量,在栈.堆上创建的对象,对象的成员初始化为随机值:在静态存储区创建的对象,对象的成员初始化为0. 2.构造函数的定义 构造函数声明的语法如下:classname(parameters);没有参数的构造函数称为无参构造函数.当类中没有定义构造函数(包括拷贝构造函数)时,编译器默认提供一个无

Go语言学习笔记(一) [Go语言的HelloWorld]

日期:2014年7月18日 1.简介 Go 编程语言是一个使得程序员更加有效率的开源项目.Go 是有表达力.简 洁.清晰和有效率的.它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有性的模块化程序.Go 编译到机器码非常快 速,同时具有便利的垃圾回收和强大的运行时反射.它是快速的.静态类型编译语言,但是感觉上是动态类型的,解释型语言. Go 是第一个实现了简单的(或更加简单的)并行开发,且跨平台的类 C 语言. 2.Go语言文档查看 安装好Go语言之后,其文档可以通过go do

【GO】GO语言学习笔记四

流程控制 1.条件语句 举个栗子: if x>5 { return 1; }else{ return 0; } 注意: ? 条件语句不需要使用括号将条件包含起来();? 无论语句体内有几条语句,花括号{}都是必须存在的;? 左花括号{必须与if或者else处于同一行;? 在if之后,条件语句之前,可以添加变量初始化语句,使用;间隔;? 在有返回值的函数中,不允许将"最终的"return语句包含在if...else...结构中,否则会编译失败: function ends with

go语言学习之旅--Go 语言环境安装

前言 笔者已经自学python大概已经几个月了,但是工作繁忙,而且工作中未用到python的知识.于是就渐渐生疏了,这是下定决心学习go,是因为公司有一台go编写的报表系统,而且公司逐渐在想docker转,学习go更又助于未来的工作. 关于GO Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易. Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,

Identity Server4学习系列四之用户名密码获得访问令牌

1.简介 Identity Server4支持用户名密码模式,允许调用客户端使用用户名密码来获得访问Api资源(遵循Auth 2.0协议)的Access Token,MS可能考虑兼容老的系统,实现了这个功能,但是不建议这么做. 2.实战一服务端配置 接着Identity Server4学习系列三的基础上,直接扩展里面的项目代码,让服务端同时支持密钥认证和用户名密码认证 第一步:扩展ThirdClients类,如下: /// <summary> /// 配置可以访问IdentityServer4

蓝鸥C语言学习第四天

今天主要学习数组,什么叫是数组呢? 数组:就是存放相同类型的若干变量的集合.数组属于构造类型. 一维数组的定义方式:类型  数组名[元素个数] = {元素1, 元素2, .........}; int a[5]; 注意:[]只能放在数组名的后面,下面的都是错误写法: 1 int a[5] a;// 错误 2 int[] b; // 错误 **[]里面的个数必须是一个固定值,可以是常量(比如7.10).常量表达式(比如3+4.5*7).绝对不能使用变量或者变量表达式来表示元素个数,大多数情况下不要

C语言学习入门 (四) 字符串、字符串数组、字符和字符串相关函数

字符串简介 * 在Java中,一个字符串可以用String类型来存储 String s = "MJ"; C语言中没有String这种类型.其实字符串就是字符序列,由多个字符组成,所以在C语言中,我们可以用字符数组来存储字符串. * 字符串可以看做是一个特殊的字符数组,为了跟普通的字符数组区分开来,应该在字符串的尾部添加了一个结束标志'\0'. '\0'是一个ASCII码值为0的字符,是一个空操作符,表示什么也不干.所以采用字符数组存放字符串,赋值时应包含结束标志'\0'. * 字符串&