C语言1066字符类型统计,C语言编译过程及数据类型

写在前面

C语言可以称得上是高级语言中的低级语言,接下来一段时间,我会写一下文章关于c语言,把它的神秘面纱一 一揭开。下面主要是c语言的C语言编译过程及数据类型

源文件编译过程

为了使计算机能执行高级语言源程序,必须先用一种称为“编译程序”的软件,把源程序(.c)翻译成二进制形式的“目标程序”(.obj),然后将该目标程序与系统的函数库和其他目标程序连接起来,形成可执行的目标程序(.exe)。

例如,编辑后得到一个源程序文件f.c,然后在进行编译时再将源程序文件 f.c 输入,经过编译得到目标程序文件 f.obj,再将目标程序文件 f.obj 输入内存,与系统提供的库函数等连接,得到可执行的目标程序文件 f.exe,最后把 f.exe 调入内存并使之运行。

数据类型

整数类型

6种整型变量

[signed] int 有符号基本整型

unsigned int 无符号基本整型

[signed] short [int] 有符号短整型

unsigned short [int] 无符号短整型

[signed] long [int] 有符号长整型

unsigned long [int] 无符号长整型

区别在于是否有符号位,无符号类型在正数部分比有符号多一倍

实数(浮点数)

表示方法

十进制小数形式

指数形式。如123e3,e前必须有数字,后面必须为整数

3种实型变量

float 单精度

double 双精度

long double 长双精度

字符变量

字符变量类型

char

字符数据在内存中的存储

将一个字符常量放到一个字符变量中,实际上并不是把该字符本身放到内存单元中去,而是将该字符的相应的ASCII代码放到存储单元中。

char转为整数型

有些系统*如 pdp,Vax-11,turboc * 将字符变量中的最高位作为符号位,也就是将字符处理成带符号的整数,即signed char型。它的取值范围是-128~127。如果使用ascii码为0~127间的字符,由于字节中最高位为0,因此用%d输出时,输出一个正整数。如果使用ascii码为128~255间的字符,由于在字节中最高位为1,用%d格式符输出时,就会得到一个负整数。例如:

char c=130;

printf(“%d”, c);

得到-126。如果不想按有符号处理,可以将字符变量定义为 unsigned char 类型, 这时其取值范围是 0~255。signed char 和 unsigned char 的含义及用法与 signed int 和unsigned int 相仿, 但它只有一个字节。

字符串与字符区别

c 规定:在每一个字符串的结尾加一个“字符串结束标志”,以便系统据此判断字符串是否结束。C规定以字符‘\0’作为字符串结束标志。‘\0’是一个ASCII码为0的字符,从ascii代码表中可以看到ascii码为0的字符是“空操作字符”,即它不引起任何控制动作,也不是一个可显示的字符。如果有一个字符串“CHINA”,实际上在内存中是

C H I N A \0

它的长度不是5个字符,而是6个字符,最后一个字符为‘\0’。但在输出时不输出‘\0’

字符串表示

如果想将一个字符串存放在变量中,以便保存,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每一个元素存放一个字符。

各类数值型数据的转换图

f49e03835f402beca66c3b8230dede80.png

C语言编译过程以及gcc编译参数

1.1       C语言编译过程,gcc参数简介 1.1.1          C语言编译过程 一.gcc - o a a.c -o:指定文件输出名字 二.C语言编译的过程: 1.1.1       ...

转 C语言编译过程简介

C语言编译过程简介 C语言编译过程简介 刚开始接触编程的时候,只知道照书敲敲代码,一直都不知道为什么在windows平台下代码经过鼠标那样点击几下,程序的结果就会在那个黑色的屏幕上.现在找了个机会将C ...

GCC 使用-C语言编译过程

任何一种高级语言,要想在机器上执行,必须翻译为机器能读懂的机器语言.编译器就相当于翻译官,将高级语言翻译为机器语言. GCC 最初只用了编译 C 语言程序,全称是 GNU C Compiler.后来扩 ...

C语言编译过程

GCC编译C源码有四个步骤: 预处理-----> 编译 ----> 汇编 ----> 链接 一. 编译和链接的流程 C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在 ...

C语言编译过程详解

前言 C语言程序从源代码到二进制行程序都经历了那些过程?本文以Linux下C语言的编译过程为例,讲解C语言程序的编译过程. 编写hello world C程序: // hello.c #include ...

C语言编译过程(转)

内容摘要 : C语言编译的整个过程是非常复杂的,里面涉及到的编译器知识.硬件知识.工具链知识都是非常多的,深入了解整个编译过程对工程师理解应用程序的编写是有很大帮助的,希望大家可以多了解一些,在遇到问 ...

C语言基础(21)-C语言编译过程及GCC参数简介

任何C语言的编译过程可分为以下三部分: 一.预编译 在C语言中,以#开头的语句又叫预编译指令.预编译主要做以下两件事情: 1.将#include包含的头文件做简单的文本替换: 2.将代码中的注释删除. ...

C语言编译过程及相关文件

1,C程序编译步骤 C代码编译成可执行程序经过4步: 1)预处理:宏定义展开.头文件展开.条件编译等,同时将代码中的注释删除,这里并不会检查语法 2)编译:检查语法,将预处理后文件编译生成汇编文件 3 ...

C语言编译过程以及Windows中的gcc编译程序(通过cmd、记事本)

C语言的编译过程 1)预处理:宏定义展开.头文件展开.条件编译等,同时将代码中的注释删除,这里并不会检查语法 2)编译:检查语法,将预处理后的文件编译生成汇编文件 3)汇编:将汇编文件生成目标文件(二 ...

随机推荐

【译】Unity3D Shader 新手教程(4/6) —— 卡通shader(入门版)

本文为翻译,附上原文链接. 转载请注明出处--polobymulberry-博客园. 暗黑系 动机 如果你满足以下条件,我建议你阅读这篇教程: 你想了解更多有关表面着色器的细节知识. 你想实现一个入门 ...

gradle类重复的问题解决方法

今天遇到一个gradle的类重复问题,学习到一个命令 gradle -q dependencies,可以查看项目里包的依赖关系,发生这个错误是因为我用了一个相册的项目,这个项目里用到了v4包,我自己的 ...

【CodeForces 596A】E - 特别水的题5-Wilbur and Swimming Pool

Description After making bad dives into swimming pools, Wilbur wants to build a swimming pool in the ...

android之数据库SQLite(一)

创建数据库 首先定义SQLiteOpenHelper的子类 代码如下: package com.example.myandroid; import android.content.Context; i ...

Thwarting Buffer Overflow Attacks Stack Randomization

Computer Systems A Programmer's Perspective Second Edition address-space layout randomization

百度地图API绘制带头箭头的折线

源代码:

雪花降落CAEmitterLayer粒子效果

CAEmitterLayer 实现雪花效果   首先需要导入#import    /**在iOS 5中,苹果引入了一个新的CALayer子 ...

Swift基础之实现下拉变大和OC下拉变大上拉缩小Demo

Swift语言实现下拉变大效果:(上拉缩小效果随后研究......) 关键代码:方法一: self.automaticallyAdjustsScrollViewInsets = false;      ...

python 用嵌套列表做矩阵加法

写一个函数,接收两个由嵌套列表模拟成的矩阵,返回一个嵌套列表作为计算结果,要求运行效果如下: >>> matrix1 = [[1, 1], [-3, 4]] >>> ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值