




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 郑州大学现代远程教育C语言程序设计课程学习指导书柳宏川 编第1章 绪论(一)本章学习目标 掌握结构化程序设计的思想,结构化流程图描述,算法设计基础和良好程序设计风格。(二)本章重点、要点C语言特点,算法概念及NS图形描述,结构化程序设计思想,三种基本结构:顺序结构、选择结构和循环结构,使用良好的程序设计风格。(三)练习题1_1.什么是低级语言?1_2.什么是高级语言?1_3.面向过程语言的特点是什么?1_4.什么是算法?1_5.算法有什么特点?1_6.结构化算法的基本结构有哪些?1_7.结构化程序设计的标准有哪些?第2章 C语言程序的开发过程(一)本章学习目标熟悉C程序开发环境,熟练掌握调试
2、工具的使用,掌握C语言程序结构与语法规则。(二)本章重点、要点C程序开发环境工具的使用,C语言程序结构与语法规则。(三)Turbo C 的操作指南开发一个C语言程序一般包括3个主要步骤:编辑,编译和连接。掌握调试C语言程序的全过程。n 编辑:根据求解算法,开发人员使用文本编辑器编辑代码,生成源程序代码,扩展名为.C。n 编译:编译时,编译器首先检查源程序中每条语句的词法和语法。当发现错误时,在屏幕上显示错误的位置、错误类型等相关信息。根据错误信息,重新使用编辑器进行查错并修改,然后重新编译直到所有的词法和语法错误都被排除。正确编译后产生二进制目标文件,扩展名为.OBJ。n 连接:编译后产生的目
3、标文件是可重定位的程序模块,但不能直接运行。连接是将目标程序、库函数和其它目标程序连接到一起,生成可执行的程序。扩展名为.EXE。n 运行:源代码经过编译、连接,生成可执行程序后,就可以进行程序的运行了。n 编译过程发现的错误可分为两类。1) 一类是局部语法错误。例如,缺失了分号、逗号,或者引用了错误的数据对象。2) 另一类是程序内部上下文关系方面的错误。例如,需要使用的数据对象没有定义。n 连接时,也可能产生错误。例如,连接文件找不到等,具体不再叙述。n 源代码经过编译、连接,生成可执行程序后,还需要进行测试。测试的目的是发现程序的错误。一般通过输入一些实际数据来验证程序执行结果的正确性。如
4、果程序执行中出现问题,或发现程序的输出结果不正确,需要设法找到出错的原因,并修改源程序,重新进行编译、连接,再测试和调试,不断反复,直到程序正确无误。第3章 基本数据类型(一)本章学习目标熟练掌握标识符的概念,基本数据(整型、实型、字符型等),常量,转义符,变量,变量的赋值。(二)本章重点、要点标识符的组成规则,基本数据类型及对应的名称(整型、实型、字符型等),常量,转义符,变量,变量名,变量的赋值等。(三)练习题3_1基本整型数据的输出。3_2实型数据的输出。3_3字符型数据的输出。 3_4C语言标识符的命名规则如何?3_5C语言的基本数据类型有哪些?3_6什么是常量?3_7什么是变量?3_
5、8转义字符有什么作用?举例说明。3_9字符串常量与字符常量的表示有什么不同?第4章 算术运算符与算术表达式(一)本章学习目标掌握算术运算符,优先级,结合方向,表达式等基本概念,熟练使用C的算术表达式描述问题。(二)本章重点、要点算术运算符,优先级,结合方向,表达式,用算术表达式正确描述问题。(三)练习题4_1输出整数num的个位数、十位数和百位数。 4_2设y=|x|1/2。当x的值为5.678时,计算y的值。4_3编写程序,输入圆的半径,求该圆的面积与周长(保留三位小数)。4_4输入两个整数,求二者的平方和及平方差。4_5输入一个大写英文字母,求其后继(后面相邻)字母。规定:“Z”的后继是“
6、A”。第5章 C语言程序的输出与输入(一)本章学习目标掌握C语言语句、学会函数调用,使用格式化输出函数printf和格式化输入函数scanf准确完成输入和输出操作,掌握ASCII码和转义符的概念并正确运用。(二)本章重点、要点C语言语句,函数调用,格式化输出函数printf()、转义符,ASCII码,格式化输入函数scanf(),putchar()函数,getchar()函数等内容。(三)练习题5_1编写程序求多项式 ax3+bx2+c的值( 键盘输入a=2, b=3, c=4, x=1.414)。5_2已知华氏温度,根据公式:C = 5/9(F-32),求摄氏温度C(结果保留两位小数)。5_
7、3使用宏定义定义符号常量 PI,其值为3.14159,并使用符号常量,求圆半径r=2.456时的圆周长、圆面积。5_4用getchar()分别输入A,B,C,并赋值给a,b,c, 然后将其转换成对应的小写字母,用putchar()将其输出。5_5若a=3,b=4,c=5,编写程序,要求用一个scanf()函数完成输入,按以下要求的格式输出:x1=a+b+c= 3+ 4+ 5= 12x2=a-b-c= 3- 4- 5= -6第6章 流程控制选择控制结构(一)本章学习目标掌握关系运算符,逻辑运算符,赋值运算符的运算规则,正确理解并熟练掌握运算符的优先级和结合方向,进一步理解C语言的表达式。熟练掌握
8、if语句,switch语句continue语句和break语句的语法结构,正确使用语句实现应用要求,掌握C代码嵌套结构。(二)本章重点、要点关系运算符,逻辑运算符,赋值运算符、优先级、结合方向,表达式。if语句,switch语句continue语句和break语句,结构的嵌套。(三)练习题6_1使用if语句,求解两个数中的最大值。 6_2使用switch语句,求解简单算术表达式的值。6_3使用嵌套的if语句,判断一个整数能否被3或5整除。 6_4使用嵌套的switch语句,判断一个整数能否被3或5整除。 6_5输入一个字符,若输入的为大写英文字母,则输出其对应的小写英文字母;若输入的为小写英文
9、字母,则输出其对应的大写英文字母;若输入的非英文字母,则原样输出。6_6编写程序,输入一个年份,判断其是否为闰年。 第7章 流程控制循环控制结构(一)本章学习目标熟练掌握三种循环控制语句:while语句,dowhile语句,for语句的语法并正确运用,能正确进行循环的嵌套,掌握continue语句,break语句,goto语句的使用方法。准确掌握循环初始条件、循环终止条件、循环体和循环变量的概念。(二)本章重点、要点循环控制语句:while语句,dowhile语句,for语句,循环初始条件、循环终止条件、循环体和循环变量,循环的嵌套,辅助控制语句,continue语句,break语句,goto
10、语句。(三)练习题7_1用while语句,求连加式1 + 2 + . + n( n > 2)的值。7_2用dowhile语句,求连加式1 + 2 + .+ n( n > 2)的值。7_3求解奇数的连加式1 + 3 + 5 + . + n ( n > 10 )的值。7_4将如图所示的三角形图案显示到屏幕上。 7_5判断一个整数是否为素数。第8章 函数(一)(一)本章学习目标熟知函数的结构,正确进行函数定义,掌握函数头部,函数体,函数的返回值等概念,理解函数的功能,理解函数参数的意义,掌握有参函数的调用和无参函数的调用,掌握运用函数调用的方式,掌握函数的声明方法,理解函数的原型的
11、概念。(二)本章重点、要点函数的定义,函数头部,函数体,函数的值,返回语句,函数的功能,函数的调用,有参函数的调用,无参函数的调用,函数调用的方式,函数的声明与函数的原型。(三)练习题8_1编写程序,通过调用函数imin,求两个表达式的最小值。 8_2编写程序,通过调用PtrStar函数,输出4行“”号,每行10个。 8_3编写程序,输入一个年份,通过调用函数判断其是否为闰年。8_4编写程序,输入两个数,输出其中绝对值最大的数。要求:求绝对值和求最大值分别使用函数完成,在求最大值的函数中调用求绝对值的函数。8_5编写函数,完成显示下列所示的三角形图案, 行数由函数参数决定。8_6编写程序,通过
12、调用【实例8_5】中的函数,输出三个三角形的图案。第9章 数组(一)本章学习目标张确使用一维数组和二维数组去解决问题。学会使用数组作为函数参数、数组元素作为函数的参数和数组名作为函数参数的方法。(二)本章重点、要点一维数组,一维数组的定义,一维数组元素的引用,一维数组在内存中的存储,一维字符数组的说明。二维数组,维数组的定义,二维数组元素的引用,二维数组在内存中的存储。数组作为函数参数,数组元素作为函数的参数,数组名作为函数参数。(三)练习题9_1用随机函数产生15个100以内的随机整数存入一维数组,然后分三行输出,每行5个数9_2将一个一维数组a9中各元素值按行的顺序放入二维数组b33中。9
13、_3将一个二维数组b55中各元素值列优先的顺序放入一维数组a25中。9_4有一个m×n矩阵,各元素值由随机数产生,求其转置矩阵并输出。9_5有一个m×n矩阵,找出最大元素值及其最大元素值所在的行、列位置。9_6将矩阵M(n,n)对角线上的元素置为1,其余元素置为0。第10章 结构体与共用体(一)本章学习目标掌握并正确使用结构体类型、结构体与数组,共用体,共用体类型。(二)本章重点、要点结构体类型的定义,结构体变量的定义,结构体变量的引用,结构体成员变量的引用,结构体变量的初始化。结构体与数组,共用体,共用体类型和共用体变量的定义,共用体变量的引用。(三)练习题10_1设有学
14、生信息如下:学号(长整型)、姓名(字符串型)、年龄(整型)、课程1成绩(实型)、课程2成绩(实型)、课程3成绩(实型)、课程4成绩(实型)、课程5成绩(实型)、课程6成绩(实型)、课程7成绩(实型)、总分(实型)、平均分(实型)。试编写程序,输入3个学生的上述信息,计算每个学生的总分、平均分,然后输出每个学生学号、姓名、总分、平均分。10_2设有学生信息如下:学号(长整型)、姓名(字符串型)、出生年月(其中含有年份、月份、日,均为整型)。试编写程序,输入5个学生的上述信息,输出所有学生的学号、姓名和年龄。第11章 指针(一)(一)本章学习目标变量的指针与指针变量,指针变量的定义与引用,指针变量
15、的引用。(二)本章重点、要点变量的指针与指针变量,指针变量的定义与引用,指针变量的引用。(三)练习题11_1编写函数用指针变量按从小到大的顺序输出三个整数。11_2输入n(不大于20)个单精度数存入一维数组,编写函数用指针变量处理数组元素的方式将其逆序存放后输出。n从键盘输入。11_3利用指针编写函数用选择法对整数数组排序(降序)。11_4利用指针编写程序,从键盘上输入一串字符(以回车键为结束),将其以字符串形式存入一维字符数组,然后再输出该字符型数组中的字符串。11_5利用指针编写一个函数计算一个字符串的长度。第12章 文件(一)本章学习目标掌握文件的概念并正确使用文件,掌握文件的打开与关闭
16、方式,使用函数对文件进行读写操作。(二)本章重点、要点文件,文件名, 普通文件和设备文件,ASCII文件和二进制文件,流文件,文件指针,文件的打开与关闭,文件打开函数,文件关闭函数。文件的读/写操作,字符读/写函数,字符串读/写函数。文件的数据块读/写函数,格式化读/写函数,文件检测函数,文件的随机读写。(三)练习题12_1利用文本编辑软件在磁盘上建立一个有n个学生的学号、姓名及英语、数学和计算机三门课程成绩的数据文件。编写程序将建立的数据文件读出且求出每个学生的平均成绩。12_2用定义结构类型的方法,编写程序建立一个具有学生学号、姓名、总分和联系电话的记录文件。12_3编写程序,利用第12_
17、2建立的记录文件,从键盘上输入一个学号,查寻该位同学信息。12_4编写程序,将第12_3题建立的文件复制到另一个文件。第13章 运算符与表达式(一)本章学习目标深入理解运算符和表达式,掌握位运算方法。(二)本章重点、要点运算符与表达式,赋值运算符,复合赋值运算符,赋值表达式,赋值运算符的优先级和结合方向。逗号运算符与逗号表达式,逗号表达式的求解顺序,逗号运算符的优先级,逗号运算符的扩展形式。条件运算符与条件表达式,条件运算符的求解顺序,条件运算符的优先级,条件运算符的结合方向,条件表达式的其它形式。自增自减运算符,前置运算,后置运算,自增自减运算符的优先级与结合方向,位运算,位运算符,位运算的
18、功能,与位运算有关的复合赋值运算符,不同长度的数据的位运算,表达式的求解。(三)练习题13_1利用条件运算符实现大小写字母的转换。13_2使用for循环求1至100的和。要求将所有的命令放入一个for循环结构。13_3将下列符号函数使用一个条件表达式完成。13_4若int a=0,b=1,c=2,判断下列表达式执行后a,b,c及表达式的值(1) 逻辑表达式 a+&&b+&&c+(2) 逻辑表达式 +a&&b+&&c+(3) 逻辑表达式 +a&&-b&&c+(4) 逻辑表达式 a+|b+|c+(5)
19、逻辑表达式 +a|b+|c+(6) 逻辑表达式 a+|-b|c+(7) 逻辑表达式 a+|b+&&(c-=2)(8) 逻辑表达式 a+&&b+|(c-=2)(9) 逻辑表达式 +a&&b+|(c-=2)13_5若a=1,b=2,c=3,d=4,m=1,n=3,则逻辑表达式 (m=a>b)&&(n=c>d)13_6解释x != 0.0 && y/x > 1.0的功能。第14章 变量的存储(一)本章学习目标掌握变量的存储概念,理解变量的类别和作用域。(二)本章重点、要点变量的存储单元,整型变量在内存中
20、的存储,字符型变量在内存中的存储,实型变量在内存中的存储。变量的作用域,内部变量,外部变量,变量的生存期,auto变量,全局变量,static变量,register变量。(三)练习题14_1在C语言中,变量的存储类别有哪4种?14_2什么是外部变量?其特点有哪些?14_3寄存器变量有什么特点?14_4什么是变量的作用域?14_5什么是变量的生存期?第15章 指针(二)(一)本章学习目标深入理解指针,掌握高层次指针应用,掌握链表的使用。(二)本章重点、要点指针与数组,一维数组与一维数组指针,二维数组的指针及数组元素的访问,字符串指针。指针数组,指针数组,指向指针的指针,main函数的参数,函数指
21、针。结构体指针,指向结构体的指针,指向结构体数组的指针,存储管理函数。链表,链表的概念,单链表的基本操作。(三)练习题15_1编写一个程序,用12个月份的英文名称初始化一个字符指针数组,当键盘输入整数为1到12 时,显示相应的月份名,键入其他整数时显示错误信息。15_2调用MaxMin函数,返回数组的最大值和最小值。第16章 函数(二)(一)本章学习目标深入理解函数,从存储方面解释函数的调用。(二)本章重点、要点函数调用时的内存,函数的活动,程序运行时存储空间的划分,函数的活动记录。参数的传递机制,C语言参数传递,指针参数,数组参数。递归函数,直接递归与间接递归,递归函数的调用过程。(三)练习
22、题16_1设计一个函数把两个整数形参中较大的那个数的地址作为函数值返回,并编写主函数实现调用。16_2编写函数,比较两个字符串大小。若相等返回0,大于时返回1,否则返回-1。第17章 预处理命令(一)本章学习目标正确理解预处理命令的概念,掌握预处理命令的使用方法。(二)本章重点、要点宏定义,无参宏定义,带参宏定义,宏的作用域。带参的宏与函数的区别,文件包含,条件编译,“# ifdef”命令,“# ifndef”命令,“# if”命令,条件编译和条件语句的比较。(三)练习题17_1C语言的预处理有哪些?17_2预处理命令在书写格式上有什么要求?17_3#include <文件名>和#
23、include “文件名”有什么不同?17_4 条件编译和条件语句有什么区别? 参考答案第1章 绪论1_1.什么是低级语言?答:低级语言较依赖于所在的计算机系统,也称为面向机器的语言。使用低级语言编写的程序,移植性较差。低级语言主要包括机器语言和汇编语言。机器语言是由二进制代码“0”和“1”组成的若干个数字串。用机器语言编写的程序,称为机器语言程序。机器语言程序能够被计算机直接识别并执行。但是,程序员直接编写或维护机器语言程序是很难完成的。汇编语言是一种借用助记符表示的程序设计语言。汇编语言的每条指令都对应着一条机器语言代码。汇编语言也是面向机器的,即不同类型的计算机系统使用的汇编语言也不同。
24、1_2.什么是高级语言?答:高级语言编写的程序易读,易修改,移植性好。但使用高级语言编写的程序不能直接在机器上运行,必须经过语言处理程序的转换,才能被机器识别。按照转换方式的不同,可将高级语言分为解释型和编译型两大类。1_3.面向过程语言的特点是什么?答:(1) 采用模块分解与功能抽象的方法,自顶向下,逐步求精。(2) 按功能划分为若干个基本的功能模块,形成一个树状结构。各模块间的关系尽可能简单,功能上相对独立。每一个功能模块内部都是由顺序、选择或循环三种基本结构组成。1_4.什么是算法?答:问题的求解过程,是对数据对象的加工过程。问题的求解过程包括两个方面的内容,即对问题涉及的“数据”进行描
25、述和对“加工过程”进行描述。对“数据”的描述,称为“数据结构”,对“加工过程”的描述,称为算法。1_5.算法有什么特点?答:算法具有以下特点:(1) 有穷性。一个算法包含的操作步骤是有穷的,而不能是无穷的,并且操作时一般还要求是合理可行的。(2) 确定性。算法的每个操作都是确定的,而不应该具有二义性。(3) 有零个或多个输入。“输入”指的是执行算法时,需要从外界获取的必要信息。(4) 有一个或多个输出。算法的目的是为了得到计算的结果。一般地,计算结果即为输出。没有输出的算法是没有意义的。(5) 有效性。算法的每一个操作都应能有效地执行,并得到确定的结果。1_6.结构化算法的基本结构有哪些?答:
26、(1) 顺序结构。 (2) 选择结构。(3) 循环结构。1_7.结构化程序设计的标准有哪些?答:一个结构化的程序,应遵循下面的标准:(1) 程序符合“正确第一,效率第二”的质量标准。(2) 程序由“模块”组成,模块之间可以跳转但不能随意地跳转。(3) 程序只有一个入口,一个出口。(4) 程序由顺序结构、选择结构和循环三种结构组成。(5) 程序没有死循环。第2章 C语言程序的开发过程2_1在屏幕上输出一行信息 。2_2求两个数的平均值。2_3输入两个整数,求二者的最大值。(五)参考答案【实验程序2_1】 在屏幕上输出一行信息 。/*程序功能:在屏幕上输出一行信息*/#include <st
27、dio.h>int main ( ) printf ("Welcome to C !n"); return 0;2_2 求两个数的平均值。/*程序功能:求两个数的平均值*/# include <stdio.h>int main ( ) float num1, num2, average; num1 = 97.45; num2 = 15.3; average = (num1 + num2) / 2; printf ( "The average is %fn", average ); return 0;2_3输入两个整数,求二者的最大值。#
28、 include <stdio.h>int imax ( int x, int y ) if ( x > y ) return x; /*若x>y,返回x的值*/ else return y; /*否则,返回y的值*/int main ( ) int num1, num2, MaxValue;scanf ( "%d%d", &num1, &num2 ); /*输入两个整数*/MaxValue = imax ( num1, num2 ); /*调用imax函数,计算结果赋值给MaxValue*/printf ( "The ma
29、x value is %dn", MaxValue ); return 0;第3章 基本数据类型3_1基本整型数据的输出。# include <stdio.h> int main ( ) int num1, num2 = 16; num1 = 15; printf ( "%d,%o,%xn", 14, 14, 14 ); printf ( "%d,%o,%xn", num1, num1, num1 ); printf ( "%d,%o,%xn", num1 + num2, num1 + num2, num1 +
30、num2 ); printf ( "%d, %6d, %3dn", 1234, 1234, 1234 ); return 0;3_2实型数据的输出。# include <stdio.h>int main ( ) float a = 1.23, b;b = 45.0; printf ( "%f, %en", 50.0, 50.0 ); printf ( "%f, %en", a, a ); printf ( "%f, %en", a + b, a + b ); printf ( "%7.2f,
31、%5.4fn", 12.35648, 12.35648 ); printf ( "%7.2e, %5.4en", 12.35648, 12.35648 ); return 0;3_3字符型数据的输出。 # include <stdio.h>int main ( ) char ch = 'a' printf( "%cn", ch ); /*输出变量ch当前的值*/ printf( "%cn", 'b' ); /*输出字符“b”*/ printf( "%dn", c
32、h ); /*输出字符变量ch当前值的ASCII码值*/ printf( "%dn", 'b' ); /*输出字符“b”的ASCII码值*/ return 0; 3_4C语言标识符的命名规则如何?答:标识符是由系统或程序设计者为数据对象指定的名字。标识符是以英文字母(az,AZ)或者下划线“_”开头,可以包含英文字母、数字(09)或下划线的,连续的字符序列。例如,字符串A,a,num1,_3c等都是3_5C语言的基本数据类型有哪些?答:C语言的基本数据类型有:整型(int)、实型(float和double)、字符型(char)和枚举型(enum)。
33、3_6什么是常量?答:在程序的运行过程中,其值不能被改变的量,称为常量。由常量的名字,可以确定其含义。因此,常量也称为字面量。例如,12,3.29,'a',"C Program"都是C语言的常量。3_7什么是变量?答:在程序运行的过程中,其值可以改变的量称为变量。每一个变量都必须有一个名字,即变量名。变量的命名应遵循标识符的命名规则。3_8转义字符有什么作用?举例说明。答:在C语言中,还有一类特殊的字符常量,这种字符是以反斜杠()开头的。字符“”将其后面的字符转变成另外的意义,因而称为转义字符。转义字符一般表示ASCII字符集中不可打印的控制字符和特定功能的
34、字符。例如, ¢141¢的含义是,将八进制的“141”(十进制的“97”)转换成ASCII码值为97的字符,¢141¢等价于字符¢a¢。¢n¢表示换行,将当前位置移到下一行开头。3_9字符串常量与字符常量的表示有什么不同?答:字符串常量是用一对双撇号括起来的字符序列。例如,"I love China" "C Program" "A"都是字符串常量。字符常量指的是用一对单撇号括起来的单个字符。例如,¢?¢,¢A¢,
35、162;8¢,都是字符常量。第4章 算术运算符与算术表达式4_1输出整数num的个位数、十位数和百位数。 # include <stdio.h>int main ( ) int num = 456; printf("%d,%d,%d",num%10, num/10%10,num/100%10); return 0;4_2设y=|x|1/2。当x的值为5.678时,计算y的值。# include <stdio.h># include <math.h>int main ( ) double x, y; x = 5.678; y =
36、sqrt ( fabs ( x ) ); printf ( "y=%lfn", y ); return 0;4_3编写程序,输入圆的半径,求该圆的面积与周长(保留三位小数)。/*程序功能:输入圆的半径,计算圆的面积与周长*/# include <stdio.h>int main ( ) float radius, area, circum; printf ( "Input radius: " ); scanf ( "%f", &radius ); area = 3.14 * radius * radius; cir
37、cum = 2 * 3.14 * radius; printf ( "Area is:n %6.3fn", area ); printf ( "Circumference is:n %6.3fn", circum ); return 0;4_4输入两个整数,求二者的平方和及平方差。/*程序功能:计算两个整数的平方和与平方差*/# include <stdio.h>int main ( )int num1, num2;int SquareDif, SquareSum;printf ( "Input two numbers: "
38、; );scanf ( "%d %d", &num1, &num2 );SquareSum = num1 * num1 + num2 * num2;SquareDif = num1 * num1 - num2 * num2;printf( "%d 2 + %d 2 = %dn", num1, num2, SquareSum );printf( "%d 2 - %d 2 = %dn", num1, num2, SquareDif );return 0; 4_5输入一个大写英文字母,求其后继(后面相邻)字母。规定:“Z”的
39、后继是“A”。/*程序功能:求大写英文字母的后继*/# include <stdio.h>int main ( ) char ch, BackCh; printf ( "Input a capital letter: " ); ch = getchar ( ); BackCh = ( ch - 64 ) % 26 + 65; printf ( "%c's back is %cn", ch, BackCh ); return 0; 第5章 C语言程序的输出与输入5_1编写程序求多项式 ax3+bx2+c的值( 键盘输入a=2, b=3,
40、 c=4, x=1.414)。# include <stdio.h>int main ( ) float a,b,c,x,y; printf ( "Input a,b,c,x: " ); scanf ( "%f%f%f%f", &a,&b,&c,&x );/*数据之间以空格分隔*/ y = a*x*x+b*x*c; printf ( "%fx2+%fx+%f=%fn", a,b,c,y ); getchar(); getchar(); return 0;变化二:# include <s
41、tdio.h>int main ( ) float a,b,c,x,y; printf ( "Input a,b,c,x: " ); scanf ( "%f%f%f%f", &a,&b,&c,&x );/*数据之间以空格分隔*/ y = a*x*x+b*x*c; printf ( "%.0fx2+%.0fx+%.0f=%fn", a,b,c,y ); getchar(); getchar(); return 0;变化三:# include <stdio.h>int main ( ) i
42、nt a,b,c; float x,y; printf ( "Input a,b,c,x: " ); scanf ( "%d%d%d%f", &a,&b,&c,&x );/*数据之间以空格分隔*/ y = a*x*x+b*x*c; printf ( "%dx2+%dx+%d=%fn", a,b,c,y ); getchar(); getchar(); return 0;运行结果参见变化二的结果图。5_2已知华氏温度,根据公式:C = 5/9(F-32),求摄氏温度C(结果保留两位小数)。#include
43、 <stdio.h>int main ( ) float f,c; printf ( "Input f: " ); scanf ( "%f", &f ); c = 5.0/9*(f-32); /* 因为整除的原因,使用了5.0,而不是5 */ printf ( "C=%fn", c ); return 0;5_3使用宏定义定义符号常量 PI,其值为3.14159,并使用符号常量,求圆半径r=2.456时的圆周长、圆面积。#include <stdio.h>#define PI 3.14159 int m
44、ain ( ) float r,c,s; printf ( "Input r: " ); scanf ( "%f", &r ); c = 2*PI*r; s = PI*r*r; printf ( "C=%fnS=%fn", c,s ); return 0;注:也可以采用赋值的方式对r赋值2.456。5_4用getchar()分别输入A,B,C,并赋值给a,b,c, 然后将其转换成对应的小写字母,用putchar()将其输出。#include <stdio.h>#include <ctype.h>int
45、main ( ) char a,b,c; printf ( "Input Upper Characters A,B,C: " );/* 输入时ABC之间不能有空格! */ a=getchar(); b=getchar(); c=getchar(); a = a+32; b = b-'A'+'a' c = tolower(c); printf ( "a="); putchar(a);putchar('n'); printf ( "b="); putchar(b);putchar('
46、n'); printf ( "c="); putchar(c);putchar('n'); return 0;5_5若a=3,b=4,c=5,编写程序,要求用一个scanf()函数完成输入,按以下要求的格式输出:x1=a+b+c= 3+ 4+ 5= 12x2=a-b-c= 3- 4- 5= -6#include <stdio.h>#include <ctype.h>int main ( ) int a,b,c; printf ( "a=" ); scanf("%d",&a); p
47、rintf ( "b=" ); scanf("%d",&b); printf ( "c=" ); scanf("%d",&c); printf ( "x1=a+b+c=%d+%d+%d=%dn",a,b,c,a+b+c); printf ( "x1=a-b-c=%d-%d-%d=%dn",a,b,c,a-b-c); return 0; 第6章 流程控制选择控制结构6_1使用if语句,求解两个数中的最大值。/*程序功能:输入两个数,输出其中的大者*/# incl
48、ude <stdio.h>int main ( ) int num1, num2;printf ( "Input two numbers: " );scanf ( "%d %d", &num1, &num2 );if ( num1 >= num2 ) printf ( "max num is %d", num1); elseprintf ( "max num is %d", num2 ); return 0;6_2使用switch语句,求解简单算术表达式的值。int main (
49、) int num1, num2, result;char ch;printf ( "Input a expression ( e.g. 3 + 5): " );scanf ( "%d%c%d", &num1, &ch, &num2 );switch ( ch ) /*根据ch的值,选择分支执行*/case '+': result = num1 + num2;break; /*求和完毕,退出当前switch语句*/case '-': result = num1 - num2;break; /*求差完
50、毕,退出当前switch语句*/case '*':result = num1 * num2;break; /*求积完毕,退出当前switch语句*/case '/': result = num1 / num2;break; /*求商完毕,退出当前switch语句*/default:printf ( "Input error!n" ); break;printf ( "%d %c %d = %dn", num1, ch, num2, result );return 0;6_3使用嵌套的if语句,判断一个整数能否被3或5整除。
51、 # include <stdio.h>int main ( ) int num; printf ( "Input a number: " ); scanf ( "%d", &num ); if ( num % 3 = 0) /*num能被3整除*/ if ( num % 5 = 0 ) /*num既能被3整除,又能被5整除*/printf ( "%d can be divided by 3 and 5!n", num ); else /*num能被3整除,但不能被5整除*/printf ( "%d ca
52、n be divided by 3 only!n", num ); else /*num不能被3整除*/ if ( num % 5 = 0 ) /*num不能被3整除,但能被5整除*/printf ( "%d can be divided by 5 only!n", num );else /*num既不能被3整除,也不能被5整除*/printf ( "%d can not be divided by 3 or 5!n", num ); return 0; 6_4使用嵌套的switch语句,判断一个整数能否被3或5整除。 # include &l
53、t;stdio.h>int main ( ) int num; printf ( "Input a number: " ); scanf ( "%d", &num ); switch ( num % 3 = 0 ) case 0: switch ( num % 5 = 0 )case 0: printf ( "%d can not be divided by 3 or 5!n", num );break; case 1: printf ( "%d can be divided by 5 only!n"
54、, num ); break; break; case 1: switch ( num % 5 = 0 ) case 0: printf ( "%d can be divided by 3 only!n", num );break; case 1: printf ( "%d can be divided by 3 and 5!n", num ); break; break; return 0; 6_5输入一个字符,若输入的为大写英文字母,则输出其对应的小写英文字母;若输入的为小写英文字母,则输出其对应的大写英文字母;若输入的非英文字母,则原样输出。# i
55、nclude <stdio.h>int main ( ) char ch1, ch2; printf ( "Input a character: " ); scanf ( "%c", &ch1 ); switch ( ch1 >= 65 && ch1 <= 90 ) case 0: /*非大写英文字母*/switch ( ch1 >= 97 && ch1 <= 122 ) case 0: /*非小写英文字母*/ ch2 = ch1;break; case 1: /*是小写英文字母
56、*/ ch2 = ch1 - 32; break; break;case 1: /*是大写英文字母*/ ch2 = ch1 + 32; break; printf ( "Input: %cnOutput: %cn", ch1, ch2 ); return 0;6_6编写程序,输入一个年份,判断其是否为闰年。 分析:一个年份,当且仅当符合下列两个条件之一的,即是闰年。能被4整除,但不能被100整除的年份。例如,1992年、2008年。能被400整除的年份。例如,2000年、2400年。用flag的值,表示是否为闰年。如果flag的值为1,表示闰年;如果是0,表示非闰年。# i
57、nclude <stdio.h>int main ( ) int year, flag;printf ( "Input a year: " );scanf ( "%d", &year );if ( year % 4 = 0 ) if ( year % 100 != 0 ) flag = 1; else if ( year % 400 = 0 ) flag = 1; else flag = 0; else flag = 0;if ( flag )printf ( "%d is a leap yearn", year );else printf ( "%d is not a leap yearn", year );return 0; 第7章 流程控制循环控制结构7_1用while语句,求解连加式1 + 2 + + n( n > 2)的值。# include <stdio.h>int main( ) int i = 1,sum = 0 ,n; printf( “Input a number: ” ); scanf (“%d”,&n); while( i <= n ) sum = su
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关联交易转让合同标准文本
- 体育组工作总结9篇
- 企业抵税合同标准文本
- 传媒公司人事合同标准文本
- 公益慈善合同标准文本
- 养宠物租金合同标准文本
- 会展类合同标准文本
- 书柜买卖合同标准文本
- 保障店铺装修合同标准文本
- 月亮的对联(3篇)
- 上海市2024年中考英语试题及答案
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)宣传画册
- 湖北省黄冈八模2025届高三第一次模拟考试数学试卷含解析
- 2024-2030年中国建筑垃圾处理行业发展分析及投资规划研究报告
- DB11∕T 1842-2021 市政基础设施工程门式和桥式起重机安全应用技术规程
- 2025年湖北省武汉市高考数学模拟试卷附答案解析
- 部编版五年级语文上册快乐读书吧测试题及答案
- 心肺复苏考试题及答案
- TSG ZF001-2006《安全阀安全技术监察规程》
- 临床试验数据管理
- 2024年深圳技能大赛-鸿蒙移动应用开发(计算机程序设计员)职业技能竞赛初赛理论知识
评论
0/150
提交评论