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. C++:this指针

    this指针 this关键字:表示本类中的对象成员,可以通过this指针访问当前类的成员//举例 //例 3.18 隐藏this指针的引例 #include<iostream> using ...

  2. Android Handler与多线程

    本文首先解释一下handler是用来干嘛的,然后通过例子介绍其在多线程中的应用. 什么是Handler handler通俗一点讲就是用来在各个进程之间发送数据的处理对象.在任何进程中,只要获得了另一个 ...

  3. 区分int a() 和 int a

    事因 #include <iostream> using namespace std; struct A { A(int) {} A() {} void fun() {}; }; int ...

  4. kail新手安装

    Kali Linux下载链接:http://mirrors.ustc.edu.cn/kali-images/kali-2.0/ (ps:建议用国内镜像源下载,速度有保证) Kali Linux安装之后 ...

  5. hive学习笔记——表的基本的操作

    1.hive的数据加载方式 1.1.load data 这中方式一般用于初始化的时候 load data [local] inpath '...' [overwrite] into table t1 ...

  6. BZOJ 2299 向量

    题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2299 题意:给出一对数a,b,任意使用(a,b), (a,-b), (-a,b), (- ...

  7. Android开发之异步通信Handler机制

    郭大神的:http://blog.csdn.net/guolin_blog/article/details/9991569 http://www.jianshu.com/p/08cb3665972f ...

  8. 8天学通MongoDB——第六天 分片技术

    在mongodb里面存在另一种集群,就是分片技术,跟sql server的表分区类似,我们知道当数据量达到T级别的时候,我们的磁盘,内存 就吃不消了,针对这样的场景我们该如何应对. 一:分片 mong ...

  9. hdu 4952 Number Transformation (找规律)

    题目链接 题意:给你个x,k次操作,对于第i次操作是:要找个nx,使得nx是>=x的最小值,且能整除i,求k次操作后的数 分析: 经过打表找规律,会发现最后的x/i,这个倍数会趋于一个固定的值, ...

  10. MDEV Primer

    /************************************************************************** * MDEV Primer * 说明: * 本文 ...