C语言的基本概念

目标:

1、掌握C语言的编程方法

2、掌握程序的设计方法和技巧

3、熟悉数据结构和基本算法

4、具备Linux操作系统,编写,编译,运行c语言的能力

一、C语言基本概念介绍

1.程序编程介绍

1.1代码和程序

gedit main.c

gcc main.c -o main

1、代码:代码是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码

元以离散形式表示信息的明确的规则体系。(main.c)

       代码设计的原则包括唯一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。

2、程序:(程序一般指的是被编译后的二进制数据对应的文件)计算机程序是一组计算机能识别

和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。(main)

1.2编程语言发展史

机器语言---->汇编语言---->C语言(高级语言)

1、机器语言:机器语言是用二进制代码表示的、计算机能直接识别和执行的一种机器指令的集

合(0、1)

        优点是最底层,速度最快,缺点是最复杂,开发效率最低。

2、汇编语言:(英语:assemblylanguage)是任何一种用于电子计算机、微处理器、微控制器,

或其他可编程器件的低级语言。在不同的设备中,汇编语言对应着不同的机器语言指令集。一种汇

编语言专用于某种计算机系统结构,而不像许多高级语言,可以在不同系统平台之间移植。

特点:汇编语言改进了机器语言,将机器语言中常用的操作执行指令封装成了可阅读的字符指令,

可以直接调用字符指令实现对应的操作。

如:用特殊的二进制数(比如11111111)标识加法

汇编将11111111通过add来表示,所以加法运算就变成了:add(00000001,00000010)

汇编和机器语言都属于低级语言,低级语言的特点是计算机执行效率高速度快,但同时也存在便携

盒阅读复杂、开发效率低的特点低。

3、高级语言(c语言)

高级语言(High-levelprogramminglanguage)是一种独立于机器,大体上分为面向过程和面向对

象两大类,C语言是典型的面向过程的语言。高级语言是参照数学语言而设计的近似于日常会话的

语言。例如,要将2个变量相加并赋值给第三个变量,用高级语言表达为var3=var1+var2

1.3源文件

用来存储编写源代码的文件main.c

源文件:一般指用汇编语言或高级语言写出来的代码保存为文件后的结果.

1.4可执行文件

可执行文件指的是代码在被编译之后所生成的可以直接被计算机解读的二进制文件main

2. C语言框架,主函数介绍

#include<stdio.h>   #:预处理   include包含   <stdio.h>头文件
intmain() // int:返回值为int   main:函数名
{
    功能;
    return0; // return:结束当前函数
}

1、 main:一个项目或者一个工程有且仅有1个main,程序执行一定是从main函数开始,并且

终止于main函数;

2、插入:printf

格式一:printf(“原样输出!”);

3、转意字符 \

改变字符原本的含义:

n  字母n,没有特殊含义

\:转意字符

\n:换行

\t:tab键

打印”写\”

打印\写\\

打印%写%%

3.其他

3.1注释

作用:解释说明--被注释的部分不会被编译

C语言中的注释可分为行注释和块注释

行注释:采用//开头,表示该行为注释内容

块注释采用/**/进行注释,在/**/之间的所有内容都是被注释的内容,但是需要注意在/**/内部不要进

行嵌套注释

3.2 关键字--32个

3.3内存存储单位

在计算机中数据的存储以字节为单位,但是除了字节计算机中还存在其他的内存单位

字节是操作的最小单元

bit:位,指的是二进制中的一个数字对应的位置

8bit(位)=1byte(字节)

1024byte(字节)=1KB(千字节)

1024KB(千字节)=1M(兆)

1024M(兆)=1G

1024G=1T

3.4进制转换

二进制:逢2进1  0  1  10  11  100  101  110

八进制:逢8进1  0-7  10  11  12。。17。。。77  100  0123

十进制:满10进1  0-9  10  11  12。。19。。99  100  123

十六进制:满16进1  0-f  10  11。。1f  20。。ff  100  0x123

1、其他进制转化为十进制:位上的数*对应进制的次方,在第几位就是几次方

第几位:从右到左,从低到高,最低为是第0位

259=9*10^0+5*10^1+2*10^2=9+50+200=259

0177=7*8^0+7*8^1+1*8^2=7+56+64=127

0x2C=c*16^0+2*16^1=12+32=44

100101=1*2^0+0*2^1+1*2^2+0*2^3+0*2^4+1*2^5=1+4+32=37

2、十进制转化为其他进制:

除以对应的进制,取余,余数倒叙排列,除到商为0为止

十进制的259展开如下:

3、十进制转二进制:除2取余,除到商为0为止,余数倒叙排列

举例:37转二进制

4、十进制转八进制:除8取余,除到商为0为止,余数倒叙排列

举例:十进制的123,转八进制:0173 

5、十进制转16进制:除16取余,除到商为0为止,余数倒叙排列

举例:十进制的123,转16进制:0x7b

 8421:

      1           1           1            1

 1*2^3     1*2^2    1*2^1     1*2^0

  1*8         1*4        1*2         1*1

能帮助我们快速计算:

110:1*4 + 1*2 + 0*1=4+2=6

1011:1*8 + 0*4 + 1*2 + 1*1=8+2+1=11

1001:1*8 + 0*4 + 0*2 + 1*1=8+1=9

6、二进制转八进制:

三个二进制表示一个八进制:三位一体一块转,不够三位高位补0

二进制转八进制:

110  100  101  010  -->  06452

八进制转二进制:

06773  -->  110  111  111  011

举例:

011  011  110  -->  0336

7、二进制转十六进制:

1101  0010  1010  -->  0xd2a
0xf39-->1111  0011  1001

8、八进制和十六进制:以二进制为桥梁进行转换

例1:

八进制:0742转十六进制:

先转二进制:0001  1110  0010

再转十六进制:0x1e2

例2:

十六进制:0xabc转八进制:

先转二进制:101  010  111  100

再转八进制:05274

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值