1.liunx命令补充: 拷贝文件或目录 cp 文件 目标路径 注:如果拷贝的文件在目标路径下存在 则替换 目录或文件改名cp 原文件名 新文件名 移动文件或目录 mv 文件 目标路径 ...
 
                
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
**************************************变量***************************
变量的命名:
	     自动          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后的语句,转入下次循环
本文标题为:Linux下的C语言基础-1
 
				
         
 
            
        基础教程推荐
- 如何告诉 MinGW 链接器不要导出所有符号? 2022-10-07
- C语言预编译#define(预处理) 2023-04-03
- C/C++ Qt StatusBar底部状态栏应用教程 2023-01-10
- C++类和对象到底是什么 2022-11-12
- 使用VS2022开发在线远程编译部署的C++程序(图文详解) 2023-01-15
- 漫画讲解C语言中最近公共祖先的三种类型 2023-01-01
- 使用C/C++读写.mat文件的方法详解 2023-03-05
- C++高级数据结构之并查集 2023-04-20
- C语言实现简易停车场管理系统 2023-03-13
- C语言文件操作与相关函数介绍 2023-06-13
 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
    	 
						 
						 
						 
						 
						 
				 
				 
				 
				