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. 使用apt-fast 来加速你的Ubuntu 的apt

    使用apt-fast 来加速你的Ubuntu 的apt sudo add-apt-repository ppa:apt-fast/stable sudo apt-get update sudo apt ...

  2. SULogger:iOS日志可视化工具

    前言 debug对于咋们程序员来说家常便饭,但有时候我们会遇到一种情况:开发某个功能时,需要在某个特定场景下进行调试,而这个场景并没有MacBook来进行连接debug,偏偏我们需要获得调试时的一些信 ...

  3. Pascal编译器大全(非常难得)

    http://www.pascaland.org/pascall.htm Some titles (french) : Compilateurs Pascal avec sources = compi ...

  4. Android TextView多行文本滚动实现

    Android中我们为了实现文本的滚动可以在ScrollView中嵌入一个TextView,其实TextView自己也可以实现多行滚动的,毕竟ScrollView必须只能有一个直接的子类布局.只要在l ...

  5. laravel加载javascript库

    一篇文章: Generating a Link to a Javascript File Problem You want your Blade template to load an externa ...

  6. android bitmap out of memory总结、心得

    setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,这些函数在完成decode后,最终都是通过java层的creat ...

  7. MySQL 5.7 SYS scheme解析

    sys 库是MySQL 5.7其中的一个系统库,里面有很多很好用的跟性能相关的视图.函数和存储过程, 增强MySQL的易用性 例如:哪些语句使用了临时表,哪个用户请求了最多的io,哪个线程占用了最多的 ...

  8. 1109. Conference(二分图)

    1109 二分图的模板题 不过这题题意 我纠结了好久 不知道是不是我对二分图不熟悉的原因 这题就是说 有n+m个人参加会议 要在这n+m中进行通话 求最少的连接数 就是每个人都得被连接上 这样求最大匹 ...

  9. ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)

    1 imageView.setScaleType(ImageView.ScaleType.FIT_XY ); 1 这里我们重点理解ImageView的属性android:scaleType,即Imag ...

  10. 1085: [SCOI2005]骑士精神

    A*搜索. A*搜索的基础百度百科(实在偷懒没看论文之类的),在这里不说了. A*搜索很关键的是h(n)估价函数的选取(表示现在到结束节点需要的距离) 设d(n)为实际到结束节点的距离.h(n)< ...