c语言一般格式:

#includeint main(){printf("Hello world!!!");return 0;}

说明:有且只有一个主函数

函数首部(函数头) 函数说明

说明函数类型、函数名和函数参数。

函数体

包括变量说明和语句执行部分。

函数调用语句

格式输出函数printf( )。

输出“Hello world!”。
单行注释://
多行注释:/* */

一、c语言概述

1.计算机是如何运行的???
1.1.计算机的组成部分:

硬件: 输入设备(鼠标,键盘等) 输入数据到内存

输出设备(显示器,打印机等) 用于数据的展示 内存储器(临时存储正在处理的数据或程序)

外存储器(硬盘,优盘,SD卡:永久存储)

CPU (控制器&&运算器)

软件: 操作系统,系统软件,应用程序等

1.2.运行原理:软硬件结合,五大部分协调工作。

2.1计算机首先通过输入设备/外存储器,将数据加载到内存中。 ​

2.2 CPU获取到内存的数据,进行处理。 ​

2.3通过输出设备将数据进行展示。 ​

2.4通过外存储器将数据进行永久保存。

1.3.注意事项:计算机只能处理内存中的数据。
2.计算机语言:

2.1机器语言(0,1指令码)计算机唯一可以直接处理的指令

2.2汇编语言(汇编指令)通过汇编程序转化为机器指令

2.3高级语言(C,C++,java...)通过编译程序转化为机器指令

3. C语言简介

3.1 c语言开发过程:

3.1.1 首先创建一个文件(.c),按照c语言规范书写代码

3.1.2 编译源文件—(生成一个可以被计算机执行的可执行文件)

编译的详细过程:

1.预处理

2.编译

3.汇编

4.链接

3.1.3产生可执行文件,运行可执行文件,确认结果是否正确。

3.2 1.预处理—–gcc hello.c -E > hello.i

3.2.2.编译——-gcc -S hello.i -o hello.s 或者 gcc -S hello.c -o hello.s

3.2.3.汇编——-gcc -c hello.i -o hello.o

3.2.4.链接——-gcc hello.i -o hello

3.3 C语言程序如何编写???
遵循C语言代码编写规范

c语言命名规则:

C语言变量名命名规则主要有三点:

一、命名规则;

二、大小写的使用;

三、变量的命名范围。

1、C语言变量名命名规则:变量名可以由字母、数字、下划线组 成,但不能以数字开头,C语言使用区分大小写,所以变量名区分大小写,不要使用C语言中的关键字和函数名称作为变量名,这样会导致 程序错误。

2、C语言大小写使用,变量名区分大小写,而标识符(函数名, 变量名,常量名)一般使用驼峰命名法,首字母采用小写,后面每个 单词的首字母均大写。

3、C语言变量的命名范围:在不同的作用域,变量的命名是有范围的,即同一个变量,不同的作用域具有不同的命名范围。比如在全局作用域,变量名称全局有效,范围是整个程序;在函数作用域,变量名称仅仅在该函数内有效,范围仅限于该函数。 C语言命名变量需要遵守上述三项规则。不正确又不规范的命名会影响程序运行,多次出现这种情况后程序会出现运行BUG,所以一定要认真加以审视确保变量名规范,程序才能正常运行。

预处理:把所有的东西都展开了(不分析错误,只是展开头文件)(-i)

生成.s之后就会进行语法分析(-s)

汇编(看不懂的语言 -o):

c语言数据类型

1.C语言数据类型:

1.1数据类型的分类: (64位操作系统)

基础数据类型:

数值型:

int————–%d———4字节

short————%d———2字节

long————%ld———8字节

float————%f———4字节

double———–%f———8字节

字符型:char————-%c———1字节

构造类型:结构体 联合体(共用体) 枚举类型 ​

指针类型​

空类型:void

注:bool类型的输出只有两种结果:正确和错误

float 类型和0进行比较:应该设法转化成“>=”或“<=”,即: const float EPSINON = 0.00001

代码如下:

1.2 C语言中数据的表现形式:

单引号是字符 双引号是字符串

Ascall码值一个以四个字节存储

1.2.1常量:在程序执行过程中其值不能被改变的量。 ​

整形常量: 可以用十进制(6,7,8),十六进制(0xff), ​ 二进制(110),八进制(0777) ​

浮点型常量:可以用十进制 3.14f 3.14l ​

字符常量: 可以用’A’ ‘B’ ​

转义字符常量:\n(换行) \t (隔几个字节) ​

字符串常量:”hello world” C语言中用” “字符序列 ​

符号常量:

#define PI 3.14

关键字 符号 常量 ​

#define DATA 0666 ​

关键字 符号 常量

一个字节在数据中的存储(有符号):

1.2.1变量:在程序执行过程中其中的值可以被改变的量。(定义变量的目的是开辟空间) ​

变量的名称可以由数字,字母,下划线组成,必须以字母或下划线开头,大写字母和小写字母是不同的,C语言对大小写是敏感的。 ​

变量的定义:

eg: int a; ​

数据类型 变量名

type val;

1.3进制间的转化:逢几进一,就叫几进制。 ​

权重 数码 ​

十进制 10 0-9 ​

八进制 8 0-7 ​

二进制 2 0-1 ​

十六进制 16 0-9 A B C D E F

1.4整型数据在内存中如何存放:原码,反码,补码

三种表示方式都包括符号位和数值部分,符号位用0表示”正”,符号位用1表示”负”

原码:直接将数据按照正负数的形式翻译成二进制

反码:符号位不变,数据部分取按位反
补码:反码+1
21—->0001 0101 -21—->1001 0101
21—->0001 0101 -21—->1110 1010
21—->0001 0101 -21—->1110 1011
正数:原码 反码 补码相同
负数:原码 反码 补码不一样

单引号是字符 双引号是字符串

1.5浮点型数据在内存中的存放形式:

1.6各类数值型数据的混合运算:
变量的数据类型是可以互相转化的。
1.自动转化(编译系统)
自动转化规则:若参加运算的类型不同,先转化为同一种类型,然后再进行运算。
转化类型按照数据长度增加的方向,保证数据不丢失。
转化顺序:char,short —>int—>unsigned—>long—>double
2.强制转化
一般形式:

(int)3.1415*r*r (数据类型说明符)(表达式) eg:(float)a; (int)(x+y+z);