这个作业属于哪个班级 | C语言--网络2011/2012 |
---|---|
这个作业的地址 | C博客作业00--我的第一篇博客 |
这个作业的目标 | 学习Makdown语法,对本专业及C语言课程有个简单了解,记录自学慕课视频的笔记。教师可以对学生有个初步的认识。 |
1.我对本专业的了解
网络工程专业主要讲授计算机科学基础理论、计算机软硬件系统及应用知识、网络工程的专业知识及应用知识。——百度百科
“网络”这个词在我们的生活中无处不在,我们的工作学习与生活时刻离不开网络,它已经渗透到我们的日常生活,以及当我选择这门专业的时候亦是通过网络提交的志愿表。在我看来,网络工程专业是一门既广泛又专业的课程,广泛是因为我即将在大学四年里学习到的内容如以上资料中所提到的那么繁多而复杂而且计算机领域内的东西在这个专业中都会学习到、了解到,是一门很全面的学科,专业是因为如果想要学好这门专业并以此作为自己的术业就需要认真学习每一个内容达到精湛。据我了解,本专业会有大致三个方向分流————网络安全、网络运维、网络编辑与开发。其中包含的内容是我目前无法想象的深奥以及智慧的聚集,所以在学习过程中可能会碰到各种难题与困难。目前我只能浅薄地了解这个专业,还有很多不懂的东西,我亦相信网络工程会带我进入一个充满未知以及有着无限可能的世界,而我也会认真学习这门课,去感受它带给我的不一样的生活。
2.我对C语言的理解
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。——百度百科
C语言是学习网络工程专业的一门基础课程,我认为C语言是人与计算机之间交流的语言,通过这种特殊的语言可以让计算机对人们发出指令执行从而实现人的意愿,我们通过C语言可以设计我们想要的程序,这样可以提高人们的工作效率,节省很多的计算时间,在社会各个领域服务于人们。所以,要学好网络工程首先要熟练掌握C语言。
3.我希望在本专业学到的内容及大学时间安排
我希望在本专业学习到更多更全面的计算机类的知识。大学的学习和生活与中学不同,没有从早到晚排满的课程表,会有更多的课余时间,每节课认真听讲,做好笔记课后整理,尽早搞懂疑难问题不给自己养成拖延病,多去图书馆查资料、自习;生活方面早晨六点起床,中午午睡30-40分钟,晚上十二点前睡觉按时作息为学习时间保证足够的精力。加入一个社团,在课余时间培养兴趣爱好,多去交朋友,尝试新的领域,走出舒适圈,迎接新的挑战,丰富自己的大学生活。
4.我目前自学的内容
我目前在学习慕课上哈工大苏小红老师的课程,学习到了分支结构。了解了循环结构与函数,暂时未有实现的pta代码。
驼峰命名法:
骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母,这样的变量名看上去就像骆驼峰一样此起彼伏,故得名。
骆驼式命名法(Camel-Case)一词来自 Perl 语言中普遍使用的大小写混合格式,而 Larry Wall 等人所著的畅销书《Programming Perl》(O'Reilly 出版)的封面图片正是一匹骆驼。
骆驼式命名法的命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。
小驼峰法
变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写。
大驼峰法
相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,属性,命名空间等。——摘自百科
以下是我用驼峰命名法编写的程序:
#include<stdio.h>
int main()
{
int age,myHeight;
scanf("%d",&age);
if(age>=18)
myHeight=170;
else
myHeight=160;
printf("myHeight=%d",myHeight);
return 0;
}
#include<stdio.h>
int main()
{
int positiveInteger,a,b,c;
scanf("%d",&positiveInteger);
a=positiveInteger/100;
b=(positiveInteger-a*100)/10;
c=positiveInteger%10;
printf("%d,%d,%d
",a,b,c);
return 0;
}
4.0 C运算符
赋值运算符
(1)赋值表达式:变量=表达式; 例如:a=3;
(2)定义变量同时为变量赋值:类型 变量=表达式; 例如:int a=9;
算数运算符
算数表达式中有多个运算符时,运用其结合性,分为左结合与右结合。
复杂的数学运算:要加入 #include<math.h>
增1和减1运算符
- 增1:++a或a++ 即a=a+1
- 减1:--a或a-- 即a=a-1
注 : 在一行语句中一个变量最好只出现一次加1或减1运算。
类型强转运算符:(类型)表达式 例如:要将int a转化为float a 即(float) a
关系运算符
逻辑运算符
- &&:和
- ||:或
4.1分支结构
单分支结构
if(条件)//要么执行一个操作要么绕过它
{
分支体
}
example:
#include<stdio.h>
int main()
{
int a,b,max;
if(a>b) max=a;
if(a<b) max=b;
printf("max=%d
",max);
return 0;
}
双分支结构
if(条件)
{分支1}
else
{分支2
}
- 实现pta案例1:
#include<stdio.h>
int main(void)
{
double x,y;
scanf("%lf",&x);
if(x==0)
y==0.0;
else
y=1.0/x;
printf("f(%.1f) = %.1f",x,y);
return 0;
}
- 实现pta案例2:
#include<stdio.h>
#include<math.h>
int main()
{
double x,y;
scanf("%lf",&x);
if(x>=0)
y=sqrt(x);
else
y=pow(x+1,2)+2*x+1/x;
printf("f(%.2f) = %.2f",x,y);
return 0;
}
多分支结构
分支结构的嵌套
if(条件1) {分支1};
else if(条件2) {分支2}
else if(条件3) {分支3}
……
else if(条件n) {分支n}
else {分支n+1}
example:
#include<stdio.h>
#include<math.h>
int main()
{
float a, b, c;
printf ("Input the three edge length:");
scanf("%f,%f,%f,&a,&b,&c);
if (a+b>c && b+c>a && a+c>b)
{
if (a==b|| b==a||c==a)
printf ("等腰三角形
") ;
else if (a*a+b*b==c*c||a*a+c*c==b*b || b*b+c*c==a*a)
printf ("直角三角形
") ;
else
printf("一般三角形
");
}
else
{
printf("不是三角形
");
reurn 0;
}
开关语句
switch
{
case 常量1:语句1;break;
case 常量2:语句2;break;
case 常量3:语句3;break;
……
case 常量n:语句n;break;
default : 语句n+1;
}
- 案例:
4.2循环结构
for语句
for(表达式1;表达式2;表达式3)//分别为循环初始条件;循环控制条件;循环转化条件
{
语句1
语句2
}
- pta实现案例:
#include<stdio.h>
int main()
{
int i,sum;
for( i=1,sum=0;i<=100;i++)
sum+=i;
printf("sum = %d
",sum);
return 0;
}
while语句
while(条件表达式)
{
循环体
}//每次执行循环体前都要对条件表达式进行判断。
do-while语句
do
{ 循环体
while(条件表达式);
} //每执行完一次循环体,do…while结构都要判断一下条件表达式。
4.3函数
函数是一段可以重复使用的代码,用来独立地完成某个功能,它可以接收用户传递的数据,也可以不接收。接收用户数据的函数在定义时要指明参数,不接收用户数据的不需要指明,根据这一点可以将函数分为有参函数和无参函数。
将代码段封装成函数的过程叫做函数定义。
无参函数
如果函数不接收用户传递的数据,那么定义时可以不带参数。如下所示:
dataType functionName()
{
//body
}
dataType 是返回值类型,它可以是C语言中的任意数据类型,例如 int、float、char 等。
functionName 是函数名,它是标识符的一种,命名规则和标识符相同。函数名后面的括号( )不能少。
body 是函数体,它是函数需要执行的代码,是函数的主体部分。即使只有一个语句,函数体也要由{ }包围。
如果有返回值,在函数体中使用 return 语句返回。return 出来的数据的类型要和 dataType 一样。
有参函数
如果函数需要接收用户传递的数据,那么定义时就要带上参数。如下所示:
dataType functionName( dataType1 param1, dataType2 param2 ... )
{
//body
}
dataType1 param1, dataType2 param2 ...是参数列表。函数可以只有一个参数,也可以有多个,多个参数之间由,分隔。参数本质上也是变量,定义时要指明类型和名称。与无参函数的定义相比,有参函数的定义仅仅是多了一个参数列表。数据通过参数传递到函数内部进行处理,处理完成以后再通过返回值告知函数外部。