1.今天早上复习了昨天讲的linux操作指令
总结如下常用指令
(1)ls:列表查看
如 ls -al 显示所有文件,在查看隐藏文件时可用。
(2)cd:选择目录
如 cd … 返回上层目录 cd - 返回家目录 cd /返回根目录
(3)mkdir:创建文件夹
如 mkdir -p a/b/c 连子目录一起创建
(4)rmdir 删除目录,注意只能删除空目录,-p删除子目录。
(5)cp 复制 cp+源文件+目的地 ,-f强制复制,-r子目录一起复制
(6)rm 删除文件 -r删除子目录 -f强制删除
(7)mv 一种用法移动文件,另一种用法改文件 mv+源文件+目的地
(8)cat 查看文件,不能编辑
(9)head 查看文件开头,默认十行,tail 查看文件末尾,默认十行。
-n设置查看行数,显示文件第10行到20行 head -20 文件名 | tail -10
2.下午到晚上学习C语言做练习题
看到了函数,《明解c语言入门篇》p170
整理了如下典型例题
1、创建一个函数,返回元素个数为n的int型数组v中的最小值
#include <stdio.h>
#define NUMBER 5
int min_of(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 v[NUMBER];
int min;
for(i=0;i<NUMBER;i++)
{
printf("v[%d]:",i);
scanf("%d",&v[i]);
}
min=min_of(v,NUMBER);
printf("最小值是%d\n",min);
return 0;
}
2.求四行三列矩阵和三行四列矩阵的成绩,矩阵元素的值有键盘输入
#include <stdio.h>
int main()
{
int a[4][3];
int b[3][4];
int c[4][4];
int i,j,k;
printf("输入4行3列矩阵的元素。");
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
printf("a[%d][%d]",i,j);
scanf("%d",&a[i][j]);
}
printf("请输入3行4列矩阵的元素。");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("b[%d][%d]",i,j);
scanf("%d",&b[i][j]);
}
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
c[i][j]=0;
for(k=0;k<3;k++)
{
c[i][j]+=a[i][k]+b[k][j];
}
}
}
puts("显示结果");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("c[%d][%d]=%d\n",i,j,c[i][j]);
}
}
return 0;
}
3.将两次考试的分数存储在三维数组中
#include <stdio.h>
int main()
{
int a[2][4][3]={{{91,63,78},{67,72,46},{89,34,53},{32,54,34}},
{{97,67,82},{73,43,46},{97,56,21},{85,46,35}}};
int i,j,k;
int sum[4][3];
/*求两次考试之和*/
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
sum[i][j]=0;
for(k=0;k<2;k++)
{
sum[i][j]+=a[k][i][j];
}
}
}
puts("输入成绩");
for(k=0;k<2;k++)
{
printf("第%d次考试的成绩",k+1);
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
printf("%4d",a[k][i][j]);
}
putchar('\n');
}
}
/*显示总分*/
puts("总分");
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
{
printf("%4d",sum[i][j]);
}
putchar('\n');
}
return 0;
}