C语言语法
每一个c文件,有且仅有一个main函数,这个函数禁止调用。程序执行的时候,会自动调用。
C语言的包含
#include的用法,有两种,写法如下:
#include<stdio.h>
#include”my_stdio.h”
以上两种写法,引用路径不一样,区别如下:
使用<>:编译器会到系统路径下查找头文件,一般是适合引用系统文件
使用“”:编译器首先会回到当前目录下查找头文件,如果没找到,再去系统路径下查找,一般适合引用自定义的文件
注释
多行注释
/* 多行注释 ... */
文档注释
/ * * * * * * */
变量以及常用的数据类型
数据类型是用来修饰变量,决定了分配内存的大小和存储方式
变量是一块用来存储数据的内存空间
定义变量
关于变量的命名:
1.不能是关键字
2.不能以数字开头
3.可以包含英文字母(包含大小写)、数字、__、$
4.不建议使用中文作为变量
5.如果涉及到两个或者两个以上单磁,使用_分割,例:user_nam
先声明,后定义
语法:
数据类型 变量名
变量名 = 值; 被称作赋值符号
声明并直接赋值
语法:
数据类型 变量名 = 值;
常用的数据类型
整形:int(基本整形)
%d:格式化符号,表示十进制(0-9)
%x:格式化符号,表示十六进制(0~9,A-F)
int占4个字节,1字节=8位(bit)
小数/浮点型:double(双精度)
%lf:格式化符号
double占8个字节
字符:char
%c:格式化符号
说明:‘a’:是字符,‘李’:不是字符
说明:在c语言中,1字节=1字符
布尔:
第一种:不导入相关库,使用int来表示,0表示假,非0表示真
第二种:导入相关的库,使用bool来表示,false-假,true-真
数组:
语法:数据类型 数组名[数组大小]
举例:int nums[3]
字符串:
说明:c语言中没有字符串类型的变量,c语言中有字符串类型的常量
使用:表示法1:char str1[20]=“hello”;使用字符数组实现字符串,格式化符号%s
表示法2:char*str2=“hello”;使用指针实现字符串,格式化符号%s
注意:如果变量的类型是int、char、double,scanf中需要通过&取地址,如果指针、数组,直接访问
vim中:
快捷键:ctrl+s表示锁定屏幕
快捷键:ctrl+q表示解除锁定
自定义函数
1.声明函数
语法:返回值类型 函数名(参数列表);
举例:
2.定义函数
语法:返回值类型 函数名(参数列表){..}
举例:
3.调用函数
语法:数据类型 变量名= 函数名(..);
举例:
如果被调函数是定义在主调函数的上面,此时是可以省略被调函数的声明;反之一定要加上函数的声明,否则编译不通过
举例:
 #include<stdio.h>    //声明函数  int add(int,int);    //定义函数  int add(int a,int b)  {   return a+b;  }    //主调函数  int main()  {   //被调函数   int res = add(4,5);  } 
 
流程控制
三大结构
顺序结构:程序按照默认的顺序进行执行
分支结构/条件结构:根据我们给定的条件(条件满足),进行选择性执行
循环结构/重复结构:根据我们给定的条件(条件满足)
,进行循环执行
分支结构
if..(单分支)
语法:
 if(条件表达式)  {   //语句块  } 
说明:
①条件表达式的返回值是boolean,也就是0和非0,或者false和true
②如果条件表达式成立(true或者非0),就执行语句块,否则就不执行
案例:
 void if_test()  {      int a,b,c;      printf("请随机输入三个大小不一的数字 ");      scanf("%d %d %d",&a,&b,&c);      int max = a;      if(max<b)     {          max = b;     }      if(max<c)     {          max = c;     }      printf("三个数字中最大的数字是:%d ",max);  }  int main(int argc,char *argv[])  {      if_test();      return 0;  } 
if..else..(双分支)
语法:
 if(条件表达式)  {   //语句块1  }  else  {   //语句块2  } 
说明:
①条件表达式的返回值是boolean,也就是0和非0,或者false和true
②如果条件表达式成立,就执行语句块1;否则就执行语句块2。不管成立与否,都会进入到这个分支结构
案例:
 void if_test1()  {      int a;      printf("请随机输入一个数字 ");      scanf("%d",&a);      if(a == 0)     {          printf("%d既不是奇数也不是偶数 ",a);     }      else     {          if(a % 2 == 0)         {              printf("%d是偶数 ",a);         }          else         {              printf("%d是奇数 ",a);         }     }  }  int main(int argc,char *argv[])  {      if_test1();      return 0;  } 
if..else if….else..(多分支)
语法:
 if(表达式1)  {   //语句块1  }  else if(表达式2)  {   //语句块2  }  ..  else if(表达式n)  {      //语句块n  }  else  {      //语句块  } 
①所有的表达式,返回值是boolean类型
②一旦我们判断的条件超过了两种结果,可以使用这种结构
③多分支语句中,程序的执行是依次从上往下进行判断,如果上面条件成立,就不执行后续的;不成立继续向下走,直到遇到最后一个分支为止
案例:
 void if_test2()  {      int score;      scanf("%d",&score);      if(score>=90)     {          printf("优秀 ");     }      else if(score>=80)     {          printf("良好 ");     }      else if(score>=70)     {          printf("普通 ");     }      else if(score>=60)     {          printf("及格 ");     }      else     {          printf("不及格 ");     }  }  int main(int argc,char *argv[])  {      if_test2();      return 0;  } 
switch..case..(多分支)
语法:
 switch(变量表达式)  {   case int | char | emun:   //语句块   break;//这里的break如果省略,就会导致程序无法停止,会进入到下一个case,直到遇到下一个break或者switch执行结束才会停止   ..   default:   //语句块default   break;//可以不写  } 
说明:
①变量表达式的返回类型必须是int/char/emun
②case后面的值需要和变量表达式完全匹配,才会进入到该case,去执行对应的语句块
③和多分支一样,代码的执行是由上往下,这里的default和多分支中的else类似
案例:
 void switch_test()  {      int week;      printf("请输入一个数字(1~5) ");      scanf("%d",&week);      switch(week)     {          case 1:              printf("Linux基础 ");              break;          case 2:              printf("C语言基础 ");              break;          case 3:              printf("文件IO ");              break;          case 4:              printf("图形显示 ");              break;          case 5:              printf("图像显示 ");              break;          default:              printf("请输入正确的星期 ");               }  }    int main(int argc,char *argv[])  {      switch_test();c      return 0;  }到此这篇pch头文件(pch头文件只能在文件范围内使用)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!
                            
                            
                            
                            版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/cjjbc/53956.html