1 最简单的C语言程序

程序总是从main函数开始执行的

  • 在屏幕上输出Hello World!
#include<stdio.h>
int main(){printf("Hello World!\n");return 0;
}
  • 求两个整数之和
#include<stdio.h>
int main(){int a,b,sum;a=12;b=28;sum=a+b;printf("sum=%d\n",sum);return 0;
}
  • 求两个数中的较大数
#include <stdio.h>
int max(int a,int b);
int main(){int a,b,c;printf("请输入两个整数:\n");scanf("%d%d",&a,&b);c=max(a,b);printf("两个数的较大数为:%d\n",c);return 0;
}
int max(int a,int b){int z;z=(a>b)?a:b;return z;
}

2 顺序结构程序设计

简单的顺序程序设计

VC++6.0中,编译系统把所有的实数都当成双精度数处理

  • 计算华氏温度(公式为:c=5/9*(f-32))
#include <stdio.h>
int main(){float c;float f=64.0;c=5.0/9*(f-32);printf("f=%f\nc=%f\n",f,c);return 0;
}
  • 计算存款1年的本息和
#include <stdio.h>
int main(){float p0;    //本金float p1;   //存款1年活期本息和float p2;    //存款1年定期本息和float p3;    //存款两次半年定期本息和int a;printf("请输入想要存入的金额:");scanf("%f",&p0);printf("请选择想要存款的方式:\n");printf("1.存款1年活期,利息为0.0036\n");printf("2.存款1年定期,利息为0.0225\n");printf("3.存款两次半年定期,利息为0.0198\n");scanf("%d",&a);switch(a){case 1:printf("您选择的存款方式为:存款1年活期,利息为0.0036\n存款1年后本息和为:%f\n",p1=p0*(1+0.0036));break;case 2:printf("您选择的存款方式为:存款1年定期,利息为0.0225\n存款1年后本息和为:%f\n",p2=p0*(1+0.0225));break;        case 3:printf("您选择的存款方式为:存款两次半年定期,利息为0.0198\n存款1年后本息和为:%f\n",p3=p0*(1+0.0198/2)*(1+0.0198/2));break;  }return 0;
}

不同数据类型间的混合运算

  • 给定一个大写字母,要求用小写字母输出
#include <stdio.h>
int main(){char c1,c2;printf("请输入一个大写字母:");scanf("%c",&c1);c2=c1+32;printf("您输入的大写字母为%c\n对应的小写字母为%c\n",c1,c2);return 0;
}

赋值语句

  • 给出三角形的三边长,求三角形面积
#include <stdio.h>
#include <math.h>
int main(){double a,b,c,s,area;printf("请输入三角形的三条边长:");scanf("%lf%lf%lf",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("三角形的面积为%lf\n",area);return 0;
}

数据的输入输出

  • 求ax2+bx+c=0方程的根。(假设b2-4ac>0)
#include <stdio.h>
#include <math.h>
int main(){double a,b,c,disc,x1,x2;printf("Plese input a,b,c:");scanf("%lf%lf%lf",&a,&b,&c);disc=b*b-4*a*c;x1=(-b+sqrt(disc))/(2.0*a);x2=(-b-sqrt(disc))/(2.0*a);printf("x1=%lf,x2=%lf\n",x1,x2);return 0;
}
  • 保留双精度型的不同小数位数
#include <stdio.h>
int main(){double a;printf("Plese input a number:");scanf("%lf",&a);printf("%f\n",a);printf("%lf\n",a);printf("%7.2f\n",a);printf("%20lf\n",a);return 0;
}

字符输入输出

  • 输入一个大写字母,显示其对应的小写字母
#include <stdio.h>
int main(){char c1,c2;c1=getchar();c2=c1+32;putchar(c1);putchar(c2);putchar('\n');return 0;
}

3 选择结构程序设计

选择结构和条件判断

  • 求ax2+bx+c=0的根
#include <stdio.h>
#include <math.h>
int main(){double a,b,c,disc,x1,x2;printf("Please input a,b,c:");scanf("%lf%lf%lf",&a,&b,&c);disc=b*b-4*a*c;if(disc<0)printf("该方程无实数根!\n");else{printf("x1=%f\n",x1=(-b+sqrt(disc))/(2*a));printf("x2=%f\n",x2=(-b-sqrt(disc))/(2*a));}
}

用if语句实现选择结构

  • 输入两个实数,按从小到大的顺序输出
#include<stdio.h>
int main(){float a,b,t;printf("Please input two numbers:");scanf("%f%f",&a,&b);if(a>b){t=a;a=b;b=t;}printf("%5.2f%5.2f\n",a,b);return 0;
}
  • 输入3个数,按从小到大输出
#include<stdio.h>
int main(){float a,b,c,t;printf("Please input three numbers:");scanf("%f%f%f",&a,&b,&c);if(a>b){t=a;a=b;b=t;}if(a>c){t=a;a=c;c=t;}if(b>c){t=b;b=c;c=t;}printf("%5.2f\t%5.2f\t%5.2f\n",a,b,c);return 0;
}

条件运算符和条件表达式

  • 输入一个字母,若是大写字母,转换为小写后输出
#include <stdio.h>
int main(){char ch;printf("请输入一个字母:");scanf("%c",&ch);ch=(ch>='A'&&ch<='Z')?(ch+32):ch;printf("%c\n",ch);return 0;
}

用switch语句实现多分支选择结构

  • 按考试等级输出分数段,A:85-100,B:70-84,C:60-69,D:< 60
#include <stdio.h>
int main(){char grade;printf("Please input your grade(A、B、C or D):");scanf("%c",&grade);printf("Your score:");switch(grade){case 'A': printf("85-100");break;case 'B': printf("70-84");break;case 'C': printf("60-69");break;case 'D': printf("<60");break;default : printf("Enter data error!");}printf("\n");return 0;
}
  • 用switch语句处理菜单命令
#include <stdio.h>
void action1(int,int);
void action2(int,int);
int main(){int a=5,b=6;char ch;/*printf("Please input two numbers:");scanf("%d%d",&a,&b);printf("Please select an actions(A/a or B/b):");*/ch=getchar();switch(ch){case'a':case'A': action1(a,b);break;case'b':case'B': action2(a,b);break;default : putchar('\a');  }return 0;
}
void action1(int x,int y){printf("x+y=%d\n",x+y);
}
void action2(int x,int y){printf("x*y=%d\n",x*y);
}
  • 输入一个年份,判断是否为闰年
#include <stdio.h>
int main(){int month;printf("Please input a month:");scanf("%d",&month);if(((month%4==0)&&(month%100!=0))||(month%400==0))printf("%d年是闰年!\n",month);elseprintf("%d年不是闰年!\n",month);return 0;
}

4 循环结构程序设计

break:结束整个循环,跳出循环体,执行循环之后的语句
continue:结束本次循环,接着执行下一次循环

用while语句实现循环

  • 求1+2+3+···+100的和
#include <stdio.h>
int main(){int n=1,sum=0;while(n<=100){sum+=n;n++;}
/*do{
sum+=n;
n++;
}while(i<=100);*/printf("sum=%d\n",sum);return 0;
}

用break语句提前终止循环

  • 在全系1000名学生中举行慈善募捐,当总数达到10万时结束,统计此时捐款的人数及平均没人捐款的数目
#include <stdio.h>
#define SUM 100000
int main(){float amount,ave,total;int i;for(i=1,total=0;i<=1000;i++){printf("Please input amount:");scanf("%f",&amount);total+=amount;if(total>=SUM)break;}ave=total/i;printf("num=%d\nave=%f\n",i,ave);return 0;
}

用continue提前结束本次循环

  • 输出100~200不能被3整除的数
#include <stdio.h>
int main(){int n;for(n=100;n<=200;n++){if(n%3==0)continue;printf("%d ",n);}printf("\n");return 0;
}
  • 输出一个4*5的矩阵
#include <stdio.h>
int main(){int i,j,n=0;for(i=1;i<=4;i++)for(j=1;j<=5;j++,n++){if(n%5==0)printf("\n");printf("%d\t",i*j);}printf("\n");return 0;
}

5 利用数组处理批量数据

引用一维数组元素

  • 对10个数组元素依次赋值0-9,再逆序输出
#include <stdio.h>
int main(){int n,a[10];for(n=0;n<10;n++)a[n]=n;for(n=9;n>=0;n--)printf("%d  ",a[n]);printf("\n");return 0;
}
  • 用数组来处理Flbonacci数列问题
#include <stdio.h>
int main(){int i;int a[20]={1,1};for(i=2;i<20;i++)a[i]=a[i-2]+a[i-1];for(i=0;i<20;i++){if(i%5==0)printf("\n");printf("%7d ",a[i]);}printf("\n");return 0;
}

冒泡排序

每次比较相邻两个数,将小的调到前面

  • 输入10个数,将它们按从小到大排序输出(冒泡排序)
#include <stdio.h>
int main(){int i,j,t;int a[10];printf("Please input 10 numbers:");for(i=0;i<10;i++)scanf("%d",&a[i]);for(j=0;j<9;j++)for(i=0;i<9-j;i++){if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}}for(i=0;i<10;i++)printf("%d ",a[i]);printf("\n");return 0;
}

引用二维数组

  • 输入一个2行3列的二维数组,将其行列交换位置后输出到另一个数组
#include <stdio.h>
int main(){int a[2][3];int b[3][2];int i,j;printf("Please input 6 numbers for array a:");for(i=0;i<=1;i++)for(j=0;j<=2;j++)scanf("%d",&a[i][j]);printf("array a:\n");for(i=0;i<=1;i++){for(j=0;j<=2;j++){printf("%d ",a[i][j]);b[j][i]=a[i][j];}printf("\n");}printf("array b:\n");for(i=0;i<=2;i++){for(j=0;j<=1;j++)printf("%d ",b[i][j]);printf("\n");}return 0;
}

打擂台法求最值

  • 输入一个3*4的矩阵,输出最大的元素及其行列号(打擂台法)
#include <stdio.h>
int main(){int a[3][4];int i,j,row=0,colum=0;int max=0;printf("Please input 12 numbers:");for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<3;i++)for(j=0;j<4;j++){if(a[i][j]>max){max=a[i][j];row=i;colum=j;}}printf("max=%d\nrow=%d\ncolum=%d\n",max,i,j);return 0;
}

引用字符数组中的元素

  • 输出一个菱形
#include <stdio.h>
int main(){int i,j;char a[][5]={{' ',' ','*'},{' ','*',' ','*'},{'*',' ',' ',' ','*'},{' ','*',' ','*'},{' ',' ','*'}};for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%c",a[i][j]);printf("\n");}return 0;
}
  • 输入一行字符,统计其中有多少单词,单词之间用空格分开
#include <stdio.h>
int main(){char string[100];int i,num=0,word=0;char c;gets(string);for(i=0;(c=string[i])!='\0';i++){if(c==' ')word=0;else if(word==0){word=1;num++;}}printf("There are %d words in this line.\n",num);return 0;
}

6 用函数实现模块化程序设计

实参和形参间的数据传递

  • 输入两个整数,输出其中较大者
#include <stdio.h>
int max(int x,int y);
int main(){int a,b;printf("Please input two integer numbers:");scanf("%d%d",&a,&b);printf("max is %d\n",max(a,b));return 0;
}
int max(int x,int y){int z;z=x>y?x:y;return (z);
}

函数原型

  • 输入两个实数,用一个函数求出它们之和
#include <stdio.h>
float add(float,float);
int main(){float a,b,c;printf("Please input two numbers:");scanf("%f%f",&a,&b);printf("sum=%.2f\n",c=add(a,b));return 0;
}
float add(float x,float y){return (x+y);
}

函数的嵌套调用

在调用一个函数的过程中,又调用另一个函数

  • 输入4个整数,找出其中最大的数
#include <stdio.h>
int max4(int,int,int,int);
int max2(int,int);
int main(){int a,b,c,d,max;printf("Please inout 4 integer numbers:");scanf("%d%d%d%d",&a,&b,&c,&d);max=max4(a,b,c,d);printf("max=%d\n",max);return 0;
}
int max4(int a,int b,int c,int d){return max2(max2(max2(a,b),c),d);
}
int max2(int a,int b){return (a>=b?a:b);
}

函数的递归调用

在调用一个函数的过程中,又直接或间接调用该函数本身

  • 用递归方法求n!
#include <stdio.h>
int f(int);
int main(){int n;printf("Please input an integer number:");scanf("%d",&n);printf("%d!=%d\n",n,f(n));return 0;
}
int f(int n){int m;if(n<0)printf("n<0,data is error!\n");else if(n==0||n==1)m=1;else m=n*f(n-1);return m;
}

数组元素作函数实参

数组元素可以作函数实参,不能作函数形参
数据传输方向是从实参到形参,单向传递

  • 输入10个数,要求输出其中值最大的元素和该数是第几个数
#include <stdio.h>
int max(int,int);
int main(){int a[10],m,n,i;printf("Please input 10 integer numbers:");for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=1,m=a[0],n=0;i<10;i++)if(max(m,a[i])>m){m=max(m,a[i]);n=i;}printf("The largest number is %d\nIt is the %dth number\n",m,n+1);return 0;
}
int max(int x,int y){return x>y?x:y;
}

一维数组名作函数参数

  • 输入10个学生的成绩放入一维数组score中,求平均成绩
#include <stdio.h>
float aver(float a[ ],int n);
int main(){float score[10];int i;printf("Please input 10 scores:");for(i=0;i<10;i++)scanf("%f",&score[i]);printf("The average score is %.2f\n",aver(score,10)); //函数调用数组时,直接用数组名return 0;
}
float aver(float a[ ],int n){float sum=a[0];for(int i=1;i<n;i++)sum=sum+a[i];return (sum/10);
}

选择法排序

  • 用选择法对数组中的10个整数按由小到大排序
#include <stdio.h>
void sort(int array[],int n);
int main(){int i,a[10];printf("Please input 10 integer numbers:");for(i=0;i<10;i++){scanf("%d",&a[i]);}sort(a,10);return 0;
}
void sort(int array[],int n){int i,j,t;for(i=0;i<n-1;i++){
//每比完一次后,最小的数就在第一个,然后从第二个数继续比较,所以j=i+1for(j=i+1;j<n;j++){if(array[i]>array[j]){t=array[j];array[j]=array[i];array[i]=t;}}}for(i=0;i<n;i++)printf("%d ",array[i]);printf("\n");
}

多维数组名作函数参数

二维数组作形参时,第2维大小不能省略,且要与实参数组第2维大小相同

  • 输入一个3*4的矩阵,求所有元素中的最大值
#include <stdio.h>
int max(int array[][4]);
int main(){int i,j,a[3][4];printf("Please input 12 integer numbers:");for(i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);printf("The a[3][4] is:\n");for(i=0;i<3;i++){for(j=0;j<4;j++)printf("%d\t",a[i][j]);printf("\n");}printf("Max is %d\n",max(a));return 0;
}
int max(int array[][4]){int i,j;int max=array[0][0];for(i=0;i<3;i++)for(j=0;j<4;j++)if(array[i][j]>max)max=array[i][j];return (max);
}

全局变量

  • 有一个一维数组,内放10个学生的成绩,写一个函数,当主函数调用此函数后,能求出平均分、最高分和最低分
#include <stdio.h>
float Max=0,Min=0;
float aver(float array[],int n);
int main(){int i;float a[10],ave;printf("Please input 10 numbers:");for(i=0;i<10;i++)scanf("%f",&a[i]);printf("Max=%.2f\nMin=%.2f\naverage=%.2f\n",Max,Min,aver(a,10));return 0;
}
float aver(float array[],int n){float ave;float sum=array[0];int i;Max=Min=array[0];for(i=1;i<n;i++){if(array[i]>Max)Max=array[i];else if(array[i]<Min)Min=array[i];sum+=array[i];}ave=sum/n;return (ave);
}

全局变量与局部变量同名的情况

  • 调用函数比较两数的大小
#include <stdio.h>
int a=3,b=5;
int max(int,int);
int main(){int a;a=8;printf("max=%d\n",max(a,b));return 0;
}
int max(int a,int b){return a>b?a:b;
}

7 善于利用指针

简单使用指针变量

  • 通过指针变量访问整型变量
#include <stdio.h>
int main(){int a=100,b=10;int *p1,*p2;p1=&a;p2=&b;printf("a=%d\tb=%d\n",a,b);printf("p1=%d\tp2=%d\n",*p1,*p2);return 0;
}

引用指针变量

  • 输入a和b两个整数,用指针实现按先大后小的顺序输出a和b
#include <stdio.h>
int main(){int a,b;int *p1,*p2;printf("Please input two integer numbers:");scanf("%d%d",&a,&b);p1=&a;p2=&b;if(a<b){p1=&b;p2=&a;}printf("a=%d\tb=%d\nmax=%d\n",a,b,*p1);return 0;
}

指针变量作为函数参数

  • 输入a和b两个整数,用指针作为函数参数,实现按先大后小的顺序输出a和b
#include <stdio.h>
void swap(int *p1,int *p2);
int main(){int a,b;int *pointer1,*pointer2;printf("Please input two integer numbers:");scanf("%d%d",&a,&b);pointer1=&a;pointer2=&b;swap(pointer1,pointer2);printf("a=%d\tb=%d\nmax=%d\n",a,b,*pointer1);return 0;
}
void swap(int *p1,int *p2){int temp;if(*p1<*p2){temp=*p1;*p1=*p2;*p2=temp;}
}

通过指针引用数组元素

  • 有一个整型数组a,有10个元素,用指针输出数组中的全部元素
#include <stdio.h>
int main(){int a[10],*p;printf("Please input 10 integer numbers:");for(p=a;p<(a+10);p++)scanf("%d",p);for(p=a;p<(a+10);p++)printf("%d  ",*p);printf("\n");return 0;
}

9 用户自己建立数据类型

结构体变量的初始化和引用

  • 把一个学生的信息(包括学号、姓名、性别、住址)放在一个结构体变量中,然后输出这个学生的信息
#include <stdio.h>
struct Student{long int num;char name[20];char sex;char addr[20];
};
int main(){struct Student stu={2018140467,"LiaoYuanyang",'M',"淮工宋跳校区"};printf("NO.:%ld\nname:%s\nsex:%c\naddress:%s\n",stu.num,stu.name,stu.sex,stu.addr);return 0;
}
  • 输入两个学生的学号、姓名和成绩,输出成绩较高的学生的学号、姓名和成绩
#include <stdio.h>
int main(){struct Student{int num;char name[20];float score;}stu1,stu2;printf("请输入第1个学生的学号、姓名和成绩:");scanf("%d%s%f",&stu1.num,stu1.name,&stu1.score);printf("请输入第2个学生的学号、姓名和成绩:");scanf("%d%s%f",&stu2.num,stu2.name,&stu2.score);printf("The higher score is:\n");if(stu1.score>stu2.score)printf("%d  %s  %6.2f\n",stu1.num,stu1.name,stu1.score);else if(stu1.score<stu2.score)printf("%d  %s  %6.2f\n",stu2.num,stu2.name,stu2.score);else{printf("%d  %s  %6.2f\n",stu1.num,stu1.name,stu1.score);printf("%d  %s  %6.2f\n",stu2.num,stu2.name,stu2.score);}return 0;
}

用结构体变量和结构体变量的指针作函数参数

  • 有10个学生,每个学生的数据包括学号、姓名、3门课成绩,输入10个学生的数据,要求输出3门课的总平均成绩,以及最高分的学生的数据
#include <stdio.h>
#define N 10
struct Student{int num;char name[10];float score[3];float aver;
};
void input(struct Student stu[]);
struct Student max(struct Student stu[]);
void print(struct Student stu1);
int main(){struct Student stu[N],*p;p=stu;input(p);print(max(p));return 0;
}
void input(struct Student stu[]){int i;printf("请输入各个学生的学号、姓名和3门课成绩:\n");for(i=0;i<N;i++){scanf("%d%s%f%f%f",&stu[i].num,stu[i].name,&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]);stu[i].aver=(stu[i].score[0]+stu[i].score[1]+stu[i].score[2])/3.0;}
}
struct Student max(struct Student stu[]){int i,m=0;for(i=1;i<N;i++){if(stu[i].aver>stu[m].aver)m=i;}return stu[m];
}
void print(struct Student stu1){printf("\n成绩最高的学生是:\n");printf("学号:%d\n姓名:%s\n三门课成绩:%8.2f%8.2f%8.2f\n平均成绩:%8.2f\n",stu1.num,stu1.name,stu1.score[0],stu1.score[1],stu1.score[2],stu1.aver);
}

10 基本的代码规范

程序版式

注释规范

写注释给谁看?

写注释最重要的功效在于传承

好的注释

在哪些地方写注释

灵活注释

命名规则

C语言程序设计(第五版)学习笔记相关推荐

  1. 第三章 函数 C++语言程序设计第五版 - 郑莉

    本专栏为C++学习笔记,参考书籍为:C++语言程序设计 第五版 -清华大学出版社- 郑莉 B站视频:https://space.bilibili.com/702528832/video PPT与代码已 ...

  2. C++语言程序设计第五版 - 郑莉-绪论(一)

    本专栏为C++学习笔记,参考书籍为:C++语言程序设计 第五版 -清华大学出版社- 郑莉 B站视频:https://space.bilibili.com/702528832/video PPT与代码已 ...

  3. C++语言程序设计第五版 - 郑莉(第十一章课后习题)

    第11章  流类库与输入输出 11-3 使用 I/O 流以文本方式建立一个文件 test1.txt,写入字符"已成功写入文件!",用其他字处理程序(例如 Windows 的记事本程 ...

  4. C++语言程序设计第五版 - 郑莉(第六章课后习题)

    第6章   数组.指针与字符串 6-20 实现一个名为 SimpleCircle 的简单圆类.其数据成员 int* itsRadius 为一个指向其半径值的指针,存放其半径值.设计对数据成员的各种操作 ...

  5. C++语言程序设计第五版 - 郑莉(第四章课后习题)

    第4章  类与对象 4-9设计并测试一个名为rectangle的矩形类,其属性为矩形的左下角与右上角坐标,根据坐标能计算矩形的面积. #include <iostream> using n ...

  6. C++语言程序设计第五版 - 郑莉(第七章课后习题)

    第7章  继承与派生 7-5 定义一个基类 Shape,在此基础上派生出 Rectangle 和 Circle,二者都有 getArea()函数计算对象的面积.使用 Rectangle类创建一个派生类 ...

  7. C++语言程序设计第五版 - 郑莉(第五章课后习题)

    第5章  数据的共享与保护 5-7定义一个Cat类,拥有静态数据成员 numOfCats,记录Cat的个体数目:静态成员函数getNumOfCats(),读取numOfCats.设计程序测试这个类,体 ...

  8. C++语言程序设计第五版 - 郑莉(第九章课后习题)

    第9章  群体类和群体数据的组织 9-1 编写程序提示用户输入一个班级中的学生人数 n,再依次提示用户输入 n 个人在课程 A 中的考试成绩,然后计算出平均成绩,显示出来.请使用本书第 9 章中的数组 ...

  9. C++语言程序设计第五版 - 郑莉(第二章课后习题)

    第2章  C++简单程序设计 2-25 编写一个完整的程序,实现功能:向用户提问"现在正在下雨吗?",提示用户输入Y 或N.若输入为Y,显示"现在正在下雨.": ...

  10. C++语言程序设计第五版 - 郑莉(第三章课后习题)

    第3章  函数 3-8 编写函数把华氏温度转换为摄氏温度,公式为:C = (F - 32) * 5/9 在主程序中提示用户输入一个华氏温度,转化后输出相应的摄氏温度. #include<iost ...

最新文章

  1. b2b b2c o2o电子商务微服务云平台
  2. 【Python】青少年蓝桥杯_每日一题_6.11_打印星号
  3. Java StackTraceElement toString()方法与示例
  4. 关于ExecuteNonQuery执行存储过程的返回值 、、实例讲解存储过程的返回值与传出参数、、、C#获取存储过程的 Return返回值和Output输出参数值...
  5. 常用函数式接口-Consumer
  6. 高中信息技术必修一第一章思维导图_高中生物必修+选修思维导图最全归纳,从此高中生物无忧!...
  7. Photoshop 入门教程,处理图层「1」了解图层
  8. java roll_java.util.Calendar roll()方法
  9. 高等数学第七版同济大学课后习题讲解下册 pdf(免费)
  10. b级计算机机房标准,B级电子信息系统机房技术要求国标GB50174–2008
  11. 亿阳信通:不可表示的数
  12. 父节点使用transform,子节点fixed定位失效
  13. HTML实现简单的贪吃蛇小游戏(附完整源码)
  14. 2022年12月奥鹏网络教育大学英语B统考题库试题
  15. 关于Java的二十篇技术热文
  16. 自动上传视频到B站和西瓜视频
  17. 【IDEA】IDEA常用配置
  18. RabbitMQ(6)-Spring AMQP,Spring集成RabbitMQ
  19. n的阶乘(递归与非递归)
  20. 数论作业 —— 同余理论

热门文章

  1. IT审计?CISA?
  2. SAP 物料 移动类型
  3. 威胁手游安全,这些知识点你要了解看看!
  4. 全中国的程序员,联合起来
  5. C++中方括号[]的作用总结
  6. gvim编辑器的快捷键
  7. [机器学习与scikit-learn-4]:scikit-learn机器学习的一般流程与案例演示
  8. python在windows 比linux 慢,为什么Windows上的python套接字扫描比在linux上慢很多?
  9. 芯片制造之掩模领域中的术语
  10. javascript-彩票游戏