初识C语言 Day1-Day3

Day 1

接触C的第一步我了解了:    

1.

char--字符类型
%d--打印整型
%c--打印字符
%f--打印浮点数字-打小数
%p--以地址形式打印
%x--打印16进制数字

short int--短整型
int--整型
long--长整型

例float weight = 95.6f

如果不加f那么系统会认为95.6是双精度浮点型,所以加上一个f就默认为单精度浮点型。

2.全局变量和局部变量

局部变量的生命周期是进作用域开始到出作用域结束
全局变量的生命周期是整个程序的生命周期

局部变量和全局变量的名字建议不要相同,容易产生误会,产生bug,并且当局部变量和全局变量的名字相同的时候,局部变量优先。

3.scanf函数

当我们需要输入数据时候,我们就可以使用输入函数scanf,例:

#include<stdio.h>

int main()
{
    //计算2个数的和
      int num1 = 0;
      int num2 = 0;
      int sum = 0;
//输入数据-使用输入函数scanf
scanf("%d%d", &num1, &num2);//要加取地址符号&
//C语言语法规定,变量要定义在当前代码块的最前面
sum = num1 + num2;
printf("sum = %d\n", sum);
 return 0;
}

Day 2

 1.字面常量

例:

//3

//100

//3.14

2.const-常属性

const修饰的常变量

const int num = 4;
printf("%d\n", num);
num = 8;
printf("%d\n", num)

3.#define 定义的标识符常量 

#define MAX 10

int main()
{
   int arr[MAX] = {0};
    printf("%d\n", MAX);
    return 0;
}

4.枚举常量

enum Color
{
    RED,
    YELLOW,
    BLUE,
};
int main()
{
    enum Color color = BLUE;//color变量可以改动
    color = RED;
    printf("%d\n",RED);
    //BLUE = 6;//err常量不可改动
    return 0;
}

Day3

1.求较大值

#include

int Max(int x, int y)
{
    if (x > y)
        return x;
    else
        return y;
}

int main()
{
    int num1 = 10;
    int num2 = 20;
    int max = 0;
    max = Max(num1, num2);
    printf("max = %d\n", max);
    return 0;
}

  2.~按二进制位取反

    int a = 0;//4个字节,32bit位
    int b = ~a;
    ~--按(二进制)位取反
    //0000000000000000000000
    1111111111111111111111
    原码、反码、补码
    /负数在内存中存储的时候,存储的是二进制的补码
    1111111111111111111111补
    1111111111111111111110反
    1000000000000000000001原
    printf("%d\n", b);//使用的,打印的是这个数的原码

3.关于++ --等的运算顺序

    int b = a ++ ;//后置++,先使用,再++
    int b = ++a;//前置++,先++,再使用
    int b = a--;//后置--,先使用,再--
    int b = --a;//前置--,先--,再使用

4.逻辑符号

    真 - 非0
    假 - 0
    &&  -- 逻辑与
    ||  --逻辑或

5.两个操作符[]与Add

    arr[4];//[]-下标引用操作符
    int a = 10;
    int b = 20;
    Add(a, b);
    int sum = Add(a, b);//函数调用操作符

6.原码  反码  补码的一些解释

只要是整数,内存中存储的都是二进制的补码
正数--原码,反码,补码相同
负数
原码           ----->               反码            ------>             补 码
直接按照正负                   原码的符号位不变              反码+1
写出的二进制序列            其他位按位取反得到 

 7.

    struct--结构体关键字
    union- 联合体/共用体

    int 定义的变量是有符号的

    register int a = 10;//把a定义成寄存器变量

8.typedef- 类型定义-类型重定义

int main()
{
    typedef unsigned int u_int;
    unsigned int num = 20;
    u_int num2 = 20;
    return 0;
}

9.static

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

10.宏的定义

//#define MAX 100
//#define MAX 100
//#define 可以定义宏-带参数

int Max(int x, int y)
{
    if (x > y)
        return x;
    else
        return y;
}
//宏的定义
#define MAX(X,Y)(X>Y?X:Y)//将MAX(X,Y)替换为了X>Y?

int main()
{
    //int a = MAX;
    int a = 10;
    int b = 20;
    //函数
    int max = Max(a, b);
    printf("max = %d\n", max);
    //宏的方式
    max = MAX(a, b);
    //max = (a>b?a:b);
    printf("max = %d\n", max);
    return 0;
}

11.指针初步

有一种变量是用来存放地址的-指针变量

*p = 20;//* - 解引用操作符/间接访问操作符

例:
指针初步
int main()
{
    char ch = 'w';
    char* pc = &ch;
    printf("%d\n", sizeof(pc));
    //*p = 'a';
    //printf("%c\n", ch);
    return 0;
}

12.结构体类型

    结构体
     char int double....
    人-名字 身高 年龄 身份证号码 
    人-书 ---复杂对象
    复杂对象-- 结构体 
    创建一个结构体类型

struct Book
    {
        char name[20];//C语言程序设计
        short price;//55
    };
    
    int main()
    {
        //利用结构体类型-创建一个该类型的结构体变量
        struct Book b1 = { "C语言程序设计",55 };
        struct Book* pb = &b1;
        //利用pb打印出我书名和价格
        //.   结构体变量.成员
        //->  结构体指针->成员
        printf("%s\n",pb->name);
        printf("%d\n",pb->price);

    /*    printf("%s\n", (*pb).name);
        printf("%d\n", (*pb).price);*/
        //printf("书名:%s\n", b1.name);
        //printf("价格:%d元\n", b1.price);
        //b1.price = 15;
        //printf("修改后的价格:%d\n", b1.price);
        return 0;
    }

13.strcpy-string-copy-字符串拷贝-库函数-string.h(初)

struct Book
    {
        char name[20];//C语言程序设计
        short price;//55
    };
    
    int main()
    {
        struct Book b1 = { "C语言程序设计",55 };
        strcpy(b1.name, "C++");//strcpy-string-copy-字符串拷贝-库函数-string.h

        printf("%s\n", b1.name);
        return 0;
    }

最后就变成了C++ ,55元。
 

初识C语言,慢慢摸索慢慢领略C语言的魅力!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值