C语言程序设计课程教学大纲

0 下载量 133 浏览量 更新于2024-08-04 收藏 17KB DOCX 举报
"该文档是《程序设计II(C语言程序设计)》课程的教学大纲,属于必修课程,总学时54学时,每周3学时,3个学分,包含27学时的实验或讨论环节。课程在1至18周进行,每周五的5-7节课,授课地点为综合实验楼616机房,针对2018级跨境电商专业的学生,由叶贤良讲师负责教授。课程要求学生具备计算机导论的先修知识,旨在通过学习C语言编程提升学生的程序设计能力。" 课程《程序设计II(C语言程序设计)》是针对2018级跨境电商专业学生的必修课程,旨在深化学生对程序设计的理解和实践技能。课程的核心是C语言,这是一种广泛应用的编程语言,对于计算机科学和技术领域的学生来说,掌握C语言的基础和高级概念至关重要。 课程目标包括理解C语言的基本语法和数据类型,如变量、常量、运算符、控制结构(如if语句、switch语句、循环)、函数的使用等。此外,还包括对数组、指针、结构体等复杂数据类型的深入理解和应用,以及文件操作和内存管理的理解。这些目标旨在培养学生的程序设计思维,使他们能够编写出高效、可读性强的代码。 课程采用多种教学方式,可能包括课堂讲授,让学生系统学习理论知识;小组讨论,促进学生之间的交流和合作,提高问题解决能力;实验和实训环节,让学生亲手实践编程,巩固理论知识;以及可能的案例分析,帮助学生学会在实际情境中应用所学知识。 课程教学进度为18周,每周3学时的理论教学加上27学时的实验或讨论,确保理论与实践相结合,使学生在实践中学习和理解C语言。课程的先修条件是完成计算机导论课程,确保学生具备基本的计算机知识背景。 任课教师叶贤良讲师的职责是传授课程内容,指导实验和讨论,评估学生的学习进步,并可能参与课程设计和改进,以确保课程质量并满足学生的学习需求。通过这门课程,学生不仅会掌握C语言,还将发展分析问题、解决问题和团队协作的能力,为未来在跨境电商领域或其他IT相关职业中的工作奠定坚实基础。

帮我改进一这段代码import machine import time from machine import I2C from machine import Pin from machine import sleep class accel(): def __init__(self, i2c, addr=0x68): self.iic = i2c self.addr = addr self.iic.start() self.iic.writeto(self.addr, bytearray([107, 0])) self.iic.stop() def get_raw_values(self): self.iic.start() a = self.iic.readfrom_mem(self.addr, 0x3B, 14) self.iic.stop() return a def get_ints(self): b = self.get_raw_values() c = [] for i in b: c.append(i) return c def bytes_toint(self, firstbyte, secondbyte): if not firstbyte & 0x80: return firstbyte << 8 | secondbyte return - (((firstbyte ^ 255) << 8) | (secondbyte ^ 255) + 1) def get_values(self): raw_ints = self.get_raw_values() vals = {} vals["AcX"] = self.bytes_toint(raw_ints[0], raw_ints[1]) vals["AcY"] = self.bytes_toint(raw_ints[2], raw_ints[3]) vals["AcZ"] = self.bytes_toint(raw_ints[4], raw_ints[5]) vals["Tmp"] = self.bytes_toint(raw_ints[6], raw_ints[7]) / 340.00 + 36.53 vals["GyX"] = self.bytes_toint(raw_ints[8], raw_ints[9]) vals["GyY"] = self.bytes_toint(raw_ints[10], raw_ints[11]) vals["GyZ"] = self.bytes_toint(raw_ints[12], raw_ints[13]) return vals # returned in range of Int16 # -32768 to 32767 def val_test(self): # ONLY FOR TESTING! Also, fast reading sometimes crashes IIC from time import sleep while 1: print(self.get_values()) sleep(0.05) clk = Pin(("clk", 36), Pin.OUT_OD) sda = Pin(("sda", 37), Pin.OUT_OD) i2c = I2C(-1, clk, sda, freq=100000) #initializing the I2C method for ESP32 #i2c = I2C(scl=Pin(5), sda=Pin(4)) #initializing the I2C method for ESP8266 mpu= accel(i2c) while True: mpu.get_values() print(mpu.get_values()) time.sleep(2)

2023-05-30 上传