admin管理员组

文章数量:1794759

C语言基础语法

C语言基础语法

序记:博主是算法小菜菜,开创此blog主要是为了分享自己在算法和数据结构方面每日的学习成果,欢迎各位批评指正。本篇blog要是为了简单介绍C语言的基本知识和语法:

目录

1.C语言是什么?

2.第一个C程序

3.scanf+printf

4.define+const

5.数学函数

6.分支结构

7.循环

8.函数

 9.数组

10.带有代码提示的C语言、C++软件 


 1.C语言是什么?

   程序设计语言主要分为三种:机器语言,汇编语言,高级语言

  • 机器语言是机器可以直接读懂,由0和1组成
  • 汇编语言是用一些英文字母或符号来代替特定指定的二进制串
  • 高级语言是人们可以直接编写并转化为机器语言,因此C语言应运而生
2.第一个C程序 #include<stdio.h> //输入输出库函数 int main(){ //主函数 即每个程序率先执行的函数 int n; //定义一个整形变量 scanf("%d",&n); //输入函数 %d代表的是输入的n要为整数类型,与上面的int对应 printf("%d",n); //输出函数 %d代表的是输出的值为整数类型 return 0; //终止程序 } 3.scanf+printf #include<stdio.h> int main(){ int a,b; //输入的数据 定义宽度为5->默认只要前五位数 scanf("%5d",&b); //输入的数据 跳过前面的数值-> %*2d 跳过前两个值 %4d->赋值a四个数 %*d->跳过剩余的所有值 scanf("%*2d%4d%*d",&a); //输出占5列,不足左边用空格补上 printf("%5d\\n",a); //输出占5列,不足左边用0补上 printf("%05d\\n",a); //输出占5列,不足右边用空格补上 printf("%-5d\\n",a); double n; //赋值双精度值 scanf("%lf",&n); //输出double类型数据 默认保留小数点后六位 printf("%f\\n",n); //保留小数点后三位 注意小数点 printf("%.3f\\n",n); return 0; } 4.define+const //两种定义固定常量的方法 //define和const ->定义后不可改变,即不能重新赋值 #include<stdio.h> #define PI 2 int main(){ printf("%d\\n",PI); const int x=2; printf("%d",x); return 0; } 5.数学函数 #include<stdio.h> #include<math.h> //引入math头文件 int main(){ int a=5,b=2; printf("%d\\n",a+b); //加 printf("%d\\n",a-b); //减 printf("%d\\n",a*b); //乘 printf("%d\\n",a/b); //除 printf("%d\\n",a%b); //余 int c=-2; //取c绝对值 printf必须用%f printf("%f\\n",fabs(c)); //取a的平方根 printf("%f\\n",sqrt(a)); //取a的b次方 printf("%f\\n",pow(a,b)); //取e的a次方 printf("%f\\n",exp(a)); //取a的对数 printf("%f\\n",log(a)); //取a的以10为底的对数 printf("%f\\n",log10(a)); return 0; } 6.分支结构 #include<stdio.h> int main(){ //嵌套分支 多重判断 if(1){ //TODO }else if(1){ //TODO }else{ //TODO } //case后只能跟常量 switch (1) { case 1: //TODO break; case 2: //TODO break; default: //TODO break; } return 0; } 7.循环 #include<stdio.h> int main(){ /* 执行顺序 1.int i=0; 2.i<=0; 3.statement 4.i++ */ for(int i=0;i<=0;i++){ //statement } /* 执行顺序 1.while()的判断语句; 2.statement; */ while(1){ //statement } /* 执行顺序 1.statement; 2.while()的判断语句; */ do{ //statement }while(1); // 使用continue可跳过此次循环 使用break可跳出循环 //嵌套循环 //如何跳出嵌套循环? //使用goto语句 for(int i=0;i<=0;i++){ for(int j=0;j<=0;j++){ if(1){ goto PIN; } } } PIN:printf("已跳出"); return 0; } 8.函数

    函数的目的是什么?     我的浅薄之见是->减少代码量 引用方便     下面给大家分享一个代码题 来加深理解 -> 求0-100的素数

#include<stdio.h> #include<math.h> //使用一个返回布尔值的函数 bool judge(int n); int main(){ //1不是素数 所以我们直接从2开始计算 for(int i=2;i<=100;i++){ if(judge(i)){ printf("%d ",i); } } return 0; } bool judge(int n){ //确定一个数是否是素数 即要满足 xy=n 那么一定有一个数小于sqrt(n) int k=sqrt(n); for(int i=2;i<=k;i++){ //如果存在n可以整除 那么就不是素数 if(n%i==0){ return false; } } return true; }  9.数组

  数组是什么?   数组就是一个存储多个数据的大空间 并且每个数据都有自己的index。index从0开始,我们可以通过index就可以找到我们需要的value

#include<stdio.h> int main(){ int a[5]={1,2,3,4,5}; for(int i=0;i<=4;i++){ printf("%d ",a[i]); } return 0; }

#include<stdio.h> int main(){ //这里给大家演示一个用到数组的题目 //向无序列表中插入一个值 int num;//插入的数 scanf("%d",&num); int n;//n为输入数组的长度 scanf("%d",&n); int a[100]; //a[n]为数组 for(int i=0;i<n;i++){ //输入 scanf("%d",&a[i]); } //把该值插入到数组中 a[n]=num; int t;//做数据交换时的暂存空间 for(int i=0;i<=n-1;i++){ for(int j=i+1;j<=n;j++){ if(a[i]>a[j]){ //交换a[i]、a[j]里的值 t=a[i]; a[i]=a[j]; a[j]=t; } } } for(int i=0;i<=n;i++){ printf("%d ",a[i]); } return 0; } 10.带有代码提示的C语言、C++软件 

  刚接触C语言的伙伴们可能下载的都是 Dev,但我用着不太习惯,毕竟不想反复敲击重复的代码,同时也有一些C++方面的缺陷。所以给大家推荐下列这款带有C语言、C++提示,对于新手非常的友好,具体的优势大家可以自己下载体验一下。

网址:百度网盘 请输入提取码

提取码:1234

 可以说有点类似IDEA的布局之类的,整体感觉还是比Dev舒服许多。 

尾序:该篇blog主要从基础上了解C语言,要掌握算法和数据结构还是远远不够的,打好基础才是王道。  --2022.6.17

本文标签: 语法语言基础