美文网首页
培训第五天----基本变量及语法,数据类型ji运算符

培训第五天----基本变量及语法,数据类型ji运算符

作者: 穹蓝奥义 | 来源:发表于2016-12-12 18:06 被阅读0次

    上周作业

    1.判断给定目录下的文件属性 //file or directory!
    #!/bin/bash
    for i in *
    do
    if [ -d $i ]
    then
    echo "$i is directory!"
    elif[ -f $i ]
    then
    echo "$i is file!"
    else
    echo "else!"
    fi
    done

    2.用for或者while实现打印等腰三角形,行数由用户输入

    提示:‘’ = 2 × 行号 - 1 ;‘ ’= 总行数 - 行号*

        #!/bin/bash
            echo -n "Input 行数row:"
            read NUM
            row =1
            while [ $row -le $NUM ]
                do
                col=1
                while [ $col -le `expr $NUM - $row` ]
                do
                    printf " "
                    let col++
                done
                col=1 
                while [ $col -le `expr $row  \* 2 - 1` ]
                 do
                    printf " "
                    let col++
                  done
            done
    

    今日

    C语言基础

    创始人:里奇,丹尼斯
    优点:简洁,紧凑,使用方便,运算符丰富,数据结构丰富,结构化控制语句,程序自由度大
    缺点:当代码量过大时,代码不可控性很严重

    一、C基本变量及语法#

    c的引入 文件后缀.c 可以无输入,但不能无输出。
    编译.c:

      gcc hello.c -o hello
    

    注释:
    hello.c 当前目录下的原文件
    hello 生成的目标文件
    -o 请不要省略
    如果生成,说明程序无误。
    或者:

      gcc hello.c           //自动生成a.out文件 也可运行 不建议这样操作
    

    实例:
    #include<stdio.h>
    int main(int argc, char *argv)
    {
    printf("hello C!\n");
    return 0;
    }

    程序解析:

    1. :预处理命令

    2. include:头文件的包含
    3. <>:把括号里面的内容引入到源文件中 自定义头文件用“”
    4. stdio.h:头文件,式计算机自带的库,可直接使用。
    5. main:函数名,main()是主函数,C程序源文件有且只能有一个main()即主函数!!! C程序的入口,即所有的C程序都是从main()开始执行!!
    6. int arge:参数的个数
    7. char *argv[]:记录参数
    8. printf():是库函数,包含在<stdio.h>中
    9. return 0:返回,或者函数结束
      注:此程序基本决定了C程序的基本框架

    二、C语言的数据类型

    1.基本数据类型

    整数类型:
    int 基本整形数据
    short int 短整型(short)(保存的精度不同,或长度)
    long int 长整型(long)
    unsigned 无符号(如负号)
    signed 有符号
    字符型:
    char //有‘’引起来的单个字母,数字或其他符号
    ‘e’ ‘l’ ‘!’ 等都是字符。单个!!!
    getchar():获取单个字符
    putchar():输出单个字符
    实型(浮点型):
    float:单精度 有效位:7位左右
    double:多精度 有效位:15位左右
    根据16位,32位,64位的不同。
    枚举型: enum

    构造数据类型:
    数组类型,结构体(struct),联合体(union)
    空类型:void

    2.变量的定义

    data:数据
    type:类型
    (1)DataType Name1,Name2, ... , Namen;
    可以定义多个变量,中间用逗号隔开。结尾用分号结束!!!
    (2)建议一行定义一个变量!!
    DataType Name;
    DataType Name1;
    (3)建议一行定义一个变量并初始化!!
    DataType Name = vale; //空格可有可无,条例清晰,分清代码。

    int a=2;            //定义整型变量
    int b,c,d;      //给整形变量赋值
        b=12
        c=13
        d=15           //定义多个整型变量并初始化   
    int e=1,f=3,g=4;
    

    3.标识符

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

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

    (1)printf() 按一定格式输出:

            printf("占位符",参数列表)       //一一对应!
            printf(“打印输出的内容”)
    

    %m.nf(右对齐) m为总位数,n精度,小数保留位数
    %-m.nf(左对齐)

    (2)scanf() 按一定格式输入:

            scanf("占位符",参数列表)      //一一对应!
    

    &:取地址符号,参数列表里每一个前都要加。

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

    5.常量

    数字常量:2323 314 2 -342
    字符常量:'d' '$' '?' '4' 'A'
    实型常量:1.4213 53425.54 -345.4
    字符串常量:由双引号括起来的字符序列(由一个或多个字符组成的)"fgfdgfdsd" "fhdsoa@<?" "fg"
    注意:字符串和字符的区别,单引号只能单个字符,双引号可引
    'a':占一个字节
    "a":占两个字节,默认 \0 为字符串的结束标志,不显示

    6.变量和常量的区别:

    变量:其值可以更改,先定义后使用!!
    常量:其值不可以更改,随时可以使用,无需定义或声明!
    变量的初始化:变量名 = 常量; //类型一定要一致!!

    三、运算符

    1.sizeof()

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

    (1)sizeof DataType

        64位机如下:
        sizeof(char)  = 1
        sizeof(int)   = 4
        sizeof(short) = 2
        sizeof(long)  = 8
        sizeof(float) = 4
        sizeof(double)= 8
    
        32位机如下:(同64位机,只long型不同)
        sizeof(long)  = 4
    

    (2)对应变量的内存大小 sizeof DataType value

        sizeof(ch)         =1
        sizeof(short_size) =2
        sizeof(int_size)   =4
        sizeof(long_size)  =8
        sizeof(float_size) =4
        sizeof(double_size)=8
    

    注意(1)(2)的几个,对比数据类型所占大小,和其定义的变量所占内存的大小!

    2.算术运算符

        加: +   减: -  乘: ×  除: /  取余: % a%b,a对b求余数
        自增:++   
             ++i:先自增,后取值,即 num = ++i,i =i+1;num = 1;
             i++:先取值,后自增,即 num = i++,num = 1;i = i+1;
        自减:--
             --i:先自减,后取值
             i--:先取值,后自减
    

    3.关系运算符(英语输入法)

    大于:>        a>b:若成立,则结果为1;
                 若不成立,则结果为0;
                 
    小于:<        a<b:若成立,则结果为1;
                 若不成立,则结果为0;
                    
    等于等于:== a==b:若成立,则结果为1;
                  若不成立,则结果为0;
                 
    大于等于:>= a>=b:若成立,则结果为1;
                  若不成立,则结果为0;
                 
    小于等于:<= a>=b:若成立,则结果为1;
                  若不成立,则结果为0;
                 
    不等于:!=  a!=b:若成立,则结果为1;
                  若不成立,则结果为0;
    

    4.逗号运算符(,)

    表达式1,表达式2,表达式3        //其中每个表达式又可以是一个逗号表达式!
    

    一次计算表达式1,表达式2,表达式3的值,
    整个逗号表达式的值取决于最后一个表达式的值。

    5.使用scanf()注意事项

    (1)一定要严格按照scanf()中的格式输入变量的值!!
    (2)使用scanf()时,取参数列表中参数的地址,scanf()是将输入的值保存到变量对应的地址中!
    (3)缓存区问题
    scanf()函数中不能使用换行符:'\n'!! ,因为只有把缓存填满了,才会停止。

    相关文章

      网友评论

          本文标题:培训第五天----基本变量及语法,数据类型ji运算符

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