zoukankan      html  css  js  c++  java
  • 我的第一篇博客

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

    1.涉猎网络专业

    当被网络工程专业录取时,我被整懵了,啥?拉网线?还是当网管?顿时感觉人生一片黑暗。但当自己查阅有关网络方面的资料并且询问有关人士后我感觉自己又行了……(至少不是我想的那样)。
    网络有俩大热门方向——网络安全和网络运维。来看看百度百科给出的解释:

    1)网络安全

    网络安全是指对网络攻击、侵入、干扰、破坏和非法使用以及意外事故的必要防范,使网络和信息系统处于稳定、安全、可靠的运行状态,以及保障信息数据的完整性、保密性、可用性。网络安全厂商推出的产品系为各类用户提供网络安全相关产品和服务。网络安全随角度,需求的不同而不同定义。

    自我理解:

    网络安全即运用计算机技术保护用户隐私不被泄露,保证企业机密的安全性。

    2)网络运维

    维护网络安全和网络通畅的,像是局域网的维护或者是其他等; 服务器维护是维护服务器每天的正常运作,防止它出现什么状况, 服务器的供电 ,服务器主机系统的的维护,服务器内部资料的维护和备份等。

    自我理解(想当然...):

    网络运维是工程师在系统报错时通过不断调试将错误的地方找出来,并修复。

    2.对C语言的理解

    C语言应是一种人与计算机“沟通”的方式,将人的语言转化为计算机所能“听懂”的语言,使得计算机严格按照人的意志执行。由于初学C语言,且没与其他语言进行过比较,我对其的认知实在太过肤浅。通过查阅我更深入明白了,C是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言,其优点工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。总之是一个非常nice的编程语言,有很大的空间值得花整个大学时间乃至步入社会探索。

    3.希望在这个专业所学的内容以及大学生活时间安排

    • 希望在这个专业学到多种编程语言如C,Java,Python等,并能灵活运用,且形成自己的兴趣和规划,不单单成为一个伏在电脑桌前的程序猿,硬着头皮码代码。在上浙大翁恺的Mooc中,就感受到了程序的灵活变通,以及其挑战性,我希望能始终保持一个饥饿的状态去学习它,这样才能对接踵而来的专业知识全盘吸收。要学习内容很多,我希望学精而不是及格就好。至于大学生活时间管理我暂时有一个安排(以后根据实际情况调整):
    1. 都说大学靠的是自觉,我决定多去图书馆走走,不说每天都泡在图书馆里,至少双休日每天一个时间段(中午或下午或晚上)要在其中。
    2. 坚持早睡早起,差不多晚上11.00上床早上7.00能起,并且一天三餐不能少,毕竟身体是革命的本钱,大学不能无度。
    3. 注重劳逸结合,我喜欢打球,也喜欢跑步,生命就应当运动,每天都要抽出半个至一个小时锻炼。
    4. 有目标的学习,我的英语薄弱每天都要抽空背一些单词,5个左右,不多,但是一定要记住!
    5. 多多参加社团组织活动,增强人际关系,同时改变自己腼腆的性格,最近就在计划加入桌游社和青协。
      等等

    4.目前学习进度

    • 目前在MOOC上学习浙大翁恺《C语言课程设计CAP》,学到了函数部分,也刷了部分PTA。
    • 驼峰命名法:驼峰式命名法就是当变量名或函式名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母,例如:myFirstName、myLastName。
    • 一段1+...+100的代码
    #include<stdio.h>
    int main()
    {
    	int sum=0;
    
    	int i = 0;
    
    	for (i=0; i <= 100; i++) {
    
    			sum = sum + i;
    	}
    
    	printf("sum = %d", sum);
    
    	return 0;
    }
    
    
    • 学习笔记

    4.1分支结构

    if else

    • 双分支
    if(条件){
    执行语句}
    else{
    执行语句}
    
    • 嵌套分支
    if(条件){
    执行语句}
    if else(条件){
    执行语句}
    ...
    else{
    }
    
    • 注意条件等价要写a==0不能a=0

    swich case

    swich(type)
    {case 1:执行语句
    break;
     case 2:执行语句
    break;
     ...
     default:执行语句
    break;
    }
    

    注意:注意控制表达式只能是整形的结果。
    注意:break不能省,否则执行后会继续运行下去直到出现break为止

    • 可实现案例
    1. 计算分段函数
    2. 阶梯电价
    3. 比较数字大小
      ...
    • 实现的PTA代码
      题目:为了提倡居民节约用电,某省电力公司执行“阶梯电价”,安装一户一表的居民用户电价分为两个“阶梯”:月用电量50千瓦时(含50千瓦时)以内的,电价为0.53元/千瓦时;超过50千瓦时的,超出部分的用电量,电价上调0.05元/千瓦时。请编写程序计算电费。
    #include<stdio.h>
    int main()
    {
        double x,cost;
    	scanf("%lf", &x);
    	if (x < 0) {
    		printf("Invalid Value!");
    	}
    	else if ( x <= 50) {
    		cost = 0.53 * x;
    		printf("cost = %.2lf", cost);
    	}
    	else {
    		cost = 0.53 * 50 + (x - 50) * 0.58;
    		printf("cost = %.2lf", cost);
    	}
    	return 0;
    }
    

    4.2循环结构

    1)while循环

    while(条件){
    循环体
    }
    
    • 先判断后入循环

    2)do while循环

    循环体}while(条件)
    
    • 先入循环后判断

    3)for循环

    for(初始值;条件;循环变量修正)
    
    • 可实现案例
    1. 求1到n的和(用for循环更好)
    2. 求N分之一序列前N项和
    3. 求阶乘序列前N项和
      ...
    • 不理解之处:循环的嵌套(迟早会搞明白的!)
      例如:凑硬币,如何用1角,2角,5角的硬币凑出10元以下的金额

    • 实现的PTA代码

    1. 实验2-3-6 d-for 求交错序列前N项和
    #include <stdio.h>
    #include<math.h>
    int main()
    {
    	int n;
    	int i;
    	double sum=0;
    	scanf("%d", &n);
    	for (i = 1; i <= n; i++) {
    		sum = sum + pow(-1, i +1 )*i / (2 * i - 1);
    	}
    	printf("%.3f", sum);
    	return 0;
    }
    
    1. 求N分之一序列前N项和
    #include<stdio.h>
    int main()
    {
    	double sum=0;
    	int n;
    	int i;
    	scanf("%d", &n);
    	for (i = 1; i <= n; i++) {
    		sum = sum + 1.0/ i;
    	}
    	printf("sum = %lf", sum);
    	return 0;
    }
    

    ...

    4.3函数

    定义:函数是一块代码,接收0个或多个参数做一件事,并返回一个值或0个。

    在MOOC里我学会了自建函数:
    返回类型(void或int等)+ 函数名 + (int/double... a)
    +
    {函数体}
    注意:void代表无返回值!

    • 实现的PTA代码
      题目:对于任一整数n,符号函数sign(n)的定义如下:

    请编写程序计算该函数对任一输入整数的值

    #include<stdio.h>
    int sign(int n) {
    	int x;
    	if (n < 0) {
    		x = -1;
    	}
    	else if (n == 0) {
    		x = 0;
    	}
    	else {
    		x = 1;
    	}
    	return x;
    }
    int main() {
    	int y;
    	scanf("%d", &y);
    	int result;
    	result = sign(y);
    	printf("sign(%d) = %d
    ",y, result);
    	return 0;
    }
    

    (学习进度较慢,以上是我目前学习记录,有待完善)

  • 相关阅读:
    【Leetcode_easy】720. Longest Word in Dictionary
    【Leetcode_easy】717. 1-bit and 2-bit Characters
    【Leetcode_easy】709. To Lower Case
    【Leetcode_easy】707. Design Linked List
    【Leetcode_easy】706. Design HashMap
    第38课 栈和队列的相互转化
    第7章 网络层协议(4)_IGMP协议
    第7章 网络层协议(3)_ARP协议
    第33课 双向循环链表的实现
    第32课 Linux内核链表剖析
  • 原文地址:https://www.cnblogs.com/zhangguande/p/13870263.html
Copyright © 2011-2022 走看看