C程序上机实验报告(西电版)
- 格式:doc
- 大小:72.50 KB
- 文档页数:12
安徽建筑工业学院信息网络中心实验报告课程名称:程序设计基础—C程序实验指导教师:专业:班级:姓名:学号:201 至201 学年第学期实验1 C程序运行环境、数据类型、运算符和表达式一、实验目的1.掌握Turbo C集成环境的进入与退出、Turbo C集成环境各种窗口的切换,了解Turbo C集成环境的设置。
2.掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。
3.学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式。
4.掌握C语言源程序的结构特点与书写规范。
二、实验要求1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.上机调试程序。
按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
3.详细记录数据的输入、输出信息,按要求写出实验报告。
三、实验内容1.开机;进入Turbo C集成工作环境,了解Turbo C集成工作环境及其菜单的使用,输入如下C语言源程序,并以ex1.C存盘。
/*ex1.c*/#include <stdio.h>main(){printf("Hello!\n");printf("This is C program!\n");}试编译、连接、运行该程序,并按Alt+F5查看运行结果。
运行结果是:2.输入并调试运行以下程序,查看运行结果(由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。
main(){printf("char\t%d bytes\n",sizeof(char));printf("short\t%d bytes\n",sizeof(short));printf("int\t%d bytes\n",sizeof(int));printf("long\t%d bytes\n",sizeof(long));printf("float\t%d bytes\n",sizeof(float));printf("double\t%d bytes\n",sizeof(double));}运行结果是:3.输入并调试运行以下程序。
C上机实验报告实验实验报告:C语言上机实验一、实验目的通过编写C语言程序,掌握C语言的基本语法及应用,提高对C语言程序设计的理解与掌握。
二、实验内容1.编写程序,计算并输出n的阶乘。
2.编写程序,判断输入的年份是否为闰年。
3.编写程序,判断输入的数是否为质数。
4.编写程序,判断输入的字符串是否为回文字符串。
5.编写程序,实现选择排序并输出排序结果。
三、实验过程及结果1.阶乘计算程序```c#include <stdio.h>//函数声明int factorial(int n);int maiint n;printf("请输入一个整数n:");scanf("%d", &n);printf("%d的阶乘为:%d\n", n, factorial(n)); return 0;int factorial(int n)if (n == 0 , n == 1)return 1;} elsereturn n * factorial(n-1);}```实验结果:程序能够正确计算并输出n的阶乘。
2.闰年判断程序```c#include <stdio.h>int isLeapYear(int year);int maiint year;printf("请输入一个年份:");scanf("%d", &year);if (isLeapYear(year))printf("%d是闰年\n", year);} elseprintf("%d不是闰年\n", year);}return 0;int isLeapYear(int year)if (year % 400 == 0 , (year % 4 == 0 && year % 100 != 0)) return 1;} elsereturn 0;}```实验结果:程序能够正确判断输入的年份是否为闰年。
C 语言上机实习2. C 基本程序设计与调试 2.1使用选择结构的程序设计 【实验目的】1. 进一步掌握各种表达式的使用。
2. 利用if 语句实现选择结构。
3. 利用switch 语句实现多分支选择结构。
【实验内容】1. 计算下列分段函数值:其他及且且321003-01656)(222≠≠<<=≠<⎪⎩⎪⎨⎧--+--+=x x x x x x x x x x x x f具体要求如下:1) 用if 语句实现分支。
2) 用scanf 函数输入,且输入前输入后有提示。
【算法与流程图】算法:采用分支结构,根据x 的不同范围进行对应的函数运算。
流程图如下:开始x<0且x ≠-30<=x<10且x ≠3及x ≠2f(x)=x²+x-6f(x)=x²-5x+6f(x)=x²-x-1输出F(x)结束输入x否是否是【程序清单】#include <stdio.h> int main() { float x,y; printf("x="); scanf("%f",&x);if ((x<0)&&(x!=-3)){y=x*x+x-6;}else if ((x>=0)&&(x<10)&&(x!=2)&&(x!=3)){y=x*x-5*x+6;}elsey=x*x-x-1;printf("f(x)=%f",y);}【运行结果】【调试分析和体会】题目考查了选择结构分支语句。
2.2循环结构的程序设计【实验目的】1.进一步练习选择结构的程序设计及实现循环结构的三种方法。
2.练习并掌握选择结构与循环结构的嵌套,调试与修改程序。
【实验内容】1.计算并输出500以内最大的10个素数及其之和。
具体要求如下:1)输出要有文字说说明,并同时输出各素数。
C语言程序设计上机实验报告(精选5篇)第一篇:C语言程序设计上机实验报告黔南民族师范学院 C语言程序设计上机实验报告系部:计算机科学系年级:2013 级班级:姓名:学号:实验时间:实验成绩:2013年月日实验三顺序结构程序的设计一实验名称:顺序结构程序的设计二.实验环境:windows XP系统,VC++6.0软件三.实验目的:四.实验内容:五.算法描述流程图六.源程序七.测试数据及运行结果八.实验心得实验成绩评分要求1、原创性发现抄袭或雷同成绩为0分2、正确性程序正确60分3、可读性格式清楚,有注释,变量命名规范20分4、健壮性对特殊测试数据有考虑有测试10分5、效率程序运行效率高10分第二篇:《c语言程序设计》上机实验报告要求《c语言程序设计》上机实验报告要求1.实验环境:软件系统:使用的软件环境硬件系统:机型说明2.实验目的:掌握如何编辑、编译、链接调试运行c程序3.实验内容:(1)掌握顺序结构程序设计.P26 ,p49,p62 3.2~3.7(2)掌握选择结构程序设计(if 和switch语句的用法)p4.2~(3)循环结构程序设计(while, dowhile,for语句的用法)。
(4)掌握数组的定义、输入和输出的方法,字符数组、字符串函数的使用。
(5)了解函数的定义,熟悉函数实参与形参的“值传递”方式,掌握函数的嵌套调用和递归调用方法。
(6)熟悉指针含义及其使用。
(7)熟悉结构体和共用体的使用。
(8)熟悉文件的使用。
4.实验要求:(1)输入编写的源程序,检查程序有无错误(语法和逻辑错误),有则改之。
(2)编译和连接,仔细分析编译信息,如有错误应找出原因并改正。
(3)运行程序,输入数据,分析结果。
5.实验结果:输出程序清单和运行结果。
(要求把原题内容,调试好的程序和其结果一并打印),6.实验体会分析运行结果,本次调试程序取得的经验(遇到的问题,解决的方法等)。
第三篇:C程序设计上机实验报告10C程序设计实验报告实验名称:指针与数组学时安排:2课时实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1.理解指针、地址和数组间的关系;2.掌握通过指针操作数组元素的方法;3.掌握数组名作为参数的编程方式。
c语言上机实验报告《C语言上机实验报告》在计算机科学领域,C语言是一种非常重要的编程语言,它被广泛应用于系统软件开发、嵌入式系统设计以及高性能计算等领域。
为了更好地掌握C语言的基本语法和编程技巧,我们进行了一次C语言上机实验,以下是实验报告。
实验目的:1. 熟悉C语言的基本语法和数据类型;2. 掌握C语言的控制结构,如条件语句和循环语句;3. 学习C语言的函数定义和调用;4. 掌握C语言的数组和指针的使用。
实验内容:1. 编写一个简单的C程序,实现从键盘输入两个整数,然后输出它们的和、差、积和商;2. 编写一个C程序,实现计算n的阶乘;3. 编写一个C程序,实现对一个整型数组进行排序;4. 编写一个C程序,实现对一个字符串数组进行排序。
实验步骤:1. 首先,我们编写了一个简单的C程序,使用了scanf函数从键盘输入两个整数,然后使用printf函数输出它们的和、差、积和商。
通过这个实验,我们熟悉了C语言的输入输出函数的使用。
2. 接着,我们编写了一个C程序,实现了计算n的阶乘的功能。
在这个实验中,我们学会了如何定义和调用函数,以及如何使用循环语句。
3. 然后,我们编写了一个C程序,实现了对一个整型数组进行排序的功能。
在这个实验中,我们掌握了C语言的数组的使用方法,并且学会了一种简单的排序算法。
4. 最后,我们编写了一个C程序,实现了对一个字符串数组进行排序的功能。
通过这个实验,我们进一步掌握了C语言的数组和指针的使用方法。
实验总结:通过这次C语言上机实验,我们更加熟悉了C语言的基本语法和编程技巧,掌握了C语言的控制结构、函数定义和调用、数组和指针的使用方法。
这些知识和技能对我们今后的学习和工作都将非常有帮助。
希望通过不断的实践和实验,我们能够更加熟练地掌握C语言,为以后的编程工作打下坚实的基础。
第三次上机报告一、题目1. 创建一个Person类,该类中有字符数组,表示姓名、街道地址、市、省和邮政编码。
其功能有修改姓名、显示数据信息。
要求其功能函数的原型放在类定义中,构造函数初始化每个成员,显示信息函数要求把对象中的完整信息打印出来。
其中数据成员为保护的,函数为公有的。
2. 编写设计一个People(人)类。
该类的数据成员有年龄(age)、身高(height)、体重(weight)和人数(num),其中人数为静态数据成员,成员函数有构造函数(People)、进食(Eating)、运动(Sporting)、睡眠(Sleeping)、显示(Show)和显示人数(ShowNum)。
其中构造函数由已知参数年龄(a)、身高(h)和体重(w)构造对象,进食函数使体重加1,运动函数使身高加1,睡眠函数使年龄、身高、体重各加1,显示函数用于显示人的年龄、身高、体重,显示人数函数为静态成员函数,用于显示人的个数。
假设年龄的单位为岁,身高的单位为厘米,体重的单位为市斤,要求所有数据成员为protected访问权限,所有成员函数为public 访问权限,在主函数中通过对象直接访问类的所有成员函数。
3. 定义一个描述学生(Student)基本情况的类,数据成员包括姓名(name)、学号(num)、数学成绩(mathScore)、英语成绩(englishScore)、人数(count)、数学总成绩(mathTotalScore)和英语总成绩(englishTotalScore)。
其中姓名定义为长度为18的字符数组,其他数据成员类型为整型,数学总成绩、英语总成绩和人数为静态数据成员,函数成员包括构造函数、显示基本数据函数(ShowBase)和显示静态数据函数(showStatic),其中构造函数由已知参数姓名(nm)、学号(nu)、数学成绩(math)和英语成绩(english)构造对象,显示基本数据函数用于显示学生的姓名、学号、数学成绩、英语成绩,显示静态数据函数为静态成员函数,用于显示人数、数学总成绩、英语总成绩;要求所有数据成员为private访问权限,所有成员函数为public访问权限,在主函数中定义若干个学生对象,分别显示学生基本信息,以及显示学生人数,数学总成绩与英语总成绩。
c上机实验报告C上机实验报告在计算机科学领域,上机实验是非常重要的一环。
通过实际操作和编程,学生能够更深入地理解和应用所学的知识。
本篇文章将分享我在C语言上机实验中的一些经验和心得。
一、实验目的和背景C语言是一门广泛应用于系统编程和嵌入式设备开发的高级编程语言。
通过学习C语言,我们可以掌握基本的编程思想和技巧,为后续的学习和实践打下坚实的基础。
二、实验内容和步骤1. 实验一:基本语法和数据类型在这个实验中,我们需要编写一个简单的程序,实现输入两个整数并计算它们的和、差、积和商。
通过这个实验,我们熟悉了C语言的基本语法和数据类型的使用。
2. 实验二:条件语句和循环结构在这个实验中,我们需要编写一个程序,判断一个输入的整数是否为质数。
通过使用条件语句和循环结构,我们可以有效地解决这个问题,并加深对这些语法结构的理解和应用。
3. 实验三:函数和数组在这个实验中,我们需要编写一个程序,实现对一个整数数组进行排序。
通过使用函数和数组,我们可以将排序的过程封装成一个函数,并对不同大小的数组进行排序。
这个实验让我们更加熟悉函数和数组的使用。
4. 实验四:指针和动态内存分配在这个实验中,我们需要编写一个程序,实现对一个字符串的逆序输出。
通过使用指针和动态内存分配,我们可以有效地操作字符串,并且在内存管理方面有了更深入的了解。
三、实验心得和收获通过这些上机实验,我对C语言的理解和应用能力得到了大幅提升。
以下是我在实验中的一些心得和收获:1. 熟悉C语言的基本语法是非常重要的。
在实验一中,我发现只有对基本语法有了扎实的掌握,才能更好地进行后续的实验。
2. 理解和使用条件语句和循环结构是编程的基本功。
在实验二中,我学会了如何使用条件语句和循环结构来解决实际问题,这对于以后的编程工作非常有帮助。
3. 函数和数组是C语言中常用的工具。
在实验三中,我通过编写排序函数,掌握了函数和数组的使用方法,并且意识到了函数的封装性和代码的复用性的重要性。
C程序设计实验报告实验名称:嵌套循环结构程序设计学时安排:2学时实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1. 熟练掌握嵌套循环程序设计;2. 掌握C程序的调试方法。
二、实验设备介绍软件需求: Visual C++ 6.0或CFree3.5以上版本硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU 处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。
三、实验内容1. 输入1 个正整数n,计算s 的前n 项的和(保留4 位小数)。
s = 1 + 1/2! +....+ 1/n! Enter n:10sum=1.71832. 程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat 次下列运算:输入2 个正整数m 和n(1<=m,n<=1000),输出m 到n 之间的所有满足各位数字的立方和等于它本身的数。
输出语句:printf("%d\n", i); 例:括号内是说明Enter repeated times and m、n: 2 (repeat=2)100 400 (m=100, n=400)153 (1*1*1+5*5*5+3*3*3=153)370 (3*3*3+7*7*7=370)371 (3*3*3+7*7*7+1*1*1=371)1 100 (m=1, n=100)13. 程序填空,不要改变与输入输出有关的语句。
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入2个正整数m和n(1<=m, n<=500),统计并输出m和n之间的素数的个数以及这些素数的和。
程序代码aa1.mft = 30;M=1;B=5;K=20; %系统参数tspan = [0,5]; %设置仿真开始和结束时间x0 = [0,0]; %系统初始值,零初始条件options = odeset('AbsTol',1e-6); %设置仿真计算精度[t,x] = ode113('xt4odefile',tspan,x0,options);%微分方程求解,计算位移x(:,1)和速度x(:,2)a = 1/M*(ft-B*x(:,2)-K*x(:,1)); %计算加速度i = 1;while (abs(a(i))>0.0001|(abs(x(i,2))>0.0001))i = i+1;enddisp('稳态时系统的位移、速度和加速度及对应的时间分别为:'); result = sprintf('位移d=%6.4f\n',x(i,1)); %显示计算结果disp(result);result = sprintf('速度v=%8.6f\n',x(i,2));disp(result);result = sprintf('加速度a=%9.6f\n',a(i));disp(result);result = sprintf('时间t=%4.2f\n',t(i));disp(result);d = x(:,1);subplot(311),plot(t,d); %绘制时间-位移曲线xlabel('时间(秒)');ylabel('位移(米)');title('时间-位移曲线');grid;v = x(:,2);subplot(312),plot(t,v); %绘制时间-速度曲线xlabel('时间(秒)');ylabel('速度(米/秒)');title('时间-速度曲线');grid;subplot(313),plot(d,v); %绘制位移-速度曲线xlabel('位移(米)');ylabel('速度(米/秒)');title('位移-速度曲线');grid;其中xt4odefile函数为:functionxt = xt4odefile(t,x)ft = 30;M=1;B=5;K=20;xt = [x(2);1/M*(ft-B*x(2)-K*x(1))]; 运行结果:程序代码aa2.mclear all; close all; num=[2,5,7]; den=[1,6,10,6]; sys=tf(num,den); [z,p,k]=tf2zp(num,den) [r,p,k]=residue(num,den)运行结果z ,p ,k 分别代表零点,极点和增益。
西安电子科技大学—C程序设计实验报告院系:人文学院姓名:学号:专业:C程序设计上机实验报告1. 实验环境:软件系统:Windows XP SP3Microsoft Visual C++6.0硬件系统:联想台式机2. 实验目的:掌握如何编辑、编译、链接调试运行c程序3. 实验内容:(1)掌握顺序结构程序设计.(2)掌握选择结构程序设计(if 和switch语句的用法)(3)循环结构程序设计(while, do while, for语句的用法)。
(4)掌握数组的定义、输入和输出的方法,字符数组、字符串函数的使用。
(5)了解函数的定义,熟悉函数实参与形参的“值传递”方式,掌握函数的嵌套调用和递归调用方法。
4. 实验要求:(1)输入编写的源程序,检查程序有无错误(语法和逻辑错误),有则改之。
(2)编译和连接,仔细分析编译信息,如有错误应找出原因并改正。
(3)运行程序,输入数据,分析结5实验结果:(1)两个数相加并显示其结果#include<stdio.h>#include<stdlib.h>main( ){int number;float amount;number=100;amount=30.75+70.35;printf(“%d\n”,number);printf(“%5.2f”,amount);system("pause");return 0;}输出结果:100101.10请按任意键继续……实验心得:代码行10是给变量赋值。
整数值100赋给了变量number,在代码行12两个实数相加的结果赋给了变量amount。
而语句number=100;amount=30.75+70.35;称为赋值语句,其是以分号结束。
打印语句:printf(“%d\n”,number);包含两给参数。
(2)整型数据相除。
#include<stdio.h>void main(){int i=100,j=40;float f;f=i/j;printf("f=%f\n",f);}运行结果:f=2.000000实验心得:上述程序中f的结果为2.0,小数部分丢失。
如需保留小数部分,可将“f=i/j”;改写成:f=(float)i/j;强制类型转换得到的结果是一个瞬间量,它不改变表达式中的原有数据。
(3)不同类型数据输出;#include<stdio.h>void main(){int a=-2;float b=123.456;char c='a';printf("a=%3d,%o,%x,%u\n",a,a,a,a);printf("b=%10.2f,%.2f %-10.2f\n",b,b,b);printf("c=\'%3c\',\'%-3c\'\n",c,c);printf("%3s,%7.2s,%.3s,%-5.3s\n","CHINA","CHINA","CHINA","CHINA");}运行结果:a= -2,37777777776,fffffffe,4294967294b= 123.46,123.46 123.46c=' a','a 'CHINA, CH,CHI,CHIPress any key to continue(4)无符号十进制格式的输出#include<stdio.h>void main(){int i=-1;printf("%d,%u\n",i,i);}运行结果:-1,4294967295Press any key to continue(5)单个字符的输入和输出#include<conio.h>void main(){char ch;ch=getche();putchar(ch);putchar('\n');}运行结果:输入一个字符,如a,显示aa(6)多个字符的输入和输出:#include<stdio.h>#include<conio.h>void main(){char a,b,c;a=getch();b=getch();c=getch();putchar(a);putchar(b);putchar(c);putchar('\n');getch();}运行结果:输入任意三个字符,如abc在屏幕上显示abc(7)字符串的输入和输出#include<stdio.h>void main(){char str[80];gets(str);puts(str);}运行结果:输入一串字符,如:aaa123,回车之后显示aaa123(8)输入一个小写字母,按大写输出#include<stdio.h>#include<conio.h>void main(){char ch;ch=getche();putchar(ch-32);}运行结果:输入一个小写字母如a,显示结果为aA。
即ch的asc码值-32所得。
(9)输入一个数,求平方根#include<stdlib.h>#include<stdio.h>void main(){float x,y;scanf("%f",&x);if(x<0){printf("x<0,error\n");exit(0);}y=sqrt(x);printf("x=%f,y=%f\n",x,y);}实验结果:输入4,显示x=4.000000,y=2.000000输入-1,显示x〈0,error实验体会:了解了if语句的基本用法,当表达式为真时,执行后面的语句,当为假时,执行下一语句。
(10)打印a,b两个数中较大的一个#include<stdio.h>void main(){int a,b;scanf("%d,%d",&a,&a);if(a>b)printf("max=%d\n",a);else printf("max=%d\n",b);}实验结果:45 1max=45Press any key to continue实验体会:scanf先把第一个输入的输赋给a,第二个赋给b,然后通过if,语句进行判断,打印。
(11)输入一个字符,判断是字母数字还是特殊字符#include<stdio.h>#include<conio.h>void main(){char ch;printf("请输入一个字符:");ch=getche();if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))printf("\n它是一个字母!\n"); else if(ch>='0'&&ch<='9')printf("\n它是一个数字!\n"); elseprintf("\n它是一个特殊字符!\n"); }运行结果:请输入一个字符:0它是一个数字!Press any key to continue请输入一个字符:a它是一个字母!Press any key to continue请输入一个字符:+它是一个特殊字符!Press any key to continue实验体会:此程序只能识部分字符了解了switch的结构特点(12)从键盘输入n个数,求其和#include<stdio.h>void main(){int i,n,k,sum;i=1;sum=0;printf("Input n:");scanf("%d",&n);while(i<=n){scanf("%d",&k);sum=sum+k;i++;}printf("\nsum is:%d\n",sum);}实验结果:Input n:3123sum is:6Press any key to continue实验体会:While是先判断,后执行,以此来循环运算。
(13)统计输入的字符个数#include<stdio.h>#include<conio.h>void main(){char ch;int len=0;puts("Type in a sentence,then press <Enter>\n"); while((ch=getch())!='\r'){putchar(ch);len++;}printf("\nSentence is %d characters long.\n",len); }实验结果:Type in a sentence,then press <Enter>C语言Sentence is 5 characters long.Press any key to continue(14)Do-while求n个数的和#include<stdio.h>void main(){int i,n,k,sum;i=1;sum=0;printf("Input n:");scanf("%d",&n);do{scanf("%d",&k);sum=sum+k;i++;}while(i<=n);printf("\nsum is:%d\n",sum);}实验结果:Input n:41 2 3 4sum is:10Press any key to continue实验体会:Do-while先执行do后面的东西,在进行判断,与while格式有差别(15)For循环球n个数的和#include<stdio.h>void main(){int i,n,k,sum;i=1;sum=0;printf("Input n:");scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&k);sum=sum+k;}printf("\nsum is:%d\n",sum);}运行结果:Input n:41 2 3 4sum is:10Press any key to continue实验体会:For循环比较简明。