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

猜你喜欢

转载自blog.csdn.net/qq_41078889/article/details/82915041