实验一 C 基础练习(附答案).pdf_第1页
实验一 C 基础练习(附答案).pdf_第2页
实验一 C 基础练习(附答案).pdf_第3页
实验一 C 基础练习(附答案).pdf_第4页
实验一 C 基础练习(附答案).pdf_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一实验一 C+基础练习基础练习 实验目的和要求实验目的和要求 1掌握 C+程序的基本格式与规范,学会编写简单的 C+程序。 2理解 C+程序结构的特点。 3熟悉 C+程序基本的输入输出操作。 4掌握 C+数据类型常量和变量以及修饰符的使用方法。 5掌握函数定义、函数调用和函数说明的方法。 6熟悉作用域运算符的功能和基本使用方法。 7掌握 C+内存的动态分配与释放方法。 8理解引用的概念,掌握引用的使用方法。 实验内容实验内容 1编写一个程序,从键盘上输入摄氏温度,通过转换输出华氏温度,转换 公式为 9 32 5 FC。例如,输入摄氏温度为 10 时,输出华氏温度为 50;输入摄 氏温度为 37 时,输出华氏温度为 98.6。要求输入输出时有提示。 2定义一个结构体数据类型用于保存自己的个人信息,例如可以包含姓名、 性别、年龄、几门课程的成绩等(根据自己的需要定义成员) 。在程序中输入个 人信息,然后按一定的格式输出个人信息。要求输入输出时有提示。 3编写函数求 2 个和 3 个正整数中的最大值,并在主函数中进行调用验证。 要求: (1)利用函数重载实现; (2)用参数带默认值的函数实现。 4编写一个程序,动态定义一个整型数组(数组的大小通过键盘输入) ,给 数组元素赋值。求数组所有元素的和,求和的结果使用全局变量 sum 存储,同 时对数组中的奇数求和,结果使用局部变量 sum 存储,将两个结果输出。本题 要求体会和理解作用域运算符的概念与基本使用方法, 同时掌握动态内存分配和 释放。 5编写一个函数建立一个单链表。链表结构如下: 链表中节点的结构为: typedef struct Node int data; Node *next; *LinkList; 建立单链表函数的原型为: int CreateList(LinkList int y=x*x; couty=yn; return 0; (2) #include void main() int a,b; a=7; int s=a+b; couta+b=sendl; 7调试下列程序,写出输出结果,并解释输出结果 (1) #include void main() double dd=3.9,de=1.3; double coutrdd+rde,dd+deendl; rdd=2.6; coutrdd,ddendl; de=2.5; coutrde,deendl; (2) #include void main() void fun(int ,int int a,b; fun(2,a); fun(3,b); couta+b=a+bendl; void fun(int m,int (3) #include int int aa5; void main() int a=5; for(int i=0;i5;i+) fun(i)=a+i; for(i=0;i5;i+) coutaai; coutendl; int 参考答案参考答案(非权威,仅仅是我自己的理解,如有错误,请批评指正(非权威,仅仅是我自己的理解,如有错误,请批评指正! ) 第一题: #include void main() float x; coutx; cout它的华氏温度为:9*x/5+32endl; 第二题: #include #define N 1 struct student/定义并声明结构变量 int number; char name20; char sex10; int age; float score2; stuN; void main() coutstu0.number; ; coutstu0.sex; coutstu0.age; coutstu0.score0; coutstu0.score1; coutendl; coutendl; cout你的学号为:stu0.numberendl; cout你的姓名为:endl; cout你的性别为:stu0.sexendl; cout你的年龄为:stu0.ageendl; cout你的 A 课成绩为:stu0.score0endl; cout你的 B 课成绩为:stu0.score1y?x:y; int MAX(int a,int b,int c)return (ab?a:(bc?b:c); voidmain() int x,y,a,b,c; coutx; couty; coutendl; couta; coutb; coutc; coutendl; coutendl; coutMAX(x,y)=MAX(x,y)endl; coutMAX(a,b,c)=MAX(a,b,c)endl; 第四题: #include using namespace std; int sum=0; void main() int N,sum=0; coutN; int *p = new intN; cout请输入 N 个整数到数组 pN中: pi; for(int k=0;kN;k+) :sum += pk; if( pk%2!=0)sum += pk; coutendlendl; cout数组 pN的总和为:; cout:sumendl; coutendlendl; cout数组 pN的奇数和为:; coutsumendl; delete p; 第五题: #include typedef struct Node int data; Node *next; *LinkList; LinkList CreateList(LinkList LinkList temp = NULL; int data; cout 请任意输入 n 个正整数: data; while (n 0) p = new struct Node; p-data = data; p-next = NULL; if (!L)L = temp = p; else temp-next = p; temp = p; cin data; n-; return L; int PrintList(LinkList L) LinkList p = L; cout 链表的全部数据如下: endl; while (p) cout data next; cout next; delete p; void main() LinkListL = NULL; L = CreateList(L,3);/输入链表数据 PrintList( L );/输出链表数据 freeLink( L );/释放单链表的头指针 第六题: (1) 修改前的程序: include /头文件应定义应加上#号 void main() cinx;/使用 x 之前应先申明 x 的内型 int y=x*x; couty=yx; int y=x*x; couty=yendl; (2) 修改前的程序: #include void main() int a,b;/整个过程中 b 都没有赋值,因此 a+b 为一个不确定的数。 a=7; int s=a+b; couta+b=sendl; 修改后的程序: #include void main() int a,b; a=7; b=0; int s=a+b; couta+b=sendl; 第七题: (1) #include void main() double dd=3.9,de=1.3;/定义两个 double 类型的数据 double /分别对 dd 和 de 进行引用声明为 rdd 和 rde /由于引用与其所引用的变量的值永远保持相同。故 rdd+rde=dd+de=3.9+1.3=5.2 /因此输出为:5.2,5.2 coutrdd+rde,dd+deendl; rdd=2.6;/rdd=dd 被赋值为 2.6 coutrdd,ddendl;/rdd=dd=2.6 因此输出为:2.6,2.6 de=2.5;/de=rde 被赋值为 2.5 coutrde,deendl;/de=rde=2.5 因此输出为:2.5,2.5 (2) #include void main() void fun(int ,int /函数原型说明 int a,b;/声明两个 int 类型的数据 a,b fun(2,a);/调用函数 fun,使引用变量 a=2*4=8 fun(3,b);/调用函数 fun,使引用变量 b=3*4=12 couta+b=a+bendl; /输出 a+b 的值 20 void fun(int m,int (3) #include int /声明一个函数来引用数组 a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论