C语言基础

来源:互联网 发布:大连知润 编辑:程序博客网 时间:2024/06/05 21:09

打印:helloworld!
#include <stdio.h>


int main()
{
printf("Hello World!\n");//打印:helloworld

return 0;
}

(1)main是函数的名字,任何一段程序有且只有一个main函数,它表示程序的入口,执行程序都是从main开始执行的!我们写程序的时候也是先
写main函数,int 是函数的数据类型,表示main函数执行完毕后,正常情况下会返回一个int的数据!函数的后面都要接个括号;
(2){}里面的是main函数的函数体,里面存放的是执行的命令;
(3)#include <stdio.h>表示的头文件,以前是没有函数库的,程序员要是想实现具有某个功能的函数,都是自己动手写的,但是
有些函数大家都会用到,如果每个人都要重新写一遍的话太浪费资源了,所以呢程序员聚会的时候互相分享自己写的代码,久而久之呢就形成了函
数库,里面存放了很多大家写好的函数,我们只需要知道怎么用的,不需要知道具体怎么实现的!比如下面的printf就被封装在stdio.h这个库里面;
那么,#include <stdio.h>和#include "stdio.h"什么区别呢?这个面试或者笔试的时候一定要能够答出来,如果你这个都不知道,面试官会觉得
你是个假程序员!
(4)printf函数,可以实现打印()里面的内容到终端;
(5)printf("Hello World!\n");表示的是一个语句,用;号结尾
(6)\n:转义字符中的换行符;
(7)return 0;刚才我们说了main函数的返回值是int型的,得返回一个整数,return就是这个功能,它是C语言中的一个关键字,你看它的颜色
不一样吧;return 0代表函数正常结束。
(8)//后面跟的注释,在C语言中的注释有两种:段注释和行注释,注释的作用就是告诉看代码的人这段代码是什么意思?用来解释用的!在写程
序的时候一定要学会写注释,注释不光是给别人看的,有时候也是给你看的,因为复杂的代码写完之后没有注释,可能一个星期过后,你自己看都
看不懂,通过注释可以了解这段代码编写的思路!

1.变量

int num = 12;

编译器在编译的时候,会分配int字节大小的内存空间,内存空间的名字就是num,然后把12放到num所对应的内存空间里面,取值的时候就是根据

变量名num找到内存空间,然后把内存空间里面的取出来!

2.变量的作用域

①变量的作用域:局部变量的作用域在于定义的代码块里面,也就是{}包含的部分,全局变量的作用域是整个.c文件

②如果全局变量和局部变量名字重复的时候,局部变量会把全局变量给屏蔽掉。

3.数据类型

为什么会有数据类型呢?给数据分配合理的内存空间,既不太大,也不太小。
每种数据类型能表示的数据范围有多大呢?
以字节为单位,一个字节8个比特位!
只有0和1两种状态,然后是以补码的形式保存的:正数的补码就是本身,负数的补码就是它的绝对值按位取反加1;
int num = 5; 
0000000000000000000000000000101
int num = -5;
按位取反:
1111111111111111111111111111010
加1:
1111111111111111111111111111011

有符号和无符号:

有符号:可以表示正数也可以表示负数;

无符号:只能表示非负数;

有符号 short:表示的最大范围? 2字节 = 16位
最大的:0111111111111111;(一个0+15个1);65535!
最小的:1111111111111111;(全是1);         -65535!

sizeof:运算符,不是函数

sizeof用法:
测量变量的时候:sizeof i; sizeof(i);
测量数据类型的时候:sizeof(int);

4.运算符

算数运算符:+  -  *   /(除)  %(取余)  ++(自增) i++(先进行操作,然后再自增1); ++i(先自增1,然后再进行操作)

关系运算符:>   <   >=   <=   ==   !=

逻辑运算符:&&(与) ||(或) !(非)

5.语句

①赋值语句

int a = 0;

a = 3 + 5;       //=号左边的叫“左值”,=右边叫“右值”,左值代表的是对应的存储空间

②判断语句(if--else)

if(表达式)
{
代码块;
}
else
{
代码块;
}
***********
if()
{
代码块;
}
else if()
{
代码块;
}
else
{
代码块;
}
/**************************************************/
if( (a > b ) && (a > c ) && ( b > c ))
{
代码块;
}
if( (a > b ) || (a > c ) || (b > c ))
{
代码块;
}

③选择语句(switch-case)

switch(表达式)

{

case 常量表达式1:  语句1;

...

case 常量表达式n: 语句n;

default: 语句n+1;

}

④循环语句

for循环:
for(表达式1;表达式2;表达式3)
{
代码块;
}
死循环:
for(;;)
{
}
while:
while(表达式)
{
代码块;
}
特点是:先判断后执行,再判断;
do-while:
do
{
代码块;
}while(表达式); //别忘了分号;
特点:先执行后判断,再执行;
死循环:
while(1)
{
代码块;
}
goto:
goto语句会破坏代码的结构;
goto L_END;
....
...代码块1;
...
L_END:
....
...代码块2;

当遇到goto语句的时候,会跳过代码块1不执行,接着执行代码块2!


★break和continue的区别:
continue:终止本次循环,接着进行下一次循环;
break:终止整个循环。

原创粉丝点击