F初入IT的小菜鸟之初识C语言4

常见关键字

  • auto 声明变量的生存周期为自动,所声明的变量默认为int
int main()
{   
       auto a=10;//设定a为int   
       auto a=10.9;//设定b为int
}
  • break 跳出当前循环;只能结束一层循环

  • continue 代表结束本趟循环;跳出当前循环,且进行下一次循环(与break相对)

  • case 用在switch(和if一样都是选择语句)中
    case与switch结合构成判断语句,每一个case之后一般需要一个break(若没有break,则会一直向下执行)

int main()
{  
     int i=0; 
     scantf("%d",&i);  
     switch(i)  
     {   
     case 1:  
     printf("1\n");   
     break;//如果没有break的话输入1则会将printf(“2\n”);中的2也输出  
     case 2:   
     printf("2\n");  
     break;//
 }

switch(i) i为switch需要判断的数字

  • default 和case一起用在switch里面
  • const 定义常量(定义时初始化)
  • goto 跳转到某一条标签标识的语句

register int a=10;//建议编译器把a放在寄存器
register 寄存器

在这里插入图片描述

  • void 无类型
  • static 静态的存储说明符
  • extern 声明外部符号 存储说明符

存储说明符:auto\extern\static\register

  • 关键字 typedef 类型重命名,类型定义,针对一些复杂的类型
  • typedef unsigned int(复杂类型)u_int(重命名)

typedef int arr[10];// 加上typedef 他就会由变量变为对应的类型,类型为int [10] arr

关键字static

static:

  1. 修饰局部变量——>提升局部变量的生存周期(让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束)
  2. 修饰全局变量——>作用域被限制到当前的源文件当中(使全局变量只能在本源文件内使用,不能在其他源文件内使用)
  3. 修饰函数——>作用域被限制到当前的源文件当中(使这个函数只能在本源文件内使用,不能在其他源文件内使用)

define定义常量和宏

#define _CRT_SECURE_NO_WARNINGS 1//定义关键字
#include<stdio.h>
#define SIZE 10//定义了一个标识符常量
#define STR "HELLO"
//#define LOOP for(;;){printf("hellobie\n");}//for第二个语句没有时,for为死循环
#define LOOP for(;;)\
{  
        printf("hellobit\n");
}
    //续行符

#define _CRT_SECURE_NO_WARNINGS 1//定义关键字
#define SIZE 10//定义了一个标识符常量

#define ADD(x,y) ((x)+(y))
//定义一个宏——>宏是有参数的,宏是有副作用的
//注意问题:x和y可能是一个表达式,所以必须要给单独每个参数加括号
//x和y可能是一个表达式,所以必须要给单独每个参数加括号
int ADD(int a, int b)
{    
     return a + b;
}
int main()
{ 
         int result = 2 * ADD(10, 20);//x+y=10+20  
         //2*10+20  
         printf("%d\n", result);  
         return 0;
}

#define ADD(x,y) ((x)+(y))//定义一个宏——>宏是有参数的,宏是有副作用的

//注意问题:x和y可能是一个表达式,所以必须要给单独每个参数加括号,为了避免宏在函数内的运算出现逻辑错误,需要在宏的外面在加一层括号,eg:((x)+(y))

补充
宏可以对替代的东西重新命名一个东西
宏最有价值的地方是:
1.在编译的时候宏本身会被所替代点的东西替换掉
2.一般在写代码时,在代码中出现的100,200这样的整数一般不要直接写数字,一般定义一个宏

指针

内存:

端:低地址存放 数据
端:低地址存放 数据

编译器VS 小端 计算机

int main()
{       
        int a = 10;
        int *p = &a;//p中存放着a的地址,*证明p是一个指针   
        //地址存放在对应类型的指针当中  
        *p = 88;//间接访问符——>解引用 
         printf("%d\n", &a);//输出a为88    
         int **pp = &p;//pp中存放着p的地址  
         **pp = 99;     
         printf("%p\n", &a);//打印变量的地址 十六进制显示 
         printf("%d\n", &a);//每次运行程序,变量的地址是不确定的
         system("pause");    
         return 0;
}

//windoes+r ->calc 计算器

指针变量的大小

//任何类型的指针 大小都为4
//指针变量里面存放的就是地址 int a=10
//int *p=&a; 十六进制的数字     4 32位下     但是64位下  8
int main()
{ 
        printf("%d\n", sizeof(int));//4  
        printf("%d\n", sizeof(char));//1——>4      
        printf("%d\n", sizeof(double));//8——>4    
        printf("%d\n", sizeof(short));//2——>4   
        return 0;
}

结构体

结构体:一种类型,聚合类型
数组特征:对他进行整体初始化,只有一次机会,在定义的同时。
struct Tag
{
成员列表
};
//一个汉字——>两个字节

struct  Student
{
         char name[20]; 
         char sex[4]; 
         int age;
};
//stu2={“gaobo”,男,18};
int main()
{      
       struct  Student stu1 = { "zhangsan","男",18 }; 
       printf("%s,%s,%d\n", stu1.name, stu1.sex, stu1.age); 
       //stu2={“gaobo”,男,18};//error     
       //int a = 1;   
       system("pause");  
       return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值