美文网首页
c课堂笔记 day-1

c课堂笔记 day-1

作者: 努力活得更好 | 来源:发表于2016-12-12 19:54 被阅读0次

    c语言之父:丹尼斯.里奇

    c语言的优缺点:看书查找

    1.c的引入:

    gcc编译的格式:gcc hello.c -o hello -o是目标的意思object;

    hello world程序的解析:

    < #>:预处理命令 include:头文件的包含 <>:把括号里的内容引入到源文件中
    <stdio.h>:标准输入输出头文件,是计算机自带的库,可以直接使用
    < main>:函数名,main()是主函数,c程序源文件有且只能有一个main()函数!!!c程序的入口,即所有的c程序都是从
    main函数开始执行;
    int argc:参数的个数; char *argv[]:记录参数
    printf():是库函数,包含在<stdio.h>中;
    return 0:返回,或者函数结束;
    注:以上内容基本决定了程序的框架;

    c的数据类型:

    基本数据类型:
    int:基本整型
    short int:短整型
    long int:长整型
    unsigned :无符号
    signed:有符号
    char 字符型 getchar 只能得到一个字符
    float 单浮点类型:小数点后6位
    double 双浮点类型: 小数点后15位
    numf e/E n :e为10的n次方
    例:12.2E3<=====>12.2*10^3
    enum 枚举类型
    构造数据类型:
    数组类型,结构体(struct),联合体(union)
    指针类型:
    空类型: void

    2.变量的定义:

        data:数据
        type:类型
        value:值
    

    DataType Name1,Name2,......,Numen;
    可以定义多个变量,中间用逗号隔开,结尾用分号结束!!
    DataType Name; 一行定义一个变量最好
    DataType Name1;
    建议一行定义一个变量并初始化

    3.标识符:

    包括变量名,函数名,及其它标号等;
    (1)标识符的命名要求
    字母(A~Z,a~z),下划线(_),数字组成;
    且规定:第一个字符不能为数字;
    (2)命名规则:
    可读性要高,做到“见名知义”
    驼峰命名法;
    尽量不要用汉语拼音!!!

    4.格式输入\输出:scanf()\printf()

    printf("占位符",参数):按一定格式输出,一一对应!!
    也可以直接输出printf("====")
    %m.nf:m代表总位数(%5.3f=3.142 包含小数点加起来共五位数,小数点后面三位),n小数部分保留几位
    %-m.n:左对齐! %m.n:右对齐! 正负决定左右对齐;
    scanf("占位符",参数): 按一定格式输入,一一对应!!
    &(取地址符):取相应地址

    #######include<stdio.h>
    int main()
    {
    float numf=1.234;

    //按一定格式输出
    printf("numf=%f\n",numf);
    //输入numf的值,&numf为取地址符,将输入的 数据保存
    //到numf对应的内存空间中!
    scanf("%f",&numf);
    printf("numf=%5.3f",numf);
    

    }

    \

    #######include<stdio.h>
    int main()
    {
    int numt=123;
    float numf=1.23;
    printf("input two num:\n");
    //printf给的什么格式scanf就按一定格式输入
    scanf("%d,%f",&numt,&numf);
    printf("numt=%d\tnumf=%f\n",numt,numf);
    //\t 制表符;
    return 0;
    }

     占位符:
               printf         scanf
     int            %d         %d              
     char           %c         %c
     long           %ld        %d
     float          %f         %f
     double         %lf        %f
     字符串         %s
    

    5.常量

    数字常量:123 1 567 -234
    字符常量:'d' '$' '?' 'A'
    实型常量:1.234 3.1415926 -1.423
    字符串常量:由双引号括起来的字符序列(由一个或多个字符组成的)
    注意:字符串和字符的区别
    'a':字符 占一个字节
    "a":字符串 占两个字节 默认结束标志为‘\0’, 一般不显示
    表示形式: "ahsoifhaiu" "asdf?<@sdaf"

    6.变量和常量的区别:

    变量:
    其职可以更改!
    先定义,后使用!
    常量:
    其值不可更改!
    随时可以使用,无需定义或声明!
    #include<stdio.h>
    int main()
    {
    int numt=34; //变量先定义后使用
    //常量名=值
    printf("numt=%d,888=%d\n",numt,888);
    return 0;
    }

    二、运算符

    1.sizeof():计算大小,得出对应变量或数据类型所占内存空间大小
    单位:字节(byte) 1字节=8位(bit)
    sizeof DataType:
    64位机下:

    #######include<stdio.h>
    int main()
    {
    printf("sizeof DataType:\n");
    printf("sizeof(char)=%ld\n",sizeof(char)); =1
    printf("sizeof(int)=%ld\n",sizeof(int)); =4
    printf("sizeof(short)=%ld\n",sizeof(short)); =2
    printf("sizeof(long)=%ld\n",sizeof(long)); =8
    printf("sizeof(float)=%ld\n",sizeof(float)); =4
    printf("sizeof(double)=%ld\n",sizeof(double)); =8
    return 0;
    }

    #######include<stdio.h>
    int main()
    {
    char ch;
    short short_size;
    int int_size;
    long long_size;
    float float_size;
    double double_size;
    printf("sizeof(ch)=%ld\n",sizeof(ch));
    printf("sizeof(short_size)=%ld\n",sizeof(short_size));
    printf("sizeof(int_size)=%ld\n",sizeof(int_size));
    return 0;
    }
    注意:对比数据类型所占大小,和其定义的变量所占内存的大小!

    2.算数运算符(七个)

    加:+ 减:- 乘:* 除:/ 取余:% a%b求余 6%4余2

        #include<stdio.h>
        int main()
        {
            int a=12;
            int b=3;
            int sum=a+b;
            //或者:int sum;
            printf("%d,%d,%d\n",a,b,sum);
            return 0;
        }
    
        #include<stdio.h>
        int main()
        {
            int a=12;
            int b=3;
            int sum=a-b;
            int c=a*b;
            int d=a/b;
            //或者:int sum;
            printf("%d,%d,%d,%d,%d\n",a,b,sum,c,d);
            return 0;
        }
    

    自增:++
    ++i :num=++i; i=i+1; num=i;
    i++ : num=i; i=i+1;
    #include<stdio.h>
    int main()
    {
    int num=5;
    int sum=++num + ++num; 6+6
    printf("sum=%d\n",sum);
    int i=5;
    int j=i++ + i++; 5+5
    printf("i=%d j=%d\n",i,j);

        }
    

    自减:-- --i i--

        #include<stdio.h>
        int main()
        {
           int num=5;
           printf("%d\n",++num);6
           printf("%d\n",num++);6
           printf("%d\n",num--);7
           printf("%d\n",++num);7
           printf("%d\n",num++);7
        }
    

    关系运算符:(结果成立为1 不成立为0)
    大于:>
    小于:<
    等于等于:==
    大于或者等于:>=
    小于或者等于:<=
    不等于:!=

    #######include<stdio.h>
    int main()
    {
    int a=3;
    int b=4;
    printf("a>b:%d\n",a>b); =0
    printf("a<b:%d\n",a<b); =1
    printf("a==b:%d\n",a==b); =0
    printf("a<=b:%d\n",a<=b); =1
    printf("a>=b:%d\n",a>=b); =0
    printf("a!=b:%d\n",a!=b); =1
    }

    逗号运算符(,):

    表达式1,表达式2,表达式3;
    其中每个表达式又可以是一个逗号表达式!
    一次计算表达式1,表达式2,表达式3的值,整个逗号表达式的值取决于最后一个表达式的值
    #include<stdio.h>
    int main()
    {
    int a=4;
    a+2,a3,a-5;
    printf("a=%d\n",a); a=4
    (a=a+3,a
    2),a/3; //有等于号才赋值 这里a=a+3
    printf("%d\n",a); a=7

        }
    

    使用scanf()注意事项
    (1) 一定要严格按照scanf()中的格式输入变量的值!!
    (2) 使用scanf()时,取参数列表中参数的地址,scanf()是将输入的值保存到变量对应的地址中!
    (3) 缓存区问题
    scanf() 函数中不能使用换行符:\n;

    相关文章

      网友评论

          本文标题:c课堂笔记 day-1

          本文链接:https://www.haomeiwen.com/subject/oaqjmttx.html