文章目录

  • 课程信息
  • 教学纪律
  • 成绩评定
  • 授课记录
    • 2020/02/26 第1章 C语言入门
    • 2020/03/04 第2章 变量的定义
    • 2020/03/11 第2章 基本数据类型
    • 2020/03/18 第3章 C的输入输出与if语句入门
    • 2020/03/25 第4章 if语句
    • 2020/04/01 答疑
    • 2020/04/08 第5章 for 循环
    • 2020/04/15 第5章 for 循环习题5道
    • 2020/04/22 第6章 数组
    • 2020/04/29 第6章 嵌套循环
    • 2020/05/06 知识补充
    • 2020/05/13 第7章 函数
    • 2020/05/20 第8章 指针
    • 2020/05/27 第9章 结构体和共同体
    • 2020/06/03 第10章 文件操作
    • 2020/06/20 模板

课程信息

学期:2019-2020学年第二学期
序号:10917.21
名称:C语言程序设计
教师:郝伟
时间:星期三 5-6
周次:1-16
教室:天工北107 041107
备注:受疫情影响,初始几周实行在线教育。
资料:C语言学习资料汇总

教学纪律

关于在线提问
凡是不涉及隐私的问题,一律在群里进行,不接受私下提问。原因有两个:一是为了互相借鉴,即每个同学的提问,可以给其他同学作为参考,并且可以互相查询;二是为了避免重复,因为很多同学都有相同的问题,如果一一回复的问题,需要回答多次。

关于作业提交
1 每次作业在下周一18:00前提交,超时不再接收;
2 作业只接收文本格式,或其他指定格式;

常见问题

  • 为什么要使用文本而不是手写?
    主要有以下三个原因:
    1、C语言是一门重要的程序设计语言,要求同学们有一定的动手能力。为了提高计算机使用水平,因此要求用计算机进行编写,而不是手工编写再拍照上传。
    2、纯文本体积小,方便传输。举例来说,同学们本次作为一般都在1.5K左右,70个人也才100K的容量,而使用图片要几百K,按500K计算,70个人要35M左右,如果按极端的情况,比如11 张云的Word文件有4.33M,70个人要300M,传输和保存都非常不方便。
    3、内容易于处理,因为纯文本可以很容易地复制粘贴,方便后期处理。

  • 为什么使用纯文而不是Word?
    Word确实很强大文字显示效果很好,但是作业的目的是为了检测同学们学习情况,而不是Word的使用水平。同时纯文本 .txt 文件具有使用简单,打开保存效率高,格式通用等优点特点,特别适合对于内容本身的查看,所以推荐使用。

成绩评定

  • 总成绩标准
    总成绩 = 期末考试分 * 0.7 + 作业分 * 0.2 + 平时出勤 * 0.1。
    即考试分70分,作业分20分,平时出勤10分。

  • 期末考试分(70分)
    以最终实际考试为准,将考试分数*0.7计入部分。

  • 平时作业分(20分)
    平时作业每次都进行打分共16次,然后对每位同学的最高的10次作业求和(每次满分10分,总分100分)然后乘以20%计入总成绩。
    平时作业成绩由内容分和原创分两部分组成,均由程序评判。

    1. 内容分(5分)
      内容分包括知识点和长度分两部分组成。
      作业长度:3分,根据文件长度分为 [0, 200), [200, 400), [400, 600), [600, ∞) 四档,对应分数: 0,1,2,3。
      知识点:2分,每次取3-5个关键词作为知识点,每包括1个加1分,最多2分。
    2. 原创分(5分)
      作业的原创性,计算的方式是将其作业与其他人进行比较重复度,取最大重复度为重复度,值域为 [0%, 100%],0%表示完全不重复,100%表示完全重复。
      分值0-5分,包括 [0%, 10%), [10%, 20%), [20%, 30%), [30%, 40%), [40%, 50%), [50%, 60%)对应分数为5,4,3,2,1,0。
    • 注意事项
    1. 重复度超过50%本次作业按-5分处理。
    2. 每次进行20%的内工随机抽样进行人工检测,如果发现乱写的本次作业0分,同时对以前作业进行检测,发现同样清零。
    3. 作业不提交按0分处理。
  • 出勤分(10分)
    每缺勤一次扣3分,最多扣10分。根据教务处规定,单科缺勤超过30%(本课程16次课,即达到5次或以上),不得参加期末考试。

授课记录

2020/02/26 第1章 C语言入门

本次教学采用在线教育,使用软件为QQ群。

课程内容
在线播放视频,包括计算机基本原理、什么是编程、C语言介绍和进制转换。
安装包的三种方式,VC6.0,mingw和在线
注:以上资料均保存在QQ群中。

作业要求
作业1:根据本次课的内容做相应的笔记。
作业2:自己准备一个数字,用于编写二、八、十、十六进制转换实例一则,并有计算过程。
作业请提交电子版,每位同学提交一个文本文件。文件名和在QQ群里的一致,即 “编号.txt”。然后交给每个班学委。学委要检查文件名称格式,如果有不一样的先调整下,然后整个班级打包发给我,即每个班一个压缩包,总计三个压缩包。
提交时间:下周一(2020/03/2)18点前

2020/03/04 第2章 变量的定义

本次教学采用在线教育,使用软件为QQ群。

课程内容
在线播放视频,包括2.1 C源程序及其符号和2.2 C语言中的数据类型。

  • 什么是IPO

    • Input: 数据输入
    • Process:数据处理
    • Output:计算结果的输出
      示例:对于 y = f(x),x 表示输入,f 是处理函数,y是计算结果。
      1 <= sin(pi/2)
      5 = len(“hello”)
      5050 = sum([1,2,…,100])
  • int x = 1; 的含义

  • int x = 3;
    int y = x * 2;

  • 自定义变量的定义规则

    • 只能由字母、数字和下划线组成
    • 不能以数字开头

注:自定义变量的是大小写敏感的

作业要求
作业1:根据本次课的内容做相应的笔记。
作业2:自己准备一个数字,用于编写二、八、十、十六进制转换实例一则,并有计算过程。

提交要求同第一周。
提交时间: 下周一(2020/03/02)18点前

示例代码:

#include <stdio.h>int main()
{int jack_age = 19;printf("jack_age = %d.\n", jack_age); int tom_age = 20;printf("tom_age = %d.\n", tom_age); int test times = 10;int _year = 2020;int classNumber = 70;int classnumbber = 70;  int people3 = 3;int x1 = 3;int y2 = x1 * x1;y2 = y2 + 1; printf("y2 = %d\n", y2);return 0;
}

2020/03/11 第2章 基本数据类型

本次教学采用在线教育,使用软件为QQ群。

课程内容
在线播放视频2.2 C语言中的数据类型20分钟,主要讲解数据类型。

  • 作业问题+考勤要求
  • 整型作用及位长的意义
  • 浮点型与科学计数法
  • 字符与ASCII码,包括字符与整型转换,大小写转换,半角与全角问题等内容
  • printf中的转义
  • 示例代码解读

示例代码

#include <stdio.h>int main()
{int v = 7;char sex1 = 'F';char sex2 = 'm';// %c: 表示字符,%d: 表示数值,'\n':表示换行 printf("Jack.Sex: %c\nLucy.Sex: %d\nRelationship: %d\n", sex2, sex1, 10);printf("'\\n' = %d\n", '\n');return 0;
}

作业要求
作业1:课堂学习笔记
作业2:解释上面的本次课程示例代码的作用
作业3:截图表明C语言环境已经搞定,包括测试代码和结果,图片名称同样是2位编号。
注:作业1和2放在一个 2位编号.txt 的文件中,作业3用一个 2位编号为文件名的图片表示。
作业要求同第一周,下周一(2020/03/16)18点前提交。

2020/03/18 第3章 C的输入输出与if语句入门

本次教学采用在线教育,使用软件为QQ群。

课程内容

  • 启动控制台
  1. Win+R 打开“命令”窗口
  2. 输入 “cmd” 回车
  • 使用控制台进行编译: gcc -g ch3.c -o ch3.exe

  • C语言的程序如何执行?

    1. 编写源代码:建立 ch3.c
    2. 使用编译器进行编译: ch3.c -> ch3.exe
    3. 执行,在DOS窗口输入程序名: ch3.exe
  • demo1: 输入1个浮点数,求它的平方

#include <stdio.h>int main()
{double v = 0;scanf("%lf", &v);v = v * v;printf("The square of v is %f.", v);return 0;
}
  • demo2: 求 sum(n)
#include <stdio.h>int main()
{int n = 0;printf("Please input a natural number(Range: [1, 1000])\n");scanf("%d", &n);printf("The n you input is: %d\n", n);int sum = 0, i = 1;for( ; i <= n; i++)sum = sum + i;printf("The sum of 1 to n is %d.", sum);return 0;
}
  • 求 ax^2 + bx + c = 0 的实数根。
    C语言中的表达式:a * x ^ 2 + b * x + c = 0
#include <stdio.h>
#include <math.h>int main()
{double a, b, c;printf("Please input coefficients: a, b, c of quedrapic equition a*x^2+b*x+c=0:\n");scanf("%lf,%lf,%lf", &a, &b, &c);printf("a=%.2f, b=%.3f, c=%.4f.\n", a, b, c);double x1 = (-b + sqrt(b*b - 4*a*c))/(2*a);double x2 = (-b - sqrt(b*b - 4*a*c))/(2*a);printf("x1=%f, x2=%f.\n", x1, x2);return 0;
}

scanf 输入函数注意事项

  1. 使用%d输入整型,%f 浮点float, %lf 浮点 double
  2. 待赋值的变量前要加& (取地址符)
  3. 如果是多变量,那么中间要加分隔符,可以是空格或逗号。
    在输入时,也要遵守相同的分隔符,比如:
    scanf("%lf,%lf,%lf", &a, &b, &c); 对应 1,2,3

printf 输出函数注意事项

  1. 使用%d表示整型,%f 浮点
  2. 对于%f,可以使用%m.nf的格式进行输出,其中:
    m:表示总长度,包括整数部分+1位小数点+小数部分,
    长度不足在左侧用空格补足,超出时,m不起作用
    n:表示小数部分长度,对于缺少的补0,对超出的四舍五入。

课堂练习

# printf("%6.3f", 3.1415926535)  --> _3.142
# 给定输入:12345.6789,要求的输出是:__12345.67890, // 注意__是两个下划线那么格式化的字符串是什么? 即m = 13, n = 5
# 注意变量的数据类型与匹配符(%d, %f, %c)要对应,不能搞错。
# 对于%d,可以使用%md来格式化整型的总长度,其中m为总长度。
  • if 条件语句的格式1如下所示:
if(条件){执行语句1;执行语句2;……
}
  • 使用if对一元二次方程的根的三种情况分别进行处理
#include <stdio.h>
#include <math.h>int main()
{double a, b, c;printf("Please input coefficients: a, b, c of quedrapic equition a*x^2+b*x+c=0:\n");scanf("%lf %lf %lf", &a, &b, &c);printf("a=%.2f, b=%.3f, c=%.4f.\n", a, b, c);double delta = b*b - 4*a*c;if(delta > 0){double x1 = (-b + sqrt(delta))/(2*a);double x2 = (-b - sqrt(delta))/(2*a);printf("x1=%f, x2=%f.\n", x1, x2);return 0;}if(delta == 0){double x12 = -b/(2*a); printf("x1=x2=%f", x12);return 0;}printf("No real root");return 0;
}

作业要求
作业1:练习使用所有的格式字符(s除外),每个用自定义的随机数写3个示例。每个示例包括输入值,格式字符串和输出。
作业2:课堂笔记
两个作业写在同一个文本文件中,在下周一(03/23) 18:00 前提交。

2020/03/25 第4章 if语句

本次教学采用在线教育,使用软件为QQ群。

课程内容

首先,说了作业抄袭、迟交和不交的问题,然后说明QQ群提问要求。

  • 选择结构程序设计
if(条件表达式){表达式1;表达式2;。。。
}# 当只有一条表达式时,花括号可以省略。if(条件表达式)表达式1;if: 关键字,表示一个判断结构的开始;
():必需的结构,用于表示条件表达式
条件表达式:能够返回一个真假的表达式, 当这个值为0时表示为假,非0值表示为真。
  • 关系表达式: 用于比较两个值(也可以是表达式)的关系
    比如,x > 5, 3*x + 1 < 10 + x
  • 比较运行符共6个: >, >=, ==, <=, <, !=
【示例1】
#include <stdio.h>
#include <math.h>int main()
{int x = 6;int v1 = x*x*x*x*x;int v2 = 5*5*5*5*5*5;int result = v1 > v2;if(x * x)printf("if(1)\n");return 0;
}
  • 逻辑运算1 表示为 真,0表示为 假
    与运行 && and 与运行 逻辑乘法 (&&),即两者同时成立的运算
------------| 0 | 1 |
-------------0 | 0 | 0 |
-------------1 | 0 | 1 |
-------------

如参加高考时,取x = 高中学历, y = 不小于16岁

if(x && y)TakeExam();
  • 或运行 ||
------------| 0 | 1 |
-------------0 | 0 | 1 |
-------------1 | 1 | 1 |
-------------
  • 非运算 ! 取反
!0 -> 1
!1 -> 0x > 0 && y > 0 与 !(x <= 0 || y <= 0) 是否一样?x > 0 -> !(x <= 0)
y > 0 -> !(y <= 0)x > 0 && y > 0 -> !(x <= 0) && !(y <= 0) -> !(x <= 0 || y <= 0) a && b -> !(a || b)
a || b -> !a && !b
  • if()结构中的条件表达式,
  两个条件: if(a && b)  // 必需a,b同时为真时才满足条件if(a || b)  // 只要a,b中有一个为真就满足条件 三个条件:if(a && b && c) // 必需a,b,c同时为真时才满足条件if(a || b || c) // 只要a,b,c中有一个为真就满足条件 if(a && b || c) 假设 a=不下雨,b=有时间, c=超市支持在线购物,目标:买东西。if(a || b && c) // 先算 b && c 再算其结果与a的或运算。&& 的优先级高于 ||,可以理解为先乘除再加减。if((a || b) && c) // 先算 a||b,再算其结果和c的与运算。
  • if 的第二种格式
if(条件表达式){表达式1;表达式2;。。。
}else{表达式1;表达式2;。。。
}
  • if 的第三种格式, 也是最一般的格式
if(条件表达式1){表达式1;表达式2;。。。
}else if(条件表达式2){表达式1;表达式2;。。。
}else if(条件表达式3){表达式1;表达式2;。。。
}
...
else{表达式1;表达式2;。。。
}
//【示例2】
#include <stdio.h>
#include <math.h>int main()
{int x = 0;int y = 0;scanf("%d %d", &x, &y);if(x > 0 && y > 0)printf("first");else if(x < 0 &&  y > 0)printf("second");else if(x < 0 &&  y < 0)printf("third");else if(x > 0 &&  y < 0)printf("forth"); else if(x == 0 && y == 0)printf("original");else if(x == 0)printf("Y axis");else if(y == 0)printf("X axis");elseprintf("Never reach here.");return 0;
}

作业要求
作业1:课堂笔记
作业2:每个同学提1-3个问题,不记名,直接发给学委。
学委统一提交问题(.txt 或 xlsx 均可)+未提问同学名单。
作业3:(不提交)从网上找c语言中逻辑运算的相关资料并学习。

2020/04/01 答疑

本次教学采用在线教育,使用软件为QQ群。
教学内容
对前4章的内容进行答疑。参见群文档:第5次课问题列表.xlsx
作业要求
作业:总结一下已学的C语言的知识。

2020/04/08 第5章 for 循环

本次教学采用在线教育,使用软件为QQ群。
教学内容

  • 关于作业
    1)提早交,不要等到最后时刻,意外总可能发生,态度问题
    2)取最高的12次成绩的平均分作为作业平时成绩(2次没计,2次试行)

循环

  1. 基本语法
    for(exp1;exp2;exp3)
    statement;
    exp1: 初始化,用于对变量进行初始化;
    exp2: 循环的判断条件,满足exp2则循环继续,不满足则跳出循环;
    exp3: 每次循环后,对循环控制变量的操作(如i++)

  2. 执行过程:
    exp1 -> [exp2 -> statement -> exp3] -> [exp2 -> exp1 …]

  3. 注意:
    如果只有1条语句,可以不写大括号,如果有多条,则大括号一定要写。

Demo1: for 循环示例

#include <stdio.h>
int main(){int i = 0;int result = 0;for( ; i <= 5; i++)printf("i = %d.\n", i);printf("finally, i = %d.\n", i);
}

Demo2:求和 ∑i=1100i\sum_{i=1}^{100} i∑i=1100​i

#include <stdio.h>
// 1 + 2 + ... + 100
int main(){int end = 1000, i = 5;double result = 0;for(i = 0, end = 100 ; ; ){if(i > end)break;result += i;  // result = result + iresult *= 1.1;result *= 0.9;i++;//printf("i = %d, result = %d.\n", i, result);}printf("The sum of 1 to %d is: %f.\n", end, result);
}

Demo3: 取余运行符 %

#include <stdio.h>
int main(){ printf("Please enter v1 and v2: ");int v1, v2;scanf("%d,%d", &v1, &v2);printf("The quotion of %d to %d is %d.\n", v1, v2, v1 / v2);printf("The reminder of %d to %d is %d.\n", v1, v2, v1 % v2);
}

Demo 4:求100-200中的不能被3整除的数。

#include <stdio.h>
int main(){int start = 100, end = 200, i = 0;for( i = start ; i <= end; i++){if(i % 2 != 0)printf("i = %d.\n", i);}
}

Demo 5: 利用公式π/4=1−1/3+1/5−1/7+...+(−1)(i−1)/(2∗i−1),i=1,2,...\pi/4 = 1 - 1/3 + 1/5 - 1/7 + ... + (-1)^{(i-1)}/(2*i-1), i = 1, 2, ...π/4=1−1/3+1/5−1/7+...+(−1)(i−1)/(2∗i−1),i=1,2,...,求π\piπ。

// 某一项的绝对值小于10-6为止,即当 i = n 时, 满足 1/(2*n-1) < 1E-6
#include <stdio.h>// pi/4 = 1 - 1/3 + 1/5 - 1/7 + ... + (-1)^(i-1)/(2*i-1), i = 1, 2, ...
int main(){ double pi = 0;int i;int sign = 1;for( i = 1; 1 / (2.0 * i - 1) >= 0.0000001; i++, sign = -sign){pi += sign / (2.0 * i - 1);}printf("pi = %.8f.\n", pi * 4);
}

作业要求
作业1:课堂笔记
作业2:写一个程序判断输入的正整数n是否为素数。

2020/04/15 第5章 for 循环习题5道

本次教学采用在线教育,使用软件为QQ群。
教学内容

// 1.求100以内所有的奇(偶)数
int main(){int i;for(i = 1; i <= 100; i++)if(i % 2 == 1)printf("%d is odd\n", i);elseprintf("%d is even\n", i);return 0;
}// 2. 求 n! (n! = 1 * 2 * 3 * ... * n)
#include<stdio.h>int main(){int i, n, result = 1;printf("Please input n: ");scanf("%d", &n);for(i = 1; i <= n; i++){result *= i;}printf("result = %d\n", result);return 0;
}// 3.求1到100中数字5出现的次数,关键:如何判断i个位是5?
// solution 1:
#include<stdio.h>int main(){int i, n = 100, count = 0, target = 5;for(i = 1; i <= n; i++){if(i % 10 == 5){count++;}if(i / 10 == 5){count++;}}printf("count = %d\n", count);return 0;
}// solution 2:
#include<stdio.h>
int main(){int i, n = 100, count = 0, target = 5;for(i = 1; i <= n; i++){// printf("%d, %d, %d\n", i, (i / 10 == target), (i % 10 == target));count += (i % 10 == target) + (i / 10 == target);}printf("count = %d\n", count);return 0;
}// 4. 求100-999之间所有的回文数,个位数字与百位数字相同。
// solution 1:
#include<stdio.h>int main(){int i, j, k;// ijk, i: 3rd-digit,j:2nd-digit,k: 1st-digitfor(i = 1; i <= 9; i++)         // hour handfor(j = 0; j <= 9; j++)     // minute handfor(k = 1; k <= 9; k++) // second handif(i == k)printf("%d\n", i * 100 + j * 10 + k); return 0;
}// solution 2:
#include<stdio.h>int main(){int i;for(i = 100; i <= 999; i++)if(i % 10 == i / 100)printf("%d\n", i);return 0;
}// 5. 求定积分 sin x / x 在 [1,2]上的值。
#include<stdio.h>
#include<math.h>int main(){int i;double x1 = 1;double x2 = 2;int count = 10;double delta = (x2 - x1) / count;double result = 0;for(i = 0; i < count; i++){//      double xi = x1 + i * delta;
//      result += delta * sin(xi) / xi;result += delta * (x1 + i * delta);}printf("result = %f\n", result);return 0;
}

作业要求
作业1: 每位同学根据自己的编号计算相应区间的素数:
编号:区间
01: [1010000, 1020000) // 即101万-102万,不包括102万,以下类似
02: [1020000, 1030000)
03: [1030000, 1040000)

68: [1680000, 1690000)
69: [1690000, 1700000)
70: [1700000, 1710000)
作业要求给出实现代码和执行结果,注意,提交的作业包括执行结果,包括执行结果,包括执行结果,同时每个同学由于区间不同,返回的结果肯定是不一样的。

作业2:阅读C教程(https://www.runoob.com/cprogramming/c-tutorial.html)中的[C 程序结构, C 基本语法, C 数据类型, C 变量, C 常量, C 运算符, C 判断, C 循环]这几个章节的内容,并写阅读笔记。

2020/04/22 第6章 数组

本次教学采用在线教育,使用软件为QQ群。
课堂教学
本次课程主要内容

  1. 为什么要使用数组
    当需要表示的数据很多时,逐一定义变量效率非常低下,无法满足需求。

  2. 数组的定义
    datetype variable_name[count]; // 定义格式或者叫语法,术语:syntex
    比如 int score[70]; // 定义一个长度为70的int型数组
    以上代码一次性定义了70个int型的变量,注意:一次性定义了70个变量!
    double vs[100]; // 定义了100个浮点double类型的变量
    数组的优势:可以一次性地批量地定义不同类型的多个变量

  3. 数组元素的访问
    访问数组中指定的第i的元素的值:variable_name[index]
    比如,score[0] 表示数组中第0个元素,
    所以,我们可以使用 score[0], score[1], …, score[69] 访问score数组第1至第70个元素。
    类似地,我们可以使用 vs[0], vs[1], …, vs[99] 访问vs数据的第1至第100个元素。
    特别注意:数组索引(也叫下标),在C语言中,从0开始,所以索引的取值范围为 [0, count),
    比如对于 score, 下标取值范围为 [0, 70),对于 vs,为 [0, 100)
    我们还可以使用变量作为下标,来访问数据中的元素,如:
    score[i] = 0; // 比如,当i=0时, score[i] 等价于 score[0],以此类推
    我们还可以使用更复杂的表达式来访问数组中的元素,比如:
    score[2*i+10] = 5; // 当 i = 3时,我们访问的数组元素是 score[16]

  4. 数组的遍历
    补充:C语言中的变量在赋值前,其值为随机数。
    使用for循环即可。

  5. 数组的本质
    放在一段连续的内存空间中的多个同类型的变量。
    比如 score|0|1|2|…|n-2|n-1 | 表示分隔符

  6. 示例1:求最大/小值

#include <stdio.h>
int main()
{int i, score[70]; // declareint n = 60;// initialize socres at random.for(i = 0; i < 70; i++)score[i] = i * i * i % n + 41; // find max/min student id.int idmax = 0;int idmin = 0;for(i = 1; i < 70; i++){if(score[i] > score[idmax])idmax = i;if(score[i] < score[idmin])idmin = i;}for(i = 0; i < 70; i++)printf("score[%d] = %d.\n", i, score[i]);printf("Max student id = %d, min student id = %d.\n", idmax, idmin);return 0;
}

示例2:求和,求平均值

#include <stdio.h>
int main()
{int i, score[70]; // declareint n = 60;// initialize socres at random.for(i = 0; i < 70; i++)score[i] = i * i * i % n + 41; // find sum of scoreint sum = 0;for(i = 0; i < 70; i++)sum += score[i];// find the average of scoredouble average = sum / 70.0; // 70.0 表示是浮点数,以保证结果保留小数部分printf("The sum is %d, the average = %.2f.\n", sum, average);return 0;
}

作业要求
作业1:课堂笔记
作业2:给定以下代码,其中score表示70个同学的成绩,统计[0, 60), [60, 70), [70, 80),
[80, 90), [90, 100]各分段的人数。

#include <stdio.h>
int main()
{int i, score[70]; // declareint n = 60;// initialize socres at random.for(i = 0; i < 70; i++)score[i] = i * i * i % n + 41; // Todo: add your code here}

2020/04/29 第6章 嵌套循环

本次教学采用在线教育,使用软件为QQ群。
课堂教学
视频教学:
1)VC6.0安装
2)MinGW安装
3)选择排序
4)冒泡排序
作业要求
作业:完成两种排序算法

2020/05/06 知识补充

本次教学采用在线教育,使用软件为QQ群。
课堂教学
本次课程内容:

  1. switch 的用法,示例:
#include<stdio.h>int main(){int day;printf("Please input a number: ");scanf("%d", &day);printf("---------- By if statement ----------\n");if(day == 0)printf("Sunday");else if (day == 1)printf("Monday");else if (day == 2)printf("Tuesday");else if (day == 3)printf("Wednesday");else if (day == 4)printf("Thurday");else if (day == 5)printf("Friday");else if (day == 6)printf("Saturday");elseprintf("Wrong number");printf("\n---------- By switch statement ----------\n");  switch(day){case 0: printf("Sunday");break;case 1: printf("Monday");break;case 2: printf("Tuesday");break;case 3: printf("Wednesday");break;case 4: printf("Thurday");break;case 5: printf("Friday");break;case 6: printf("Saturday");break;default: printf("Wrong number");break;}return 0;
}

2)算法简介
见视频,参考阅读:https://blog.csdn.net/weixin_43145361/article/details/96149661

3)while 循环示例

#include<stdio.h>int main(){int n;printf("Please input n: ");scanf("%d", &n);printf("\n--------------- for loop ---------------\n");int result = 1, n_1 = 1, n_2  = 1;for(int i = 1; i <= n; i++){if(i > 2){int t = n_1 + n_2;n_2 = n_1;n_1 = t;result = t;}printf("%d, ", result);}printf("\n--------------- while loop ---------------\n");int i = 0;result = 1;n_1 = 1;n_2  = 1;while(i ++ < n){if(i > 2){int t = n_1 + n_2;n_2 = n_1;n_1 = t;result = t;}printf("%d, ", result);        }return 0;
}

作业要求
作业:课堂笔记

2020/05/13 第7章 函数

本次教学采用在线教育,使用软件为QQ群。
课堂教学
使用郝斌的视频,讲解了函数是什么,使用函数的目的、分类和形参等内容。
作业要求
作业1:观看素数视频
作业2:课堂笔记

2020/05/20 第8章 指针

本次教学采用在线教育,使用软件为QQ群。
课堂教学
看视频,学习指针。
作业要求
作业:课堂笔记

2020/05/27 第9章 结构体和共同体

本次教学采用在线教育,使用软件为QQ群。
课堂教学
对看以下视频:https://www.bilibili.com/video/BV1Ps411U7tS?p=53
作业要求
作业:课堂笔记

2020/06/03 第10章 文件操作

本次教学采用在线教育,使用软件为QQ群。
课堂教学
对看以下视频:
文件操作1:https://www.bilibili.com/video/BV1Ps411U7tS?p=59
文件操作2:https://www.bilibili.com/video/BV1Ps411U7tS?p=60
DOS基本操作:https://www.bilibili.com/video/BV1UE411b7Mh?from=search&seid=14462529927031340375
作业要求
作业:课堂笔记

2020/06/20 模板

本次教学采用在线教育,使用软件为QQ群。
课堂教学
模板
作业要求
作业:课堂笔记

C语言程序设计授课记录202003相关推荐

  1. c语言程序设计授课进度安排表,12级C语言程序设计教学进度表

    3 18-5=13 3×13=39学年第 2 学期 1:2课程名称考试 电气信息类 专业 2012年级 4 班13233343536373839 310311312313314315316317318 ...

  2. c语言程序设计授课进度安排表,C语言程序设计教学大纲、教学计划进度简表

    <C语言程序设计>教学大纲 课程名称:<C语言程序设计> 英文名称:PROGRAMMING IN C LANGUAGE 课程性质:公共选修课程 课程编号:1203141 所属院 ...

  3. C语言程序设计_zju——记录2

    1 判断 1.1 分段函数,级联的if-else if 1.2 分段函数,不写成级联的if-else if 2 循环 如果没有循环 2.1 for.do-while.while使用场景 1 #incl ...

  4. C语言程序设计习题参考答案

    C语言QQ群:108168489 此群是普通群,限100人.无法容纳所有C语言同学,敬请谅解. 申请加入务必注明[班级和姓名](不注明班级和姓名,拒绝加入),加入群后修改群名片.课程结束后[取消该群] ...

  5. c语言程序设计谢丽霞课后答案,课程建设计划.doc

    课程建设计划.doc 计算机科学与技术学院 计算机程序设计基础(理工类) <C语言程序设计>课程建设计划 课程名称:C语言程序设计 课程编号课程组组长:王 红 课程组责任教师:衡红军.冯霞 ...

  6. 中职计算机vb听课记录,中职学校《VB语言程序设计》教学浅析

    <中职学校<VB语言程序设计>教学浅析>由会员分享,可在线阅读,更多相关<中职学校<VB语言程序设计>教学浅析(5页珍藏版)>请在人人文库网上搜索. 1 ...

  7. c语言程序学生籍贯信息记录,C语言程序设计学生籍贯信息记录簿

    C语言程序设计学生籍贯信息记录簿 编制一个学生籍贯信息记录簿,每个学生信息包括:学号.姓名.籍贯.具体功能: (1)创建信息链表并以磁盘文件保存: (2)读取磁盘文件并显示输出所有学生的籍贯信息: ( ...

  8. 语言 上课点名 缺勤_主播日记5 | “云端”传递的C语言程序设计实验课

    因受疫情影响,全国各大高校纷纷延期开学,但停课不停学.停课不停教,课堂由线下向线上发生转移,教学方式也发生了转变,这既是对传统教学方法的一种挑战,也是推进和升华教学改革的一个契机.我校C语言程序设计实 ...

  9. c语言程序设计中北大学,《中北大学软件学院2013届C语言程序设计实训题目.doc...

    <中北大学软件学院2013届C语言程序设计实训题目 C语言程序课程设计题目 (孟龙)题目1:年历显示 功能要求: 输入一个年份,输出是在屏幕上显示该年的日历.假定输入的年份在1940-2040年 ...

最新文章

  1. 疯狂ios讲义疯狂连载之日期选择器(UIDatePicker)
  2. javaweb学习总结(五):Servlet开发(一)
  3. 如何HttpWebRequest模拟登陆,获取服务端返回Cookie以便登录请求后使用
  4. java给qq发消息_QQ发送消息
  5. php pdf 文字水印图片,php如何给pdf加上文字水印和图片水印[未测试]
  6. 接私活被公司开除。。
  7. LeetCode 232. Implement Queue using Stacks
  8. SQL Server 2012之初次安装
  9. Java访问修饰符——用于控制可见性
  10. 用MarkDown写PPT
  11. 游戏外挂,其实是一门网络技术
  12. ANC降噪耳机声学参数合成与校准的2种方式
  13. linux cp omitting 复制,linux 系统 cp: omitting directory 问题解决
  14. 那些你可能不知道的微信奇技淫巧
  15. UED设计流程和方法
  16. 男装品牌十如仕官宣谢霆锋为品牌代言人
  17. arcgis python脚本筛选与线共边的面_ArcGIS公共函数Python脚本,Arcgis,常用,功能
  18. 2018-2019信息安全导论期末试题
  19. C语言如何求n次方根
  20. 【基础】秦九昭算法实现的多项式快速计算

热门文章

  1. luogu3933 Chtholly Nota Seniorious
  2. 微信 Windows 版本干了件大事!
  3. 学习日记5-C语言函数的应用
  4. centos 开发套件_替代的Laravel套件开发工作流程
  5. python中search用法_Python中的python re.search方法详解
  6. opencv入手小训——画立体图形
  7. 米家接入HomeKit系列二:通过群辉NAS的Docker搭建HomeAssistant
  8. STM32Cube配置串口
  9. Python 100道基础入门练习题(附答案)【这期完结】
  10. win10添加网络打印机_win10系统连接网络打印机