C程序设计语言资料
- 格式:docx
- 大小:17.96 KB
- 文档页数:25
《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.运算符用来表示数据各种操作的符号称为运算符。
运算符实际上代表了一种类型数据的运算规则。
不同的运算符具有不同的运算规则,其操作的数据类型必须符合该运算符的要求,运算结果的数据类型也是固定的。
C程序设计语言(完美中文版)C语言是一种广泛使用的编程语言,以其高效性和灵活性而著称。
它是一种结构化编程语言,被广泛应用于系统编程、嵌入式系统、操作系统、数据库、网络编程等领域。
C语言的特点是简洁、高效、灵活,并且与硬件紧密相关,使得程序员可以更深入地理解计算机的工作原理。
在C语言中,所有的程序都是由函数组成的。
函数是C语言中的基本构建块,可以用来执行特定的任务。
C语言提供了丰富的库函数,可以用来实现各种功能,例如输入输出、字符串处理、数学运算等。
C语言还支持用户自定义函数,使得程序员可以创建自己的函数来满足特定的需求。
C语言中的数据类型包括基本数据类型和复合数据类型。
基本数据类型包括整型、浮点型、字符型等,用于表示基本的数据。
复合数据类型包括数组、结构体、联合体等,用于表示复杂的数据结构。
C语言还支持指针,可以用来实现内存管理和动态数据结构。
C语言中的控制结构包括条件语句、循环语句和跳转语句。
条件语句用于根据条件的真假来执行不同的代码块。
循环语句用于重复执行一段代码,直到满足特定的条件。
跳转语句用于在程序中实现跳转,例如跳转到循环的开始或结束。
C语言还提供了丰富的输入输出函数,可以用来从用户那里获取输入,并将输出结果显示给用户。
这些函数包括printf、scanf、puts、gets等。
通过这些函数,程序员可以与用户进行交互,获取用户输入的数据,并将处理结果展示给用户。
C语言是一种功能强大、灵活多变的编程语言。
它提供了丰富的数据类型、控制结构和输入输出函数,使得程序员可以高效地实现各种功能。
学习C语言可以帮助程序员更好地理解计算机的工作原理,为后续学习其他编程语言打下坚实的基础。
C程序设计语言(完美中文版)2. 模块化编程:C语言支持模块化编程,可以将程序划分为多个模块,每个模块包含一组相关的函数和数据。
这种模块化编程方式有助于提高代码的可读性、可维护性和可重用性。
程序员可以将常用的功能封装成模块,并在需要时引入这些模块,从而简化程序的开发过程。
c语言程序设计电子书C语言程序设计是一门基础且广泛应用的编程语言课程,它以其高效、灵活和强大的功能而著称。
C语言由丹尼斯·里奇(Dennis Ritchie)在20世纪70年代初期于贝尔实验室开发,至今仍是许多系统软件和应用软件的首选语言。
本电子书将从C语言的基本概念、语法结构、数据类型、控制结构、函数、数组、指针、结构体、文件操作等方面进行详细介绍。
第一章:C语言概述C语言是一种过程式编程语言,它支持结构化编程。
C语言的设计哲学是提供一种通用、高效、易于使用的语言,同时保持对硬件的控制。
C 语言广泛应用于操作系统、嵌入式系统、高性能计算等领域。
第二章:C语言环境和基本语法在开始编写C程序之前,需要配置C语言开发环境,如GCC编译器。
C 程序的基本结构包括预处理指令、函数、变量声明和语句。
程序从`main`函数开始执行。
第三章:数据类型和变量C语言提供了多种数据类型,包括整型、浮点型、字符型等。
变量是程序中存储数据的容器,需要先声明后使用。
C语言是静态类型语言,每种变量在使用前必须指定数据类型。
第四章:运算符和表达式C语言提供了丰富的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符等。
表达式是由变量、常量和运算符组成的组合,用于执行计算。
第五章:控制结构控制结构是程序流程控制的基本构件。
C语言提供了三种基本的控制结构:顺序结构、选择结构(if语句、switch语句)和循环结构(for 循环、while循环、do-while循环)。
第六章:函数函数是C语言中实现代码复用的重要手段。
函数允许将代码组织成独立的块,每个块可以执行特定的任务。
C语言支持函数的定义、声明、调用和递归。
第七章:数组数组是相同数据类型元素的集合。
C语言支持一维数组和多维数组。
数组在内存中是连续存储的,这使得数组操作高效但也需要小心越界问题。
第八章:指针指针是C语言的核心特性之一。
指针变量存储的是另一个变量的内存地址。
01.C程序根本构造一、C语言的特点:1、C语言源程序的根本组成单位是函数;一个C程序可由假设干个函数组成,其中必须有且仅有一个以main命名的主函数,其余的函数名称可由编程者自行设定。
,2、C程序的执行总是由main()函数的第一个可执行语句开场,到main〔〕函数的最后一个可执行的语句完毕;而其他函数都是在main〔〕函数开场执行以后,通过其他函数的调用才得以运行。
3、C语言系统提供了丰富的库函数,用户在程序中需要调用某个库函数时,必须用#include编译预处理命令将描述该库函数的头文件包含进去。
二、C程序的书写格式:1、语句可从分开放在任意多行内;如:printf(“To C,〞);printf(“ or not to C:〞);与printf(“To C , or not to C:〞);是等价的2、一行中可以有假设干个语句;如:a=123;b=345;3、每个语句和数据定义的最后必须有一个分号;三、C语言程序的运行:1、编译(pile):将C源程序文件翻译成能被计算机识别的二进制形式的“目标〞文件;编译时,编译器将检查源程序每一条语句的语法错误。
2、建造(Bulid):C语言程序例如:显示“Hello〞#include<stdio.h>int main(void){printf(“Hello.\n〞);return 0;}说明:#include<stdio.h> 是必不可少的,它包含了C语言标准输入输出库的相关信息;printf函数来自〞标准输入输出库〞,可以产生格式化输出;\n 告诉printf函数执行完信息显示后要进展换行操作;return 0 说明程序终止时会向操作系统返回值0;{ }来标出main〔〕函数的起始和完毕。
02.数据类型一、C语言的特点:1、C语言源程序的根本组成单位是函数;一个C程序可由假设干个函数组成,其中必须有且仅有一个以main命名的主函数,其余的函数名称可由编程者自行设定。
7、编写一个程序,将用户输入的十进制整数转换成
十六进制数。
8、编写程序,把一个65---91之间的数据看成是字
符的ASCII码,输出对应的字符。
(用Do循环语句编写,且字符之间用空格分开)
9、输入一个英文句子,它仅包含单词与空格,试把其中的每一个单词的第一个字母设置为大写,其余字母设置为小写,输出结果。
(用数组编程)
10、
11、
12、
13、
14、
15、
16、
17
18、
19、
20、
21、
第二部分参考答案
参考资料:[1]程朔鹰等人民邮电出版社《C语言程序设计习题集》
[1]程朔鹰等人民邮电出版社《C语言程序设计习题集》
[1]程朔鹰等人民邮电出版社《C语言程序设计习题集》
[1]程朔鹰等人民邮电出版社《C语言程序设计习题集》
[1]程朔鹰等人民邮电出版社《C语言程序设计习题集》。
c语言程序设计内容C语言程序设计在计算机科学领域中,C语言是一种广泛应用的高级编程语言。
它的设计初衷是为了编写操作系统,但随着时间的推移,C语言已经成为各种应用程序开发的首选语言。
本文将探讨C语言程序设计的相关内容,包括语法规则、数据类型、流程控制、函数和指针等。
一、语法规则C语言的语法规则比较简单,主要包括标识符、关键字、运算符、分隔符和注释等构成。
在编写C语言程序时,我们需要遵循这些规则,以确保程序的正确性和可读性。
1. 标识符:用于命名变量、函数、数组等,由字母、数字和下划线组成,且不能以数字开头。
2. 关键字:C语言中有一些关键字具有特殊含义,如if、for、while等,不能用作标识符。
3. 运算符:用于进行各种数学和逻辑运算,如加减乘除、赋值、比较等。
4. 分隔符:用于标记程序的各个部分,如分号、花括号等。
5. 注释:用于给程序中的代码添加说明,提高程序的可读性。
二、数据类型在C语言中,数据类型用于定义变量的类型和存储空间的大小。
C 语言提供了多种数据类型,包括整型、浮点型、字符型和数组等。
1. 整型:用于表示整数,包括int、short、long等。
2. 浮点型:用于表示带有小数部分的数值,包括float、double等。
3. 字符型:用于表示单个字符,使用char类型。
4. 数组:用于存储多个相同类型的数据,可以是一维数组或多维数组。
三、流程控制在程序设计中,流程控制用于控制程序的执行顺序和条件分支。
C 语言提供了多种流程控制语句,如if语句、switch语句和循环语句等。
1. if语句:用于根据条件执行不同的代码块。
2. switch语句:用于根据表达式的值执行相应的代码块。
3. 循环语句:用于重复执行一段代码,包括while、do-while和for循环。
四、函数函数是C语言程序设计的重要组成部分,用于封装一段可重用的代码。
C语言中的函数包括库函数和用户自定义函数。
1. 库函数:由C语言标准库提供的函数,如输入输出函数printf、scanf等。
《C语言程序设计》基本知识点《C语言程序设计》是计算机专业的基础课程之一,本文将介绍C语言程序设计的基本知识点,包括语法、数据类型、运算符、控制语句、函数、数组、指针等,并对每个知识点进行详细的解释。
一、语法1.注释:C语言支持单行注释(以“//”开头)和多行注释(以“/*”开头,以“*/”结尾)。
2.标识符:用于给变量、函数、结构体等命名的名称,规则包括必须以字母或下划线开头,可以包含字母、数字和下划线,长度不超过31个字符。
3.分号:用于分隔语句,每条语句的最后都需要加上分号。
二、数据类型1. 基本数据类型:包括整型(int)、浮点型(float/double)、字符型(char)及空类型(void)。
2. 修饰符:用于修改基本数据类型,包括长短修饰符(long/short)、无符号修饰符(unsigned)和有符号修饰符(signed)。
3.枚举类型:用于定义一组常量。
4.转义字符:用于表示一些特殊字符,包括换行符(\n)、制表符(\t)等。
三、运算符1.算术运算符:包括加法(+)、减法(-)、乘法(*)、除法(/)和取模运算(%)。
2.关系运算符:用于比较两个值的大小,包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。
3.逻辑运算符:用于连接多个条件,包括与(&&)、或(,)和非(!)。
4.位运算符:对二进制位进行操作,包括与(&)、或(,)、异或(^)、左移(<<)和右移(>>)。
四、控制语句1. 条件语句:包括if语句和switch语句,用于根据条件执行不同的代码块。
2. 循环语句:包括for循环、while循环和do-while循环,用于重复执行一段代码。
3. 分支语句:用于改变程序的执行路径,包括break语句和continue语句。
五、函数1.函数定义:由返回类型、函数名、参数列表和函数体组成。
C程序设计复习要点第一章概述1.C程序的构成与结构特点2.C程序上机调试过程与流程第二章数据类型、运算量与表达式1.数据类型的种类(基本数据类型和构造数据类型)2.常量的数据类型及其表示(表示方法、存储字节数与表数范围)——整、实、字符、字符串和转义字符3.变量的命名、定义方法与赋初值4.各种表达式及其运算规则——优先级、结合性、类型自动转换与强制转换●算术运算符、表达式及其构造(注意“/”和“%”特殊性)●自增、自减运算符及其简单表达式运算●赋值运算符及其表达式(注意复合赋值运算符的运算方法)●逗号运算符及其表达式第三章流程控制1.赋值语句的一般形式、赋值过程及赋值规则(注意左右数据类型的一致或兼容)2.输入和输出函数的格式、功能及用法(只要求常用的格式控制符d, f, c, s),提醒注意:●格式输出中域宽和小数位数的控制●格式输入与输出中普通字符的原样输入和输出问题●熟悉并区别以下函数:putchar()、printf()、puts();getchar()、scanf()、gets()3.关系运算符及其表达式、逻辑运算符及其表达式和条件运算符及其表达式的运算规则(优先级、结合性)4.关系表达式与逻辑表达式的构造(根据已知条件写表达式)5.if语句的三种形式:if …语句、if …else …语句、if 语句的嵌套●if 语句的格式与用法:简单if、嵌套if、并列if●逻辑关系与执行过程●嵌套规则(重点掌握if …else …if …else …if …else)6.switch语句的格式与用法7.*熟练使用if和switch语句阅读和编写较为简单的选择结构程序8.三种循环语句:while() …、do …while()、for()的格式、执行过程及其用法●循环变量初始化、循环条件构造、循环体所要实现的任务和控制变量修改注意循环期间与结束时循环控制变量的取值问题9.结合例题理解和区别break与continue语句的作用及其用法10.本章涉及的主要算法:累加(计数)、累乘、递推、穷举、判素数、求最大公约与最小公倍等11.*熟练使用三种循环语句并结合以上算法阅读和编写较为简单的循环结构及其嵌套程序第四章复杂数据类型1.一维、二维数组的定义、初始化及其引用方法(数据输入、输出、存储与处理)2.字符数组的定义、初始化及其引用(字符串输入、输出、存储与处理)3.常用字符串处理函数:gets()、puts()、strlen()、strcmp()、strcpy()4.数组涉及的主要算法:排序、极值、逆序、回文和字符串的连接、复制、求长度等5.*熟练使用数组并结合以上算法阅读和编写较为简单的程序6.指针的概念:指针、指针变量、指针运算(*、&、++、--、+、-)7.变量、数组和字符串指针的定义、指向与引用(仅限于一维数组)8.了解指针数组与二级指针的概念和定义9.*能够阅读并理解使用指针进行数据处理的相关程序(极值、逆序、回文和字符串的连接、复制、求长度等)10.结构体与共用体的概念、定义与引用(仅限概念)第五章结构化程序设计与应用1.熟悉程序的三种基本结构:顺序、选择和循环2.*通过其中部分例题掌握选择、循环语句的使用以及循环和数组涉及的主要算法第六章函数与编译预处理1.掌握函数的定义、声明和调用方法及参数传递方式2.*结合相关例题掌握一般函数和递归函数的定义与使用3.熟悉局部变量与全局变量的定义及作用范围,了解各种静态与动态变量的定义、作用范围与生存期4.了解内部函数与外部函数的定义及调用规则5.掌握宏定义与宏展开(重点掌握带参数宏的定义与展开)6.了解文件包含的作用及其使用场合第七章文件1.了解文件的概念2.熟悉文件打开、关闭及各种与文件读写有关函数的格式与用法特别提醒:以上带*部分主要涉及程序阅读、程序填空和编写程序,其余部分主要以选择和概念填空题出现3ae bc C语言程序设计参考题型说明:★本题仅反映考试的题型,作为考前复习参考。
第3次作业一、填空题(本大题共20分,共5小题,每小题4分)1•假定一个二维数组为a[M][N],则a[i]的地址值(以字节为单位)为 2.类型兼容原则指的是:任何在需要________ 对象的地方,都可以用_______________________________________ 的对象去替代。
3.重新抛出异常的表达式为:__________4.以下程序的执行结果是______________________#i nclude <iostream>using n amespace std;class Base{public:Base(){cout<< ” T ;}~Base(){cout<< ” 2” ;}};class Derived : public Base{public:Derived(){cout<< ” 3” ;}~Derived(){cout<< ” 4” ;}};void mai n(){Derived d;5.以下程序的执行结果是______________________#i nclude <iostream>using n amespace std;class A{int x;public:A(int x){this->x=x;}A &operator--(){x--;return *this;}A operator— nt){A a(x-=2);retur n a;}void show(){ cout« x;}};void mai n(){A a(3),b(3);(a--).show();(--b).show();}二、程序阅读题(本大题共40分,共5小题,每小题8分) 1.写出下面程序运行结果。
#i nclude <iostream.h>void rev(i nt a[],i nt n){int t;for(int i=0,j=n-1;i<j;i++,j--)t=a[i],a[i]=a[j],a[j]=t;}int main(){int b[]={1,2,3,4,5,6,7,8,9};rev(b,9);for(int i=0;i<9;i++) cout<vb[i]vv" ";cout«e ndl;return 0;}2.#i nclude <iostream>using n amespace std;int main(){int i,j,m=3;for(i=0;i<m;i+=2)for(j=m-1;j>=0;j--)cout<vi+jvv(char)(j?'H':'$');cout«e ndl;return 0;}3.#in clude <iostream>#in clude <cstri ng>int coun t(char *s,char *t);int main(){char s1[200]="ab1234cdabcdabcABCDAGBCDdabcd";char s2[100]="bc";cout<<"co un t="<<co un t(s1,s2)«e ndl;return 0;}int coun t(char *s,char *t){int i=0,c=0;while(*(s+i)){if(strncmp(s+i,t,strle n( t))==0)c++;i++;}return c;}#in clude <iostream>int avere(i nt x,i nt y,i nt z);double aver(double x,double y,double z);int main(){int ai=1,bi=2,ci=3;double ad=1.5,bd=5.5,cd=7.5;cout<v"ai+bi+ci="v<aver(ai,bi,ci)vve ndl; cout<v"ad+bd+cd="v<aver(ad,bd,cd)vve ndl;return 0;}int aver(i nt x,i nt y,i nt z){retur n x+y+z;}double aver(double x,double y,double z){retur n x+y+z;}5.#i nclude <iostream> int a,b,c,d;int main() {void p(i nt a,i nt b);coutvvavv","vvbvv","v<cvv","vvdvve ndl;p(a,b);coutvvavv","vvbvv","v<cvv","vvdvve ndl;return 0;}void p(i nt a,i nt b){static int c;a++,b++;c-=1,d+=1;if(a<3){p(a,b); coutvvavv","vvbvv","v<cvv","vvdvve ndl;}}三、程序设计题(本大题共40分,共8小题,每小题5分)1.一个正整数与3的和是5的倍数,与3的差是6的倍数,编程序求出符合此条件的最小正整数。
2.编制程序实现功能:将从键盘输入的若干字符依次存入到磁盘文件data.txt 中,直到输入字符#时为止。
3.设计并实现一个抽象类Polygon表示多边形,及其子类Triangle,表示三角形。
要求:(1)Polygon不具有任何的数据成员,只具有如下纯虚函数表示多边形应该具备的外部接口:void show(); 打印多边形每个顶点的位置double getPerimeter(); 得到多边形的边长double getArea(); 得到多边形的面积(2)设计并实现Point类来表示多边形的顶点,其具有x,y两个数据成员和得到它们的值的外部接口getX()和getY()。
(3)子类Triangle除了实现父类的纯虚函数之外,可根据需要设计成员变量、构造函数等。
(4)在main函数中申明Triangle的对象,并打印每个对象的顶点位置、边长和面积。
4.定义两个类Point和Triangle 代表点和三角形。
Point类有两个double成员,分别代表了x,y坐标。
Triangle类中有三个Point成员,分别代表三个顶点。
在main函数中定义一个Triangle 对象,并求得Triangle对象的面积。
要求除了main函数之外,所有的函数都只能定义为成员函数。
提示:Point中可以定义成员函数求两个点之间的距离。
实现时使用sqrt(double)求平方根。
Triangle类中定义成员函数求面积,使用海伦公式s=sqrt(s*(s-a)*(s-b)*(s-c)),s 是周长的一半。
Point有(但不仅限于)构造函数Point(double,double) , Triangle 有构造函数Tria ngle(Poi nt,Poi nt,Poi nt)5.“爬动的蠕虫”问题:一条蠕虫长度为1厘米,在一口深度为n厘米的井底。
已知蠕虫每分钟可以向上爬u厘米,但必须休息1分钟后才能接着往上爬。
在休息的过程中,蠕虫又下滑了d厘米。
这样反复进行上爬和下滑过程,请设计一个函数返回蠕虫爬出井所需的时间,若不能爬出返回-1。
假定:1)初始时蠕虫趴在井底(高度为0)2)上爬过程中,蠕虫头部到达井的顶部就算出井3)计算时间时,不足一分钟按一分钟计算6.已知二进制文件data.txt中10个整型数据,请编制程序求出这些整数的平均值。
要求读取文件数据部分用独立的函数实现。
7.设计枚举类型MONT代表一年的12个月的英文名称。
设计结构体Date代表日期,包括年、月、日,其中的月成员为MONT类型;Date还包括一个show成员函数来输出形如"2015-10-1"的日期格式。
设计类Holiday来代表假期,其中有两个数据成员:n表示假期天数,ptr表示放假的日期。
其中ptr是指向动态生成的Date数组的首地址。
构造函数和析构函数负责开辟和释放内存空间。
Holiday类还有show成员函数来输出假期中每一天的日期。
在main函数中生成一个具有多天的假期,并输出其中每一天的日期。
编写程序实现功能:将指定文件中的小写字母修改为对应的大写字母答案:一、填空题(20分,共5题,每小题4分)1.参考答案:a+(i*N)*sizeof(a[0][0]) a+i*sizeof(a[i])解题方案:二维数组评分标准:每空2分2.参考答案:基类、公有派生类解题方案:评分标准:3.参考答案:throw ;解题方案:评分标准:4.参考答案:解题方案:5.参考答案:12解题方案:评分标准:二、程序阅读题(40分,共5题,每小题8分)1.参考答案:98765432 1解题方案:评分标准:2.参考答案:2H1H0$4H3H2$解题方案:评分标准:3.参考答案:coun t=3解题方案:评分标准:4.ai+bi+ci=6 ad+bd+cd=14.5解题方案:评分标准:5.参考答案:0,0,0,022-3,31,1,-3,30,0,0,3解题方案:评分标准:三、程序设计题(40分,共8题,每小题5分)1.参考答案:#i nclude <iostream>using n amespace std;int main(){int n=1;if((n+3)%5==0&&(n-3)%6==0)break;n++;}"vvnvven dl;coutvv"满足条件的最小整数是:return 0;}解题方案:评分标准:2.参考答案:#i nclude <iostream>#in elude <fstream>using n amespace std; int main(){char c;ofstream p;p.ope n("data.txt"); if(!p)cout<<"Can not Open File!"«endl;return -1;while((c=getchar())!='#')P.put(c);p.close();return 0;}解题方案:评分标准:3.参考答案:#i nclude <iostream>using n amespace std;class Poi nt{private:double x, y;public:Poi nt(double x, double y);Poi nt();double getX();double getY();double getDista nce(Poi nt p); };Poi nt::Poi nt(double x, double y){ this->x = x;this->y = y;}Poi nt::Poi nt(){}double Poi nt::getX(){return x;}double Poi nt::getY(){return y;}double Poin t::getDista nce(Po int p){return sqrt(pow(x - p.x, 2) + pow(y - p.y, 2)); }class Polyg on{public:virtual void show()=0;virtual double getPerimeter()=O;virtual double getArea()=0;};class Trian gle : public Polyg on{ private:Poi nt pl, p2, p3, p4;public:Triangle(Point p1, Point p2, Point p3);void show();double getPerimeter();double getArea();};Triangle::Triangle(Point p1, Point p2, Point p3){this->p1 = p1;this->p2 = p2;this->p3 = p3;}void Trian gle::show(){cout << "(" << p1.getX() << "," << p1.getY() << ")"cout << "(" << p2.getX() << "," << p2.getY() << ")"cout << "(" << p3.getX() << "," << p3.getY() << ")" cout << en dl;}double Tria ngle::getPerimeter(){return p1.getDista nce(p2) + p2.getDista nce(p3) + p3.getDista nce(p1);} double Trian gle::getArea(){double a = pl.getDista nce(p2);double b = p2.getDista nce(p3);double c = p3.getDista nce(pl);double s = (a + b + c) / 2;return sqrt(s*(s - a)*(s - b)*(s - c));}void mai n(){Point p1(1,0), p2(0, 1), p3(-1,0);Triangle t(p1, p2, p3);t.show();cout << t.getPerimeter() << en dl;cout << t.getArea() << en dl;}解题方案:评分标准:4.参考答案:#i nclude <iostream>using n amespace std;class Point{ private:double x, y;public:Poi nt(){};Point(double xVal, double yVal); double getDista nce(Po int p);}; class Trian gle{private:Point p1, p2, p3;public:Trian gle(Po int poin t1, Point poin t2, Point poin t3); double getArea(); };Poi nt::Poi nt(double xVal, double yVal){x = xVal;y = yVal;} double Poi nt::getDista nce(Poi nt p){return sqrt(pow(x - p.x, 2) + pow(y - p.y, 2)); Triangle::Triangle(Point point1, Point point2. Point point3){ pl = poin t1;p2 = poin t2;p3 = poin t3;}double Tria ngle::getArea(){double a = p1.getDista nce(p2);double b = p2.getDista nce(p3);double c = p3.getDista nce(p1);double s = (a + b + c) / 2;return sqrt(s*(s - a)*(s - b)*(s - c)); } void mai n(){ Point p1(0, 0), p2(3, 0), p3(0, 4);Tria ngle t(p1, p2, p3);cout << t.getArea() << en dl;}解题方案:评分标准:5.参考答案:#in clude <iostream> using n amespace std;int theWorm(i nt n ,i nt u,i nt d);int main(){int n ,u,d,time;cout«"? n,u,d:";cin»n>> u>>d;time=theWorm( n,u,d);if(time==-1)cout<<"The worm can't escapes from well."«e ndl; elsecout<<"time="<<time<<e ndl;return 0;}int theWorm(i nt n ,i nt u,i nt d){int time=0, curh=0;if(u<=d&&n >u)return -1;while(1){curh+=u;time++;if(curh>=n)break;curh-=d;time++;}return time;}解题方案:评分标准:6.参考答案:#i nclude <iostream>#in clude <fstream>#i nclude <ctime>using n amespace std;int main(){void readfile(ifstream &myf,i nt *v);int s[10],i;double sum=0;ifstream myFile("data.txt",ios::bi nary);if(!myFile)cout«"Ca n't ope n file."«e ndl;return -1;}readfile(myFile,s);myFile.close();for(i=0;i<10;i++){sum+=s[i];}cout<v"average="vvsum/10vve ndl; return 0;}void readfile(ifstream &myf,i nt *v){myf.read((char*)v,sizeof(i nt)*10);}解题方案:评分标准:7.参考答案:#i nclude <iostream> using n amespace std; enum MONTH{ JANUARY = 1, FEBRUARY ,MATCH,APRIL,MAY,JUNE,JULY,AUGUST, SEPTEMBER,OCTOBER,NOVEMBER,DECEMBER};struct Date{int year;MONTH mon th;int day;void show();};void Date :: show(){cout << year << "-" << month << "-" << day << en dl; }class Holiday{private:Date *ptr;int n;public:Holiday(i nt _n,Date dates]]);~Holiday();void show();};Holiday::Holiday(i nt _n, Date dates[]){n = _n;ptr = new Date[ n];for (i nt i = 0; i < n; i++)ptr[i] = dates[i];}Holiday::~Holiday(){ delete[] ptr;} void Holiday::show(){for (i nt i = 0; i < n; i++)ptr[i].show();} void mai n(){Date dates[3] = { { 2015, APRIL, 30 }, { 2015, MAY, 1 }, { 2015, MAY, 2 } };Holiday laborHoliday(3, dates);laborHoliday.show();}解题方案:评分标准:8.参考答案:#i nclude <iostream>#in elude <fstream>using n amespace std;int main(){fstream fp;char c,fname[50]; //fname用于存放被处理的文件名int pos;cout«"?fname:";cin»fn ame;fp.ope n( fname,ios::i n|ios::out);if(!fp){cout«"打开文件"vvfnamevv"失败!"<<endl; return -1;}while(1){pos=fp.tellg();fp.get(c);if(fp.eof())break;if(c>='a'&&c<='z'){fp.seekp(pos,ios::beg);fp.put(c-32);}}fp.close();return 0;}解题方案:评分标准:。