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\n");
      printf("hello world\n");//代码块
      printf("你好\n");

      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

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

扫描二维码关注公众号,回复: 10350053 查看本文章

变量的命名:
  自动          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\n i = %d\n",j,i);

return 0;
}

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

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

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

#include <stdio.h>

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

void *p = &i;

printf("%x\n",i);

putchar(10);

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

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

}

return 0;
}

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

    int a = printf("hello world\n");

      //功能:格式化字符串输出
      //参数:控制格式 %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\n");
printf("%d\n",a);
printf("*****************************************************\n");

printf("%d\n",i);
printf("%x\n",x);
printf("%#x\n",x);
printf("%c\n",c);
printf("%s\n",p);
printf("%p\n",p);
printf("%f\n",f);
printf("%.2f\n",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变量\n");
scanf("%d",&a);
printf("请输入char变量\n");
scanf("%c",&c);
scanf("%c",&c);

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

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

scanf("%d%d%d",&i,&j,&k);
printf("i=%d\nj=%d\nk=%d\n",i,j,k);


printf("********************************************\n");
printf("您输入的int型数据是:%d\n",a);
printf("您输入的char型数据是:%c\n",c);
printf("您输入的float型数据是:%f\n",f);
printf("您输入的字符串:%s\n",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\n",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("请输入一个英文字母\n");
char c = getchar();

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

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

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

return 0;
}

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

    while就属于当型循环结构

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

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

猜你喜欢

转载自www.cnblogs.com/Halo-zyh-Go/p/12607806.html