c语言第一天

很久都没有用过c了,今天重新复习了一下c语言,做了一个小小的笔记,以便以后的复习

 

 一.c语言hello world:

#include<stdio.h>

int main()
{
    printf("hello world!\n");
    return 0;
}

运行该程序会在屏幕上打印出“hello world”。 程序第一行为“预处理”命令,必须在第一行。如果编辑器一行写不了 可以通过“\”来换行,如:

#include \
<stdio.h>


stdio.h为c标准库,也可以自己写文件来加入,如写一个文件为“xxxx”文件,可以不用扩展名,如下:

printf("this is firstfile!\n");
printf("this is other file!\n");


可以把它加入到程序中,如果是引用系统的则用“<>”,如果是引用自己写的文件则用“""”来引用如下:

#include<stdio.h>
int main()
{
	printf("hello world!!\n");
	#include "xxxx"    \\引用自己的文件用"" 双引号
	return 0;
}


 

打印结果为:

hello world
this is firstfile
this is other file

 

二 类型

在c语言中,类型可以分为

int(整形) 如 数字 5

char(字符型)如 'a'

string(字符串)如 "china"

float(单精度型),double(双精度型) 都表示小数,只是精度有不一样,float精确到7位有效数字,而double精确到 15个有效数字

long double(不是标准c)可能有些编译器不支持

计算机中,所有的类型最终都用二进制表示,如数字 5 表示为二进制为  0000 0101,数字1的部分表示“权重”,如果是有1的部分,就表示2的多少次方,如:

0000 0101 表示为:从最右边开始,表示2的0次方,为1,第二位没有 第三位为2的2次方,为4,1+4=5;

 

以上都是非负数的表示方法,如果要表示负数呢,计算机中用最高位表示符号位,如果为0就是正数,为1表示为负数。计算机中用unsigned 表示无符号的意思是最高位不表示符号位,永远都为正数,而有符号的表示如下图:

如 1000 0001  表示为-1;0000 0001表示为 1,这样表示还会有一个缺点,就是在进行运算的时候会出现问题,如-1的二进制为 1000 0001 要加上1(0000 0001),则加上的结果为

1000 0001

0000 0001

1000 0010

结果为-3,计算结果与实际生活中的不同,所以在后期计算机中引入了补码来表示负数,

对于非负数而言补码和原码相同

对于负数是正数原码按位取反再加一

如-1的原码表示方法为:1000 0001 ,则对于的补码为:

正数的原码:0000 0001

按位取反:    1111 1110

然后加1:     1111 1111

所以最后-1的补码为 1111 1111

现在我们来进行相关计算,如果用-1来加上1,最后结果应该为0,如下:

1111 1111

0000 0001

0000 0000

预算中最右边的1+1 为0,会不停进位,到最后一位时舍弃(溢出),所以最终结果为0,计算的最终结果和我们想象的结果一样。计算一下10110100 是负几表示为负几,如下:

          1011 0100

取反  0100 1011

加1    0100 1100

表示为十进制为:-84

计算机中通常用字节(byte)为单位,一个字节为8位。

char字符用ASCII码表示字符来表示。常用的字符ASCII表为:

'a'-'z'  97-122
'A'-'Z'   65-90
'0'-'9'   48-57
'\' ----13       '\n'----10      '\t'----9
'\0'----0     ' '----32

而float和double则表示为:

 

上图表示为float,double的表示与次类似,只是阶码为11位,而尾数为52位

 

三,c语言打印

 c语言中使用打印语句的时候必须用上“#include<stdio.h>”预处理命令。如果想打印整型,则需要用到占位符,如:

printf("AAAd%BBBf%CCC",222,22.2); 

打印结果为:AAA222BBB22.20000上面的“d%”,和"f%"就叫做占位符,它会被后面的具体内容所替代。每个类型会有不同的占位符,如下:


 今天就到这里。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值