前言

本文为业余学习《明解C语言入门篇》的记录,包含代码清单和练习题。
开始学习时间:2022年8月21日
+++++++++++++++++++++++++++++++
第1章 初识C语言
第2章 运算和数据类型
第3章 分支结构程序
第4章 程序的循环控制
第5章 数组
第6章 函数
第7章 基本数据类型
第8章 动手编写各种程序吧
第9章 字符串的基本知识
第10章 指针
第11章 字符串和指针
第12章 结构体
第13章 文件处理
+++++++++++++++++++++++++++++++

第6章、函数

6-1 什么是函数

代码清单 6-1

//求两个整数中较大的值#include <stdio.h>//返回较大整数的值
int max2(int a,int b)
{if(a>b){return a;}else{return b;}
}int main()
{int n1,n2;puts("请输入两个整数的值。");printf("整数1:");    scanf("%d",&n1);printf("整数2:");  scanf("%d",&n2);printf("较大的值是%d。\n",max2(n1,n2));return 0;
}

代码清单 6-2

//求三个整数中的最大值
#include <stdio.h>int max3(int a,int b,int c){int max=a;if(b>max){max=b;}if(c>max){max=c;}return max;}int main(){int a,b,c;printf("请输入三个整数。\n");printf("整数1:");   scanf("%d",&a);printf("整数2:");   scanf("%d",&b);printf("整数3:");   scanf("%d",&c);printf("它们的最大值是%d。\n",max3(a,b,c));return 0;}

练习 6-1

//练习6-1,创建一个函数,返回两个整数中较小的数#include <stdio.h>int min2(int a,int b)
{return (a>b)?b:a;
}int main()
{int a,b;printf("请输入两个整数。\n");printf("整数1:");    scanf("%d",&a);printf("整数2:");   scanf("%d",&b);printf("它们中较小数是%d。\n",min2(a,b));return 0;
}

练习 6-2

//创建一个函数,返回三个整数中的最小数#include <stdio.h>int main()
{int a,b,c;puts("请输入三个整数。");printf("整数1:");  scanf("%d",&a);printf("整数2:");   scanf("%d",&b);printf("整数3:");   scanf("%d",&c);printf("它们中的最小数是%d。\n",min3(a,b,c));return 0;
}int min3(int a,int b,int c)
{int min=a;if(b<min){min=b;}if(c<min){min=c;}return min;
}

代码清单 6-3

//计算两个整数的平方差#include <stdio.h>int sqr(int x)
{return x*x;
}int diff(int a,int b)
{return(a>b?a-b:b-a);
}int main()
{int a,b;puts("请输入两个整数。");printf("整数a:");    scanf("%d",&a);printf("整数b:");   scanf("%d",&b);printf("它们的平方差是%d。\n",diff(sqr(a),sqr(b)));return 0;
}

练习 6-3

//创建一个函数,返回int型整数的立方#include <stdio.h>int cube(int x)
{return x*x*x;
}int main()
{int a;printf("请输入一个整数:");scanf("%d",&a);printf("它的立方值是%d。\n",cube(a));return 0;
}

代码清单 6-4

//求四个整数中的最大值#include <stdio.h>int max2(int a,int b)
{return a>b?a:b;
}int max4(int a,int b,int c,int d)
{return max2(max2(a,b),max2(c,d));
}int main()
{int a,b,c,d;puts("请输入四个整数。");printf("整数a:");    scanf("%d",&a);printf("整数b:");   scanf("%d",&b);printf("整数c:");   scanf("%d",&c);printf("整数d:");   scanf("%d",&d);printf("它们中最大数是%d。\n",max4(a,b,c,d));return 0;
}

练习 6-4

//求int型整数的四次幂#include <stdio.h>int sqr(int x)
{return x*x;
}int pow4(int x)
{return sqr(sqr(x));
}int main()
{int a;printf("请输入一个整数:");scanf("%d",&a);printf("它的四次幂是%d。\n",pow4(a));return 0;
}

代码清单 6-5

//求幂#include <stdio.h>double power(double x,int n)
{int i;double temp=1.0;for(i=0;i<n;i++){temp*=x; }return temp;
}int main()
{double a;int b;puts("求a的b次幂。");printf("请输入实数a:");   scanf("%lf",&a);printf("请输入整数b:");   scanf("%d",&b);printf("%.2f的%d次幂是%.2f。\n",a,b,power(a,b));return 0;
}

代码清单 6-6

//计算幂#include <stdio.h>double power(double x,int n)
{double temp=1.0;while(n-->0){temp*=x;}return temp;
}int main()
{double a;int b;puts("计算a的b次幂。");printf("请输入实数a:");  scanf("%lf",&a);printf("请输入整数b:");   scanf("%d",&b);printf("%.2f的%d次幂是%.2f。\n",a,b,power(a,b));return 0;
}

练习 6-5

//创建一个函数,返回1到n之间所有整数的和#include <stdio.h>int sumup(int n)
{int temp=0;while(n>0){temp+=n;n--;}return temp;
}int main()
{int n;puts("计算1到n的和。");printf("请输入整数n:");scanf("%d",&n);printf("整数1到%d的和是%d。\n",n,sumup(n));return 0;
}

6-2 函数设计

代码清单 6-6

//显示出一个直角在左下方的等腰直角三角形(函数版)#include <stdio.h>void put_stars(int n)
{while (n-->0){putchar('*');}
}int main()
{int i,len;printf("生成一个直角在左下方的等腰直角三角形。\n");printf("短边:");scanf("%d",&len);for (i=1;i<=len;i++){put_stars(i);putchar('\n');}return 0;
}

代码清单 6-8

//显示直角在右下角的等腰直角三角形(函数版)#include <stdio.h>void put_chars(int ch,int n)
{while (n-->0){putchar(ch);  //字符常量为int型,所以ch也是int型变量}
}int main()
{int i,len;printf("生成一个直角在右下方的等腰直角三角形。\n");printf("短边:");scanf("%d",&len);for (i=1;i<=len;i++){put_chars(' ',len-i);put_chars('*',i);putchar('\n');}return 0;
}

练习 6-6

//创建一个函数,连续发出n次响铃#include <stdio.h>void alert(int n)
{while (n-->0)   //先判断n是否大于0,再进行n自减{printf("%d\a\n",n); //最后一次执行此语句时,n已经由1自减为0;}
}int main()
{int i;printf("响铃次数:");scanf("%d",&i);alert(i);return 0;
}

代码清单 6-9

//逆向显示输入的正整数#include <stdio.h>int scan_int(void)
{int temp;do{printf("请输入一个正整数:");scanf("%d",&temp);if (temp<=0){printf("\a请不要输入非正整数。\n");}}while (temp<=0);return temp;
}int rev_int(int num)
{int temp=0;do{temp=temp*10+num%10;num/=10;}while (num>0);return temp;
}int main()
{int nx=scan_int();printf("该整数倒转后的值是%d。\n",rev_int(nx));return 0;
}

练习 6-7

//创建一个程序,在屏幕上显示“你好!”,并换行#include <stdio.h>void hello(void)
{puts("你好!");
}int main()
{hello();return 0;
}

代码清单 6-10

//计算最高分#include <stdio.h>#define NUMBER 5int tensu[NUMBER];int top(void);int main()
{extern int temsu[];int i;printf("请输入%d名学生的分数。\n",NUMBER);for (i=0;i<NUMBER;i++){printf("%d:",i+1);scanf("%d",&tensu[i]);}printf("最高分=%d\n",top());return 0;
}int top(void)
{extern int tensu[];int i;int max=tensu[0];for(i=1;i<NUMBER;i++){if(tensu[i]>max){max=tensu[i];}}return max;
}

代码清单 6-11

//计算英语分数和数学分数中的最高分#include <stdio.h>#define NUMBER 5int max_of(int v[],int n)
{int i;int max=v[0];for (i=1;i<n;i++){if (v[i]>max){max=v[i];}}return max;
}int main()
{int i;int eng[NUMBER];int mat[NUMBER];int max_e,max_m;printf("请输入%d名学生的分数。\n",NUMBER);for (i=0;i<NUMBER;i++){printf("[%d] 英语:",i+1); scanf("%d",&eng[i]);printf("    数学:");       scanf("%d",&mat[i]);}max_e=max_of(eng,NUMBER);max_m=max_of(mat,NUMBER);printf("英语最高分=%d\n",max_e);printf("数学最高分=%d\n",max_m);return 0;
}

代码清单 6-12

//将数组元素设置为0#include <stdio.h>void set_zero(int v[],int n)
{int i;for (i=0;i<n;i++){v[i]=0;}
}void printf_array(const int v[],int n)
{int i;printf("{ ");for (i=0;i<n;i++){printf("%d ",v[i]);}printf("}");
}int main()
{int ary1[]={1,2,3,4,5};int ary2[]={3,2,1};printf("ary1=");    printf_array(ary1,5);   putchar('\n');printf("ary2="); printf_array(ary2,3);   putchar('\n');set_zero(ary1,5);set_zero(ary2,3);printf("ary1=");   printf_array(ary1,5);   putchar('\n');printf("ary2="); printf_array(ary2,3);   putchar('\n');return 0;
}

练习 6-8

//创建一个函数,返回元素个数为n的int型数组v中的最小值#include <stdio.h>#define NUMBER 5int min_of(const int v[],int n)
{int i;int min=v[0];for (i=1;i<n;i++){if (v[i]<min){min=v[i];}}return min;
}int main()
{int i;int array[NUMBER]={0};printf("请输入%d个整数。\n",NUMBER);for (i=0;i<NUMBER;i++){printf("%d:",i+1);scanf("%d",&array[i]);}printf("最小值是%d。\n",min_of(array,NUMBER));return 0;
}

练习 6-9

//创建一个函数,对元素个数为n的int型数组v进行倒序排列#include <stdio.h>
#define NUMBER 5void rev_intary(int v[],int n)
{int i;int temp;for (i=0;i<n/2;i++){temp=v[i];v[i]=v[n-1-i];v[n-1-i]=temp; //n-1是数组最后一个元素的下标}
}int main()
{int i;int vx[NUMBER];printf("请输入%d个整数。\n",NUMBER);for (i=0;i<NUMBER;i++){printf("vx[%d]:",i);scanf("%d",&vx[i]);}rev_intary(vx,NUMBER);puts("倒序排列了!");for (i=0;i<NUMBER;i++){printf("vx[%d]:%d\n",i,vx[i]);}return 0;
}

练习 6-10

//创建一个函数,对元素个数为n的int型数组v2进行倒序排列,并将其结果保存在数组v1中#include <stdio.h>#define NUMBER 5void intary_rcpy(int v1[],const int v2[],int n)
{int i;for (i=0;i<n;i++){v1[i]=v2[n-1-i];}
}int main()
{int i;int v1[NUMBER]={0},v2[NUMBER]={0};printf("请输入%d个整数。\n",NUMBER);for (i=0;i<NUMBER;i++){printf("v2[%d]:",i);scanf("%d",&v2[i]);}intary_rcpy(v1,v2,NUMBER);puts("数组v2已经倒序并保存到数组v1中了!");for (i=0;i<NUMBER;i++){printf("v1[%d]:%d\n",i,v1[i]);}return 0;
}

代码清单 6-13

//线性查找(顺序查找)#include <stdio.h>#define NUMBER 5
#define FAILED -1int search(const int v[],int key,int n)
{int i=0;while(1){if (i == n){return FAILED;}if (v[i] == key){return i;}i++;}
}int main()
{int i;int key,idx;int v[NUMBER]={0};printf("请输入%d个整数。\n",NUMBER);for (i=0;i<NUMBER;i++){printf("v[%d]:",i);scanf("%d",&v[i]);}printf("要查找的值:");scanf("%d",&key);idx=search(v,key,NUMBER);idx==FAILED?printf("\a查找失败!\n"):printf("%d是数组的第%d号元素。\n",key,idx+1);return 0;
}

代码清单 6-14

//顺序查找(哨兵查找法)#include <stdio.h>#define NUMBER 5
#define FAILED -1int search(int v[],int key,int n)
{int i=0;v[n]=key;while(1){if(v[i]==key){break;}i++;}return i<n?i:FAILED;
}int main()
{int i;int ky;int vx[NUMBER+1];printf("请输入%d个整数。\n",NUMBER);for (i=0;i<NUMBER;i++){printf("vx[%d]:",i);scanf("%d",&vx[i]);}printf("要查找的值:");scanf("%d",&ky);search(vx,ky,NUMBER)==FAILED?printf("\a查找失败。\n"):printf("%d是数组的第%d号元素。\n",ky,search(vx,ky,NUMBER)+1);return 0;
}

代码清单 6-15

//----从元素个数为n的数组v中查找和key一致的元素)(哨兵查找法)----#include <stdio.h>#define NUMBER 5
#define FAILED -1int search(int v[],int key,int n)
{int i;v[n]==key;for (i=0;v[i]!=key;i++){;}return i<n?i:FAILED;
}int main()
{int i;int ky;int vx[NUMBER+1]={0};printf("请输入%d个整数。\n",NUMBER);for (i=0;i<NUMBER;i++){printf("vx[%d]:",i);scanf("%d",&vx[i]);}printf("请输入要查找的值:");scanf("%d",&ky);search(vx,ky,NUMBER)==FAILED?printf("\a查找失败。\n"):printf("%d是数组中第%d号元素。\n",ky,search(vx,ky,NUMBER)+1);return 0;
}

练习 6-11

/*
创建一个函数search_idx,将和有n个元素的数组v中的key相等的
所有元素的下标存储在数组idx中,返回和key相等的元素的个数。
*/#include <stdio.h>#define NUMBER 5int search_idx(int v[],int id[],int key,int n)
{int i;int j=0;for (i=0;i<n;i++){if (v[i]==key){id[j]=i;j++;}}return j;
}int main()
{int i;int vx[NUMBER]={0};int idx[NUMBER]={0};int ky;int x;printf("请输入%d个整数。\n",NUMBER);for (i=0;i<NUMBER;i++){printf("vx[%d]:",i);scanf("%d",&vx[i]);}printf("请输入要查找的值:");scanf("%d",&ky);x=search_idx(vx,idx,ky,NUMBER); //因为子函数的j++,下面printf输出参数x不用再+1。if (x>0){x==1?printf("vx数组中和%d相等的元素有%d个,它是第",ky,x):printf("vx数组中和%d相等的元素有%d个,它们是第",ky,x);for (i=0;i<x;i++){i<x-1?printf("%d,",idx[i]+1):printf("%d",idx[i]+1);}printf("个元素。\n");}else{printf("在vx数组中没有查找到和%d相等的元素。\n",ky);}return 0;
}

代码清单 6-16

//求4名学生在两次考试中3课程的部分并显示(函数版)#include <stdio.h>void mat_add(const int a[4][3],const int b[4][3],int c[4][3])
{int i,j;for(i=0;i<4;i++){for(j=0;j<3;j++){c[i][j]=a[i][j]+b[i][j];}}
}void mat_print(const int m[4][3])
{int i,j;for(i=0;i<4;i++){for(j=0;j<3;j++){printf("%4d",m[i][j]);}putchar('\n');}
}int main()
{int tensu1[4][3]={{91,63,78},{67,72,46},{89,34,53},{32,54,34}};int tensu2[4][3]={{97,67,82},{73,43,46},{97,56,21},{85,46,35}};int sum[4][3]={0};mat_add(tensu1,tensu2,sum);puts("第一次考试的分数");  mat_print(tensu1);puts("第二次考试的分数");   mat_print(tensu2);puts("总分");             mat_print(sum);return 0;
}

练习 6-12

//求4行3列矩阵和3行4列矩阵的乘积。各构成元素的值从键盘输入(函数版)#include <stdio.h>#define A 4
#define B 3void matrixA_input(int matrix[A][B])
{int i,j;puts("输入矩阵A的数据:");for(i=0;i<A;i++)for(j=0;j<B;j++){printf("matrixA[%d][%d]:",i,j);scanf("%d",&matrix[i][j]);}
}void matrixB_input(int matrix[B][A])
{int i,j;puts("输入矩阵B的数据:");for(i=0;i<B;i++)for(j=0;j<A;j++){printf("matrixB[%d][%d]:",i,j);scanf("%d",&matrix[i][j]);}
}void matrixC_mul(int matrixC[A][A],const int matrixA[A][B],const int matrixB[B][A])
{int i,j,k;for(i=0;i<A;i++)for(j=0;j<A;j++)for(k=0;k<B;k++)matrixC[i][j]+=matrixA[i][k]*matrixB[k][j];
}void matrixA_print(const int matrix[A][B])
{int i,j;puts("矩阵A:");for(i=0;i<A;i++){for(j=0;j<B;j++)printf("%5d",matrix[i][j]);putchar('\n');}
}void matrixB_print(const int matrix[B][A])
{int i,j;puts("矩阵B:");for(i=0;i<B;i++){for(j=0;j<A;j++)printf("%5d",matrix[i][j]);putchar('\n');}
}void matrixC_print(const int matrix[A][A])
{int i,j;puts("矩阵C(矩阵A*矩阵B):");for(i=0;i<A;i++){for(j=0;j<A;j++)printf("%6d",matrix[i][j]);putchar('\n');}
}int main()
{int matrixA[A][B]={0};int matrixB[B][A]={0};int matrixC[A][A]={0};matrixA_input(matrixA);matrixB_input(matrixB);matrixC_mul(matrixC,matrixA,matrixB);matrixA_print(matrixA);matrixB_print(matrixB);matrixC_print(matrixC);return 0;
}

练习 6-13

//改写代码清单6-16的程序,将两次考试的分数存储在三维数组中#include <stdio.h>void mat_add(int c[][3],const int a[][3],const b[][3])
{int i,j;for(i=0;i<4;i++){for(j=0;j<3;j++){c[i][j]=a[i][j]+b[i][j];}}
}void mat_print(const int a[][3])
{int i,j;for(i=0;i<4;i++){for(j=0;j<3;j++){printf("%4d",a[i][j]);}putchar('\n');}
}int main()
{int tensu[][4][3]={{{91,63,78},{67,72,46},{79,34,53},{32,54,34}},{{97,67,82},{73,43,46},{97,56,21},{85,46,35}}};int sum[][3]={0};mat_add(sum,tensu[0],tensu[1]);puts("第一次考试的分数");  mat_print(tensu[0]);puts("第二次考试的分数"); mat_print(tensu[1]);puts("总分");               mat_print(sum);return 0;
}

代码清单 6C-1

//为n行3列的二维数组的所有构成元素赋上同样的值#include <stdio.h>void mat_fill(int m[][3],int n,int v)
{int i,j;for(i=0;i<n;i++){for(j=0;j<3;j++){m[i][j]=v;}}
}void mat_print(const int m[][3],int n)
{int i,j;for(i=0;i<n;i++){for(j=0;j<3;j++){printf("%4d",m[i][j]);}putchar('\n');}
}int main()
{int no;int x[2][3]={0};int y[4][3]={0};printf("赋给所有构成元素的值:");scanf("%d",&no);mat_fill(x,2,no);mat_fill(y,4,no);puts("---- x ----");mat_print(x,2);puts("---- y ----");mat_print(y,4);return 0;
}

6-3 作用域和存储期

代码清单 6-17

//确认标识符的作用域#include <stdio.h>int x=75;void print_x()
{printf("x=%d\n",x);
}int main()
{int i;int x=999;print_x();printf("x=%d\n",x);for(i=0;i<5;i++){int x=i*100;printf("x=%d\n",x);}printf("x=%d\n",x);return 0;
}

代码清单 6-18

//自动存储期和静态存储期#include <stdio.h>int fx=0;void func()
{static int sx=0;int ax=0;printf("%3d%3d%3d\n",ax++,sx++,fx++);
}int main()
{int i;puts("  ax sx fx");puts("-----------");for(i=0;i<10;i++){func();}puts("-----------");return 0;
}

代码清单 6-19

//确认拥有静态存储期的对象默认的初始化#include <stdio.h>int fx;int main()
{int i;static int si;static double sd;static int sa[5];printf("fx=%d\n",fx);printf("si=%d\n",si);printf("sd=%.1f\n",sd);for(i=0;i<5;i++){printf("sa[%d]=%d\n",i,sa[i]);}return 0;
}

练习 6-14

//编写一段程序,为double型数组的所有元素分配静态存储期,并确认它们都被初始化为0.0#include <stdio.h>double fx[5];int main()
{int i,j;static double si[5][5];for(i=0;i<5;i++){printf("fx[%d]=%.1f\n",i,fx[i]);}for(i=0;i<5;i++){for(j=0;j<5;j++){printf("si[%d][%d]=%.1f\n",i,j,si[i][j]);}}return 0;
}

练习 6-15

//创建函数put_count,显示被调用的次数#include <stdio.h>int x;void put_count()
{printf("put_count:第%d次\n",x+1);x++;
}int main()
{int i;for(i=0;i<3;i++){put_count();}return 0;
}

总结

summaxy1

//求两个整数的平均值#include <stdio.h>double ave2(int a,int b)
{return (double)(a+b)/2;
}int main()
{int n1,n2;printf("请输入第一个整数:");    scanf("%d",&n1);printf("请输入第二个整数:"); scanf("%d",&n2);printf("它们的平均值是%.2f。\n",ave2(n1,n2));return 0;
}

summaxy2

//记下no返回上一次的值#include <stdio.h>int val(int no)
{static int v;int temp=v;v=no;return temp;
}int main()
{int i;int x;for(i=0;i<3;i++){printf("请输入整数:");scanf("%d",&x);printf("上一次值是%d\n",val(x));}return 0;
}

summaxy3

//以实数形式返回数组a的所有元素的平均值#include <stdio.h>#define NUMBER 5double ave_ary(const int a[],int n)
{int i;int sum=0;for(i=0;i<n;i++){sum+=a[i];}return (double)sum/n;
}int main()
{int i;int ax[NUMBER]={0};printf("输入%d个整数。\n",NUMBER);for(i=0;i<NUMBER;i++){printf("ax[%d]=",i);scanf("%d",&ax[i]);}printf("此数组元素的平均值是%.2f。\n",ave_ary(ax,NUMBER));return 0;
}

summaxy4

//输出响铃#include <stdio.h>void put_alert()
{putchar('\a');
}int main()
{put_alert();return 0;
}

summaxy5

//将数组b开头的n个元素复制给数组a#include <stdio.h>#define NUMBER 10void cpy_ary(int a[],const int b[],int n)
{int i=0;for(i;i<n;i++){a[i]=b[i];}
}int main()
{int i;int x;int ax[NUMBER]={0};int bx[NUMBER]={0};printf("输入%d个整数。\n",NUMBER);for(i=0;i<NUMBER;i++){printf("bx[%d]=",i);scanf("%d",&bx[i]);}do{printf("输入要复制的元素个数:");scanf("%d",&x);if(x>NUMBER){printf("请输入小于%d的整数。\n",NUMBER);}}while(x>NUMBER);cpy_ary(ax,bx,x);for(i=0;i<NUMBER;i++){printf("ax[%d]=%d\n",i,ax[i]);}return 0;
}

summaxy6

//返回二维数组a的所有构成元素的总和#include <stdio.h>int sum_ary2D(const int a[][3],int n)
{int i,j;int sum=0;for(i=0;i<n;i++){for(j=0;j<3;j++){sum+=a[i][j];}}return sum;
}int main()
{int i,j;int ax[2][3];for(i=0;i<2;i++){for(j=0;j<3;j++){printf("ax[%d][%d]=",i,j);scanf("%d",&ax[i][j]);}}printf("数组ax所有元素的总和是%d。\n",sum_ary2D(ax,2));return 0;
}

明解C语言入门篇_第6章_函数相关推荐

  1. 明解C语言入门篇练习题第十三章

    练习13-1 #include <stdio.h> int main(void) {FILE *fp;char file_name[128];printf("file name: ...

  2. 《明解C语言 入门篇》第5章 数组 练习题解答

    练习5-1 数组的赋值 练习5-2 数组的赋值 练习5-3 数组的初始化 练习5-4 数组的倒序复制 练习5-5 数组元素倒序排列 练习5-6 赋值表达式的判断 练习5-7 对象式宏的应用 练习5-8 ...

  3. 明解C语言入门篇_第12章_结构体

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  4. 明解C语言入门篇_第9章_字符串的基本知识

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  5. 明解C语言入门篇_第8章_动手编写各种程序吧

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  6. 明解C语言入门篇_第10章_指针

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  7. 明解C语言入门篇_第4章_程序的循环控制

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  8. 明解C语言入门篇_第13章_文件处理

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

  9. 明解C语言入门篇_第7章_基本数据类型

    前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...

最新文章

  1. 高性能asp服务器,服务器中让人头疼的防火墙-ASP教程,性能优化
  2. 一些SAP C/4HANA和S/4HANA同步的测试数据,用于测试目的
  3. yolov3识别的类别_Gaussian YOLOv3:一个更强的YOLOv3,现已开源!
  4. 2021年国内外离线下载服务全面评测与总结
  5. 系统U盘还原成普通U盘
  6. 物联网带动传感器站上风口 华灿光电并购美新半导体
  7. 华为matebooke能装鸿蒙系统吗,华为matebook e安装系统
  8. 信号处理中的反傅里叶变换(IFFT)原理
  9. 抖音 K.O. 快手之后还能火多久?
  10. 杭电ACM 1003
  11. 迄今最全人脸识别开源
  12. yum安装git依赖包报错:/usr/lib64/python2.6/site-packages/pycurl.so: undefined symbol: CRYPTO_set_locking_cal
  13. marlin源码gcode解析与算法插补执行框架
  14. 别处官网下载的STEP格式装配体另存为SLDASM格式失败的解决办法
  15. 组合(Composite)模式
  16. 丑小鸭的逆袭 试驾新一代奔驰A200
  17. 【UVM实战】第五章:UVM验证平台的运行(1)phase机制(上)
  18. 矩阵分解 LDL^T分解
  19. Linux 网络驱动-内核网络驱动框架(二)
  20. Linux中系统定时任务

热门文章

  1. 开发效率提升300%,Vue3新特性已成气候!
  2. 本地计算机上的OracleOraDB12Home1TNSListener服务启动后停止,某些服务未由其他服务或程序使用时将自动停止
  3. 腾讯通无法刷新组织架构的解决办法收集
  4. 物联网开发笔记(53)- 使用Micropython开发ESP32开发板之蓝牙BLE通信
  5. Python——函数练习题
  6. 2012中国软件开发者大会(精彩回顾)
  7. 【明哥版】Auto.Js环境搭建如何与Android手机建立连接教程
  8. stata代码乱码、转码问题的语句
  9. css字体设置为 左上角/右上角/左下右下 显示
  10. adb 读取短信,通话记录、日历、通讯录等的方法