C语言第二课

scanf函数的简单使用

#include<stdio.h>
int main
{
    int num1=0;
    int num2=0;
    int num=0;
    scanf("%d%d",&num1,&num2);
    sum=num1 + num2;
    printf("sum=%d\n",sum);
    return 0;
}
#include<stdio.h>
//弄清楚二进制 八进制 十六进制 二进制转十进制 十转二 

//关于全局变量和局部变量的理解 你可以抽象出来 假设我们有一个村子 一个乡镇 一个叫全局变量镇 一个叫局部变量村 
//全局变量镇里面有一个局部变量村 都有个叫x的人 当你走进局部变量村之前 你打听叫x的人 那肯定就是打听到全局变量镇的叫x的人 
//当你走进局部变量村之后 你再去打听那个叫x的人 你打听到的就是村里面那个叫x的人
int x = 1;//全局变量 此时全局变量镇有个叫x的人 
int main()
{//这里开始走进一个叫main的局部变量村
    

    //此时全局变量镇有个叫x的人 但是村里这个叫x的人还没出生 
    x = x + 2;//全局变量在做运算 因为在这行之前 并没有创建x的局部变量 所以此时全局变量x变成了3 
    int x = 2;//此时村里面这个叫x的人就出生了 创建局部变量 x= 2 但是此时的全局变量x还是3 并不会发生改变 局部变量x和全局变量x不是一个东西 
    x = x + 2;//局部变量优先原则 在同时存在局部变量和全局变量时 优先选择局部变量 所以此时x = 2+2局部变量x变成了4
    printf("大括号之前的:%d\n", x);//这里输出的是什么

    //下面这部分直接用大括号{}框柱的就也可以看做一个main村中一个匿名的学校
    {
        int x = 5;//这个是学校中有个叫x的人 
        x = x + 1;
        printf("大括号内的:%d\n", x);
    }
    printf("大括号之后的:%d\n", x);//这里输出的是什么
    


    /*关于float和int类型的除法问题 */
    float f = 2.0f;
    printf("按%%d格式输出:%d\n", f);
    printf("按%%f格式输出:%f\n", f);
    printf("1/2 = %d\n", 1 / 2);
    printf("1/2.0 = %f\n", 1 / 2.0);
    printf("1.0/2 = %f\n", 1.0 / 2);
    printf("1.0/2.0 = %d\n", 1.0 / 2.0);

    /*第二集*/
    //第二集从4.47开始
    char arr[3] = "abc";//可以吗 如果不可以为什么
    printf("%s", arr);

    int a = 99;
    char b = 'c';
    printf("按%%c格式输出:%c\n", a);//这个结果是什么? 为什么 注意这里是用%%c和%%d输出%c和%d的 就是当你想输出%c或者%d在黑框框里的时候 你就需要用%%d和%%c 就死记就行
    printf("按%%d格式输出:%d\n", b);//这样可以吗 为什么
    return 0;//? 可不可以不return  或者return是干嘛的 

}

/*第二集
什么是地址 也就是为什么&num1 
当我们 int num1 = 5;的时候 专业术语是 创建一个整形变量num1 并初始化为5 
就是在电脑内存中创建了一个空间用来存放num1
形象点说就是一堆有编号的箱子1,2,3。。。然后我们将变量num1赋值为5 
将这个变量num1(可以类比为一个东西)放进这个编号为1的箱子中 那么当我们&num1的时候获取的
就是存放变量num1的箱子的编号 你可以先这样理解 具体做了什么 以后你会了解到

左值
关于什么是左值右值 左值可以简单理解为等号左边的值 右值就是等号右边的值 一般左值是必须为可以被改变的变量 右值无所谓
例如int a = 3; a就是左值 3是右值

char 字符
char a = 'b';用单引号 引起来的就是字符 里面只能放一个字母 表示将字符b赋值给char类型变量 
而字符串实际上就是字符类型数组

如果不知道什么是数组 就去书上看一下什么意思 然后了解一下数组怎么进行初始化

枚举常量enum那部分 可看可不看 你当前阶段基本用不到 理解起来也有点困难 以后看就很容易理解 

*/

常量

1.字面常量

2.const  修饰的尝变量

#include<stdio.h>
int main()
{ 
   const int num=4;
   printf("%d\n",num);
  
}

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

#include<stdio.h>
{
    define MAX 10
 int main()
    int arr[MAX]={10};
    printf("%d\n",MAX);
    return 0;
}

4.枚举常量

#include<stdio.h>
enum Color
{
     RED,
     YELLOW,
     BLUE
};
int main()
{
    enum Color color=BLUE;
    return 0;
}

字符串

字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算作字符串内容。

#include<stdio.h>
int main()
{
    char arr1[]="abc";
    char arr2[]={'a','b','c'};
    printf("%d\n",strlen(arr1));//strlen-计算字符串长度的
    printf("%d\n",strlen(arr2));
    return 0;
}

//输出结果为3和随机值
//如果arr2[]={'a','b','c','\0'};  -加上\0后输出结果为3  3

转义字符

\?    在书写连续多个问号时使用,防止他们被解析成三字母词

\'    用于表示字符常量'

\"    用于便是一个字符串内部的双引号

\\    用于表示一个反斜杠,防止他被解释为一个转义序列符

\a    警告字符

\b   退格符

\f    进纸符

\n    换行

\r   回车

\t    水平制表符

\v    垂直制表符

\ddd    ddd表示1~3个八进制的数字。如:\130x

\xdd    dd表示2个十进制数字。如\x30 0

选择语句

#include<stdio.h>
int main()
{
    int a=0;
    printf("你会好好学习吗?(选择1 or 0):>");
    scanf("%d",&a);
    if(a==1)
    {
        printf("坚持住,你会有好工作\n");
    }
    else
    {
        printf("毕业回家卖红薯\n");
    }
    return 0;
} 

循环语句

#include<stdio.h>
int main()
{
    int a=0;
    printf("学习\n");
    while(a<5000)
    {
       printf("继续学习;%d\n",a);
       a++;
    }
    if(a>=5000)
        printf("好offer\n");
    return 0;
}

操作符

算数操作符

+  -  *  /  %

移位操作符

<<  >>

位操作符

&  ^  |

赋值操作符

=    +=    -=    *=    /=    &=    ^=    |=    >>=    <<=

单目操作符

! 逻辑反操作

-    负值

+   正值

&   取地址

sizeof   操作数的类型长度(以字节为单位)

~   对一个数的二进制按位取反

--   前置、后置--

++  前置、后置++

*   间接访问操作符(解引用操作符)

(类型)   强制类型转换

关系操作符

>

>=

<

<=

!=

==

逻辑操作符

&&

||

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值