zoukankan      html  css  js  c++  java
  • Linux下的C语言基础-1

    1.liunx命令补充:    

        拷贝文件或目录 cp 文件 目标路径   注:如果拷贝的文件在目标路径下存在 则替换
        目录或文件改名 cp 原文件名 新文件名

        移动文件或目录 mv 文件 目标路径
        目录或文件改名 mv 原文件名 新文件名

        Ctrl + alt + t 是重新打开一个shell终端
        Ctrl + shift + n 是打开与当前路径一样的shell终端

    ******************************************C基础******************************************

    2.C基础:
        C语言诞生于20世纪70年代的贝尔实验室 由B语言基础上设计的
        用来实现UNIX操作系统

        为什么要学C语言???
        C语言的存在大部分原因是效率高,(执行效率)
        而且可以直接操作内存地址。

    3.学习C语言学习什么???

        编程的逻辑--->控制语句--->编程思维(面向过程)

        C的强大--->不管什么平台都可以上手

        物联网路径--->裸奔8051--->皇帝的新装 FreeRTOS uC/OS III--->潮流新装--->liunx ARM
        一路走来 谁能逃开 C???

    4.
        #include <stdio.h>//包含头文件(stdio.h)
                // # 预处理符号
        int main(int argc, const char *argv[])//每个C程序必须有一个main函数 代表程序的入口
        {
          printf("hello world ");
          printf("hello world ");//代码块
          printf("你好 ");

          return 0;//返回值 给操作系统返回,0代表正常退出,非0代表不正常退出
        }

        gcc 编译一个 .c程序分4步
        1.预处理 gcc -E -o xxx.i xxx.c
        2.编译 gcc -S -o xxx.s xxx.i
        3.汇编 gcc -c -o xxx.o xxx.s
        4.连接 gcc xxx.o -o xxx

        #include <stdio.h>中的   <>   表示在编译时去系统默认的路径去找对应的文件
                   “ ”    表示编译时先在先在当前目录下找对应的文件,
                     找不到再去系统默认路径下去找。

    *****************************************数据类型*****************************************

          位:bit
          字节:byt 一个byt=8bit;
          内存是字节编址,每个字节为它建立一个内存地址“号”
          int 型所占字节长度为4字节
          char 型所占字节长度:1字节
          float 型所占字节长度:4字节
    **********************************************************************************************

    基本类型:
        字符型:char unsigned char

        整型:
          短整型  :short 或 short int 占2个字节
          整型   :int
          长整型  :long 或long int 4字节

          实型(浮点):
                float 单精度 4字节
                double 双精度 8字节
                long double 12字节

          构造类型
              数组
                char c[32];
              结构体
                struct
              共用体
                union

              指针:
                char *
                int *

              空类型
                void

    **************************************变量***************************

    变量的命名:
      自动          int    i;
          <存储类型><变量类型><变量名>

    变量名不许与C语言中的关键字重复
        关键字共32个
             12个变量类型
            6个存储类型
               12个控制语句
        sizeof() 注:大部分称为关键字 有些老师或教材也称为单目运算符 肯定不是函数
        typedef
          初始化:定义变量时为变量赋值 是初始化
          赋值: 定义变量后 再为变量赋值 赋值

    *****************************运算符*****************************
    变量前++:先自增再参与运算

    变量后++:先参与运算后自增

    #include <stdio.h>

    int main(int argc, const char *argv[])
    {
    int i;//定义变量
    int j;

    i = 10;
    //j = ++i;//先自增再参与运算
    j=i++;//先参与运算后自增

    printf("j = %d i = %d ",j,i);

    return 0;
    }

    ***************************大小端************************

    大端:高位数据存放在低地址

    小端:高位数据存放在高地址

    #include <stdio.h>

    int main(int argc, const char *argv[])
    {
    int i= 0x12345678;

    void *p = &i;

    printf("%x ",i);

    putchar(10);

    for(int a =0;a<4;a++){

    printf("%x ",*((char *)p++));

    }

    return 0;
    }

    ************************************输入输出*********************************
        输出:int printf(const char *format, ...);

        int a = printf("hello world ");

          //功能:格式化字符串输出
          //参数:控制格式 %xxx,输出变量名
          //返回值:成功返回打印字符的个数 失败返回 -1;

          格式控制参数: %d 整型
          %ld 长整型
          %c 字符
          %s 字符串
          %x 十六进制
          %#x 带0x的十六进制
          %p 地址
          %f 浮点
          %.2f 保留小数点后两位
          %% 打印%

    #include <stdio.h>

    int main(int argc, const char *argv[])
    {
    int i = 10;
    int x = 0x12345678;
    char c = 'A';
    char *p = "hello HQYJ";
    float f = 3.1415926;


    int a = printf("hello world ");
    printf("%d ",a);
    printf("***************************************************** ");

    printf("%d ",i);
    printf("%x ",x);
    printf("%#x ",x);
    printf("%c ",c);
    printf("%s ",p);
    printf("%p ",p);
    printf("%f ",f);
    printf("%.2f ",f);
    return 0;
    }


    输入 : int scanf(const char *format, ...);
    功能:从键盘读入数据,存入指定类型的存储单元中
    参数 :指定输入格式
    返回值:成功返回输入变量的个数 失败返回 -1;

    输入格式参数:
    %d 整型
    %c 字符
    %s 字符串
    %f 浮点

    #include <stdio.h>

    int main(int argc, const char *argv[])
    {
    int a;
    char c;
    float f;
    char *s;
    printf("请输入int变量 ");
    scanf("%d",&a);
    printf("请输入char变量 ");
    scanf("%c",&c);
    scanf("%c",&c);

    printf("请输入float变量 ");
    scanf("%f",&f);
    printf("请输入字符串 ");
    scanf("%s",s);

    printf("请输入3个整形数据 ");
    int i,j,k;

    scanf("%d%d%d",&i,&j,&k);
    printf("i=%d j=%d k=%d ",i,j,k);


    printf("******************************************** ");
    printf("您输入的int型数据是:%d ",a);
    printf("您输入的char型数据是:%c ",c);
    printf("您输入的float型数据是:%f ",f);
    printf("您输入的字符串:%s ",s);
    return 0;
    }


    单个字符输出:
    int putchar(int c);

    #include <stdio.h>

    int main(int argc, const char *argv[])
    {
    char *s = "hello world";
    printf("%s",s);
    putchar(10);
    putchar(‘A’);
    putchar(10);

    return 0;
    }

    获取单个字符:
    int getchar(void);

    #include <stdio.h>

    int main(int argc, const char *argv[])
    {
    char c = getchar();
    printf("%c ",c);

    return 0;
    }

    *********************************控制语句*********************************

      if 条件判断
      if语句是用来判断给定的条件是否满足,根据判断结果(真或者假)执行给出的操作
      if语句有三种形式
        1.if(表达式) 语句1;
          单分支结构,判断表达式为真则执行 语句1 为假则不执行

        2.if(表达式) 语句1;else 语句2;
          双分支结构,判断表达式为真则执行 语句1 为假则执行 语句2;

        3.if(表达式0) 语句0;
         else if(表达式1) 语句1;
         else if(表达式2) 语句2;
         else if(表达式3) 语句3;
    注:紧随if或者else后只能有一条执行语句


    如果if else 有多条语句 可以加{}来限制

    练习:输入一个字符(26个英文字母) 如果是小写的 把它转换成大写输出
    如果是大写的 把它转换成小写输出
    如果输入的字符不在26个英文字母范围内
    则输出提示信息 内容自便


    #include <stdio.h>

    int main(int argc, const char *argv[])
    {
    printf("请输入一个英文字母 ");
    char c = getchar();

    if(c<='Z'&&c>='A'){

    c+=32;
    printf("%c ",c);
    }
    else if(c<='z'&&c>='a'){

    c-=32;
    printf("%c ",c);
    }
    else
    printf("你输入的是啥啊 ");

    return 0;
    }

        while 循环语句
          C语言中有两种循环结构
            1.当型循环结构
            2.直到型循环结构

        while就属于当型循环结构

        while(表达式)
        {
        循环体语句;
        }
        先判断表达式,再执行循环体中的内容(表达式为真则执行 为假则不执行)

    break 转向语句:
    跳出循环(所有循环)执行后边的语句
    continue 转向语句:
    结束本次循环,不在执行循环体内的continune后的语句,转入下次循环

  • 相关阅读:
    android视频录制
    UIWebView 缓存
    (Detected problems with API compatibility(visit g.co/dev/appcompat for more info)
    二、为什么要安装jdk?
    一、java为什么叫java?
    jstl标签
    J2EE(八)——myeclipse开发servlet
    J2EE(七)——myeclipse开发servlet
    J2EE(六)——servlet生命周期
    J2EE(五)——servlet初识
  • 原文地址:https://www.cnblogs.com/Halo-zyh-Go/p/12607806.html
Copyright © 2011-2022 走看看