C语言程序设计讲座
C语言程序设计讲座
C语言程序设计讲座
南湘
1994-01-28
该课程是关于程序设计的一门重要课程,通过对该课程的学习,学生应能掌握C语言的语法结构,一般C程序的编写、调试和上机运行,并能解决一定的实际问题。
C语言程序设计包括两个方面的内容:C语言的主要语法规则和C语言的程序设计,程序设计贯穿始终,不要求学生死记硬背语法规定,而应当通过多看程序,多编程序,多上机调试程序来熟悉C语言语法规则的使用。
要特别注意算法的设计,即学会分析问题,整理出思路,画出流程图,要求掌握结构化程序设计方法,养成程序设计的良好习惯和风格。程序设计应当是深思熟虑的结果,而不是信手拈来的产物。
这里的辅导以谭浩强编写的《C语言程序设计》(清华大学出版社出版)为教材。学习本课程最好具有一定的英语基础,以便对C语言的各种提示有一个较全面的认识。
在教材的第一章,是C语言概述,对C语言出现的历史背景及C语言的特点作了介绍,在此可认识一下C语言的程序结构。
本章没有什么难点,对于C语言的特点,在学好C语言之后就会自然明白。
第二章 数据类型 运算符与表达式
要求知道C语言有一些什么数据类型,并对基本的数据类型有一个较全面的了解,常量与变量有什么区别,变量名取法有什么规则。怎样定义变量的类型,几种基本数据类型的表现形式及在内存中存储形式有什么不同,不同数值型数据怎样进行混合运算。
对于运算符,要求能知道C语言有哪几类运算符,每一种运算符怎样表示,表示形式是否和数学上的表现形式一致,表达式为本章的重点部分,要求能知道表达式有哪几种,掌握每一种表达式的正确书写以及表达式怎样求值。
难点是表达式的求值问题和表达式的正确书写。但是在本章中只要求能掌握算术表达式,赋值表达式和逗号表达式的正确书写和求值即可。
下面对难点和重点作一些必要说明:
例如:将下列式子写成C语言的表达式
ab+cd
(1) ____
efgh
________
(2) y=(-b+∨b×b-4ac)/2a
其中a,b,c,d,e,f,g,h,都为变量
(1)为:(a*b+c*d)/(e*f*g*h)
式中两个括号不能省去,若省去,将会得到其它式子。
去掉分子的括号:a*b+c*d/(e*f*g*h)这时含义为:
d
ab+c×__
efgh
去掉分母的括号:(a*b+c*d)/e*f*g*h这时含义为:
ab+cd
___×fgh
e
两个括号都去掉:a*b+c*d/e*f*g*h这时含义为:
d
ab+c×__×fgh
e
因此,要想写出正确的C语言表达式,首先必须要求表达式的含义与原含义相同,其次再考虑语句正确与否。
(2)为:y=(-b+SQRT(b*b-4*a*c))/(2*a)
在此表达式中,要求注意括号的匹配关系,与数学上不一样的是C语句中无中括号、小括号之分,一律用小括号代替。
表达式求值举例如下:
例:设a=1,b=4,c=2,d=3求a+b/c*d-c*a之值,即求表达式:a+b/c*d-c*a之值,规则为:先算高一级运算,同一级运算从左到右进行,上式值为5,但必须注意C语言中(后面将介绍)有的运算是从右到左的,与数学上不一致。
另外,要想学好C语言,最好对数据在计算机内存的存放形式有一个全面的了解。并了解十进制数与二进制数怎样互相转化。
第三章 最简单的C语言程序设计
首先必须搞清楚什么是C语句,C语言中语句可以分几类,C语言中的语句与?其它高级语言有什么不同,搞清楚结构化程序设计的三种基本结构,并知道结?构化程序设计三种框图或流程图的画法,并能知道简单的库函数怎样调用,一些基本语句用法和各种类型数据的输入输出格式符和表示形式及其用法。本章?重点及难点是如何控制各种类型的数据的输入输出格式及函数怎样调用和流程?图的画法。
现对本章的重点及难点作简要的说明:
结构化程序设计的种流程图为:
顺序流