这个作业属于哪个班级 | 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
",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
",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
",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
",y,b);
return 0;
}
4.3函数
- 函数的定义
函数是一段可以重复使用的代码,用来独立地完成某一个功能,它可以接收用户传递的数据,也可以不接收。接收用户数据的函数在定义时要指明参数,不接收用户的数据的函数则不需要指明参数,由此可将函数分为有参函数和无参函数。
函数的定义一般包括函数头(function head或称为声明符(declarator))和一个函数块。
函数头指定了函数的名称、返回值的类型以及参数的类型及名称。函数块中的语句明确了该函数要做的事。