文档库 最新最全的文档下载
当前位置:文档库 › C实验_函数3

C实验_函数3

C实验_函数3
C实验_函数3

实验 函数(3)

一、实验目的:

1、掌握函数的结构及格式

2、掌握函数的调用;

二、实验时间:2011.11

三、实验地点:院计算机中心

四、实验内容与步骤:

程序填空,说明:

(1) 在一对"/**/"之间编写程序,以完成题目的要求;

(2) 不得删改程序中的"/**/"注释和其它代码;

(3) 源程序均在考生文件夹中,务必以原文件名保存程序;

(4) 按Alt+Tab 键,切换考试程序与Turbo C ;按Alt+Enter 键,切换Turbo C

窗口大小。

1.补充程序Ccon011

2.C ,其功能是求下列级数的部分和。

++++++=!!3!2132m x x x x e m

x

例如:当m=100,x=2时,e x =7.389057

-------Ccon0112.C--------------------------------------------------------------------------- #include

main()

{

int i,m;

float x,s,tem;

printf("Input m and x\n:");

scanf("%d%f",&m,&x);

/**/ /**/

for(i=1;/**/ /**/;i++)

{

tem*=x/i;

s+=tem;

}

printf("e**%.2f=%f\n",x,s);

getch();

}

2.补充程序Ccon092.C ,计算s=1+12+123+1234+12345。

-------Ccon092.C--------------------------------------------------------------------------- #define N 5

#include

void main()

{

int t=0,/**/ /**/,i;

for(i=1;i<=N;i++)

{

t=/**/ /**/;

s+=t;

}

clrscr();

printf("\ns=%d\n",s);

getch();

}

3.补充程序Ccon072.C ,计算)!

(!!n m n m p -=,其中m ,n 为整数且0≥>n m 。 -------Ccon072.C--------------------------------------------------------------------------- #include

double fun(unsigned m,unsigned n)

{

unsigned i;

double p=1.0;

for(i=1;i<=m;i++)

/**/ /**/

for(i=1;i<=n;i++)

/**/ /**/

for(i=1;i<=m-n;i++)

p=p/i;

return p;

}

void main()

{

clrscr();

printf("p=%f\n",fun(13,7));

getch();

}

4.补充程序Ccon011.C ,使其计算1

2)(2+-=x x x f 。 -------Ccon011.C--------------------------------------------------------------------------- #include

#include

void main()

{

int x;

/**/ /**/

printf("Input an integer: ");

scanf("%d",&x);

f = /**/ /**/ ;

printf("F(x)=%f\n",f);

}

5.补充程序Ccon012.C ,该程序中用公式)(10001

171513114++-+-?≈∏ 计算圆周率的近似值。

-------Ccon012.C--------------------------------------------------------------------------- #include

void main()

{ double pi=0;

long i, sign=1;

for(i=1;i<=10001;i+=2)

{

pi+=1.0*sign/i;

sign=/**/ /**/;

}

pi*=/**/ /**/;

printf("%f\n",pi);

}

6.补充程序Ccon0310.C ,使其实现用递归算法求平方根。求平方根的迭代公式如下:

)a (210

01x x x +=

-------Ccon0310.C--------------------------------------------------------------------------- #include

main()

{

double x,y;

/**/ /**/

printf("Please input x;\n");

scanf("%lf",&x);

y=mysqrt(x,1.0);

printf("The sqrt of %f=%f\n",x,y);

getch();

}

double mysqrt(double a,double x0)

{

double x1,y;

x1=/**/ /**/

if (fabs(x1-x0)>0.00001)

y=mysqrt(/**/ /**/);

else

y=x1;

return(y);

}

7、补充程序ccon0122.c,使其实现输入一个数,判断是否为素数功能。

#include

#include

void main()

{

int m,i,k;

printf("enter an number\n");

scanf("%d",&m);

k=m/2;

for(i=2;i<=k;i++)

if(m%i==0)

/**/ /**/;

if(/**/ /**/)

printf("%d is a prime number\n",m);

else

printf("%d is not a prime number\n",m);

}

五、实验结果分析:

六、实验心得体会及问题反馈:

C++上机实验报告实验三

实验三类与对象 1.实验目的 1.掌握类的定义和使用 2.掌握类的定义和对象的声明 3.复习具有不同访问属性的成员的访问方式 4.观察构造函数和析构函数的执行过程 5.学习类的组合使用方法 6.使用VC++的debug调试功能观察程序流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 2.实验要求 1.定义一个CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等属性,有两个公有成员函数run、stop。其中,rank为枚举类型CPU_Rank,定义为enum CPU_Rank{P1=1,P2,P3,P4,P5,P6,P7},frequency为单位是MHz的整型数,voltage为浮点型的电压值。观察构造函数和析构函数的调用顺序。 2.定义一个简单的Computer类,有数据成员芯片(cpu)、内存(ram)、光驱(cdrom)等等,有两个公有成员函数run、stop。cpu为CPU类的一个对象,ram为RAM类的一个对象,cdrom 为CDROM类的一个对象,定义并实现这个类。 3. (选做)设计一个用于人事管理的People(人员)类。考虑到通用性这里只抽象出所有类型人员都具有的属性:number(编号)、sex(性别)、birthday(出生日期)、id(身份证号)等等。其中“出生日期”定义为一个“日期”类内嵌子对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、组合。 3.实验内容 1.首先定义枚举类型CPU_Rank,例如enum CPU_Rank{P1=1, P2, P3, P4, P5, P6, P7},再定义CPU类,包含等级(rank)、频率(frequency)、电压(voltage)等私有数据成员,定义成员函数run、stop,用来输出提示信息,在构造函数和析构函数中也可以输出提示信息。在主程序中定义一个CPU的对象,调用其成员函数,观察类对象的构造与析构顺序,以及成员函数的调用。程序名: 2.使用debug调试功能观察程序的运行流程,跟踪观察类的构造函数、析构函数、成员函数的执行顺序。 3.调试操作步骤如下: 1)单击Build | Start Debug | Step Into命令,或按下快捷键F11,系统进入单步执行状态,程序开始运行,一个DOS窗口出现,此时Visual Studio 中光标停在main()函数的入口处; 2)从Debug菜单或Debug工具栏中单击Step Over,此时,光标下移,程序准备执行CPU 对象的初始化; 3)单击Step Into,程序准备执行CPU类的构造函数; 4)连续单击Step Over,观察构造函数; 5)此时程序准备执行CPU对象的run()函数,单击Step Into,程序进入run()成员函数,连续单击Step Over,直到回到main()函数。 6)继续执行程序,参照上述的方法,观察程序的执行顺序,加深对类的构造函数、析构函数、成员函数的执行顺序的认识。 7)再试试Debug菜单栏中别的菜单项,熟悉Debug的各种方法。 4.首先定义CPU类(可使用第二题中的CPU类)、RAM类、CDROM类。再定义Computer类;

C语言实验报告《函数》

C语言实验报告《函数》 C语言实验报告《函数》 学号: __________ 姓名: __________ 班级: __________ 日期: __________ 指导教师: __________ 成绩: __________ 实验四函数 一、实验目的 1、掌握函数定义、调用和声明的方法 2、掌握实参和形参之间的传递方式 3、函数的嵌套调用 二、实验内容 1、写一个函数,将两个字符串连接。(习题 8. 6) 2、编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,在主函数中输入字符串以及输出上述的结果。(习题 8.9)

3、请将实验三中的实验内容三改正后,再改写成函数形式(排序部分)。物理实验报告·化学实验报告·生物实验报告·实验报告格式·实验报告模板 三、实验步骤与过程 四、程序调试记录 一、实验目的 1.观察植物细胞有丝分裂的过程,识别有丝分裂的不同时期。 初步掌握制作洋葱根尖有丝分裂装片的技能。 3.初步掌握绘制生物图的方法。 二、实验原理在植物体中,有丝分裂常见于根尖、茎尖等分生区细胞,高等植物细胞有丝分裂的过程,分为分裂间期和分裂期的前期、中期、后期、末期。可以用高倍显微镜观察植物细胞的有丝分裂的过程,根据各个时期细胞内染色体(或染色质)的变化情况,识别该细胞处于有丝分裂的哪个时期,细胞核内的染色体容易被碱性染料着色。 三、材料用具洋葱根尖、显微镜、载玻片、盖玻片、滴管、镊子、培养皿、铅笔、质量分数为15%的盐酸、体积分数为95%的酒精、质量分数为0.01gml的龙胆紫(或紫药水) 四、实验过程(见书P39) 1.洋葱根尖的培养(提前3—4天) 2.解离: 5min 3.漂洗: 10min 4.染色: 5min

游戏C语言实验报告完整版

游戏C语言实验报告 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录

一、实验目的和要求 (1)使用C语言编写2048这款游戏。 (2)能够正常运行,拥有游戏界面。 (3)能正常进行游戏从开始到结束。? (4)用户操作方便。 二、实验环境、内容和方法 实验内容:1、游戏开始时随机产生两个数值为2/4的方格,其中一个方格置于4个角中的一个位置,另一个方格随机的置于其他位置,其他方格置于0。 2、每次按方向键(w,s,a,d)后,逐行计算移动后的方格值。每行移动的算法是:先将所有值为0的数移至行首。能后从行尾开始逐一和前一个数比较,如果相等则合并这2个格子。 3、每合并一次格子,将其值累计到游戏总分中。 4、一次移动结束后,在所有值为0的方格中随机的分配一个2/4的值。 5、所有方格值不为0且上下、左右相邻的方格都不相等,则游戏结束。 6、2出现的概率为70%,4出现的概率为30%。 实验方法: 通过上机操作完成各内容。 实验环境: 实验用PC机一台,使用操作系统为Windows 7/ Windows 8/ Windows10,安装 vc++或v2008等编译软件 三、程序设计 Y

四、源代码 #include<> #include<> #include<> #include<> #define M 2048 void up(); n"); printf(" 玩家可以选择上(w)下(s)左(a)右(d)四个方向,若棋盘内的数字出现位移或合并,视为有效移动.\n"); printf(" 若有相同的数字则合并,每次有效移动可以同时合并,但不可以连续合并.\n"); printf(" 合并所得的所有新生成数字想加即为该步的有效得分.\n"); printf(" 玩家选择的方向行或列前方有空格则出现位移.\n"); printf(" 每有效移动一步,棋盘的空位(无数字处)随机出现一个数字(依然可能为2或4).\n"); printf(" 棋盘被数字填满,无法进行有效移动,判负,游戏结束.\n"); printf(" 棋盘上出现2048,判胜,游戏结束"); printf("\n\n\n"); printf(" \t\t\t按回车开始游戏.\n"); getchar(\n);

实验3 函数

实验3 函数 一、实验目的 (1).掌握定义函数的方法; (2).掌握函数实参与形参的对应关系以及“值传递”的方式; (3).掌握全局变量和局部变量,动态变量、静态变量的概念和使用方法; 二、实验内容 编写一段程序,用来解决下面提出的问题 (1)用一个函数来实现将一行字符中最长的单词输出。要求主程序从标准输 入设备读入一串字符,并将此字符串传递给该函数,函数处理后将最长 的单词返回给主调函数。 (2)输入10个学生5门课的成绩,分别用函数求: ?每个学生平均分; ?每门课的平均分; 三、实验指导 问题1的提示: ?首先分析从一行字符中,如何区分单词; ?然后确定如何记录一个单词的长度; ?如何返回找到的最长的单词。 问题2的提示:

?分析学生姓名、学生5门课的成绩用什么样的数据结构来保存; ?按学生求平均成绩,相当于求一个成绩表中的某一行的平均值; ?按课程求平均值相当于求成绩表中某一列的平均成绩。 四、预习题(选择题) 1.以下正确的说法是。 A.用户若需要调用标准库函数,调用前必须重新定义 B.用户可以重新定义标准库函数,如若此,该函数将失去原有定义 C.系统不允许用户重新定义标准库函数 D.用户若需要使用标准库函数,调用前不必使用预处理命令将该函数 所在的头文件包含编译,系统会自动调用。 2.以下正确的说法是。 A.实参和与其对应的形参各占用独立的存储单元 B.实参和与其对应的形参共占用一个存储单元 C.只有当实参和与其对应的形参同名时才共占用相同的存储单元 D.形参时虚拟的,不占用存储单元 3.以下正确的函数定义是。 A.double fun(int x , int y) B.double fun(int x ; int y) C.double fun(int x , int y) ; D.double fun(int x,y) 4.若调用一个函数,且此函数中没有return语句,则正确的说法是。 A.该函数没有返回值 B.该函数返回若干个系统默认值 C.能返回一个用户所希望的函数值 D.返回一个不确定的值 5.以下不正确的说法是。 A.实参可以是常量,变量或表达式 B.形参可以是常量,变量或表达式

c语言实验报告

C语言实验报告 说明 1,所有程序均用VC6.0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。 实验2 数据类型、运算符和表达式 一、实验目的: (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。 (2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。 (3)掌握C语言的输入和输出函数的使用 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 三、程序调试与问题解决: (1)输人并运行下面的程序 #include void main() { char c1,c2; c1='a'; c2='b'; printf("%c %c\n",c1,c2); } ○1运行此程序。 ○2在上面printf语句的下面再增加一个printf语句。

printf("%d %d\n",c1,c2); 再运行,并分析结果。 输出结果如图,编译成功,无错误。 ○3将第3行改为 int c1,c2; 再运行,并分析结果。 ○4再将第4、5行改为 c1=a; c2=b; 再运行,并分析结果。 a,b没有定义,编译报错。 ○5再将第4、5行改为 c1=‘’a‘’; c2=‘’b‘’; 再运行,并分析结果。 ○6再将第4、5行改为 c1=300; c2=400; 再运行,并分析结果。 以字符型输出时,输出的将是300,400对应的字符。 (2)输人并运行教材第3章习题3. 6给出的程序 #include main () { char c1='a',c2='b',c3='c',c4='\101',c5='\116';

C语言实验报告合集

《C语言程序设计》实验报告 专业:班级:学号:学生姓名:实验日期:成绩:指导老师: 实验单元一程序基本结构设计 一、实验题目 实验一熟悉VC++环境 二、实验目的 1. 熟悉C程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h" int main() {int a,b,sum; a=2; b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum); return 0; } 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

《C语言程序设计》实验报告 专业:班级:学号:学生姓名: 实验日期:成绩:指导老师: 实验单元一程序基本结构设计 一、实验题目 实验二顺序结构程序设计 二、实验目的 (1)掌握C语言数据类型以及变量的声明。 (2)掌握C语言的赋值运算符、赋值表达式、赋值语句。 (3)掌握C语言的整型和字符型的混合运算。 (4)掌握C语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f,请编写程序把它转换为摄氏温度c。 已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3.将字符串“China”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母 替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

实验3(函数)

实验三 函数 一、实验目的 (1)、学习函数的声明与定义 (2)、函数的调用 (3)、了解函数的调用过程 (4)、理解函数参数传递机制 (5)、掌握函数重载、参数带有缺省值、内联函数定义、调用和工作机制 (6)、体会函数重载、参数带有缺省值、内联函数作用 二、实验内容及步骤 1、 区分函数定义与声明? 2、 函数调用形式有哪些? 3、 函数的调用过程是怎样的? 4、 什么是内联函数?特点是什么? 5、 重载函数通过什么来区分?作用是什么? 6、 定义带有默认形参函数应注意什么? 7、 制转换:利用函数编写一个输入一个8位二进制数,将其转换为十进制数输出的函数。 例如:11012 = 1(23) + 1(22) + 0(21) + 1(20) = 1310 所以,如果输入1101,则应输出13 8、 编写程序求π的值 其中arctan 用如下形式的级数计算: 直到级数某项绝对值不大于10-15为止;π和x 均为double 型。 9、寻找并输出11~999之间的数m ,它满足m 、 m 2和m 3 均为回文数。 – 回文:各位数字左右对称的整数。 例如:11满足上述条件 112=121,113=1331。 提示:用10取余的方法,从最低位开始,依次取出该数的各位数字。按反序重新构成新的数,比较与原数是否相等,若相等,则原数为回文。 10、编写、输入、检查、调试和运行下列程序,掌握const 使用方法,并区分#define 。 ①、编写程序,实现复制字符串的自定义版 char *strcpy(char *dest,const char *source); //该函数返回dest 的值,即字符串首地址 ②、编写程序,实现比较字符串的自定义版 int strcmp(const char *str1,const char *str2); //str1>str2 返回正数

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

C语言实验报告

《C语言程序设计实训1》报告 设计题目:基于数组的学生信息管理系统学院名称:信息科学技术学院

专业:计算机科学与技术 班级: 姓名:学号 指导教师: 提交日期: 2014年12月22日 一、实验内容 编写并调试程序,实现学校各专业班级学生信息的管理。10个学生的信息存储在文件中。在头文件中定义学生信息的结构体类型,包括: 学号、姓名、专业、班级、3门成绩;和符号常量N(学生数)。(同一班 级的学生可以属于不同的专业,同一专业的学生可以属于不同的班级)

二、实验要求 (1)main函数:以菜单形式将各项功能提供给用户,根据用户的选择, 调用相应的函数。 STU student[N]; 函数 #include "" void main() { int i,n,id,num,m,sub,corse;将从文件中读取10个人的信\n"); printf("\n2.您将从文件中随机读取第n(0<=n<=9)个学生的信息\n") printf("\n3.您将根据某一班级某一专业总分超过多少进行查找\n"); printf("\n4.您将求某一课程分数最高的学生序号的下标\n"); printf("\n5.您将对平均成绩由低到高进行简单选择排序法\n ");

printf("\n6.您将对某一个班的平均成绩由低到高进行起泡排序法\n"); printf("\n7.您将对某门专业的学生的某门课程成绩由低到高进行直接插入排序法\n"); printf("\n8.您将把学生信息存入文件\n"); scanf("%d",&id); getchar(); switch(id){ case 1: { printf("\n从文件中读取信息\n"); Input(students,sizeof(students)/sizeof(STU));Sort_select 函数 #include "" void Sort_select(STU * p) { int i,j,k; float sum,ave[N],t; STU tem; for(i=0;i

C语言实验报告参考答案原

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include<> main() {

int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } (2) #include<> main() { int a,b,c,d; float x; a=160; b=46; c=18;

d=170; x=(a+b)/(b-c)*(c-d); printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b 时,将0赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7

C语言实验报告合集

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验一 熟悉VC++环境 二、实验目的 1. 熟悉C 程序编辑环境,掌握主要菜单项的作用。 2. 熟悉编写一个C 程序的上机过程(编辑、编译、链接和运行)。 3. 熟悉C 程序的基本输入输出语句 三、实验内容 1. 书本第一章的例一程序。 2. 由键盘输入两个整数,求得它们的和并输出至屏幕。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2.软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: #include "stdio.h"int main(){int a,b,sum;a=2;b=3; sum=a+b; printf("007zhang\nsum=%d\n",sum);return 0;} 运行结果为:

2.源程序代码: 运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进行简单总结)

f r 《C 语言程序设计》实验报告 专业: 班级: 学号: 学生姓名: 实验日期: 成绩: 指导老师: 实验单元一 程序基本结构设计 一、实验题目 实验二 顺序结构程序设计 二、实验目的 (1)掌握C 语言数据类型以及变量的声明。 (2)掌握C 语言的赋值运算符、赋值表达式、赋值语句。(3)掌握C 语言的整型和字符型的混合运算。(4)掌握C 语言的输入、输出函数的使用格式。 三、实验内容 1.有人用温度计测量出华氏温度,现输入华氏温度f ,请编写程序把它转换为摄氏温度c 。已知华氏温度和摄氏温度有如下关系:c=5/9(f-32)。 2.输入长方形的长和宽,编程求该长方形的周长和面积。(要求周长和面积保留两位小数) 3. 将字符串“China ”译成密码,译码规则是:用字母表顺序中原来字母后面的第5个字母替代原来的字母。请编写程序实现译码并输出。 四、实验环境 1.硬件环境:当前所有电脑硬件环境均支持。 2. 软件环境:Visual C++ 6.0 五、实验代码及结果(程序运行结果请以截屏图给出) 1.源程序代码: 运行结果为: 2.源程序代码: 运行结果为: 3.源程序代码:运行结果为: 六、实验心得(请对每个实验题目编程及调试运行中遇到的问题及解决方案进

实验3(1)

实验二结构化程序设计实验1 实施时间:2014-10-22(第八周)实验学时:2学时 实验类型:设计 实验目的及要求: 1. 掌握赋值语句的使用方法。 2. 掌握各种数据类型的输入输出方法,能够正确使用各种格式转换符。 3. 进一步掌握编写程序和调试程序的方法。 实验内容: 1.输入以下程序:

(1)运行此程序并分析结果。 (2)将10~14行修改为如下代码,再次运行程序,分析结果。 2.设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球提及、圆柱体积。编程,要求用scanf输入数据,输出各项计算结果。且输出时要有文字说明提示,取小数点后两位数字。 3.编程将“China”译成密码,密码规则是:用原来字母后面第四个字母代替原来的字母。例如“China”应译成“Glmre”。要求分别用printf和putchar函数输出5个密码字符。教学方法:讲解与演示 实验指导过程: (一)预备知识 一、输入输出函数 ·C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数来实现的。 在使用系统库函数时,要用预编译命令#include将头文件“stdio.h”包括到用户源文件中。1.printf()函数:格式化输出函数,它能够按用户指定的格式输出多种类型的数据。 ·一般格式为:printf(”格式控制字符串”,输出列表); ·printf函数的参数包括两部分: (1)“格式控制”是用双撇号括起来的字符串,也称“转换控制字符串”,它包括三种信息。

“%”和格式字符组成,如%d、%f等。它的作用是将输出的数据转换为指定的格式输出。格式说明总是由“%” ②普通字符。普通字符即需要原样输出的字符。例如上面printf函数中双撇号内的逗号、空格和换行符。 ③转义字符:无法用单个字符描述的一些特定操作,如\n(换行)、\t(跳到下一个水平制表位)等。 (2) “输出列表” 2.scanf()函数:格式化输入函数,按用户指定格式从键盘上把数据输入到指定的变量中。·一般格式为:scanf(“格式控制字符串”,地址列表); ·“格式控制”通常只需格式说明而不包含其他字符,“输入列表”是需要输入的变量地址。3.格式字符串由%和格式字符组成,还可以加入一些可选项。 一般形式为:% [*][输入数据宽度][长度] 格式字符 (1)格式字符:指定输入数据的类型。 (2)*:表示该输入项,读入后不赋予相应的变量,即跳过该输入值。 (3)输入宽度:用十进制整数指定输入的宽度(即字符数)。

C语言实验报告

实验一进制转换 一、实验要求 采用模块化程序设计完成进制转换。由键盘输入一个十进制正整数,然后将该数转换成指定的进制数(二、八、十六) 形式输出。指定的进制由用户输入。 二、实验目的 1、熟悉C 环境的安装、使用。 2、承上启下,复习《C 程序设计》等基础课程的知识。 3、掌握C 语言编程的方法。 三、预备知识 1、VC6.0的安装与使用。 2、C 程序设计基础知识。 四、实验内容 采用模块化程序设计完成进制转换。 五、程序框图 六、程序清单 1. 编写主函数:输入需转换的数与转换的进制 2. 编写子函数 (1)函数转换为除16进制以外的进制转换算数编程,使用while 循环实现计算进制的转换,并输出转换后的数字; (2)函数转换为16进制,用while 函数实现16进制转换的计算并输出16进制转换后的数据; 3. 编写数组,关于16进制的一系列字符 4. 编写主函数加入do while 使函数可以循环。

七、实验步骤 #include char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; void fun(int n, int m) { int i=-1, a[100]; if(m!=16) { while(n) { a[i++]=n%m; n=n/m; } while(i!=-1) printf("%d",a[--i]); printf("\n"); } else { while(n) { a[++i]=num[n%16]; n/=16; } while(i!=-1) printf("%c",a[i--]); printf("\n"); } } int main() { int a, c; char cIn = 0; do { printf("\n输入正整数,转换的进制:"); scanf("%d %d",&a,&c); fun(a,c); printf("Go on? (Y/N):"); cIn = getchar( ); if(cIn == 'N' || cIn == 'n') return 0; } while(1);fun(a,c);

C实验_函数3

实验 函数(3) 一、实验目的: 1、掌握函数的结构及格式 2、掌握函数的调用; 二、实验时间:2011.11 三、实验地点:院计算机中心 四、实验内容与步骤: 程序填空,说明: (1) 在一对"/**/"之间编写程序,以完成题目的要求; (2) 不得删改程序中的"/**/"注释和其它代码; (3) 源程序均在考生文件夹中,务必以原文件名保存程序; (4) 按Alt+Tab 键,切换考试程序与Turbo C ;按Alt+Enter 键,切换Turbo C 窗口大小。 1.补充程序Ccon011 2.C ,其功能是求下列级数的部分和。 ++++++=!!3!2132m x x x x e m x 例如:当m=100,x=2时,e x =7.389057 -------Ccon0112.C--------------------------------------------------------------------------- #include main() { int i,m; float x,s,tem; printf("Input m and x\n:"); scanf("%d%f",&m,&x); /**/ /**/ for(i=1;/**/ /**/;i++) { tem*=x/i; s+=tem; } printf("e**%.2f=%f\n",x,s); getch(); }

2.补充程序Ccon092.C ,计算s=1+12+123+1234+12345。 -------Ccon092.C--------------------------------------------------------------------------- #define N 5 #include void main() { int t=0,/**/ /**/,i; for(i=1;i<=N;i++) { t=/**/ /**/; s+=t; } clrscr(); printf("\ns=%d\n",s); getch(); } 3.补充程序Ccon072.C ,计算)! (!!n m n m p -=,其中m ,n 为整数且0≥>n m 。 -------Ccon072.C--------------------------------------------------------------------------- #include double fun(unsigned m,unsigned n) { unsigned i; double p=1.0; for(i=1;i<=m;i++) /**/ /**/ for(i=1;i<=n;i++) /**/ /**/ for(i=1;i<=m-n;i++) p=p/i; return p; } void main() { clrscr(); printf("p=%f\n",fun(13,7));

C语言实验报告(四)

C语言实验报告(四) 一、实验目的 1.掌握C语言中函数和模块 2.掌握怎样定义函数,如何调用或使用函数,如何声明函数 3.掌握函数的参数,了解在函数调用时,参数是如何传递的 4.在使用函数的过程中怎样确定函数的参数 5.如何使用局部变量和全局变量 二、实验内容 1. 偶数判断 描述: 编写一个用户自定义函数,该函数有一个整型参数,函数的功能是:当这个整型数的值是偶数时,函数的返回值为0,当这个整型数的值是奇数时,返回值为1 。编写一个程序,从键盘输入m个整数,分别调用用户自定义函数来判断这m个整数的奇偶性。 输入: 第一行为一个整数m,表示要判断m个整数的奇偶性;紧接着是m行,每行一个整数。 输出:有m行,分别对应输入的第2到第m+1行的整数的奇偶性样例输入: 2 1 6 样例输出: 奇数 偶数

·程序代码: #include"stdio.h" int isEven(int a) { if(a%2==0) return 1; else return 0; } int main() { int m,i,b; scanf("%d",&m); for(i=1;i<=m;i++) { scanf("%d",&b); if(isEven(b)==1) printf("偶数\n"); else printf("奇数\n"); } return 0; } 2.温度转换 描述: 编写一个用户自定义函数,函数的功能是:将华氏温度转F换为摄氏温度C。转换公式为:C=5*(F-32)/9。编写一个程序,输出指定范围的华氏温度与摄氏温度的对照表,其中华氏温度步长为4。 输入: 两个空格隔开的整数n,m(且0

实验3

信号与系统 班级: 学号: 姓名:

实验三 连续时间信号的频域分析 一、 实验目的 1.熟悉傅里叶变换的性质 2.熟悉常见信号的傅里叶变换 3.了解傅里叶变换的MATLAB 实现方法 二、 实验原理 傅里叶变换是信号分析 的最重要的内容之一。从已知信号()f t 求出相应的频谱函数 ()F j ω的数学表示为: ()F j ω()j t f t e dt ω∞ --∞=? ()f t 的傅里叶变换存在的充分条件是()f t 在无限区间内绝对可积,即()f t 满足下式: ()f t dt ∞ -∞<∞? 但上式并非傅里叶变换存在的必要条件。在引入广义函数概念之后,使一些不满足绝对可积 条件的函数也能进行傅里叶变换。 傅里叶反变换的定义为:1 ()()2j t f t F j e d ωωωπ∞ -∞=?。 在这一部分的学习中,大家都体会到了这种数学运算的麻烦。在MATLAB 语言中有专 门对信号进行正反傅里叶变换的语句,使得傅里叶变换很容易在MATLAB 中实现。在 MATLAB 中实现傅里叶变换的方法有两种,一种是利用MATLAB 中的Symbolic Math Toolbox 提供的专用函数直接求解函数的傅里叶变换和傅里叶反变换,另一种是傅里叶变换 的数值计算实现法。下面分别介绍这两种实现方法的原理。 1.直接调用专用函数法 ①在MATLAB 中实现傅里叶变换的函数为: F=fourier( f ) 对f(t)进行傅里叶变换,其结果为F(w) F =fourier(f,v) 对f(t)进行傅里叶变换,其结果为F(v) F=fourier( f,u,v ) 对f(u)进行傅里叶变换,其结果为F(v) ②傅里叶反变换 f=ifourier( F ) 对F(w)进行傅里叶反变换,其结果为f(x) f=ifourier(F,U) 对F(w)进行傅里叶反变换,其结果为f(u) f=ifourier( F,v,u ) 对F(v)进行傅里叶反变换,其结果为f(u) 由于MATLAB 中函数类型非常丰富,要想了解函数的意义和用法,可以用mhelp 命令。 如在命令窗口键入:mhelp fourier 回车,则会得到fourier 的意义和用法。 注意: (1)在调用函数fourier( )及ifourier( )之前,要用syms 命令对所有需要用到的变量(如t,u,v,w ) 等进行说明,即要将这些变量说明成符号变量。对fourier( )中的f 及ifourier( )中的F 也要用 符号定义符sym 将其说明为符号表达式。

C语言实验报告范文

实验名称:指针及其应用日期:得分:指导老师: 专业:班次:姓名:学号: 实验目的 (1)掌握变量的指针及其基本用法。 (2)掌握一维数组的指针及其基本用法。 (3)掌握指针变量作为函数的参数时,参数的传递过程及其用法。一.实验内容( 1)运行以下程序,并从中了解变量的指针和指针变量的概念。 (2)运行以下程序,观察 &a[0] 、&a[i] 和 p 的变化,然后回答以下问题: 1.程序的功能是什么? 2.在开始进入循环体之前, p 指向谁? 3.循环每增加一次, p 的值(地址)增加多少?它指向谁? 4.退出循环后, p 指向谁? 5.你是否初步掌握了通过指针变量引用数组元素的方法?( 3)先分析以下程序的运行结果,然后上机验证,并通过此例掌握通过指针变量引用数组元素的各种方法。 ( 4)编写函数,将 n 个数按原来的顺序的逆序排列(要求用指针实现),然后编写主函数完成: ①输入 10 个数; ②调用此函数进行重排; ③输出重排后的结果。 二.分析与讨论 ( 1)指针的定义方法,指针和变量的关系。 定义方法: 数据类型 * 指针变量名 ; 如定义一个指向 int 型变量的指针—— int *p; 则我们可以继续写如下代码—— int a = 4; p = &a; printf("%d", *p); 在这里,我们定义了一个变量a,我们把它理解为内存空间连续的 4个字节(int 型占用 4字节),则这 4个字节的空间保存着一个数 4。&是取地址符号,即把变量a的地址(即这4个字节的首地址)赋给指针p (记住指针p的类型和变量a的类型要保持一致,否则的话,要进行类型转换)。这样子,指针p就保 存着变量a的地址。我们如果把指针p当做内存空间里面另外一个连续的 4个字节,那么这4个字节保存的数就是变量a的地址。printf("%d",*p)和 printf("%d",a)的结果是一样的。这里的*是取变量符号(与&刚好作用相反,通过变量的地址找到变量),与定义时 int *p 的*号作用不同(定义时的 *表示该变量是个指针变量,而非是取它指向的变量)。 ( 2)数组和指针的关系。 指针与数组是 C 语言中很重要的两个概念,它们之间有着密切的关系,利用这种

c语言实验报告1

C语言程序设计报告 日

程序主要内容 任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。 程序如下: #include #include #include int Magic(int x); int Answer(); main() { int guess,answer,counter=1; do{ printf("%d*%d=",Magic(1),Magic(2)); answer=Magic(1)*Magic(2); if(Answer()==answer) { printf("Right\n"); break; } else printf("Wrong!,please try again\n"); }while(counter>=1); } int Magic(int m)

int x,int y; srand(time(NULL)); x=rand()%10+1; y=rand()%10+1; if(m==1) return x; if(m==2) return y; } int Answer() { int n; scanf("%d",&n); return n; } 任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。 :程序如下: #include #include #include int Magic(int x); int Answer(); int Exam(); main() { int n; n=Exam(); if(n==0) printf("Right\n"); else if(n==1) printf("Wrong!You have tried

实验3 函数和编译预处理

实验3 函数和编译预处理 实验目的 1.掌握函数的定义和调用的方法。2.学会使用递归方法进行程序设计。3.掌握变量的作用域与存储类别。4.学会使用函数重载解决实际问题。5.学会使用宏 实验内容 1.阅读并运行程序,写出运行结果。 (1)#include using namespace std; int fun(int x) { int prime=1; if(x==0||x==1) prime=0; for(int i=2;i using namespace std; void output1(int x) { if(!x) return; cout<<(x%10)<<"\t"; output1(x/10); } void output2(int x) { if(!x) return; output2(x/10); cout<<(x%10)<<"\t"; } int main(void) { int a; cout<<"请输入大于0的正整数:"; cin>>a; output1(a); cout< using namespace std; void fun(void) { int a=1,b=2; static int c; //A a++;

相关文档