C语言1

第一个程序

#include<stdio.h>                //预处理器    <>里的都为头文件
int main()
{                                //{}为函数体
	printf("Hello Word.\n");     //printf为<stdio.h>里的库函数
	return 0;                    //代表程序正常结束
}

函数的构成是什么?

函数名+函数的返回值

例:void Fun()

        {

          ............;

         }

 如何把.cpp文件变成.exe可执行程序?

.c/.cpp(源代码)--预编译-->.i--编译-->.s(汇编指令)--汇编-->.obj(windows)/.o(linux)--链接-->.exe(可执行程序)

C 语言里的六种基本数据类型short、int、long、char、float、double 。

• signed(有符号)

• unsigned(无符号)

• long(长型符)

• short(短型符)

1、整形类型:int ,short int,long int,long long,char,bool

2、浮点类型:float ,double

形式参数和实际参数:

形式参数(形参):定义函数名和函数体时需要用的参数,目的是用来接收调用该函数时传递的参数。

实际参数(实参):传递给被调用函数的值。

无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。 因此应预先用赋值,输入等办法使实参获得确定值。 形参变量在未出现函数调用时,并不占用内存,只在调用时才占用。调用结束后,将释放内存

#include<stdio.h>
void Swap(int a,int b)//交换函数
{
	int tmp = a;
	a = b;
	b = tmp;
}
int main ()
{
	int  a = 10;//实参
	int b = 20;
	printf("%d,%d\n",a,b);
	Swap(a,b);
	printf("%d,%d\n",a,b);
	return 0;
}

运行程序发现a和b的值并没有发生交换。

那么原因如下C语言要求函数的实参要有确定的值,在函数调用时给形参分配相应的内存单元,同时将实参的“值”拷贝给形参,实现数据从实参到形参的按值传递。

char与unsigned char

#include<stdio.h>
int main()
{
	char ch1 = 255;
	char ch2 = -1;
	char ch3 = 'a';
	unsigned char ch4 = 255;
	printf("%d\n",ch1);
	printf("%d\n",ch2);
	printf("%d\n",ch3);
	printf("%c\n",ch3);
	printf("%d\n",ch4);
}

输出上述值为  -1   -1   97   a   255

char的取值范围为-128~127    unsigned char的取值范围为0~255

浮点数的储存方式:

首先float在内存中占四个字节(32位)

float类型的存储方式

在计算机存储中,首先要将数更改为二进制的科学计数法表示,8.25,用二进制的科学计数法表示为:1.0001*clip_image002[2]

0表示正,指数位为:3+127=130 ,位数部分为0001,故8.25的存储方式如下所示:

0  1000  0010   00010000000000000000000  (只能精确到小数点后六位)

指数位置的储存由127为分界点,储存时指数与127相加,储存在指数位,float指数的范围是-127~128。

大端与小端

大端:低地址放高数据,低位字节排放在内存的高地址端。:手机,网络

小端:低地址放低数据,高位字节排放在内存的高地址端。: PC   Inter

举一个例子吧,比如数字0x12 34 56 78在内存中的表示形式为:

(1)大端模式:

低地址 ————————> 高地址

0x12 | 0x34 | 0x56 | 0x78

(2)小端模式:

低地址 ————————-> 高地址

0x78 | 0x56 | 0x34 | 0x12

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 第1章 一大波数正在靠近——排序 1 第1节 zui快zui简单的排序——桶排序 2 第2节 邻居好说话——冒泡排序 7 第3节 zui常用的排序——快速排序 12 第4节 小哼买书 20 第2章 栈、队列、链表 25 第1节 解密QQ号——队列 26 第2节 解密回文——栈 32 第3节 纸牌游戏——小猫钓鱼 35 第4节 链表 44 第5节 模拟链表 54 第3章 枚举!很暴力 57 第1节 坑爹的奥数 58 第2节 炸弹人 61 第3节 火柴棍等式 67 第4节 数的全排列 70 第4章 wan能的搜索 72 第1节 不撞南墙不回头——深度优先搜索 73 第2节 解救小哈 81 第3节 层层递进——广度优先搜索 88 第4节 再解炸弹人 95 第5节 宝岛探险 106 第6节 水管工游戏 117 第5章 图的遍历 128 第1节 深度和广度优先究竟是指啥 129 第2节 城市地图——图的深度优先遍历 136 第3节 zui少转机——图的广度优先遍历 142 第6章 zui短路径 147 第1节 只有五行的算法——Floyd-Warshall 148 第2节 Dijkstra算法——通过边实现松弛 155 第3节 Bellman-Ford——解决负权边 163 第4节 Bellman-Ford的队列优化 171 第5节 zui短路径算法对比分析 177 第7章 神奇的树 178 第1节 开启“树”之旅 179 第2节 二叉树 183 第3节 堆——神奇的优先队列 185 第4节 擒贼先擒王——并查集 200 第8章 更多精彩算法 211 第1节 镖局运镖——图的zui小生成树 212 第2节 再谈zui小生成树 219 第3节 重要城市——图的割点 229 第4节 关键道路——图的割边 234 第5节 我要做月老——二分图zui大匹配 237 第9章 还能更好吗——微软亚洲研究院面试 243 啊哈算法 目 录 第1章 编程改变思维 1 第1节 为什么要学习编程 1 第2节 本书是讲什么的,写给谁看的 4 第2章 梦想启航 7 第1节 编程的魔力 7 第2节 让计算机开口说话 9 第3节 多彩一点 18 第4节 让计算机做加法 21 第5节 数字的家――变量 26 第6节 数据输出――我说咋地就咋地 31 第7节 数据输入――我说算啥就算啥 33 第8节 究竟有多少种小房子 37 第9节 拨开云雾见月明 40 第10节 逻辑挑战1:交换小房子中的数 42 第11节 天啊!这怎么能看懂 45 等等。。。。。。。。。。。。。。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值