C语言第二课(笔记)

C语言第二课(笔记)1 计算机中的单位 bit 比特 byte 字节 换算 8bit 1byte kb mb gb tb pb 换算 1024 计算机是硬件通电 正电 1 负电 0 char 1byte shert 2byte int 4byte long 4 8byte long long 8byte

大家好,我是讯享网,很高兴认识大家。

1.计算机中的单位

bit 比特    byte 字节   换算8bit=1byte

kb  mb  gb  tb  pb  换算1024

计算机是硬件--通电      正电:1    负电:0

char=1byte  shert=2byte  int=4byte long=4/8byte  long long=8byte  float=4byte  double=8byte

sizeof(int)<=sizeof(long)

2.变量

全局变量--定义在{}外的变量   作用域:整个工程

局部变量--定义在{}内的变量       作用域:变量局部范围

(因为二者可以同时存在,所以不建议命同样的名。当二者名字相同时,局部变量优先)

3.输入函数:scanf

#include<stdio.h>
int main()
{
    int num1 = 0;
    int num2 = 0;
    int sum = 0;
    scanf("%d%d", &num1, &num2);//&取地址符号
    //C语言语法规定,变量要定义在当前代码块{}的最前面
    sum = num1 + num2;
    printf("sum=%d\n", sum);
    return 0;
}

scanf处会出现错误    C4996    'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.  

原因:scanf是C语言提供的,visual的编译器认为这有威胁

scanf_s不是C语言提供的,是visual studio的编译器提供

解决方法1:在“解决方案管理器”中选择项目右键-->属性-->C/C++-->常规-->SDL检查改为否

解决方法2:源文件第一行加上#define _CRT_SECURE_NO_WARNINGS

4.常量

·字面常量(直接写出 如:100 ,3.14等)

·const修饰的常变量(const常属性,把一个变量搞成常量)

·#define定义的标识符常量(#define 变量 数字)

·枚举常量

#define _CRT_SECURE_NO_WARNINGS

#include<stdio.h>
enum Sex
{
    MALE,
    FEMALE,
    SECRET
};
int main()
{
    //enum Sex s=FEMALE
    printf("%d\n", MALE);//0
    printf("%d\n", FEMALE);//1
    printf("%d\n", SECRET);//2

    return 0;

5.补充(转载hello-alien的)

%d            //整型输出

%ld        //长整型输出

%o            //以八进制数形式输出整数

%x           //以十六进制数形式输出整数,或输出字符串的地址

%u            //以十进制数输出unsigned型数据(无符号数)

%c            //用来输出一个字符

%s            //用来输出一个字符串

%f            //用来输出实数,以小数形式输出,默认情况下保留小数点6位

%.5f        //用来输出实数,保留小数点5位

%e            //以指数形式输出实数


讯享网

6.#include<stdio.h>
int main()
{
    char arr1[] = "abc";//数组,单字符用‘’多字符用“”

    //“abc"--//'a''b''c''\0'--('\0'字符串的结束标志)
    char arr2[] = { 'a','b','c',0 };
    printf("%s\n", arr1);
    printf("%s\n", arr2);
    return 0;
}

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

8.进制的换算

32(8进制-->10进制)=3*8^1+2*8^0=26

10进制-->8进制:短除法   除不尽的余数往上放

9.if语句(注意:if的后面是不带;的)

int main()
{
    int input = 0;
    printf("你要好好学习吗?(1/0)>:");
    scanf("%d", &input);
    if(input == 1)
        printf("好offer\n");
    else
        printf("卖红薯\n");
    return 0;
}

10.循环语句(1)

int main()
{
    int line = 0;
    while (line < 20000)
    {
       printf("敲一行代码\n %d/n",line);
       line++;
    }
    if(line>=20000)
    printf("good job\n");

    return 0;

(2)数组

int main

{

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

    下标对应:0,1,2,3,4,5,6,7,8,9(注意:下标是从零开始的,下标意义在于找出对应的元素,如下)

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

return 0;-------->这样打印出来的数字是5

更改一下上面程序,用下循环语句

(3)int main()
{
    int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
    int i = 0;
    while (i < 10)
    {
    printf("%d ", arr[i]);
    i++;//数字递增
    }
    
    return 0;

11.操作符

%取摸,就是取余数(/取商,不算余数)

>>左移符号  0000000000001>0000000000010(2进制)(10进制即1>2)

同理<<右移符号

&按位与=交集    |按位或=并集   ^异或:对应的二进制位相同则为0,反之为1

=赋值    ==判断是否相等

a=a+10-->a+=10

a=a-10-->a-=10

 12.转义字符

 

 

小讯
上一篇 2025-01-19 17:10
下一篇 2025-01-08 13:09

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/15722.html