我的第一篇博客

| 这个作业属于哪个班级 | C语言--网络2011/2012 |
| ---- | ---- | ---- |
| 这个作业的地址 | C博客作业00--我的第一篇博客 |
| 这个作业的目标 | 学习Makdown语法,对本专业及C语言课程有个简单了解,记录自学慕课视频的笔记。教师可以对学生有个初步的认识。 |

0.准备工作

准备好对网络工程这一专业的热情,对集美大学的热爱,对一起学习的同学、老师互相的尊重与友善交流。

1.简单谈一谈我对于网络工程的看法

其实我对于网络工程是比较向往的,从小开始我对于计算机有关方面就有着不错的兴趣,并且网络工程在我的眼中是一个能够承担计算机网络系统设计、开发、部署、运行、维护等工作的一门专业,可以很好的开发我们的大脑,提高我们的逻辑思维。

进一步通过百度百科理解网络工程

引用

网络工程专业主要讲授计算机科学基础理论、计算机软硬件系统及应用知识、网络工程的专业知识及应用知识。网络工程专业旨在培养具有创新意识,具有本专业领域分析问题和解决问题的能力,具备一定的实践技能,并具有良好的外语应用能力的高级研究应用型专门人才。——百度百科

2.谈谈我对于C语言的理解

在没有正式去了解C语言时,我对C语言的理解仅限于知道他是一款编译语言。
但是在我详细了解了他之后,感受到了他的不可思议,并且自嘲的说,原来我以前在游戏里充钱,得到的真正的东西不过是一串代码而已。同时,我还了解到与其他计算机语言相比C语言汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当且普适较强,在许多计算机操作系统中。

3.我希望在这个专业学到的东西和我的大学安排

我对于3D建模有着非常浓厚的兴趣,并且学习了一定的基础。在这个的基础上我希望通过学习C语言可以提高我的程序执行力。对于我自己开发游戏软件,或者加入游戏开发团队提供更多,更大的机会。在高中时代我就和几个同学尝试加入了一些小型的工作室,进行了游戏的开发,相比我们这些单纯的绘制游戏画面的入门学者,其实我更想像那些可以书写游戏程序的程序员们。在大学的安排中,我渴望可以自己设计一个3D画风的游戏,运用严谨的程序编译,和我天马行空的3D画面建设,实现我从小到现阶段最有可能实现的一个梦想。

4.我目前自学的内容

在暑假还有大概两个星期结束时,我开始了自我学习,通过慕课,以及和学长交流。军训期间找学长借书,或多或少学习了一些有关C语言的诸多内容。相对来说个人觉得在书本中学习比慕课来的快速而深透的多,而向学长们询问又更有趣得多。

4.1 分支结构

分支结构中有单分支、双分支、嵌套式分支语句以及swich-case语句。

  • 单分支
if( 条件表达式 )
{
 语句块;
}
  • 双分支
if( 条件表达式 )
{
 语句块1;
}
else
{
语句块2;
}
  • 镶嵌式分支
if( 条件表达式 )
{
   if( 条件表达式 )
   {
   语句块1;  
   }
   else
   {
   语句块2; 
   }
 }
else
{
  if( 条件表达式 )
   {
    语句块3;  
   }
   else
   {
     语句块4;  
   }
}
  • swich-case
switch( 表达式 )
{
  case 常量1:语句1;break;
  case 常量2:语句2;break;
  case 常量3:语句3;break;
  case 常量n:语句n;break;
  default : 语句n+1;
}
  • 分支结构可以实现的案例
    (1)对输入的成绩进行划分;
    (2)简单的猜字游戏;
    (3)计算不同年龄段人群应得的薪水;
    (4)计算简单的分段函数。
  • 我的疑惑
    swich中的跳转

我在PTA中实现的案例

统计学生成绩

int main()
{
  int i, n, s;
  int a = 0, b = 0, c = 0, d = 0, e = 0;
  scanf("%d",&n);
  for(i = 0; i < n; i++)
  {
    scanf("%d",&s);
    if(s >= 90)
    {a++;}
    else if(s < 90 && s >= 80)
    {b++;}
    else if(s < 80 && s >= 70)
    {c++;}
    else if(s < 70 && s >= 60)
    {d++;}
    else
    {e++;}
  }
  printf("%d %d %d %d %d\n",a,b,c,d,e);
return 0;
}
  • 求平方与倒数序列的部分和
#include<stdio.h>

int main(){
    double S = 0.0;
    int m,n,i;
    int max,min;
    scanf("%d %d",&m,&n);
    if (m<=n){
        max=n,min=m;
    }
    else {
        max=m,min=n;
    }   for (i=min;i<= max;i++) {
        S += i * i+1.0/i;
    }
    printf("sum = %.6f",S);
    return 0;
}
  • 计算火车运行时间
#include<stdio.h>
int main()
{
  int start, stop, h_start, h_stop, m_start, m_stop, h_cost, m_cost;
  scanf("%d %d", &start, &stop);
  h_start = start / 100;
  m_start = start % 100;
  h_stop = stop / 100;
  m_stop = stop % 100;
  if(m_start <= m_stop)
  {
    h_cost = h_stop - h_start;
    m_cost = m_stop - m_start;
  }
  else
  {
    h_cost = h_stop - h_start - 1;
    m_cost = m_stop - m_start + 60;
  }
  printf("%02d:%02d\n",h_cost,m_cost);
  return 0;
}

4.2 循环结构

循环结构中有三种循环语句:while、do...while和for

  • while语句
while ( 表达式 )
{
  语句;
}

while型循环——先判断,符合循环条件后再执行循环

  • do ... while语句
do
{
  语句;
}
while (表达式);

do-while型循环——先执行一次循环,再判断是否符合循环条件,符合则继续执行循环

  • for循环
for ([表达式1(初始化)];[表达式2(控制表达式)];[表达式3(调节器)])
{
  语句;
}

先计算一次表达式1,以进行必要的初始化,后面不再计算它。
每轮循环前都要计算表达式2,以判断是否需要继续本轮循环。当控制表达式的结果为 false,结束循环。
表达式3在每轮循环结束后且表达式2计算前执

循环语句可以实现的案例

(1)有序数列前N项累加求和
(2)有序数列前N项累乘
(3)求最大公约数最小公倍数
(3)凑钱问题
(4)......

我的PTA实例

  • while和do-while 求给定精度的简单交错序列部分和
#include<stdio.h>
#include<math.h>
int main(){
    int i = 1;
    double limit, sum = 0.0;
    scanf("%lf",&limit);
    do
    {
        sum += (1.0 / i * pow((-1),(i+1)));
        i += 3;
    }while(1.0 / (i -3) > limit);
    printf("sum = %.6lf",sum);
    return 0;
}
  • 找出最小值
#include<stdio.h>
int main()
{
  int x, y, i, n;
  scanf("%d",&n);
  for(i = 0; i < n; i++)
  {
    scanf("%d",&x);
    if(i == 0)
    {y = x;}
    else if(y > x)
    {y = x;}
  }
  printf("min = %d\n",y);
  return 0;
}
  • 最大公约数和最小公倍数
#include<stdio.h>
int main()
{
  int m,n,i,t;
  int y,b;
  scanf("%d %d",&m,&n);
  for(i = 1; i <= m; i++)
  {
    if(m % i == 0 && n % i == 0)
    {y = i;}
  }
  b = m * n / y;
  printf("%d %d\n",y,b);
  return 0;
}

4.3函数

  • 函数的定义
    函数是一段可以重复使用的代码,用来独立地完成某一个功能,它可以接收用户传递的数据,也可以不接收。接收用户数据的函数在定义时要指明参数,不接收用户的数据的函数则不需要指明参数,由此可将函数分为有参函数和无参函数。
    函数的定义一般包括函数头(function head或称为声明符(declarator))和一个函数块。
    函数头指定了函数的名称、返回值的类型以及参数的类型及名称。函数块中的语句明确了该函数要做的事。

但是在个人自学过程中,对于函数的学习在目前为止处于刚刚开始入门阶段,并未开始深度学习,仅仅只限于了解定义部分。

posted @ 2020-10-25 12:21  云中霓裳  阅读(94)  评论(2编辑  收藏  举报