写在前面

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’

字符串表示

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

各类数值型数据的转换图

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]] >>> ...

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

  1. # c语言判断字符类型

    c语言判断字符类型 字母,数字,空格,其他字符如何区别

  2. c语言1066字符分类统计,C语言字符串操作总结大全(超详细)

    1)字符串操作strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字 ...

  3. 1026: 字符类型判断 C语言

    1026: 字符类型判断 时间限制: 1 Sec 内存限制: 30 MB 提交: 40333 解决: 24299 [状态] [讨论版] [提交] [命题人:admin] 题目描述 从键盘输入一个字符, ...

  4. c语言之字符个数统计、 统计成绩、打印沙漏 、整数的分类处理 、不变初心数

    字符个数统计 从键盘输入一串字符,统计出其中的英文字母个数.数字字符个数以及其他字符个数并输出. 输入格式: 输入一行字符,以回车结束. 输出格式: 输出英文字母个数.数字字符个数以及其他字符个数,中 ...

  5. c语言定义node类型指针,C语言指针的概念

    在计算机中,所有的数据都是存放在存储器中的.一般把存储器中的一个字节称为一个内存单元,不同的数据类型所占用的内存单元数不等,如整型量占2个单元,字符量占1个单元等,在前面已有详细的介绍.为了正确地访问 ...

  6. c语言格式字符使用举例,c语言char怎么用

    C语言中char用于定义字符类型变量或字符指针变量,例如"char a;"则定义了变量a是字符类型,"char *a;"则定义了变量a是字符指针类型. C语言中 ...

  7. c语言使用node类型指针,C语言利用 void 类型指针实现面向对象类概念与抽象

    不使用C++时,很多C语言新手可能认为C语言缺乏了面向对象和抽象性,事实上,C语言通过某种组合方式,可以间接性的实现面对对象和抽象. 不过多态和继承这种实现,就有点小麻烦,但是依然可以实现. 核心: ...

  8. c语言char字符判断条件,C语言入门 — 字符型char

    本篇文章将会学习字符类型,并会结合 Ascii码对照表进行学习, 首先我们先来看下 #include // 标准输入输出头文件 stdio.h int main(void) // main 函数,vo ...

  9. c语言辅音字符怎么表示,C 语言实例 - 判断元音/辅音

    C 语言实例 - 判断元音/辅音 C 语言实例 C 语言实例 判断输入的字母是元音,还是辅音. 英语有26个字母,元音只包括 a.e.i.o.u 这五个字母,其余的都为辅音.y是半元音.半辅音字母,但 ...

最新文章

  1. kali2020安装中文输入法(切换中文输入法)
  2. AI破解脑电波,准确率超80%!高度还原你眼中最美的ta
  3. Jenkins之邮件通知
  4. 黑色星期日+一.....
  5. 中英文字体名字对应表
  6. 22. Window print() 方法
  7. 进程切换与线程切换的区别
  8. Linux中缺32位运行库steam,尝试安装Steam错误:您缺少以下32位库,并且Steam可能无法运行:...
  9. php生成拟合线,excel拟合曲线怎么做
  10. 400,404,500报错原因
  11. Django创建数据库(Django数据库字段类型)
  12. 程序员转行为什么这么难--[转]
  13. 《 汇编语言编程基础 基于 LoongArch 》读书与实践笔记
  14. 【iOS与EV3混合机器人编程系列之三】编写EV3 Port Viewer 应用监测EV3端口数据
  15. 主流杀毒软件引擎分析
  16. android开发还原设计稿,TextView设计稿完美还原思考
  17. moviepy自动化制作美食视频
  18. 2022-2028全球与中国制造执行系统市场现状及未来发展趋势
  19. VMware vSphere Web Services SDK编程指南(一)-SDK简介
  20. 女孩姓聂取独特的名字大全

热门文章

  1. Vue首屏加载等待动画
  2. 算法 - 随机密码生成算法
  3. 买上空气净化器了,真好... ...
  4. 【neon加速拆分/合并交叉数据】使用neon intrinsics加速合并/拆分uv的内存分布(交叉存储/分别存储)
  5. 初学者 深度学习 人工神经网络 可视化网站
  6. 苹果软件更新在哪里_苹果再次为已停产的AirPort发布软件更新
  7. 个人年终述职报告PPT怎么做?
  8. DDOS防御抗D平台方案
  9. 在3D空间中绘制四边形
  10. Dharma勒索病毒变种 ---加密后文件后缀.bkpx