初始c语言

初始c语言

下列是C语言的一些基础

counst,#define,enum,sizeof,还有一些操作符。

const修饰的常变量。

const int num = 4;
//num = 99;//无法修改,const修饰的变量称为常变量,相当于是一个常量。
字面常量
比如,3、345等数字都是字面常量。

2.#define 定义的标识符常量(宏定义)

 #define MAX 10
 int main()
 {
     printf("%d",MAX);//10
 }

#define MAX 10的作用是告诉编译器 编译前做字符替代工作,例如#define MAX 10,就是把下面程序中的字符MAX用10替代,替代完,再做编译。

3.枚举关键-enum

枚举-一一列举
性别:男,女,保密
三原色:红、黄、蓝
星期:1,2,3,4,5,6,7

 1  enum Color
 2   {
 3       RED,//0
 4       YELLOW,//1
 5       GREEN//2
 6   };
 7   
 8   int main()
 9   {
10      printf("%d\n", RED);//0
11         printf("%d\n", YELLOW);//1
12         printf("%d\n", GREEN);//2  
13         enum Color color = GREEN;
14         color = YELLOW;
15         //RED = 6; //err
16          return 0;
17  }   

4.sizeof的使用

sizeof 计算的是变量/类型所占空间的大小,单位是字节

#include <stdio.h>
#include <string.h>


int main()
{
    int arr[5] = {0};//5个整型元素的数组
    int sz = 0;
    //5*sizeof(int) = 20
    printf("%d\n", sizeof(arr));
    //计算数组的元素个数
    //个数 = 数组总大小/每个元素的大小
    sz = sizeof(arr)/sizeof(arr[0]);
    printf("sz = %d\n", sz);//5
    //int a = 10;
    //printf("%d\n", sizeof(a));//4
    //printf("%d\n", sizeof(int));//4
    //printf("%d\n", sizeof a);//4
    //printf("%d\n", sizeof int);//error
    return 0;
}

5.C语言的操作符

分为:算术操作符、移位操作符、位操作符、赋值、单目操作符、关系操作符、逻辑操作符、条件操作符等,在这里简单介绍以下几种操作符。

,算术操作符:+、- 、 、/(除法)、%(求余)。*

+、-、*这三种操作符类似数学中的加、减、乘。

/:除法,例如

1 include<stdio.h>
2 int main()
3 {
4     int a=5;
5     int b=2;
6     int c=a/b;// 5/2=2,大于整数部分去掉
7     printf("%d",&c);//2
8     return 0;
9 }

%求余,例如

C 语言中的取余运算只能针对整数,也就是说, % 的两边都必须是整数,不能出现小数,否则编译器会报错。

 include<stdio.h>
int main()
{
    int a=5;
     int b=2;
     int c=a%b;// 5%2=1,求余数
     printf("%d",&c);//1
     return 0;
} 

②移位操作符:简单的把一个值的(二进制)位向左或向右移动。

左位移操作符<< :在左移位中,最左边的被丢弃,右边多出的空位由0补齐。

右位移操作符>>:从左边移入新位时,有逻辑移位(左边移入新位全用0补充)、算术移位(左边移入的位由原先该值的符号位决定,符号位位1则移入的位均为1,符号位为0则移入的位均为0)。

③(二进制)位操作符:

按位与&:两个位数都是1,则为1,否则为0

按位或|,两个位数都是0,则为0,否则为1

按位异或^,两个位上的数不同结果为1,否则为0。

④赋值操作符:

=、+=(加赋值)、-=(减赋值)、*=(乘赋值)、/=(除赋值)、%=(求余赋值)、 <<=(左移赋值)、>>=(右移赋值)、&=(按位与赋值)、|=(按位或赋值)等。

·  =:简单的赋值运算符,把右边操作数的值赋给左边操作数。
a+=b,相当于a=a+b;
a-=b,相当于a=a-b;
a/=b,相当于a=a/b;
a%=b,相当于a=a%b;
a<<=b,相当于a=a<<b;
a>>=b,相当于a=a>>b;
a&=b,相当于a=a&b;
a|=b,相当于a=a|b;
  ⑤单目操作符
  ! (逻辑反操作),- (负值),+ (正值),& (取地址), sizeof (以字节为单位的操作数的类型长度), ~ (对一个数的二进制按位取反), – (前置、后置–),++ (前置、后置++),* (间接访问符即解引用操作符), (类型) (强制类型转换) 。
!:逻辑反操作表示可以得到一个与操作数逻辑上相反的数。
  比如:a为真,!a就为假(0)。

int a=100;
int b=!a;//b=0;

– (前置、后置–),++ (前置、后置++):

int a=10;
int b = a++;//后置++,先使用,再++
printf("b=%d",b);//b=10

int c=10;
int d = ++c;//前置++,先++,再使用
printf("d=%d",d);//d=11

int q=10;
int w = q--;//后置--,先使用,再--
printf("w=%d",w);//w=10

int r=10;
int t= --r;//前置--,先--,再使用
printf("t=%d",t);//t=9

6,static关键字

static 修饰局部变量
局部变量的生命周期变长
static 修饰全局变量
改变了变量的作用域 - 让静态的全局变量只能在自己所在的源文件内部使用,出了源文件就没法再使用了
static修饰函数
也是改变了函数的作用域-不准确,static修饰函数改变了函数的链接属性,外部链接属性 -> 内部链接属性

7,声明外部函数extern

例如
extern int Add(int, int);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值