c语言自学2--初识c语言2

本文详细介绍了C语言中的常量概念、不同类型的常量如字面常量、const修饰的常变量、宏定义和枚举,以及字符串处理、转义符号、注释的使用,选择语句、循环结构、函数、数组和各种操作符,包括算术、移位和位运算,以及赋值操作符的用法。
摘要由CSDN通过智能技术生成

针对scanf无法使用问题:#define _CRT_SECURE_NO_WARNINGS 1 

接上篇,常量变量

1.常量

常量即字面意思,不变的量。有四种用法,如下:

1)字面常量

int main()

{

        3;

        4;

        return 0;

}

2)const修饰的常变量

int main()

{

        const int num = 4; //此时的num本质仍为变量,只是拥有了常属性。

        num = 8;

        printf("%d\n", num);

        return 0;

}

此时便会报错,因为const修饰了一个num了,就不能再赋予num其他值了。

int main()

{

        int arr[10] = {0};          ------->const int n = 10;

        return 0;                                 int arr[n] = {0};

}                //可行                                          //不可行

因为n是变量,只是拥有了常数性,所以const又称常变量。

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

#define MAX 10

int main()

{

        int arr[MAX] ={0};

        printf("%d\n", MAX);

        return 0;

}          //执行结果是10

4)枚举常量 enum

enum SEX

{

        MALE;

        FEMALE;

        SECRET

};

int main()

{

        printf("%d\n", MALE);

        printf("%d\n",FEMALE);

        printf("%d\n", SECRET);

        return 0;

}      //执行结果 0 1 2

2.字符串+转义符号+注释
1)字符串    ""由双引号引起的一串字符

情况一:

int main()

{

        char arr1[] = "abc";

        char arr2[] ={'a','b','c'};

        printf("%s\n", arr1);        //%s代表字符串型格式符

         printf("%s\n", arr2);

        return 0;

}             //结果为abc abc烫烫烫烫bc

原因为:"abc"拆分来是'a','b','c','\0'(也是0)

                而 'a','b','c'拆分来缺少了一个0,所以没有结束

注:字符串的结束标志是一个\0的转义符号,不算内容

情况二:

int main()

{

        char arr1[] = "abc";

        char arr2[] ={'a','b','c',0};

        printf("%s\n", arr1);      

         printf("%s\n", arr2);

        return 0;

}         //此时执行结果为 abc abc

若将以上的printf改为   //此时需要添加头文件include  <string.h>

printf("%d\n", strlen(arr1);   //strlen-->string length 计算字符串长度

printf("%d\n", strlen(arr2));

则情况一输出 3 随机值

情况二输出3 3,因为情况一没有结束标志0。

2)转义符号

转变原来的意思。

\t 水平制表符(类似于tab)

\n 换行

\? 防止被解析为三字母词

\\ 让斜杠不再具有特殊意义,防止被解析为转义序列符

\'    \"  与上方意义类似

\ddd 八进制转换(ddd 1-3个八进制数字   0-7)

\xdd 16进制转换 (dd表示两个16进制数字)

注:数据在计算机上存储时,存储的是二进制

a对应97  A对应65

其他的可去搜索ASCII表见详。

3)注释

注释符号//

还有一个/*       */这个并不支持嵌套注释

Ctrl+k+c 注释

Ctrl+k+u 取消注释

3.选择语句

int main()

{

        int input = 0;

        printf("成为编程大佬\n");

        printf("你要好好学习吗?(1/0):");

        scanf("%d", &input);

        if (input == 1)

                printf("大佬大佬\n");

        else

                printf("菜鸟菜鸟\n");

        return 0;

}

4.循环语句

包括三种1)while语句  2)for语句  3)do..while语句

1)int main()

{

        int line = 0;

        printf("成为编程大佬\n");

        while(line < 20000)

        {

                printf("敲代码:%d\n", line);

                line ++;

        }

        if(line >=20000);

                printf("大佬!\n");

        return 0;

}

5.函数

例子:加法

int Add(int x , int y);

{

        int z = x + y;

        return z;

}

int main()

{

        int num1 = 10;

        int num2 = 20;

        int sum = 0;

        sum = Add(num1 , num2);

        printf("sum = %d\n", sum);

        return 0;

}

6.数组

1)

int main()

{

        int arr[10] ={1,2,3,4,5,6,7,8,9,10};

        printf("%d\n", arr[4]);

        return 0;

}   //下标的方式访问元素结果:5(从0开始记)

2)

int main()

{

        int arr[10] ={1,2,3,4,5,6,7,8,9,10};

        int i= 0;

        while(i < 10)

        {

                printf("%d\n", arr[i]);

                i ++;

        }

        return 0;

}

结果依次显示1,2,3,4....

可以打开监视窗口观看:调试-->窗口-->监视

7.操作符

1)算术操作符:+ - * / %

注:/ 取商   % 取模

例如5/2=2..1 2为商,1为模。

2)移位操作符   >> 右移       <<左移

移位移动的是二进制位

例:int main()

{

        int a =1;

        int b=a << 2;

        printf("%d\n", b);

        return 0;

}      //结果为4

解析:1--->0×30   01

a << 2 ---> 0×29 100

8.位操作符

这里的“位”是二进制位。

& 按位与 (有0选0)

^ 按位异或 (相同为0,不同为1)

| 按位或 (有1选1)

9.赋值操作符

= 赋值

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

例:a=a+10 与a += 10 意义相同

a=a-10 与a -= 10 意义相同

注:== 判断相等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值