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  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型数据(无符号数)


注意:        %d与%u的区别是,有无符号的数值范围不同,也就是极限的值不同,不然数值打印出来会有误

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

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

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

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

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

%g            //根据大小自动选f格式或e格式,且不输出无意义的零
原文链接:https://blog.csdn.net/chenmozhe22/article/details/109738852

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.转义字符

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值