教学大纲
实验教学大纲
高级语言程序设计(双语)
首页
| 负责人 | 课程介绍 | 教学大纲 | 教案 | 课件 | 考试大纲 | 实训内容


课程编号:2111011

高级语言程序设计(双语)

THE C ROGRAMMING LANGUAGE

课程性质:Professional Basic Course

适用专业:Electronic and Information Engineering

 

先行、后续课程情况:先行课:  计算机引论与实践 ;后续课: 面向对象程序设计、单片机原理、接口技术、电子设计与实践   

学分数:4

主讲教师:zhoubing

一、课程的目的与任务

An introduction to the "C" language and to the use of structured programming techniques. Emphasis is on the solution of complex computational problems by their analysis into smaller, sub-problems that can be solved independently and then combined to form a complete solution. Other topics relevant to OS will be introduced. There is no assumption of any previous study or use of computers.

二、课程的基本要求

80% on C Programming

Introduction

Basic arithmetic

Control

Function

Array

Pointer

Character, String

File

Data Structure (optional)

20% on Basic Computer Concept

 

三、课程教学内容:

第一章:Getting started

1.该章的基本要求与基本知识点:

Introduction to Programming

Algorithms

From Algorithms to Programs

Program Translation

Introduction to Modularity

Functions

The main() Function

The printf() Function

Programming Style

Comments

Top-Down Program Development

Modularity and Top-Down Design

CommonProgramming Errors

2.要求学生掌握的基本概念、理论、原理

Course setup

Basics of programming

Introduction to C

Variables

Identifiers

3.教学重点与难点

重点:Introduction to ProgrammingModularity and Top-Down Design

难点:VariablesIdentifiers

4.实验:The C compiler environment and run C program

5.习题课安排:two hours

第二章:Data Type,Declarations,and Displays

1.该章的基本要求与基本知识点:

Data Types

Integer Values

Floating Point and Double Precision Numbers

Exponential Notation

Character Type

Escape Sequences

Arithmetic Operators

Interger Division

A Unary Operator(Negation)

Operator Precedence and Associativity

Displaying Numerical Results

Formatted Output

Format Modifiers

Other Number Bases

Variables and Declarations

Declaration Statements

Declaration Statements as Definition Statements

Integer Qualifiers

Determining Storage Size

Commom Programming Errors

Bits,Bytes,Addresses,and Number Codes

Words and Addresses

Two’s Complement Numbers

2.要求学生掌握的基本概念、理论、原理

Review of Identifiers and Variables

Basic Data Types

Expressions

Operators

Modularity

Introduction to Functions

3.教学重点与难点

重点:Data TypesArithmetic OperatorsVariables and Declarations

难点:Bits,Bytes,Addresses,and Number Codes

4.实验:Data typeArithmetic Operators and Expression

5.习题课安排:two hours

 

第三章:Assignments,Addresses,and Interactive Input

1.该章的基本要求与基本知识点:

Assignment

Assignment Operators

Counting

Addresses

Storing Addresses

Using Addresses

Declaring Pointers

The scanf() Function

scanf() With Buffered Input

Symbolic Constants

Common Programming Errors

Chapter Supplement:Introduction To Abstraction

Built_in and Abstract Data Types

Procedural Abstraction

2.要求学生掌握的基本概念、理论、原理

Introduction to Functions, “main”

printf

Assignments

Symbolic Constants, #define

Memory

Addresses

Function declaration, call

scanf

3.教学重点与难点

重点:Assignment OperatorsAddressesUsing Addresses

难点:Memory Addresses

4.实验:Write simple program

5.习题课安排:two hours

第四章:Selection

1.该章的基本要求与基本知识点:

Relational Expressions

Logical Operators

A Numerical Accuracy Problem

The if-else Statement

Compound statements

One-Way Section

Problems Associated With the if-else Statement

Nested if Statements

The if-else Chain

The switch Statement

Common Programming Errors

Chapter Supplement:Errors,Testing,and Debugging

Compile-Time and Run-Time Errors

Syntax and Logic Errors

Testing and Debugging

2.要求学生掌握的基本概念、理论、原理

scanf review, examples

relational (==, !=, <, <=, >, >=) and logical (&&, ||) expressions review

if, if-else

compound statement

nested if (if-else if-else if …)

switch

3.教学重点与难点

重点:Relational Expressions Logical OperatorsThe if-else StatementThe switch Statement

难点:Nested if Statements

4.实验:Logic operation and selection

5.习题课安排:two hours

 

第五章:Repetition

1.该章的基本要求与基本知识点:

The while Statement

  Scant() Within a while Loop

  Sentinels

  Break and continue Statements

  The Null Statement

The for Statement

  Scanf() within a for Loop

  Neste Loops

  The do Statement

  Validity Checks

  Common Programming Errors

  Chapter Supplement:Character-Oriented Graphics

  Charact-at-a-time Display

2.要求学生掌握的基本概念、理论、原理

flowchart notation and if

flowchart notation and loops

while loops

do-while loops

for loops

3.教学重点与难点

重点:The while StatementThe for StatementBreak and continue Statements

难点:Neste Loops

4.实验:repeation

5.习题课安排:two hours

第六章:Writing Your Own Functions

1.该章的基本要求与基本知识点:

Function Definitions and Declarations

  Defining a Function

  Function Prototypes

  Calling a Function

  Placement lf Statements

  Function Stubs

  Functions With Empty Parameter Lists

  Standard Library functions

  Input/Output Library Functions

  Mathematical Library Functions

  Casts

  String Library Functions

Miscellaneous Routines

Variable Scope

Misuse of Global Variables

  Variable Storage Classes

  Local Variable Storage Classes

 Global Variable Storage Classes

  Passing Addresses

  Passing,Storing,and Using Addresses

  Common Programming Errors

  Chapter Supplement:Generating Random Numbers

  Scaling

2.要求学生掌握的基本概念、理论、原理

scope of variables

temporary variables

compound statements (blocks) and variables

functions

arguments, "pass by value"

extracting a block into a function

Local and global variables

Storage classes: automatic, static, external, register.

3.教学重点与难点

重点:Function Definitions and DeclarationsVariable ScopeString Library Functions

难点:Global Variable

4.实验:repeation

5.习题课安排:two hours

第七章:Arrays

1.该章的基本要求与基本知识点:

Single-Dimensional Arrays

  Input and Output of Array Values

  Array Initialization

  Passing Arrays

  Two-Dimensional Arrays

  Larger Dimensional Arrays

  Common Programming Errors

  Chapter Supplement:Searching and Sorting Methods

  Search Algorithms

  Linear Search

  Return the index value

  Binary Search

  Big O Notation

  Sort Algorithms

  The Selection Sort

An Exchange(“Bubble”)Sort

2.要求学生掌握的基本概念、理论、原理

Review: Function calls

Pass-by-value

Arrays

Multi-dim array initialization

Bug, defect

Debugging

Array example

Array example with function call

3.教学重点与难点

重点:Single-Dimensional ArraysTwo-Dimensional ArraysAlgorithms

难点:Search AlgorithmsLinear SearchSort Algorithms

4.实验:Function

5.习题课安排:two hours

第八章:Arrays,Addresses,and Pointers

1.该章的基本要求与基本知识点:

Array Names as Pointers

  Pointer Arithmetic

  Pointer Initialization

  Passing and Using Array Addresses

  Advanced Pointer Notation

Common Programming Errors

2.要求学生掌握的基本概念、理论、原理

Bug, defect

Debugging

Array example

Array example with function call

3.教学重点与难点

重点:Array Names as Pointers

难点:Passing and Using Array Addresses

4.实验:

5.习题课安排:two hours

第九章:Character Strings

1.该章的基本要求与基本知识点:

String Fundamentals

  String Input and Output

  String Processing

  Character-by-Character input

  Pointers and Library Functions

  Library Functions

  String Definitions and Pointer Arrays

  Pointer Arrays

  Formatting Strings

  In-Memory String Conversions

  Format Strings

Common Programming Errors

2.要求学生掌握的基本概念、理论、原理

strings

 string.h & ctype.h

library routines

structures

files

typedef

structures

code examples

3.教学重点与难点

重点:String Input and Output String ProcessingLibrary Functions

难点:In-Memory String Conversions

4.实验:Student achievement query System

5.习题课安排:two hours

四、课程学时分配:

课程学时分配

  

课堂讲授

习题课

 

 

课外学时

第一章

4h

2h

2h

8h

 

第二章

6h

2h

2h

10h

 

第三章

4h

2h

2h

8h

 

第四章

4h

2h

2h

8h

 

第五章

6h

2h

2h

10h

 

第六章

4h

2h

2h

8h

 

第七章

6h

2h

2h

10h

 

第八章

4h

2h

0h

6h

 

第九章

4h

2h

6h

12h

 

合计

42h

18h

30h

82h

 

五、课程成绩考核

Attendance 10% lab 20% Final 70%

 

六、选用教材及参考资料

Teaching materials:

Gray J.Bronson.The first book of ansi c( Third Edition). Publishing House of Electronics Industry 2004

References: Brian W. Kernighan & Dennis M. Rirchi.The C Program Language.Publishing House of qinhua university 1999

七、教学大纲编制说明

 

(打印说明:均采用A4纸打印,大标题用四号黑体;二级标题用小四黑体,正文用五号宋体。