C语言发展史
1969年
贝尔实验室 肯尼斯·蓝·汤普逊,丹尼斯·李奇
开发了B语言 -》Unix,New B语言,改名C语言
83年提出C语言标准
1989年十二月正式通过C语言标准,C89标准
C primegraimer
94年提出C语言标准
1999年 C99标准通过
C语言的特点:
优点:高效、可移植,功能强大、灵活
缺点:C语言的错误容易隐藏。(段错误)
C语言很难理解
1.gcc编译器
2.注释
3.变量
4.标示符
5.c语言的基本数据类型
6.进制转换

1.gcc编译器

gcc编译命令 GNU编译器
#include 预处理指令
<3>.指令指令:我们把预处理器执行的命令称为指令。
c程序就是函数的集合。
<1>.函数 函数分为两大类:1、程序员自己编写的。
2.库函数。
main函数:main函数是一个函数,它会在程序终止时
向操作系统返回一个状态码。
<2>.语句 语句:程序运行时执行的命令。
return语句
#include"head.h" //自己写的头文件
#include<stdio.h> //系统定义的头文件。
path 环境变量 标注了库函数存放的路径以及系统函数存放的路径
<>
"" cong当前目录开始找头文件,当前找不到去环境变量里去找
1.gcc编译器

gcc编译命令 GNU 编译器
编译器通常要求带上文件的扩展名.c
#include 预处理指令
include 包含
stdio.h 文件
main() 函数 主函数 ,程序的入口
任何一个程序都是从main函数开始以main函数结束
printf 在控制台打印
把程序转化成可执行的形式通常包含三个步骤:
预处理(预处理器) 编译(编译器) 链接(链接器)

2.环境变量
vi .bashrc 编辑环境变量命令,尽量不要随便改写
计算机 -》右键属性 -》高级系统设置-》 编辑
source .bashrc 重新配置环境变量
必须在主文件目录下编辑
编译过程 gcc hello.c
执行过程 a.out 或 ./a.out
环境变量举例
C:\Program Files (x86)\Microsoft Visual Studio\Common\MSDev98
bin 文件夹里都是命令
PATH=.:PATH 这句话什么意思?
¥ PATH 取 path的值 PATH是变量
用户环境变量
系统环境变量
sleep 100 系统睡眠一百秒
ctrl + c 终止命令
ctrl + d 退出
ctrl + z 让当前程序到后台执行
jobs 列出在后台执行的所有进程
fg 3 把后台执行的进程3调到前台

gcc 完成 两个工作 :编译、链接
gcc -c 只编译不链接
gcc 链接 编译加链接
gcc -E 只预处理
gcc -S 生成汇编语言
gcc hello.c -o hello 给可执行程序重命名
gcc -help 看其他命令
gcc -std =c89指定标准

2注释:

单行注释 和 多行注释
//单行注释 仅在c99标准中支持,一双斜线开始
/*多行注释 中间写多少行都没关系*/
多行注释不可以嵌套

3基本类型

本质:是内存的一块命了名的区域&salary。
当我们访问变量的时候其实就是访问这块存储空间。
变量的类型:c语言有很多种类型包括:基本数据类型和复合数据类型。
基本:int,char,float。double。 short
占字节数 4 1 4 8 byte 2
类型给定了变量的大小
复合数据类型:字符串,
所有的字符在内存中都对应一个数字,
a=97 并以字符的形式存在内存中;
变量的生命:c89要求先声明后使用,一般给出是指,
不赋初始值变量的值是不确定
c99增强了变量的使用,使用前在声明

空格 32
sizeof(类型或变量);查看数据类型所占的字节数
sizeof()为c语言的关键字,或运算符但不是函数。
3.1 字符

1.‘a’字符的一种表现形式
2.字符的另一种表现形式‘\n'转义字符
\t = Tab
\b = backspace
\\=\ 转义为\

3.2 int 整数:

所占的字节=4个字节
短整数 short 2
整数 int 4
长整数 long 4(32位) 8(64位)

short s=9; //0000 0000 0000 1001 16位=两个字节
short s=-1 // 最高位为符号位 1为负 0为正
//1111 1111 1111 1111 补码去符号 整数值 按位取反加1
练习:写出-57和-119在内存当中的基本形式(按位取反加1)
- 57 1111 1111 1100 0111
-119 1111 1111 1000 1001
c89标准先声明后使用,一般要求你赋初值

printf("") ; //格式化输出
整数常量
short s2=3.5 ; //double
3.5f; //float
3.5L; //long double
35L; //long int

4.标示符
变量名:1.可以是数字,字母,下划线;数字不能打头
2.大小写敏感
max Max mAx
3.声明不能与关键字冲突;
4.c89要求长度不能超过31个字符,c99不能超过63个字符

return 0;程序结束
6、进制转换。

11 十进制
011 八进制
0x11 十六进制

二进制,机器可以识别
十进制。
八进制。
十六进制。
1.二进制
二进制转十进制
0111 1101
权重:0*2(7)+1*2(6)+1*2(5)++1*2(4)
权数:2,10
对应位的数字乘以权重,计算和
十进制转二进制:
119:拆分:64+32+16+4+2+1
规范方法:除2取余 余数倒序排列就是二进制形式。

-119
补码:0111 0111 取整数部分 按位取反在加1得负数
1000 1000 -》1000 1001=-119
表示负数的二进制转换成十进制
1110 1110.
0001 0010-》16+2=18 -18 按位取反加1 zai加上符号位
-》1110 1101 -》1110 1110

八进制:
017 八进制-》十进制
权重:1*8(1)+7*8(0)=15
对应为的数字乘以权重,计算和
十进制转八进制
15-》8+7 -》0000 1111 -》00 001 111

十六进制:
十六进制转十进制
0xFF 0 9 a b c d e f
10 11 12 13 14 15 16
15*16(1)+15*16(1)=255
十进制转十六进制
128=1000 0000=0x80
0xFFFF FFFF 表示-1 无符号数位42 000 000 000
0277777 77777

199 -》0111 0111 周三没航班

gcc编译器与基本类型3的更多相关文章

  1. GCC编译器使用

    一.GCC简介 通常所说的GCC是GUN Compiler Collection的简称,除了编译程序之外,它还含其他相关工具,所以它能把易于人类使用的高级语言编写的源代码构建成计算机能够直接执行的二进 ...

  2. Lambda表达式(C语言-gcc编译器)

    前言 先来啰嗦几句,身边的朋友,同事都喜欢在博客上记录自己在学习计算机编程技术路程上的一些问题和心得.就我个人而言,这是个好习惯,特别是在计算机编程领域,技术方向种类繁多,永无止境.所以,我也开始我人 ...

  3. gcc编译器对宽字符的识别

    最早是使用VC++工具来学习C++,学的越多就越对VC挡住的我看不见的东西好奇,总想多接触一些开发环境,今日抽空摸索了一下CodeBlocks这个开源的IDE使用方法,配置的编译器是MinGW的gcc ...

  4. GCC编译器原理(一)------交叉编译器制作和GCC组件及命令

    1.1 交叉编译器制作 默认安装的 GCC 编译系统所产生的代码适用于本机,即运行 GCC 的机器,但也可将 GCC 安装成能够生成其他的机器代码.安装一些必须的模块,就可产生多种目标机器代码,而且可 ...

  5. 2、GCC编译器的使用

    GCC编译器是一个非常强大和流行的C编译器,适用于各种Linux发行版.本文解释了一些流行的GCC编译器选项. GCC编译器选项 1.指定输出可执行文件名称 在最基本的形式中,gcc编译器可以用作: ...

  6. 关于gcc编译器中函数不用进行原型声明的解释

    经过大量实验和参考网上的说法得出一个结论: gcc编译器中,函数可以不用提前进行原型声明,编译器会把函数调用同时认为是声明.需要注意的是,由于函数调用的时候并没有写明函数返回值,这是gcc把调用当成声 ...

  7. GCC编译器基础入门

    导语 GCC(GNU Compiler Collection,GNU 编译器套件) 是由 GNU 开发的编程语言编译器,支持C.C++.Objective-C.Fortran.Java.Ada和Go语 ...

  8. gcc编译器参数

    [gcc编译步骤] 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs] 3.由汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4 ...

  9. <2013 08 09> __attribute__是GCC编译器特有语法

    1. __attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法.这个功能是跟操作系统没关系,跟编译器有关,g ...

随机推荐

  1. 阿里巴巴fastJson

    FastJson解析 一.阿里巴巴FastJson是一个Json处理工具包,包括“序列化”和“反序列化”两部分,它具备如下特征:速度最快,测试表明,fastjson具有极快的性能,超越任其他的Java ...

  2. 简单的自绘CListBox,重载虚MeasureItem和DrawItem这两个虚函数

    [cpp] view plain copy //例如CNewListBox继承自CListBox,重载虚MeasureItem和DrawItem这两个虚函数,代码如下: void CNewListBo ...

  3. 解决不安装VC运行库(VC2005,VC2008),程序运行出错的方法

    因为VS2005以后程序采用了manifest的生成方式,所以发布的时候要和运行库一起发布.但是我们平时开发和发布的时候如果都要客户安装运行库,那就不太方便了.你可以Microsoft下载:http: ...

  4. OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务

    OpenVAS漏洞扫描基础教程之OpenVAS概述及安装及配置OpenVAS服务   1.  OpenVAS基础知识 OpenVAS(Open Vulnerability Assessment Sys ...

  5. openfire开发

    openfire github地址:https://github.com/igniterealtime/Openfire 1.下载源代码:http://www.igniterealtime.org/d ...

  6. 在Linux中创建静态库和动态库

    我们通常把一些公用函数制作成函数库,供其它程序使用. 函数库分为静态库和动态库两种. 静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库. 动态库在程序编译时并不会被连接到目标代码中 ...

  7. 《Linux/Unix系统编程手册》读书笔记2

    <Linux/Unix系统编程手册>读书笔记 目录 第5章: 主要介绍了文件I/O更深入的一些内容. 原子操作,将一个系统调用所要完成的所有动作作为一个不可中断的操作,一次性执行:这样可以 ...

  8. VS2012界面改为英文

    需要下载一个语言包 http://www.microsoft.com/en-us/download/confirmation.aspx?id=30681 还是不要指望这个,简直坑爹. 我把所有中文版的 ...

  9. .NET 内存管理—CLR的工作

    看了http://www.cnblogs.com/liulun/p/3145351.html  不错,补习下相关技术.. 正文: .NET依托CLR进行的内存的管理 有了CLR 基本不需要担心.net ...

  10. 1156. Two Rounds(dfs+背包)

    1156 求出每个联通块的黑白块数 然后再背包 二维的背包 要保证每个块都得取一个 写的有些乱.. #include <iostream> #include<cstdio> # ...