《程序设计基础》结构类型

合集下载

《C语言程序设计》基本知识点

《C语言程序设计》基本知识点

《C语言程序设计》基本知识点第一章C语言基本知识1.C源程序的框架尽管各个C源程序的功能千变万化,但框架是不变的,主要有:编译预处理、主函数()、函数n()等,主函数的位置不一定在最前面,可以在程序的中部或后面,主函数的名字固定为main。

2.C语言源程序的书写规则:(1)C源程序是由一个主函数和若干个其它函数组成的。

(2)函数名后必须有小括号,函数体放在大括号内。

(3)C程序必须用小写字母书写。

(4)每句的末尾加分号。

(5)可以一行多句。

(6)可以一句多行。

(7)可以在程序的任何位置加注释。

3.语句种类语句是程序的基本成分,程序的执行就是通过一条条语句的执行而得以实现的,根据表现形式及功能的不同,C语言的基本语句可以分为五大类。

(1)流程控制语句流程控制语句的功能是控制程序的走向,程序的流程有三种基本结构:顺序结构、分支结构和循环结构,任何复杂的程序都可以由这三种基本结构复合而成。

其中后两种结构要用特定的流程控制语句实现。

(2)表达式语句表达式语句的形式是:表达式;,即表达式后跟一分号“;”,分号是语句结束符,是一个语句必不可少的成分。

表达式和表达式语句的区别在于表达式代表的是一个数值,而表达式语句则代表一种动作。

最常见的表达式语句是赋值语句。

(3)函数调用语句函数调用语句实际上也是一种表达式语句,形式为:在一次函数调用的小括号后面加上一个分号。

(4)空语句空语句的形式就是一个分号,它不代表任何动作,常常作为一个意义转折点使用。

(5)复合语句复合语句从形式上看是多个语句的组合,但在语法意义上它只相当于一个语句,在任何单一语句存在的地方都可以是复合语句。

注意复合语句中最后一个语句末尾的分号不能少。

复合语句右大括号后面没有分号。

4.运算符用来表示数据各种操作的符号称为运算符。

运算符实际上代表了一种类型数据的运算规则。

不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。

《程序设计基础》PPT课件

《程序设计基础》PPT课件

• 数值型 货币型比较 • 日期型和日期时间型比较 • 逻辑型比较 • 子串包含测试 • 例题2.9
设置字符的排序次序
• Machine 大写小于小写 • Pinyin 大写大于小写 • Stroke 按照笔画算 • Set collate to ”<pinyin|machine|stroke>”
例题2.1 ?'计算机','123',[数据],['ABC'"abc"] ??"学习",'字符串'," ",[表示方法]
4.日期型常量(Data)
• 日期型数据是存储和表示年、月、日等日 期的数据类型,其内部存储格式为 “yyyy/mm/dd”,其中yyyy代表年份, mm代表月份,dd代表日子,共占8个字符。 年份的取值范围为:100至9999;月份的取 值范围为:1至12;日子的取值范围随年份 和月份的不同而不同,最大范围为:1至31。
STORE <表达式> TO <变量名表> 其中变量名表是用逗号“,”分开的多个变量名。与 等号赋值命令不同的是一条store命令可以同时给多个 变量赋相同的值。
• 功能注释见书本
例如为a,b,c赋相同的值34,需输入命令: store 34 to a,b,c
数组
• 数组是内存中连续的一片区域,它由一系 列元素组成,每个数组元素可通过数组名 及相应的下表来访问
数据类型及其存储方式
6.日期时间型(DateTime) 日期时间型数据用于存储日期和时间值。日期时间型数据存储格式为 “yyyymmdd hhmmss”,其中yyyy表示年,mm(第一个)表示月,dd表示 日,hh表示小时,mm(第二个)表示分钟,ss表示秒(必须为整数)。日 期时间型可以表示一个日期值,也可以表示一个时间值,或者表示一个日 期时间值。日期时间型数据与日期型数据一样在内存中用8个字节存储。 7.双精度型(Double) 双精度型数据是指精度要求较高的数据,或真正的浮点数。双精度型数 据占用8个字节存储空间,取值范围为0.904 656 458 412 47×10 324~ ±0.988 456 743 115×10307。 8.整数型(Integer) 整数型数据用于存取不包含小数部分的数值。整数型数值不用转换成 ASCII字符来存 储,而数值型数据是要进行二进制转换的。整数型占用4个 字节,取值范围为 2 147 483 647~2 147 483 646。

2009第三章 C语言语句与结构化程序的三种基本结构

2009第三章 C语言语句与结构化程序的三种基本结构

3.2.1 表达式语句
赋值表达式语句的一般格式: <变量名> = <表达式>; 其中 “=”是赋值号, 其意义是将赋值号右边表 达式的值赋到赋值号左边的变量中去。 如: x = 5; 表示将5赋给变量x x = x+20;表示将x的内容+20再赋给x
3.2.2 数据的输出
C语言的输入和输出是通过调用I/O函数来完成 的,常用的有三对:
2. %s格式符和附加的格式说明符“m .n ”一起
使用, 其中“.n”这个附加的格式说明符是使对
输出的字符串截取n位字符。
3.2.2 数据的输出
例如: main() { printf(”%3s,%7.2s,%.4s,%- 5.3s\n”,
“china”,”china”,”china”,”china”),
3.2.3 数据的输入
scanf()函数
用于接受键盘输入的各种类型的多个数据。 scanf (格式控制字符串, 变量地址表列) ; 在scanf()函数中格式控制字符串的含义与printf() 函数中略有不同(参见P64表3.3) 输入的格式说明字符有: 格式控制问题 %d %o %x %c %s %f %e
3.2.3 数据的输入
例如:关于格式说明符的使用的例子.
?
P66 4、scanf()函数在使用时应该 注意的问题+例3.7
输入:12345678901234 输出:1 , 234 , 789012 ,34.000000 输入:12345678901234 输出: , 12 , 345.000000
3.2.3 数据的输入
getchar( )函数
函数功能:从键盘读取用户输入的一个字符, 并 将该字符的ASCII码值作为函数返回值。 注: 用户在输入字符后, 再按回车键, 输入的内 容才能被getchar()函数处理。

程序设计基础课程简介

程序设计基础课程简介

《程序设计基础》课程简介课程编号:E1112101 英文名称:Programming Fundamentals学分:3 学时:48授课对象:计算机科学与技术专业,软件工程专业,网络工程专业课程目标:通过理论教学,使学生初步了解计算机软硬件系统,掌握计算机的基本使用方法使学生较好地掌握程序设计方面的知识,掌握基本的程序设计方法,具备初步的程序设计能力,并能熟练运用TC或VC集成环境进行C语言程序的编写、编译与调试。

课程内容:计算机软硬件系统基础知识,程序设计语言概述,程序设计语言基础,顺序、选择、循环结构程序设计,构造类型数据,函数,编译预处理,指针,文件等。

本课程的实验环节为独立实验课程《程序设计基础实验》。

预修课程:无《面向对象方法》课程简介课程编号:E1132103英文名称:Object-Oriented Paradigm学分:4 学时:64授课对象:计算机科学与技术、软件工程、网络工程课程目标:本课程是计算机科学与技术、软件工程、网络工程专业的一门学科基础必修课程。

本课程通过在学习面向对象概念、方法和相关理论的基础之上,着重介绍C++对面向对象的具体支持和实现,并通过具体的设计实例来使学生掌握面向对象编程技术、理解面向对象思想、了解面向对象分析和设计方法、逐步养成面向对象的思维方式,为后续课程的学习奠定基础。

课程内容:本课程以C++为面向对象程序设计语言,以面向对象思想解决实际问题为主线,逐步介绍了面向对象程序设计的基本概念,其中包括:数据抽象、对象、封装、继承、多态概念等。

在介绍这些基本概念并利用这些基本概念解决实际问题时候,渗透面向对象分析、设计方法,使学生掌握用C++实现面向对象编程并了解面向对象分析设计的基本方法。

预修课程:程序设计基础、程序设计基础实验《计算机组织与结构》课程简介课程编号:E1112104英文名称:Computer Organization & Architecture学分:3.5 学时:56授课对象:网络工程、软件工程、计算机科学与技术专业本科生课程目标:本课程是计算机类学生学习专业知识的基础,学习本课程后,学生可以了解电子数字计算机从指令和数据输入直到打印输出结果的计算机内部工作的全过程,从而建立完整的系统概念,为今后从事硬件和软件技术工作打下坚实的基础。

《程序设计基础(CC++)》课程教学大纲

《程序设计基础(CC++)》课程教学大纲

《程序设计基础(C/C++)》课程教学大纲一、课程信息英文名称:Foundation of Programming (C/C++)授课方式:机房授课课程类别:学科基础课程性质:必修学分:3学时:54学时适用对象:计算机类专业等先修课程:计算机导论开课院系:软件工程系、计算机科学与技术系等二、课程简介《程序设计基础(C/C++)》是软件工程、计算机科学与技术等计算机类本科专业的学科基础课程。

本课程主要的教学内容是C++语言的基本数据类型与表达式,程序基本控制结构,函数、数组及指针的运用,以及输入/输出流类的应用等。

课程以程序设计方法贯穿始终,从语法规则到编程实践,力求在掌握基本程序设计方法的同时,培养学生良好的程序设计习惯,养成良好的专业素养。

本课程的教学方式采用机房上课演示讲授并辅以学生上机练习,充分利用课堂网络教学环境,与PPT、板书、课后思考题和练习题等相结合,并结合课程设计教学环节,使学生能够掌握C/C++程序设计的基本方法,学会对现实世界中的问题及其解决方法用C++语言进行描述。

三、课程任务、目标与要求1.课程任务《程序设计基础(C/C++)》是学习计算机编程的入门课程,学生不仅要学习C/C++语言的基本知识和程序设计方法,还要上机编程实践,掌握计算机调试程序的基本技能,为后续课程的学习打下良好的编程基础。

2.课程基本要求2.1课程目标《程序设计基础(C/C++)》课程着重对学生编程实践能力的培养。

要求学生重视上机编程实践,广学多练,不断地培养和提高编程兴趣;充分利用现代信息技术及互联网资源,运用发散性思维方式,对相关知识进行扩展,开阔视野,在循序渐进中提高编程能力。

2.2 课程目标与毕业要求之间的对应关系本课程要求学生掌握软件工程和计算机学科有关程序设计的基本理论和基本知识;掌握对现实世界中问题及其解决方法用C++语言进行描述的分析方法和技术;具有运用C/C++语言进行程序设计的基本能力;了解程序设计方法和C/C++语言的理论发展动态和行业需求。

程序设计的的三大基本结构

程序设计的的三大基本结构

程序设计的的三大基本结构
程序设计的三大基本结构是:顺序结构、选择结构和循环结构。

顺序结构是指程序按照预先设定的顺序执行,也就是从上往下逐步执行一系列操作。

选择结构是指程序根据设定的条件决定执行哪些操作。

它包括单向分支结构(即if语句),多向分支结构(即switch语句)等。

循环结构是指程序根据设定的条件,重复执行一系列操作。

它包括while和do-while语句,以及for语句等。

这三种基本结构是编写任何程序的基础,它们可以组合使用,使程序更加复杂和灵活。

程序设计基础教学大纲

程序设计基础教学大纲

程序设计基础教学大纲“程序设计基础”是计算机科学及相关专业的一门专业核心课程,旨在培养学生设计程序、编写程序和调试程序的技能和用计算机处理问题的思维方法。

主要内容有:算法与程序的概念,变量与常量,运算符与表达式,程序的三种控制结构(顺序结构、选择结构、循环结构),函数的定义与调用,变量的数据类型、存储类别及作用域,数组、结构体等构造数据类型,指针和链表,文件等。

课程概述这门课程依托C语言帮你打开编程的大门。

通过本课程的学习,你可以了解程序设计的思想,掌握程序设计语言的语法规则,熟悉程序的调试和测试方法,培养应用程序设计语言解决实际问题的思维方法与编程技能,并初步积累编程经验,养成良好的编程风格和严谨的工作态度;为进一步学习后续课程和将来在不同领域应用计算机技术奠定基础。

课程大纲01初识C语言初步认识一个完成的C语言程序;熟悉开发环境,掌握开发程序的步骤;初步了解程序设计的风格。

课时1.1 初识C语言02C语言的数据类型了解C语言的基本数据理性;理解基本数据类型的定义、存储特性和表示范围;了解字符集,关键字,掌握标识符的定义规则;认识常量与变量;理解C语言划分数据类型的目的;掌握类型转换规则;掌握变量定义的方法。

课时2.1 常量与变量2.2 数据在计算机中的表示和存储2.3 数据类型2.4 变量的赋值和赋值运算符03算数运算和表达式熟练运用算数运算符与表达式;掌握运算的优先级和结合性;明晰自动类型转换的发生;掌握强制类型转换;掌握定义常量的方法;了解宏常量与const常量的区别;课时3.1 算术运算符3.2 增1和减1运算符3.3 宏常量与const常量3.4 自动类型转换3.5 强制类型转换运算符3.6 常用的标准数学函数04键盘输入和屏幕输出了解输入和输出方式;掌握各种输入输出函数;掌握输入输出时的各种控制格式。

课时4.1 单个字符的输入输出4.2 数据的格式化屏幕输出4.3 数据的格式化键盘输入05选择控制结构掌握选择结构的程序设计方法;认识关系、条件、逻辑运算符以及相应表达式;掌握条件语句(if 语句;if else 语句;)及开关语句(switch语句)的使用;课时5.1 算法的描述方法5.2 关系运算符,条件运算符,逻辑运算符5.3 条件语句(if 语句;if else 语句;)5.4 开关语句(switch语句)06循环控制结构掌握循环结构的程序设计方法;掌握循环控制语句的使用(while 语句;do while 语句;for 语句);掌握控制转移语句(goto 语句;break 语句;continue语句);理解自顶向下、逐步求精的结构化程序设计方法;课时6.1 循环结构与循环控制方法6.2 循环语句6.3 嵌套循环6.4 流程转移控制语句07函数掌握函数的定义和使用方法;理解函数原型、掌握函数调用时的参数传递方式;掌握函数的递归调用及其执行过程;理解变量的存储类别和作用域;掌握预处理指令。

《程序设计基础》题库(50道)

《程序设计基础》题库(50道)

《程序设计基础》题库(50道)<说明>1、难易程度依次为:易(16道)、较易(38道)、较难(31道)、难(15道)。

2、总共抽8道题,按难易程度:易(1道)、较易(4道)、较难(2道)、难(1道);按题型:顺序(1道)、分支(2道)、单循环(2道)、多循环(1道)、数组(1道)、字符串(1道) 3、考试要求:先画流程图再写程序,理论考试,2个半小时一、顺序结构1、 请定义4个整型变量,并打印输出这4个变量的加、减、乘、除后的结果。

(易)2、 将华氏温度转化成摄氏温度。

公式为:C=(5/9)*(F-32),其中F 为华氏温度,C 为摄氏温度。

请根据给定的华氏温度输出对应的摄氏温度。

(易)3、 根据观察,蟋蟀的名叫频率与温度有关,具体的公式为T=(c+40)/10.其中,c 代表蟋蟀每分钟鸣叫数,T 代表华氏温度。

请根据蟋蟀每分钟的鸣叫数输出相应的华氏温度。

(易)4、 编写程序,读入0~1000的一个整数并将其各位数字之和赋给一个整数,如整数932,各位数字之和为14. (较易)5、 编程实现两个整数交换位置,例如:int x = 6,y = 9,交换后 x = 9,y = 6。

(较易)6、 求空间两点之间的距离。

(提示:空间一点(x,y,z ),可由三个实数来描述)(较易)7、 已知圆的半径,求圆的面积。

(易)8、 已知一个三角形的三边边长分别为a,b,c ,利用海伦公式求三角形的面积。

(较难)海伦公式:9、 求两数平方和的算术根。

(易) 10、 给定一段时间求出它的秒数。

(如计算2小时 17分30秒等于多少秒)(易)11、 某印刷厂3月1日有A4纸500盒,3月2日又买进进100盒,3月3日用掉A4纸存量的三分之二,3月4日又买进A4纸存量的2倍,问该印刷厂3月1日到3月4日期间每天的A4纸存量分别是多少盒?(易)12、 三个小朋友,大毛有糖果50粒,二毛有糖果43粒,三毛有糖果13粒。

c程序设计谭浩强第五版知识点总结

c程序设计谭浩强第五版知识点总结

《C程序设计谭浩强第五版知识点总结》一、基本概念1. C程序设计概述这本书是谭浩强先生编写的C程序设计教材的第五版,内容全面,通俗易懂,适合初学者入门。

2. 程序设计基本流程本书从程序设计基础知识开始介绍,包括编程思想、程序的基本结构、编译信息过程等,为读者打下扎实的基础。

3. C语言基本数据类型本书详细介绍了C语言的基本数据类型,包括整型、浮点型、字符型等,帮助读者深入理解C语言的数据表示和操作。

二、程序设计基础1. 程序流程控制本书系统地介绍了C语言中的顺序结构、选择结构和循环结构,帮助读者掌握程序的基本控制流程。

2. 函数函数是C语言中重要的概念,本书对函数的定义、声明、调用、参数传递等方面进行了详细讲解,帮助读者理解函数的作用和使用方法。

3. 数组数组是C语言中常用的数据结构,本书介绍了数组的定义、初始化、访问等基本操作,还介绍了多维数组和数组作为函数参数的用法。

三、指针和结构体1. 指针指针是C语言中较为复杂的概念,本书对指针的定义、运算、指针与数组、指针与函数等方面进行了详细讲解,帮助读者理解指针的重要性和使用方法。

2. 结构体结构体是C语言中用于表示复杂数据结构的概念,本书介绍了结构体的定义、访问、嵌套等操作,还介绍了结构体数组和结构体作为函数参数的使用方法。

四、文件操作1. 文件输入输出文件操作是C语言中重要的知识点,本书介绍了如何打开文件、读写文件、关闭文件等基本操作,帮助读者掌握文件处理的基本技能。

2. 随机访问文件随机访问文件是C语言中较为复杂的知识点,本书介绍了如何进行文件的随机读写操作,帮助读者理解文件指针的移动和文件的定位操作。

五、综合应用1. 实例分析本书通过大量的实例分析,帮助读者将所学知识运用到实际问题中,提高解决问题的能力和编程的实际水平。

2. 项目设计本书还介绍了一些小型项目的设计思路和实现方法,帮助读者综合运用所学知识,提高程序设计能力。

总结C程序设计谭浩强第五版作为C语言教材的经典之作,系统地介绍了C语言的基本知识和程序设计的基本流程,涵盖了C语言的各个方面,适合初学者入门和进阶学习。

《程序设计基础(Java)》教案

《程序设计基础(Java)》教案

《程序设计基础(Java)》教案一、教学目标1. 让学生掌握Java编程语言的基本语法和结构。

2. 培养学生编写简单的Java程序,为后续深入学习打下基础。

3. 帮助学生理解面向对象编程的基本概念,如类、对象、封装、继承和多态。

二、教学内容1. Java语言简介:介绍Java语言的发展历程、特点和应用领域。

2. Java基本语法:变量、数据类型、运算符、控制语句、数组和字符串。

3. 面向对象编程:类与对象、封装、继承和多态。

4. 常用Java类库:ng、java.util、java.awt等。

5. 编程实践:编写简单的Java程序,如计算器、排序算法等。

三、教学方法1. 讲授法:讲解Java语言的基本语法和面向对象编程概念。

2. 案例分析法:分析实际编程案例,让学生理解面向对象编程的应用。

3. 实践操作法:让学生动手编写Java程序,提高编程能力。

4. 讨论法:分组讨论编程问题,培养学生的团队协作能力。

四、教学安排1. 第1-2课时:Java语言简介及基本语法。

2. 第3-4课时:面向对象编程。

3. 第5-6课时:常用Java类库。

4. 第7-8课时:编程实践。

5. 第9-10课时:总结与复习。

五、教学评价1. 课堂参与度:评估学生在课堂上的发言和提问情况。

2. 编程作业:评估学生编写的Java程序的正确性和完整性。

3. 小组讨论:评估学生在讨论中的表现和团队协作能力。

4. 期末考试:考察学生对Java编程基础知识的掌握程度。

六、教学资源1. 教材:《Java程序设计基础》2. 课件:教师自制的PPT课件3. 编程环境:Eclipse、IntelliJ IDEA等4. 在线编程平台:LeetCode、牛客网等5. 教学视频:网易云课堂、慕课网等提供的Java编程教程七、教学过程1. 导入:通过介绍Java语言在实际应用中的案例,激发学生的学习兴趣。

2. 讲解:结合课件,讲解Java语言的基本语法和面向对象编程概念。

《JAVA程序设计基础》课程标准

《JAVA程序设计基础》课程标准

《JAVA 程序设计基础》课程标准一、课程概述本门课程是为计算机科学专业的软件工程方向、软件服务外包方向、网络技术方向,以及通信工程专业的通信工程方向、嵌入式系统方向开设的一门专业基础课。

其主要内容有Java 基本语法、Java 基本语句、面向对象程序设计、多线程技术、异常处理机制、Windows 环境编程、Java 网络编程等等,其目标是为大学本科高年级学生提供有关Java 的基础知识以及面向对象的程序设计方法所必需具有的知识和技能;Java 语言的运行环境有许多特性,对图形用户界面(GUIs)、多线程和网络的支持,是当今应用最广的一门网络语言。

本门课程是计算机科学技术与通讯技术类专业的应用学科,本门课程的先修课程是《数据结构》,后续课程有《Java Swing 图形界面设计》、《JAVA 模式设计》。

该课程可以在大学二年级开设。

二、课程目标完成本课程的学习后,学生应该能够:1.了解Java 语言的主要特性,并理解面向对象的编程技术;2.掌握Java 语言的运行环境和Java 的基本语句及编程;3.理解并学会使用异常处理机制和多媒体技术;4.掌握图形用户界面设计和事件处理机制;5.学会开发多线程Java 应用程序和Java applets 小应用程序;6.理解TCP/IP和用户数据报协议(UDP),并掌握Java 网络编程和数据库编程。

三、课程内容与教学要求这门学科的知识与技能要求分为知道、理解、掌握、学会四个层次。

这四个层次的一般涵义表述如下:知道——是指对本门课程的教学内容和教学标准的认知。

理解——是指对本门课程涉及到的概念、原理与技术能明白和解释。

掌握——是指能运用已理解的知识进行编程。

学会——是指能灵活运用相关知识进行实验分析与设计。

教学内容和要求表中的“√”号表示教学知识和技能的教学要求层次。

本标准中打“*”号的内容可作为自学,教师可根据实际情况确定要求或不布置要求。

教学内容及教学要求表四、课程实施JAVA 语言程序设计是计算机科学技术以及通讯技术类选修课;一般情况下,每周安排3 课时,共54 课时,其中讲授 40 课时、实验 14 课时。

《程序设计基础》ppt课件

《程序设计基础》ppt课件
04
数组与字符串应用举例
数组在解决实际问题中的应用 (如排序问题、查找问题等)
字符串在解决实际问题中的应 用(如文本处理、密码学等)
数组与字符串的综合应用(如 数据结构中的栈、队列等)
经典算法的实现(如二分查找 、快速排序等)
05 函数与模块化程序设计
函数定义与调用
01
02
03
函数定义
使用def关键字定义函数 ,指定函数名、参数列表 和函数体。
使用Python、Java等语 言进行开发,利用数据库 存储数据,采用GUI或 Web界面与用户交互。
案例分析
通过具体案例讲解系统设 计的整个过程,包括需求 分析、系统设计、编码实 现、测试维护等。
案例二:图书管理系统设计
系统功能
图书的借阅、归还、查询以及管理员对图书的增删改查等功能。
设计思路
采用分层架构设计,分为数据访问层、业务逻辑层和表示层,实现模 块化开发。
模块化优点
提高代码可重用性、可维护性和可扩展性。
模块间通信
通过函数调用和参数传递实现模块间通信和 数据共享。
06 文件操作
文件打开与关闭
打开文件
使用系统提供的文件操作函数或类库 ,指定文件路径和打开模式(如只读 、只写、读写等),建立与文件的连 接。
关闭文件
在完成对文件的操作后,需要调用关 闭文件的函数或方法,以释放系统资 源并确保数据被正确写入文件。
能够运用所学知识解决实 际问题的能力
程序设计概述
程序设计的定义和重要性
程序设计中的核心概念和 术语
程序设计的基本步骤和流 程
程序设计的发展趋势和未 来展望
程序设计语言简介
程序设计语言的分类和特点

《程序设计基础》课程标准

《程序设计基础》课程标准

《程序设计基础》课程标准课程编号:030501ZB适用专业:计算机、电子、电气课程类型:专业基础课课程性质:必修课课程学时:60 课程学分:4一、课程定位本课程是计算机、嵌入式、电子以及电气专业的一门专业基础课程,也是其它相关专业研究计算机控制以及嵌入式、物联网技术等的一门基础和工具课程。

本课程的主要任务是使学生掌握模块化、结构化编程的基本思想,学会使用C语言编制简单的应用程序,解决一般性应用问题,并有一定的上机操作及调试程序能力。

本课程的先导课程为计算机信息基础,后续课程为android、软件工程、单片机、嵌入式开发技术。

通过掌握C语言的各种语法、数组、函数、位运算等知识,为后续课程奠定语言基础。

二、课程目标1. 能力目标(1)能用C语言进行结构化的程序设计;(2)能用C语言解决一维数据的存储;(3)能用C语言解决库函数及自定义函数的调用;(4)能用C语言解决二进制数据的位运算。

2. 知识目标(1)理解模块化、结构化程序设计思想;(2)掌握C语言的数据类型、语句格式、程序设计结构等基本内容;(3)掌握C语言的数组、函数、位运算等基本内容;(4)熟悉C语言的环境和常规调试方法。

3.素质目标(1)初步具备复用性设计、模块化思维能力;(2)具有热爱科学,团队意识、创新意识和创新精神;(3)具有规范化的代码编写和文档书写习惯;(4)加强职业道德意识;三、课程内容与学时分配四、教学设计1.整体教学设计以结构化程序设计为框架,首先,以顺序结构、选择结构、循环结构为核心,突出程序设计的基本理念及技能,其次,采用项目牵引的方法,让学生理解和学习数组、函数和位运算等知识,最终的目的是使学生能应用C语言程序解决实际问题。

教学过程中,通过分组讨论、知识问答、单元测试等教学活动,课外,通过第二课堂、兴趣小组、技能培训等多种途径,并且充分开发学习资源,包括PPT、动画、在线课程等,给学生提供丰富的学习机会。

教学方法主要采用知识讲授法、引导启发法、案例教学等方法,每章配有实验课,让学生消化吸收理论知识,进一步提高编程水平。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《程序设计基础》
24
主要内容
1 2
结构类型
typedef的用法
结构的嵌套
3
4 5
结构的位域
应用示例
25
《程序设计基础》
3、结构的嵌套
例 struct student { int num; char name[20]; char sex; struct{ float math,eng,Chinese; } score; char addr[30]; }stu1;
《程序设计基础》
11
1.2、结构类型变量的定义
形式二:定义结构类型的同时定义结构变量 struct 结构类型名 { 类型 成员名; 类型 成员名; ……………. }变量名表列; struct student { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu1,stu2;
stu1.sex=‘M’; stu1.age=19; stu1.score=85.5; stu2.score+=10; stu2.age++;
《程序设计基础》
16
1.4、结构类型变量的初始化
形式一
struct 结构类型名 { 类型 成员名; ……………. }; struct 结构类型名 结构类型变量={初始数据}; 例 struct student { int num; char name[20]; char sex; int age; char addr[30]; }; struct student stu1={1021,“Wang Lin”,‘M’,19, “200 Beijing Road”}; 《程序设计基础》 17
《程序设计基础》
12
1.2、结构类型变量的定义
形式三:直接定义结构类型变量 struct { 类型 成员名; 类型 成员名; ……………. }变量名表列;
用无名结构体直接定义 变量只能一次
struct { int num; char name[20]; char sex; int age; float score; char addr[30]; }stu1,stu2;
《程序设计基础》
1201 1202 1203 1204 1205 …… 1250
87 87 学生成绩单
7
问题:如何描述“表格型”数据
缺点
与程序其他数组、变量混杂在一起,很难区分究竟哪些数 据是用来描述同一个学生的基本情况的。 改进 将描述同一独立事物的,相同或不同类型的相关数据“封 装”在一起,组成结构类型(structure)。 优点 提高程序的易读性; 准确的反映数据之间关系。
结构的嵌套
3
4 5
结构的位域
应用示例
22
《程序设计基础》
2、typedef的用法
功能:用自定义名字为已有数据类型或类型定义式命名 类型定义简单形式: typedef type name;
例 INTEGER a,b,c; 例 类型定义语句关键字 typedef 已有类型或类型定义式 int INTEGER; 用户定义的类型名 REAL f1,f2; 例 typedef float REAL; int a,b,c; 类型定义后 ,与已有类型一样使用 float f1,f2; 说明: 1.typedef 没有创造新数据类型 2.typedef 是定义类型名,不能定义变量
《程序设计基础》
14
1.3、结构类型变量的引用
结构类型变量的成员也可称为域。
结构类型的变量不能整体引用,通常按成员引用。
引用格式为:
结构变量名.成员名
成员运算符,表示成员的所属关 系 huang.number //学生huang的学号
class[i].name //第i个学生的姓名
成员变量能参与同类型变量所有运算!
有以下程序: void main() { int x[3][2]={0}, i; for(i=0;i<3;i++) scanf("%d",x[i]); printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]); } 若运行时输入:2 4 6<回车>,则输出结果为( A) 2 0 4 B) 2 0 0 C) 2 4 0 D) 2 4 6
《程序设计基础》
19
1.4
结构类型变量的初始化
(1) 初始化时,要按定义时域的次序,依次给 出初值;
(2) 各域的初值用逗号隔开,并且用一对花括 号,将全部初值括起来形成一个整体 ; (3)后段缺少初值的域,其初值被自动定为 0或 '\0'。
《程序设计基础》
21
主要内容
1 2
结构类型
typedef的用法
学生成绩单
《程序设计基础》
5
问题:如何描述“表格型”数据
用现有知识,每个数据项单独定义: #define N 80 //定义全班人数 char name[N][20], sex[N], up[N]; //姓名、性别、/升/留级 int chinese[N], math[N], eng[N]; //三门功课成绩 long number[N]; //学号 float ave[N]; //平均成绩
姓 名 学 号 性别 M M M F F …… M 数学 88 67 78 98 18 …… 外语 85 76 89 92 45 …… 语文 94 68 90 95 52 …… 80 平均 升 /留级
丁一松 马小宁 陈明华 李 江 王小珊 …… 胡月明
《程序设计基础》
1201 1202 1203 1204 1205 …… 1250
《程序设计基础》
18
1.4、结构类型变量的初始化
形式三
struct { 类型标识符 成员名; ……………. }结构类型变量={初始数据};
例 struct { int num; char name[20]; char sex; int age; char addr[30]; }stu1={1021,“Wang Lin”,‘M’,19, “200 Beijing Road”};
《程序设计基础》
10
1.2、结构类型变量的定义
形式一:先定义结构类型,再定义结构类型变量 struct student struct 结构类型名 { { struct Complex //复数 char name[20]; 类型 成员名; { float real; int num; 类型 成员名; float imag; ……………. char sex; }; float Math,Eng,Chinese; }; struct 结构类型名 变量名表列; struct p1,p2; floatComplex avg; char up; }; struct student stu1,stu2;
0
1 2 3 … 79
L
W R M
i
a o a
s
n s r
i
g e y
\0
w \0 \0
printf("%s“,name[1]);
《程序设计基础》
4
问题:如何描述“表格型”数据
每一栏用一种变量表示
姓 名 丁一松 马小宁 陈明华 李 江 王小珊 …… 胡月明 学 号 1201 1202 1203 1204 1205 …… 1250 性别 M M M F F …… M 数学 88 67 78 98 18 …… 87 外语 85 76 89 92 45 …… 87 语文 94 68 90 95 52 …… 80 平均 升/留级
程序运行后的输出结果是( A) 3 B) 4 C) 1
《程序设计基础》
)。
D) 9
2


以下数组定义中错误的是( )。 A) int x[2][3]={1,2,3,4,5,6}; B) int x[2][3]={0}; C) int x[][3]={{1,2,3},{4,5,6}}; D) int x[2][3]={{1,2},{3,4},{5,6}};
《程序设计基础》
23
2、typedef的用法
用typedef定义结构类型名一般方式为:
typedef struct
{ 成员表 }结构类型名;
typedef struct typedef struct { char number[12]; { char name[20]; int real , imag ; int Chinese, math, eng; }Complex; //定义结构类型 复数 float ave; Complex a1,b1; //定义复数类型变量 char up; } STUDENT;//定义结构类型student STUDENT huang,zhao,grp[50]; //定义student类型变量和数组
13
《程序设计基础》
1.2、结构类型变量的定义
描述学生学习情况的结构类型变量定义
struct student
{ char name[20], up,sex;
int chinese, math, eng;
long number;
float ave; } huang, zhao, class [50]; 定义结构类型的同时,定义结构变量和结构数组
变量stu1的引用英语成绩课表示成:stu1.score.eng 注意,嵌套可使数据归属渠道清楚,但过多层嵌套会增加域 名长度,使程序变得“臃肿”。
《程序设计基础》
26
主要内容
1 2
结构类型
typedef的用法
结构的嵌套
3
4 5
结构的位域
相关文档
最新文档