高级语言程序设计实验 C
实验报告二厦门理工学院C语言选修课上机实验实验4循环结构

《高级语言程序设计》实验报告实验序号:2 实验项目:数据类型、运算符和表达式09机制2 学号232 姓名叶志伟专业、班级实验地点1-511 指导教师胡亮实验时间 3.15一、实验目的及要求1.掌握C基本数据类型的基本概念、基本属性。
2.学会如何书写一个整型、字符型、实型常量。
3.掌握C算术运算符的基本概念、基本属性、运算规则。
二、实验设备(环境)及要求使用Visual C++ 6.0;windows系列操作系统的环境。
三、实验内容与步骤1.输入下列源程序,进行修改、编译、连接和运行。
程序:main ( ){ char c1,c2;c1=97;c2=98;printf("%c,%c\n",c1,c2);printf("%d,%d\n",c1,c2);}运行结果是:两行结果的不同是由什么引起的:程序定义了输出的类型,第一个输出字符型,另一个输出整型。
2.输入并运行下面的程序:#include<stdio.h>void main(){char c1,c2,c3;c1=getchar();c3=getchar();putchar(c1);putchar(c2);putchar(c3);}观察以下不同输入时的输出,分析不同输出的原因。
(↙表示回车)(1)123↙(2)12↙(3)1↙2↙运行结果是:分析运行结果:getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.3.把以上程序改写如下,用于上面相同的输入运行,分析不同输出的原因。
高级语言程序设计实验报告 c语言程序设计实验报告 大一 南邮

{
int i;
for (i=2;i<x;i++)
{
if(x%i==0)
{
return 0;
}
if(i>=x)
{
return 1;
}
}
}
void main()
{ int x;
int i;
int j=0;
printf("请输入一正整数:\n");
scanf("%d",&x);
printf("您输入的内容中数字有%d个;\n",j);
}
7:
#include<stdio.h>
int sum(int n)
{ int r=0;
if (n==1)
{
return 1;
}Байду номын сангаас
else
{
r=n+sum(n-1);
return r;
}
}
int fac(int n)
{
int r=1;
if(n==1)
分析:程序运行正常,这里要注意有关细节,比如符号的使用,中英字符的混淆,和连接时文件的问题。
签名:
日期:年月日
4:
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
C语言实验顺序结构程序设计

实验一顺序结构程序设计实验课程名:高级语言程序设计(C)专业班级:学号:姓名:实验时间:实验地点:指导教师:一、实验目的和要求1. 掌握C语言中使用最多的一种语句——赋值语句的使用方法。
2. 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。
二、实验内容1、任务名称源代码:#include <stdio.h>void main ( ){ double a,b,c,s,v;printf("input a,b,c:");scanf("%lf%lf%lf",&a,&b,&c);s=a*b;v=a*b*c;printf("a=%lf b=%lf,c=%lf\n",a,b,c);printf("s=%f,v=%f\n",s,v);}运行结果:(需要截图)运行结果分析:与原来的错误源代码相比,正确的程序中第四行没有了换行符号,第五行、八行将输入数据格式换为double型,并依要求对其他地方作了相应改变。
2、任务名称源代码:#include <stdio.h>void main(){ char c1,c2;int n1,n2;c1=getchar();c2=getchar();n1=c1-'0';n2= n1*10+(c2-'0');printf("%d\n",n2);}运行结果:(需要截图)运行结果分析:g etchar()函数用来输入两个字符分别赋给变量c1和c2;n1=c1-'0'相当于n1='1' -'0',字符1的ASCII码值比0大一,所以n1中的值为1,c2-'0'相当于'2' -'0';即得最后结果12.3、任务名称源代码:#include <stdio.h>void main(){ int i,j;int x,y;scanf("i=%d,j=%d",&i,&j);scanf("%d%d",&x,&y);printf("i=%d,j=%d\n",i,j);printf("%4d%4d\n",x,y);}运行结果:(需要截图)运行结果分析:i和j的值和输入格式依照给定的值和程序在键盘上输入,而x 和y则和i、j输入格式不同,所以得出结果不同。
C语言实验报告(三)

C语言实验报告(三)华北水院高级语言程序设计(c语言)实验报告2022-2022学年第二学期2022年级专业班级:学号:姓名:一、实验题目:循环结构程序设计二、实验目的:(略)三、实验内容1.程序验证(略)2。
程序设计1)找出100-900之间的无暇素数。
所谓无暇素数是指本身为素数,且其逆序数也是素数的数。
例如:113是一个素数,311也是一个素数,113就是无暇素数。
源代码:运行结果:intbsingle100_u900(inTV)/*这是一个用户定义的函数,用于判断它是否是介于100和900之间的素数*/{inti;如果(v%2);elsereturn0;for(i=3;i<=v/2;i+=2)if(v%i);elsereturn0;return1;}voidmain(){inta,b,c,d,e,w;对于(a=101;a<=900;a+=2){c=a/100;d=a/10;e=a;w=100*e+10*d+c;if(bsingle100_900(a)&&bsingle100_900(w))printf(\}}2)编程:用迭代法求一个数的平方根。
平方根的迭代公式如下:xn+1=(xn+A/xn)/2;设置x0=A/2;当迭代相邻两项差的绝对值小于10-5时,迭代结束。
源代码:运行结果:#include#includeintmain(){doublex1,x2,a;intf;Printf(\请输入a:\scanf(\X1=a/2;x2=0;F=0;while(1){x1=(x1+a/x1)/2;if(f)break;如果(abs(x1-x2)<1e-5)f=1;x2=x1;}printf(\}华北水利学院高级语言程序设计(C语言)实验报告2021--2021学年第二学期2021级专业班级:学号:姓名:3)写一个问答游戏。
计算机在10到100之间进行四次运算,每个问题得10分,用户给出答案。
C语言实验

高级语言程序设计I(C语言)实验指导书实验一C语言程序初步一、目的和要求1、熟悉C语言运行环境。
2、掌握C语言程序的书写格式和C语言程序的结构。
3、掌握C语言上机步骤,了解运行一个C程序的方法。
4、本实验可在学习完教材第二章后进行。
二、实验内容1、C语言上机步骤:(A)、启动后请选择进入Windows XP系统。
(B)、实验环境VC++。
(C)、VC++的使用环境参见附录VC++的使用方法。
2、有下面的C程序,目的是想计算由键盘输入的任意两个整数的积。
/********exl.c********/#include (stdio.h);main()scanf(―%x,%y‖,&x,%y)p=prodct(x,t)printf(―The product is :‖,p)int prodct(int a ,int b )int cc=a*breturn c请调试上述程序。
三、实验步骤1、静态地检查上述程序,改正程序中的错误。
2、在编辑状态下照原样键入上述程序。
3、编译并运行上述程序,记下所给出的出错信息。
4、按照事先静态检查后所改正的情况,进行纠错。
5、再编译执行纠错后的程序。
如还有错误,再编辑改正,直到不出现语法错误为止。
6、下面给出6组测试用例,你认为哪几组较好?为什么?(1)0,0(2)0,99(3)20,50(4)33000,20(5)-5,-2(6)-5,2要测试出上述程序中所有错误,你认为应当用几组测试用例?四、分析与讨论1、记下在调试过程中所发现的错误、系统给出的出错信息和对策。
分析讨论对策成功或失败的原因。
2、总结C程序的结构和书写规则。
实验二数据类型一、目的和要求1、了解C语言中数据类型的意义。
2、本实验可在学习了教材第3章后进行。
二、实验内容和步骤1、下面的程序试图计算由键盘输入的任意两个整数的平均值:#include <stdio.h>main(){int x,y,a;scanf(―%x,%y,&x,&y);a=(x+y)/2;printf(―The average is :‖a);}调试无语法错误后,分别使用下列测试用例对上述程序进行测试:(1)2,6(2)1,3(3)-2,-6(4)-1,-3(5)-2,6(6)-1,3(7)1,0(8)1,6(9)32800,33000(10)-32800,330001、分析上述哪几组测试用例较好?通过测试,你发现程序有什么错误了吗?若有错误,请指出错误原因。
C语言实验报告--上海工程技术大学

实验报告《高级语言程序设计》2009-2010学年第二学期学院(部)管理学院实验名称高级语言程序设计学号姓名成绩第1次实验实验名称______素数的输出______一、实验目的:1.输出100~200以内的全部素数。
2.联系将输出的数字排的更加整齐。
二、实验内容及步骤:三、运行结果:四、实验心得与体会:将100~200中的全部素数输出并没有太大的难度。
但对于一个初学者来说,将输出的多个数字排列整齐则需要费一些脑筋,至少我是这个样子的。
将结果整齐的输出,充分的体现了C语言的灵活性,和创造者缜密的思维。
第2次实验实验名称______对输入不同的形式的统计______一、实验目的:1.输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
2.熟练掌握ASCII代码。
二、实验内容及步骤:三、运行结果:上图为输入“I am a student ,and my number is 031209105 !”其运行后显示的结果为,这句话中拥有:英文字符24个,空格9个,数字9个,其他符号2个。
这个统计,需要用到ASCII码,有几处还是颇有难度的。
我也在这里犯了一个错误。
就是在第十一行中,我最初没有写“c>=48&&c<=57”,而是写的“c>=0&&c<=10”。
也就是说我忘记了将数字也用ASCII码表示了。
这时,我的程序依然能够运行,但是却输不出我想要的结果。
这个问题,我今后将特别注意与之类似的问题,不会再犯类似问题了。
第3次实验实验名称_____ 有关浮点的分析_____一、实验目的:1.有一个分数序列:2/1,3/2,5/3,8/15…,求出这个数列的前20项之和。
2.注意浮点形式的应用,学会正确的运用浮点形式。
二、实验内容及步骤:三、运行结果:这道题一定要注意第三行的定义部分,“a,b,n”都是float型的,尤其是其中的“n”。
因为“n=n+b/a”,若“n”不为float型,则无法将小数部分存进“n”中,将会严重影响运算准确性。
高级语言程序设计实验报告

高级语言程序设计实验报告标题:高级语言程序设计实验报告摘要:本实验旨在通过实践操作,使学生掌握高级语言程序设计的基本原理和方法,提高其编程能力和解决问题的能力。
本文主要介绍实验过程中的设计思路、程序运行结果及经验体会。
一、实验目的本实验的主要目的是通过实践操作,使学生掌握高级语言程序设计的基本原理和方法,提高其编程能力和解决问题的能力。
具体目标包括以下几个方面:1.了解高级语言的程序设计思想和基本语法;2.掌握面向对象程序设计的基本原理和方法;3.熟练掌握常见数据结构和算法的设计与实现;4.掌握软件测试的基本方法和流程。
二、实验内容本实验的主要内容包括以下几个方面:1. 面向对象程序设计2.数据结构与算法设计3.文件操作4.软件测试三、实验过程在本次实验中,我们使用C++语言进行编程操作。
首先,我们进行了面向对象程序设计的基本训练,了解了类、继承、封装、多态等概念。
通过实践操作,我们掌握了如何使用类来实现各种功能,并深入了解了类与对象之间的关系。
接下来,我们进行了数据结构与算法的设计实践。
在这个环节中,我们学习了常见的数据结构和算法,并掌握了它们的基本原理和实现方法。
通过编写各种常见的算法,比如排序算法、查找算法等,我们进一步加深了对数据结构和算法的理解。
随后,我们进行了文件操作的训练,了解了如何在C++中读取和写入文件。
通过这个练习,我们更加深入了解了文件操作的原理和方法,对文件读取和写入的各种问题有了更深入的认识。
最后,我们进行了软件测试的培训,在实践中了解了测试的基本方法和流程。
通过运用各种测试工具和技巧,我们成功地测试了我们的程序,并对程序的问题做了相应的修改和优化。
四、实验结果通过本次实验,我们成功掌握了高级语言程序设计的基本原理和方法,提高了自身的编程能力和解决问题的能力。
我们的程序能够正确地实现各种常见的数据结构和算法,具有较高的可靠性和实用性。
同时,我们深入理解了文件操作的原理和方法,能够熟练地读取和写入各种类型的文件。
2010级用高级语言程序设计实验报告quan

2010级用高级语言程序设计实验报告quan《高级语言程序设计》实验报告实验室名称:班级:学生姓名:学号:指导教师:学期:2009-2010学年上学期实验1 C 程序设计入门一、实验目的1、熟悉C 编程环境2、掌握简单C 程序的编辑、编译和运行方法二、知识要点1、用printf 函数输出指定字符串(转义字符的使用)2、计算并输出表达式的值3、程序书写风格三、实验预习(要求做实验前完成)1、若要在屏幕输出信息,需要用到库函数:2、输出的信息若需换行,需要用到换行符:3、按C 语言语法规则写出下列算法的表达式(1)26乘以49,再除以17:(2)求29除以6的余数:四、实验内容 (要求提供:① 算法描述或流程图② 源程序 )1、编程输出“我的信息”,包括姓名、性别、专业名称和课程名称,格式为:姓名:性别:专业名称:课程名称:2、编程求以下表达式的值:1491516232+-+ 3、编程计算并输出16.8与27.5两个数的和、差、积、商,要求输出界面为:和是:差是:积是:商是:五、实验结果要求写出运行界面并输出运行结果实验2─3 数据类型、常量变量及顺序结构程序设计一、实验目的1、掌握常量和变量的概念以及使用1、掌握变量的定义、赋值与引用2、掌握顺序结构相关语句的使用3、掌握scanf和printf输入、输出数据的方法二、知识要点1、变量与常量概念2、数据输入、输出的格式控制3、标准库函数与头文件的使用4、算术运算与赋值运算5、数据类型转换三、实验预习(要求做实验前完成)1、假如要定义两个整型变量x和y,语句int x y;错在哪里?2、把a的值赋给b,其语句是:3、如果使用语句scanf(“%d%d”,&x,&y);输入8和9两个整数,其输入格式应该是:4、如果使用语句scanf(“%d,%d”,&x,&y);输入8和9两个整数,其输入格式应该是:5、程序中如果要用到库函数sin,则应包含头文件:6、假设x是一个实型变量,语句printf(“%d”,x);错在哪里?7、语句x=10; y=20; printf(“y=%d, x= %d”,x,y); 能否交换x和y的值?四、实验内容(要求提供:①算法描述或流程图②源程序)1、输入两个人的身高,计算并输出他们的平均身高。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
陕西理工大学《高级语言程序设计(C)》实验报告院系:班级:学号:姓名:目录实验一:C开发环境与顺序结构程序设计1.实验目的:(1) 了解集成开发环境VC++的使用方法,理解相关命令的含义,掌握编辑、编译、连接以及运行调试的方法,掌握程序的基本结构,掌握输入输出的方式。
(2) 掌握程序设计的基本要素中的数据类型、变量、运算符以及表达式的运用。
(3) 学会正确使用逻辑运算符和逻辑表达式以及关系运算符与关系表达式,掌握在程序设计中灵活使用顺序结构。
2.实验环境:(1) 硬件环境CPU:Inter Pentium(R)4 CPU 以上内存:2GByte(2) 软件环境操作系统:Microsoft Windows 7编译系统:Microsoft Visual C++3.实验步骤:按如图所示流程进行实验内容的调试。
(1) 在XP操作系统中,启动VC++编译环境;(2) 在VC++编译界面输入C源程序;(3) 选择编译、组建、执行命令进行编译、链接和运行,并记录实验数据;(4) 按以上方法依次输入其他源程序并调试、运行和记录实验数据。
4.实验内容:输入并运行下列程序,查看程序运行的结果。
#include<>void main(){printf(“* * * * * * * * * *\n”);printf(“Programing in c A Labrtry Maual\n”);printf(“* * * *\n”);printf(“*\n”);}查看程序运行的结果#include<>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j--;printf(“%d,%d,%d,%d\n”,i,j,m,n);}找出下列程序中的错误,改正后写出程序运行结果.#include<>void main(){Int x,y=z=5,aver;x=7;AVER=(x+y+z)/3printf(“AVER=%d\n”,aver);}输入参考程序。
在下划线处分别填入不同的变量定义、表达式、输出格式控制符号。
#include<>void main(){int a,b,x;f\n",c); }编程求)ln()sin(xaaxy++=。
要求a和x从键盘输入。
当a=,x=时,求y的值。
#include<>#include<>void main(){float a,x,y;scanf("%f%f",&a,&x);y=sin(sqrt(a*x))+log(a+x);printf("%f\n",y);}从键盘上任意输入一个三位整数,按逆序输出。
例如输入456,输出654。
提示:456%10=6 456/10%10=5 456/10/10=46*102+5*101+4*10=654#include<>main(){int n;int a,b, c;int num;printf("请输入一个三位整数n\n");scanf("%d", &n);c=n/100;b=(n-c*100)/10;a=n%10;num= a*100 + b*10 + c;printf("num=%d\n", num);}5.实验总结实验二:分支结构与循环结构程序设计1.实验目的:⑴了解C 语言表示逻辑量的方法;(0为“假”,非0为“真”)学会正确使用关系表达式和逻辑表达式。
⑵熟练掌握if 语句、switch 语句、while 语句、do-while 语句和for 语句的使用方法。
⑶结合程序掌握一些简单的算法。
⑷掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。
⑸学习调试程序2.实验环境:操作系统:Windows 7 编程软件:Visual C++3.实验内容:(1) 使用if 语句或者switch 语句编程求解以下分段函数:y= 。
#include<> #include<> main() {float x,y;scanf("%f",&x); if(x<1)y=2*x-1;else if(x>=1&&x<10) y=sqrt(x+10); elsey=2*x+1; printf("%f\n",y); }(2) 使用if语句或者switch语句编程实现以下功能:从键盘任意输入0----100之间的整数作为学生的成绩,要求根据以下的条件判断并输出相应成绩的等级。
大于等于90,小于等于100:优秀大于等于70,小于等于89:良好大于等于60,小于等于69:及格小于60:不及格#include<>main(){int x;scanf("%d",&x);switch(x/10){case 10:printf("优秀\n");break;case 9:printf("优秀\n");break;case 8:printf("良好\n");break;case 7:printf("良好\n");break;case 6:printf("及格\n");break;default:printf("不及格\n");}}(3)n的值从键盘输入,要求分别用三种循环语句实现以下功能:1+2+3+4+……+n1、用while语句实现。
#include<>main(){int i=1,s=0,n;scanf("%d",&n);while(i<=n){s=s+i;i=i++;}printf("%d\n",s);}2、用do----while语句实现#include<>main(){int i=1,s=0,n;scanf("%d",&n);do{s=s+i;i=i++;}while(i<=n);printf("%d\n",s);}3、用for语句实现。
#include<>main(){int i=1,s=0,n;scanf("%d",&n);for (;i<=n;i++)s=s+i;printf("%d\n",s);}(4)n的值从键盘输入,要求用循环语句实现以下功能:1!+2!+………+n!#include<>void main(){ int n,i;float s=0,t=1;scanf("%d",&n);for(i=1;i<=n;i++){ t*=i; s+=t; }printf("1+2!+3!...+n!=%f\n",s);}(5)程序填空,求100以内的整数中最大可被13整除的数是哪一个?#include<>int main( ){int i;for( i=100 ; i>=0 ;i--){ if( i%13==0 )break;}printf("%d\n",i);return 0;}(6)输入两个正整数m和n,求其最大公约数和最小公倍数。
#include<>int main(){int p,r,n,m,temp;printf("Enter n,m :");scanf("%d,%d",&n,&m);if(m<n){temp=m ; m=n ; n=temp ;}p=m*n;r=m%n;while( r!=0 ){m=n;n=r;r=m%n ;}printf("The greatest common divisor:%d\n",n);printf("The lowest common multiple :%d\n",p/n);return 0;}提示:if语句的功能是将两数中大的那个放在m中,保证m>n,然后再求m对n的余数r,通过while语句循环,直到余数r为零。
(7)输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。
#include<>int main(){char c;int letters=0,space=0,digit=0,other=0;printf("Enter line character :\n");while(( c=getchar())!='\n'){if( c>=’a’&&c<=’z’||c>=’A’&&c<=’Z’ ) letters++;else if( “c==” ) space++;else if( c>=’0’&&c<=’9’ ) digit++;else other++;}printf("letters:%d\nspace:%d\ndigit:%d\nother:%d\n",letters,space,digi t,other);return 0;}(8)编写程序输出如下图形,请填空。
#include""* * * * * * * * * * * * * * * * * * * * * * * * *#define s ' ' int main() {int n,i,j;printf("Enter n:"); scanf( “%d ”,&n ); for(i=1;i<=n;i++) {for(j=1;j<=10;j++) putchar(s);for(j=1; j<=n-i ;j++) putchar(s);for(j=1; j<=2*i-1 ;j++) putchar(‘*’) ; printf("\n"); }for(i=1;i<=n-1;i++) {for(j=1;j<=10;j++) putchar(s);for(j=1;j<=i ;j++) putchar(s);for(j=1; j<=2*(n-i)-1;j++) putchar('*'); printf("\n"); } }记录运行结果:4.实验总结实验三数组及数组的应用1.实验目的:1、掌握一维数组和二维数组的定义、数组元素的引用和数组的输入输出方法。