c语言实验报告 (2)
c语言实验二实验报告
一、实验目的1、掌握关系表达式和逻辑表达式的使用。
2、掌握选择结构程序设计的一般方法。
3、熟练使用if语句进行程序设计。
4、掌握使用switch语句实现多分支选择结构。
二、实验内容有一分段函数如下:编写程序,输入x(实数)的值,输出以如下格式:x=??.??,y=??.?? ( 即小数部分保留2位)程序代码:#include "stdio.h"int main(){float x,y;scanf("%f",&x);if(x<1)y=x*x;if(x>=1&&x<10)y=5*x-1;if(x>=10)y=2*x+4;printf("x=%.2f,y=%.2f\n",x,y);return 0;}2、从键盘输入三个实数,输出最大数和最小数。
样例输入:1.23 3.45 5.67样例输出:5.67 1.23程序代码:#include "stdio.h"int main(){float a,b,c,max,min;scanf("%f%f%f",&a,&b,&c);if(a>b){max=a;min=b;}else{max=b;min=a;}if(a>c)if(b>c){min=c;}else {min=b;}else {max=c;}printf("%.2f %.2f\n",max,min);return 0;}3、读入3个非零的double数后,判别这三个值是否可以表示一个三角形的三条边。
样例输入1:1.23 1.23 1.23样例输出1:yes.样例输入2:5.23 3.45 -12.34样例输出2:no.程序代码:#include "stdio.h"int main(){double a,b,c;scanf("%lf%lf%lf",&a,&b,&c);if(a>0&&b>0&&c>0)if(a+b>c&&b+c>a&&a+c>b)printf("yes.\n");else printf("no.\n");else printf("no.\n");return 0;}4、读入3个非零整数后,判别这三个值是否可以表示一个直角三角形的三条边。
c语言的实验报告
c语言的实验报告C语言的实验报告引言:计算机科学领域的学生们通常会在大学的课程中学习C语言。
C语言是一种通用的编程语言,它简洁高效,广泛应用于软件开发、嵌入式系统等领域。
在学习C语言的过程中,学生们通常需要进行一系列的实验来加深对语言特性和编程概念的理解。
本文将介绍几个常见的C语言实验,并总结实验过程中的体会和收获。
实验一:基本数据类型和运算符C语言提供了多种基本数据类型,如整型、浮点型、字符型等。
在这个实验中,我们需要熟悉这些数据类型的使用方法,并掌握基本的算术运算符和逻辑运算符。
通过编写简单的程序,我们可以实现整数相加、浮点数相乘等操作。
这个实验帮助我们了解C语言的基本语法和运算规则。
实验二:控制流程在实际的编程中,我们常常需要根据不同的条件来执行不同的代码块。
C语言提供了多种控制流程语句,如if语句、for循环、while循环等。
通过这个实验,我们可以学习如何使用这些语句来实现条件判断和循环操作。
例如,我们可以编写一个程序来判断一个数是否为素数,或者实现一个简单的猜数字游戏。
这个实验帮助我们掌握程序的流程控制和逻辑思维。
实验三:函数和指针函数是C语言中的重要概念,它可以将一段代码封装成一个独立的模块,方便代码的复用和维护。
指针是C语言中另一个重要的特性,它可以用来处理内存地址和动态分配内存。
在这个实验中,我们需要编写一些函数来实现特定的功能,并学习如何使用指针来操作变量和数组。
通过这个实验,我们可以提高代码的模块化程度,并学会灵活运用指针来解决实际问题。
实验四:文件操作在实际的软件开发中,我们经常需要读写文件来存储和处理数据。
C语言提供了一些函数来进行文件操作,如fopen、fread、fwrite等。
在这个实验中,我们需要编写程序来读取文件内容,进行数据处理,并将结果写入新的文件中。
通过这个实验,我们可以学习如何使用文件操作函数,并了解文件的打开、读写和关闭过程。
实验五:数据结构和算法数据结构和算法是计算机科学的核心内容,也是软件开发中不可或缺的部分。
实验二实验报告
C语言程序设计报告二数据类型,运算符和简单的输入输出计算机学院软件工程2班王莹0411402011,实验目的(1)掌握C语言数据类型,了解字符型数据和整型数据的内在关系。
(2)掌握对各种数值型数据的正确输入方法。
(3)学会使用C语言的有关算数运算符,移机包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
(4)学会编写和运行简单的应用程序。
(5)进一步熟悉C程序的编辑、编译、连接和运行的过程。
2,实验内容和步骤(1)输入并运行教材第3章第4题给出的程序。
○1运行以上程序,分析为什么会输出这些信息。
因为第6行是将c1,c2按%c的格式输出,97是字符a的AS CⅡ代码,98是字符b的AS CⅡ代码。
第7行是将c1,c2按5d的格式输出,所以输出两个十进制整数。
○2如果将程序第4,5行改为c1=197;c2=198;运行时会输出由于Visual C++6.0字符型数据是作为signed char类型处理,它存字符的有效范围为0~127,超出此范围的处理方法,不痛的系统得到的结果不痛,因而用“%d”格式输出,结果是不可预期的。
用“%d”格式输出时,输出c1=-59,c2=-58.这是按补码形式输出的,内存字节中第1位为1时,作为负数。
59和197之和等于256,58与198之和也等于256.○3如果将程序第3行改为int c1,c2;运行时会输出因为97和98在int类型的有效范围。
(2)输入第3章第5题得程序。
即:用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。
运行时分别按一下方式输入数据,观察输出结果,分析原因。
1,a=3,b=7,x=8.5,y=71.82,A,a↙2,a=3 b=7 x=8.5 y=71.82 A a↙3,a=3 b=7 8.5 71.82 A a↙4,a=3 b=7 8.5 71.82Aa↙5,3 7 8.5 71.82Aa↙6,a=3 b=7↙8.571.82↙A↙a↙7,a=3 b=7↙8.571.82↙Aa↙8,a=3 b=7↙8.671.82Aa↙12345678(3)输入以下程序○1编译和运行程序,注意i,j,m,n各变量的值。
C语言实验二报告
北京电子科技学院(BESTI)实验报告课程:程序设计基础班级:姓名:学号:成绩:指导教师:张晓昆实验日期:实验密级:预习程度:实验时间:15:30~18:30仪器组次:必修/选修:必修实验序号: 2实验名称:函数编程练习实验目的与要求:主函数通常只处理输入和输出;掌握定义函数的方法;掌握函数实参与形参的对应关系,以及“值传递”的方式;掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法,、了解函数的嵌套调用方法和递归调用方法。
观察堆栈窗口call stack,注意函数调用过程堆栈的动态变化。
有兴趣的同学可以将几个函数分别放到不同的.C文件中,分别编译,再利用Project建立工程文件,然后连接执行,观察结果。
实验内容素数(Prime Number),又称为质数,它是不能被1和它本身以外的其他整数整除的正整数。
按照这个定义,负数、0和1都不是素数,而17之所以是素数,是因为除了1和17以外,它不能被2~16之间的任何整数整除。
任务1:试商法是最简单的判断素数的方法。
用i=2~m-1之间的整数去试商,若存在某个m能被1与m本身以外的整数i整除(即余数为0),则m不是素数,若上述范围内的所有整数都不能整除m,则m是素数。
采用试商法,分别用goto语句、break语句和采用设置标志变量并加强循环测试等三种方法编写素数判断函数IsPrime(),从键盘任意输入一个整数m,判断m是否为素数,如果m是素数,则按"%d is a prime number\n"格式打印该数是素数,否则按"%d is not a prime number\n"格式打印该数不是素数。
然后分析哪一种方法可读性更好。
1、goto语句#include <stdio.h>#include <stdlib.h>int IsPrime(int n); //判断是否是素数的函数原型int main(){int m;printf("Please enter a integer:");scanf("%d", &m); //用户输入欲判断的数if( IsPrime(m) == 1){ //调用判断是否是素数的函数并输出结果printf("%d is a prime number!\n", m);}else{printf("%d is not a prime number!\n", m);}return 0; //返回0} //主函数结束int IsPrime(int n) //判断是否是素数的函数{int i = 2;int j = 0;if(n < 2){ //若n小于2,返回0值return 0;}if(n == 2){return 1;}loop:if(n % i == 0){ //利用goto语句i++;j++;goto loop;}if(j >= 1){ //若j大于2,则说明能被2~n-1之间的数整除,返回0;否则返回1 return 0;}else{return 1;}} //子函数结束2、break语句#include <stdio.h>#include <stdlib.h>int IsPrime(int n); //判断是否是素数的函数原型int main(){int m;printf("Please enter a integer:");scanf("%d", &m); //用户输入欲判断的数if( IsPrime(m) == 1){ //调用判断是否是素数的函数并输出结果printf("%d is a prime number\n", m);}else{printf("%d is not a prime number\n,", m);}return 0; //返回0} //主函数结束int IsPrime(int n) //判断是否是素数的函数{int i;int j = 0;if( n < 2 ){ //若n小于2,返回0值return 0;}for(i = 2; i <= n - 1; i++){if( n % i == 0){ //利用试商法判断是否能被2~n-1之间的数整除j++;}if(j > 1){ //若j大于2,则说明能被2~n-1之间的数整除,返回0;否则返回1 return 0;break;}}if( j == 0)return 1;} //子函数结束3、采用设置标志变量并加强循环测试#include <stdio.h>#include <stdlib.h>int IsPrime(int n); //判断是否是素数的函数原型int main(){int m;printf("Please enter a integer:");scanf("%d", &m); //用户输入欲判断的数if( IsPrime(m) == 1){ //调用判断是否是素数的函数并输出结果printf("%d is a prime number\n", m);}else{printf("%d is not a prime number\n,", m);}return 0; //返回0} //主函数结束int IsPrime(int n) //判断是否是素数的函数{int i;int j = 0;if( n < 2 ){ //若n小于2,返回0值return 0;}for(i = 2; i <= n - 1; i++){if( n % i == 0){ //利用试商法判断是否能被2~n-1之间的数整除j++;}}if(j >= 1){ //若j大于2,则说明能被2~n-1之间的数整除,返回0;否则返回1 return 0;}else{return 1;}} //子函数结束任务2:用数学的方法可以证明,不能被2取整)之间的数整除的数,一定不能被1和它本身之外的其他任何整数整除。
《c语言程序设计》实验报告(实验-2)
《c语⾔程序设计》实验报告(实验-2)《C语⾔程序设计》实验报告2013~2014学年第⼆学期班级姓名学号指导教师实验⼀实验项⽬名称:C程序的运⾏环境和运⾏C程序的⽅法所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运⾏⼀个C程序;2.通过运⾏简单的C程序,初步了解C源程序的特点。
⼆、预习内容:教材《C语⾔程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序:#includeint main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输⼊下⾯的程序(有语法错误),编译、连接、调试该程序,直⾄程序⽆语法错误,然后运⾏程序,并观察分析运⾏结果。
#includeint main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运⾏结果(或截图):This is a C program.Press any key to continue2. (1) 改正后的源程序:#includeint main( ){int a,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(2) 运⾏结果(或截图):3+4=7五、思考题:1. ⼀个C程序上机的步骤有哪些?答:上级输⼊与编辑源程序—对原程序进⾏编译–与库函数链接–运⾏可执⾏的⽬标程序。
2. 组成C程序的基本单位是函数,⼀个函数包括哪⼏个部分?答:⼀个函数包括两部分:分别为函数头或函数⾸部和函数体。
成绩指导教师签名实验⼆实验项⽬名称:数据类型、运算符和表达式所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使⽤⽅法;3. 掌握基本算术运算符及其表达式的使⽤⽅法;4. 掌握++、--运算符、赋值运算符及其表达式的使⽤⽅法。
c语言实验报告 (2)
C语言实验报告说明1,所有程序均用VC6。
0编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不是按照日期先后排列的。
2,为了使截图清晰,手动将运行窗口由“黑底白字"改为了“白底黑字”.实验2 数据类型、运算符和表达式一、实验目的:(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法。
(2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。
(3)掌握C语言的输入和输出函数的使用(4)进一步熟悉C程序的编辑、编译、连接和运行的过程.三、程序调试与问题解决:(1)输人并运行下面的程序#include<stdio.h>void main(){char c1,c2;c1='a’;c2=’b';printf(”%c %c\n”,c1,c2);}错误!运行此程序.错误!在上面printf语句的下面再增加一个printf语句。
printf(”%d%d\n",c1,c2);再运行,并分析结果。
输出结果如图,编译成功,无错误.错误!将第3行改为int c1,c2;再运行,并分析结果。
错误!再将第4、5行改为c1=a;c2=b;再运行,并分析结果。
a,b没有定义,编译报错。
错误!再将第4、5行改为c1=‘’a‘’;c2=‘’b‘’;再运行,并分析结果。
○6再将第4、5行改为c1=300;c2=400;再运行,并分析结果.以字符型输出时,输出的将是300,400对应的字符.(2)输人并运行教材第3章习题3. 6给出的程序#include〈stdio.h〉main (){char c1=’a’,c2=’b’,c3=’c',c4=’\101’,c5=’\116';printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);printf(”\t\b%c %c\n”,c4,c5);}#include<stdio.h>void main(){int a,b;unsigned c,d;long e,f;a=100;b=-100;e=50000;f=32767;c=a;d=b;printf("%d,%d\n",a,b);printf(”%u,%u\n",a,b);printf("%u,%u\n",c,d);c=a=e; d=b=f;printf(”%d,%d\n",a,b);printf("%u,%u\n”,c,d);}请对照程序和运行结果分析:①将一个负整数斌给一个无符号的变t,会得到什么结果.画出它们在内存中的表示形式。
C语言实训总结报告范文(通用5篇)
C语言实训总结报告范文(通用5篇)在经济飞速发展的今天,报告的适用范围越来越广泛,报告包含标题、正文、结尾等。
一听到写报告马上头昏脑涨?以下是小编整理的C语言实训总结报告范文,仅供参考,希望能够帮助到大家。
C语言实训总结报告篇1这个星期,我们迎来了C语言实训——一次至为重要的实训。
在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。
非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。
通过C语言实训,让我加深了对C语言的了解,而不只是单单的在课本中学到的那些理论,平时乏味的课程,通过自己动手亲自编写,变的生动有趣,而在自己动手的过程中,出现的问题很多,比理论要难的多,当一个程序写完以后,经常会有很多错误而没法解决。
不过,通过几天的实训,逐渐积攒了一些经验,有些错误可以很快就看出来。
这次实训有很大的收获,让我对C语言有了更深的认识,平时在课堂上学到的东西可以自己动手编写,将其转化成一些实用的技能。
如果是一个程序写完一处错误也没有,会有种成就感,于是兴趣就来了,兴趣来了,自然学的东西也就多了,能把理论变成实际的技能,让我对C语言有了浓厚的兴趣和更深层的认识。
C语言是一个有序的学习,学了最基本的替换,然后扩展到循环,嵌套,条理很清楚,不是一个零散的知识,实际上所有的课程都如此,不过通过实训我也知道了自己的不足,存在的很多问题。
比如自己写的写的小程序出了问题,不会解决了就叫老师帮忙,虽然说一定意义上增加了师生之间的感情,但是会养成一种依赖的心理,碰到问题了第一个想到的是求助而不是自己独立解决,所以以后要多多锻炼自己的信心和增加自己的能力,争取做到老师不在身边的时候也可以完成一些简单的程序编写与错误排除。
还有自己的基础知识不扎实,遇到的问题,没有很好的逻辑思维,亲自编写一个陌生的程序的时候会有种无法下手的感觉,找不到突破口。
通过实训,逐渐理清了顺序,对于简单的程序和一些相对比较繁琐的嵌套,循环,不在是看着一头雾水。
C语言_实验二、选择结构程序设计
实验二 选择结构程序设计一、实验目的1. 掌握关系表达式和逻辑表达式的使用。
2. 熟悉选择结构程序设计。
3. 熟练使用if 语句进行程序设计。
4. 使用switch 语句实现多分支选择结构。
二、实验内容(1 计算a+|b| 2 判断一个整数是否可以被3和5整除)1.[目的]掌握判断一个字符型数据是否数字字符的方法,以及数字字符转换为相应整数的方法。
[题目内容]从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。
[输入]一个字符型数据[输出]整数或出错信息[提示] 根据字符型数据的ASCII 码值是否在‘0’字符与‘9’字符之间进行判断。
使用if …else …语句和复合语句。
2.[目的]掌握条件表达式的使用[题目内容] 编写一个程序,其功能为:从键盘输入三个数x 、y 、z ,判断x+y=z 是否成立,若成立输出‚x+y=z ‛的信息,否则输出‚x+y!=z ‛的信息。
[输入] 三个数x 、y 、z[输出] ‚x+y=z ‛或‚x+y!=z ‛[提示] 条件判断表达式x+y==z3.[目的]掌握求最大值最小值的方法。
[题目内容] 编写一个程序,其功能为:输入三个整数,输出最大数和最小数。
[输入] 三个整数[输出] 最大值和最小值[提示] 设置最大值变量max 和最小值变量min ;首先比较a,b 的大小,并把大数存入max , 小数存入min ;然后最大值变量max 和最小值变量min 再与c 比较,若c 大于max ,则max 取值c ,否则保持不变;如果c 小于min ,则min 取值c ,否则保持不变。
最后输出max 和min 的值。
使用if …else …语句、if 语句以及复合语句。
4.[目的]运用已学知识解决实际问题。
[题目内容]如下两个线性方程组的两个未知数为x1和x2:ax 1+bx 2=mcx 1+dx 2=n该方程的唯一解为(ad-cb 不等于零时):cb ad bn md x --=1 bcad mc na x --=2 请编写一个程序,读取a 、b 、c 、d 的值,计算x1和x2的值。
C语言实验报告,实验一和实验二
实验一C语言的运行环境、运行过程和表达式的使用一、目的与要求1、了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2、了解在该系统上如何编辑、编译、连接和运行一个C程序。
3、通过运行简单的C程序,初步了解C源程序的特点。
4、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
5、学会使用C的有关算术运算符,以及包含这些运算符的表达式二、上机实验及运行结果1、例题实验及运行结果例一:#include"stdio.h"void main(){printf("Hello,World!\n");printf("Wolcome to the C language world!\n");printf("Everyone has been waiting for.\n");}运行结果为Hello, world !Welcome to the C language world!Everyone has been waiting for.在第一次输入源程序时,由于粗心在printf(“Hello,world!”)后面忘记输入“;”,在编译中检查出来,修改后编译成功。
例二:#include"stdio.h"void main(){int a,b,sum;a=123;b=456;sum=a+b;printf("sum is %d\n",sum);}运行结果为:sum is 579。
一次编译就成功了。
例三:#include"stdio.h"void main(){int a,b,c;int max(int,int);scanf("%d,%d",&a,,&b);c=max(a,b);printf("max=%d",c);}int max(int x,int y){int z;if (x>y) z=x;else z=y;return(z);}键盘输入“8,9”,屏幕上输出“max=9”例四:#include"stdio.h"void main(){char c1 , c2;c1=97;c2=98;printf("%c %c", c1, c2);}在此基础上1)加一个printf语句,并运行之。
C语言程序设计实验报告(二)
输入:40,50,60↙
5.运行下述程序,分析输出结果。 main(int b=10; float x=10.0; double y=10.0; printf("a=%d, b=%ld,x=%f, y= %lf\n",a,b,x,y); printf("a=%ld,b=%d, x=%lf,y=%f\n",a,b,x,y); printf("x=%f, x=%e, x=%g\n",x,x,x); } 从此题的输出结果认识各种数据类型在内存的存储方式。
4.了解数据类型在程序设计语言中的意义。
三、实验内容及要求:
内容: 1.编程序,输出如下图形: ** ** ** *** *** **** ****
原程序图
运行结果图
2.编写程序,实现下面的输出格式和结果( 表示空格):
a= 5,b= 7,a-b=-2,a/b= 71%
x=31.19,y= -31.2,z=31.1900
3.编写程序,输入变量 x 值,输出变量 y 的值,并分析输出结果。 (1) y =2.4 * x-1/2 (2) y=x%2/5-x (3) y=x>10&&x<100 (4) y=x>=10||x<=1 (5) y=(x-=x*10,x/=10)
要求变量 x、y 是 float 型。 原程序图
运行结果图
C 语言程序设计实验报告
姓名
学号
系别
班级
09 信息
主讲教师
指导教师
实验日期
专业 信息与计算科学
课程名称
C 语言程序设计
一、实验名称:
同组实验者
实验二、 数据类型及顺序结构
C语言程序设计实验报告
C语言程序设计实验报告一、实验目的本次 C 语言程序设计实验的主要目的是通过实际编写和调试 C 语言程序,加深对 C 语言语法、数据类型、控制结构、数组、指针、函数等核心概念的理解和掌握,提高编程能力和问题解决能力。
二、实验环境本次实验使用的编程环境是 Visual Studio Code,编译器为 GCC。
操作系统为 Windows 10。
三、实验内容及步骤(一)简单数据类型与运算1、定义并初始化不同类型的变量,如整型、浮点型、字符型等。
2、进行基本的算术运算、关系运算和逻辑运算,并输出结果。
(二)控制结构1、编写使用 ifelse 语句进行条件判断的程序,根据不同的条件执行不同的操作。
2、运用 for 循环和 while 循环实现特定次数的重复操作,例如计算1 到 100 的和。
(三)数组1、定义并初始化一维数组和二维数组。
2、实现数组元素的遍历和操作,如查找最大值、最小值等。
(四)指针1、理解指针的概念,定义指针变量并进行赋值。
2、通过指针访问变量和数组元素。
(五)函数1、定义和调用具有不同参数类型和返回值类型的函数。
2、理解函数的参数传递机制,包括值传递和指针传递。
四、实验过程中的问题及解决方法(一)语法错误在编写程序的过程中,经常会出现语法错误,如遗漏分号、括号不匹配等。
通过仔细检查代码,对照 C 语言的语法规则,能够及时发现并修正这些错误。
(二)逻辑错误逻辑错误是比较难以发现和解决的问题。
例如,在循环中可能会出现错误的边界条件,导致结果不正确。
通过打印中间结果和逐步调试,能够帮助找出逻辑错误的所在,并进行修正。
(三)运行时错误运行时错误可能是由于内存访问越界、除数为零等原因引起的。
使用调试工具和异常处理机制,能够有效地处理运行时错误,保证程序的稳定性。
五、实验结果与分析(一)简单数据类型与运算通过实验,对不同数据类型的取值范围、精度以及运算规则有了更清晰的认识。
例如,整型数据在不同的平台上可能具有不同的取值范围,浮点型数据在进行运算时可能会存在精度损失。
常熟理工学院-C语言实验报告册(本二)
《C语言程序设计》实验指导及报告书 / 学年第学期姓名:______________学号:______________班级:______________指导教师:______________计算机科学与工程学院2008前言C语言是由贝尔实验室的Dennis Richie于1973年设计并实现的一种程序设计语言,目的是用于写操作系统和复杂的系统程序。
从那时开始,C 语言已经从其位于贝尔实验室的发源地传播到世界各地,它已成为全球程序员的公共语言,并由此诞生了两个新的主流语言C++与Java—它们都建立在C语言的语法和基本结构的基础上。
现在世界上的许多软件都是在C 语言及其衍生的各种语言的基础上开发出来的。
C语言的广泛使用以及其包含了基本程序设计需要理解的主要机制,能满足讨论程序设计问题的需要的特点,使其成为计算机专业的入门语言。
《C语言程序设计》实验指导与报告书是为配合C语言程序设计课程而编写的一本具有很强的实践性教材。
为了达到本课程各个教学环节的规范化,并且让学生真正达到学以致用的效果,除了要求学生掌握本课程大纲所要求的知识点外,更重要的还要通过实践教学环节来拓展学生程序设计的逻辑思维和提高程序设计的能力,同时也能让学生深刻地了解关于如何运用软件工程的理念去开发软件。
本实验指导内容的编写,是根据本课程教学大纲的指导下,以提高学生的实践能力为目的而编写。
要求学生在上机实验前进行预习准备,实验过程认真调试,实验结束后完成实验报告。
本实验指导设计了八个实验,每个实验分为必做实验和选做实验两个部分,选做实验可根据实际情况由学生选做。
目录前言 (1)实验一C简单程序的调试与运行 (3)实验二数据及其运算 (7)实验三程序控制结构 (13)实验四数组应用 (20)实验五指针应用 (26)实验六函数应用 (31)实验七数据结构初步 (38)实验八文件和输入输出 (48)实验一C简单程序的调试与运行一、实验目的1. 熟悉C语言的常用调试环境(TC2.0,CodeBlocks等)。
c语言实验报告分析总结3篇
c语言实验报告分析总结3篇c语言实验报告分析总结1在科技高度发展的今天,计算机在人们之中的作用越来越突出。
而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。
在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。
在这之前,我们已经对c语言这门课程学习了一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生,的在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。
由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。
包括了程序模块处理.简单界面程序.高级界面程序.程序的添加修改.用程序做一元线性回归处理以及用c语言程序来画粒度分布图等这几样比较重要的时间操作。
上机实验是学习程序设计语言必不可少的实践环节,特别是c语言灵活、简洁,更需要通过编程的实践来真正掌握它。
对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。
学习c程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间。
因为学时所限,课程不能安排过多的上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。
为此,我们结合课堂讲授的内容和进度,安排了12次上机实验。
课程上机实验的目的,不仅仅是验证教材和讲课的内容、检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:1.加深对课堂讲授内容的'理解课堂上要讲授许多关于c语言的语法规则,听起来十分枯燥无味,也不容易记住,死记硬背是不可取的。
然而要使用c语言这个工具解决实际问题,又必须掌握它。
通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。
C语言实验报告-实验二 数据类型、运算符和表达式
请编程序:当给出f时,求其相应摄氏温度和绝对温度。
测试数据:①f=34 f=100
答:①的程序为
#include <stdio.h>
main()
{
float f,c;
double k;
f=34;
c=5/9*(f-32);
k=273.16+c;
printf("c=%f,k=%lf\n",c,k);
x=r.cosθ
y=r.sinθ
测试数据:①r=10 θ=45° r=20 θ=90°
答:①的程序为
#include<stdio.h>
#include <math.h>
main()
{
float r,b,x,y;
r=10;
b=45;
x=r*cos(b/180*3.14);
y=r*sin(b/180*3.14);
答:该程序为
#include<stdio.h>
#define PI 3.14
main()
{
float r;
double s,c;
r=1.5;
s=PI*r*r;
c=2*PI*r;
printf("s=%.2lf,c=%.2lf",s,c);
}
(2)将华氏温度转换为摄氏温度和绝对温度的公式分别为:
(摄氏温度)
main( )
{int i=8,j=10,m=0,n=0;
m+=i++;n-=--j;
printf(“i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n);
C语言实验报告2
for(i=1;i<=10;i++)
{ c1=getchar( );
c2=c1–32;
printf(“string %c\n”,c2);
}
【自编程序上机】
1 (判错)下述论断哪些是不对的?
1每个C语言程序有且仅有一个主函数 main()。
2C语言程序的每一行都用分号结尾。
printf(“c1=%c,c2=%c\n”,c1,c2);
}
3题:
#include <stdio.h>
void main()
{
float x,y,z,l;
scanf(“%f%f%f”,&x,&y,&z);
l=x-z%2*(x+y)%2/2;
printf(“%f\n”,l);
}
4题:main()
{ int x,y,z;
}
运行看看结果如何?为什么?
④ main()
{ int i;float x;long y;
i=100;x=200;y=300;
printf(“i=%d,x=%d,y=%d\n”,i,x,y);
printf(“i=%f,x=%f,y=%f\n”,i,x,y);
printf(“i=%ld,x=%ld,y=%ld\n”,i,x,y);
3C程序的执行从第一行开始到最后一行结束。
4C程序的每一行只能写一条语句。
5C程序的一条语句可以占多行。
6一个C程序可有一个或多个函数组成。
7在C程序中,注释说明只能写在一条语句的末尾。
8在一个C程序中,主函数必须放在程序的首部。
c语言实验报告大一
c语言实验报告大一C语言实验报告大一引言在大学的计算机科学与技术专业中,C语言是一门基础而重要的编程语言。
作为大一学生,我们在学习C语言的过程中,不仅仅是理论知识的学习,还需要通过实验来巩固和应用所学的知识。
本篇文章将介绍我在大一期间完成的一些C语言实验,并分享一些实验过程中的心得体会。
实验一:Hello, World!在学习任何一门编程语言时,第一个程序往往是打印"Hello, World!"。
这个简单的程序不仅仅是一个入门的开始,更是我们对编程世界的第一次探索。
通过这个实验,我学会了如何编写一个简单的C程序,并且理解了程序的运行原理。
实验二:数据类型与运算符在这个实验中,我学习了C语言中的不同数据类型,如整数类型、浮点数类型和字符类型。
通过实验,我深入理解了数据类型的区别和选择的依据。
同时,我也学会了使用不同的运算符进行算术运算、逻辑运算和位运算。
这些基础的知识为我后续的学习打下了坚实的基础。
实验三:条件语句和循环结构在这个实验中,我学习了C语言中的条件语句和循环结构。
通过编写一些简单的程序,我掌握了if语句、switch语句和for循环、while循环等控制结构的使用方法。
这些结构的灵活运用,使得我能够编写更加复杂和实用的程序。
实验四:函数与数组函数是C语言中一个非常重要的概念,通过函数的封装和调用,我们可以将程序分解为模块,提高代码的可读性和可维护性。
在这个实验中,我学习了如何定义和调用函数,并且掌握了函数参数的传递和返回值的使用。
同时,我也学会了如何使用数组来处理一系列的数据,通过数组的操作,我可以更加高效地处理大量的数据。
实验五:指针与动态内存分配指针是C语言中一个非常重要且难以理解的概念。
在这个实验中,我通过编写一些程序,掌握了指针的基本概念和使用方法。
同时,我也学会了如何使用动态内存分配来管理内存空间,避免程序出现内存泄漏等问题。
指针的灵活运用,使得我能够更加高效地处理复杂的数据结构和算法。
C语言实验报告-实验2 顺序结构程序设计
实验2 顺序结构程序设计一、实验目的1. 学会使用自然语言或伪代码描述算法2. 掌握变量、运算符、表达式的使用3. 熟悉顺序结构程序中语句的执行过程4. 掌握标准输入流对象cin及标准输出流对象二、实验内容编写程序在屏幕上显示如图2-1所示的菜单。
图2-1 学生选课管理系统主界面实验步骤:范例:1)在VS2008中新建项目,在项目中新建C++源文件,输入下面程序,并且编译、连接。
//***************************************************************//* 程序名:实训2_1.cp *//* 主要功能: *//* 显示主菜单,并获取用户输入的模块编号 *//***************************************************************#include <iostream> // 包含输入输出接口文件using namespace std; // 引用标准命名空间void mainMenu();int main() // 定义主函数{ // 主函数开始mainMenu();return 0;}void mainMenu(){system("cls");cout<<"\n\n\n\n\n";cout<<"\t\t|---------------学生选课系统(学生版)------------|\n";cout<<"\t\t|\t 0. 退出 |\n";cout<<"\t\t|\t 1. 学生信息管理 |\n";cout<<"\t\t|\t 2. 教师信息管理 |\n";cout<<"\t\t|\t 3. 课程信息管理 |\n";cout<<"\t\t|\t 4. 学生选课管理 |\n";cout<<"\t\t|\t 5. 学生成绩管理 |\n";cout<<"\t\t|\t 6. 信息统计模块 |\n";cout<<"\t\t|-----------------------------------------------|\n\n";cout<<"\t\t\t请输入模块编号(0-6):";}2)运行范例所示程序,观察输出结果实训1要求编写程序在屏幕上显示如图2-2所示的菜单。
c语言实验报告
c语言实验报告一、引言C语言是一种广泛应用于计算机科学和软件开发领域的编程语言。
它的简洁性、高效性以及跨平台的特性使其成为许多开发人员的首选。
本篇实验报告将介绍我在学习C语言过程中进行的几个实验项目,并详细记录每个实验的步骤、结果以及对C语言的理解。
二、实验一:Hello World!在学习任何一门编程语言时,第一个示例程序往往是输出"Hello World!"。
这个简单的程序虽然看似微不足道,却能够帮助初学者了解基本的编译和运行过程。
在实验中,我使用了C语言的基本语法,编写了一个简单的Hello World程序,并成功地将其编译并运行。
这个小小的成就让我对C语言有了初步的认识和信心。
三、实验二:计算器程序为了更深入地理解C语言的数据类型和运算符,我决定编写一个简单的计算器程序。
这个程序可以实现基础的四则运算和一些简单的数学函数,如平方根和求幂等。
通过这个实验,我学会了如何使用变量、条件语句和循环结构来实现计算功能,并通过不断调试和修改,使程序更加健壮和高效。
四、实验三:数组与排序数组是C语言中非常重要的概念,在实验三中,我探索了数组的用法和特性,并将其应用于一个排序算法中。
我选择了冒泡排序作为实验的排序算法,通过比较相邻元素的大小并不断交换位置,最终将数组中的元素按照升序排列。
这个实验使我更加熟悉了数组的操作,也加深了我对算法思想和效率的理解。
五、实验四:文件操作在现实世界中,大部分的应用程序需要与文件进行交互。
为了学习如何使用C语言进行文件操作,我进行了实验四。
在这个实验中,我编写了一个小程序,能够读取一个文本文件的内容,统计其中不同字符的数量,并将结果输出到另一个文件。
通过这个实验,我了解了如何打开、关闭和读写文件,也学习了异常处理以及文件操作的一些注意事项。
六、实验五:数据结构和指针C语言提供了指针的机制,允许直接访问和操纵内存中的数据。
为了更深入地理解指针和数据结构之间的关系,我进行了实验五。
C语言程序设计 实验报告2--选择结构
福建农林大学金山学院实验报告系(教研室):专业:年级:实验课程:C语言程序设计姓名:学号:实验室号:计算机号:实验时间:指导教师签字:成绩:实验2:选择结构程序设计一、实验目的和要求1.了解C语言表示逻辑量的方法2.正确使用逻辑运算符和逻辑表达式,掌握if语句和switch语句3.结合程序掌握一些简单算法,并学习调试程序二、实验内容和原理1.有一函数:x2+2x-6(x<0,x≠-3)y = x2-5x+6(0≤x<10,x≠2,x≠3)x2-x-15(x=-3,x=2,x=3,x≧10)写一程序,用scanf函数输入x,输出y值。
2.分别用if语句和switch语句编程实现:给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
3.输入4个整数,要求按由小到大顺序输出。
4.有三个整数a,b,c,由键盘输入,输出其中最大的数,请编写程序。
(用两种方法实现)5.输入出租车类型和里程,计算打车的费用。
计算方式为:3公里以内10元;3公里以上0车型每公里1.5元,1车型每公里2元。
三、实验环境1. 硬件:PC机;2. 软件:Windows操作系统、Visual C++ 6.0,DEV-CPP 。
四、算法描述及实验步骤1、先用scanf函数输入,再用if语句的嵌套来计算该方程。
2、(1)用switch语句时,对输入的数据进行检查,在用score/10将其强制转换得到一个整型。
最后用switch语句执行使其得到一个字符型字母。
(2)用if语句分成各个分数段将符合要求的输出对应的字符。
3、用if语句依次比较的方法排出其大小顺序。
4、(1)先用scanf函数输入,再用if语句的嵌套比较其大小顺序。
(2)带入一个中间数用条件表达式比较其大小顺序。
5、在标题写入条件,3公里以下直接输出。
3公里以上判断车型,再带入相应车型计算车费。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
○4 能正确使用指向函数的指针变量;? ○5 了解指向指针的指针的数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小 到大顺序输出。 (2).???将一个 3X3 的矩阵转置,用一函数实现之。 ?l????3?????5????? 7????9????11???? 13??15????19 将数组名作为函数实参,在执行函数的过程中实现矩阵转置,函数调用结束后在主函数中输 出已转置的矩阵。 (3).有 n 个人围成一圈,顺序排号。从第 1 个人开始报数(从 1 到 3 报数),凡报到 3 的人退 出圈子,问最后留下的是原来第几号的那位。 (4).???用一个函数实现两个字符串的比较,即自己写一个 strcmp 函数,函数原型为: int?strcmp?(char?*?p1,?char?*?p2);? 设 p1 指向字符串 s1,p2 指向字符串 s2,要求当 s1=s2 时,函数返回值为?0,??如果 sl≠ s2,则返回它们二者第一个不相同字符的 ASCII 码差值(如“BOY”与“BAD”的第二个字母 不相同,“O”与“A”之差为 79—65=14);如果 sl>s2,则输出正值;如果 sl<s2 则输出负值。 两个字符串 s1、s2 由 main 函数输入,strcmp 函数的返回值也由 main 函数输出。 (5).用指向指针的指针的方法对 n 个整数排序并输出。要求将排序单独写成一个函数。n 和 各整数在主函数中输入,最后在主函数中输出。
实验 7 函数
一、实验目的:
(1)?掌握定义函数的方法。? (2)?掌握函数实参与形参的对应关系及值传递的方式。? (3)?掌握函数的嵌套调用和递归调用的方法。? (4)?掌握全局变量和局部变量,动态变量和静态变量的概念和使用方法。? (5)?学习对多文件程序的编译和运行。
二、实验内容:
1.写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。本程序应当准备 以下测试数据:17、34、2、1、0。分别运行并检查结果是否正确。 2.用一个函数来实现将一行字符串中最长的单词输出。此行字符从主函数传递给该函数。 (1)把两个函数放在同一个程序文件中。? (2)将两个函数分别放在两个程序文件中,作为两个文件进行编译、连接和运行。 3.用递归法将一个整数 n 转换成字符串。例如输入 483.应输出字符串“483”。n 的位 数不确定,可以是任意的整数。 4.求两个整数的最大公约数和最小公倍数。用一个函数求最大公约数用另一个函数根据求
?{? int?i,j,m=0,n=0;? i=8;?j=10;? m+=i++;? n-=--j;? printf("i=%d,j=%d,m=%d,n=%d\n",i,j,m,n);?}
实验 5 循环控制
一、实验目的:?
(1)熟练掌握 for?语句、while?语句、do-while?语句实现循环的方法;? (2)理解循环嵌套及其使用方法;? (3)掌握 break?语句与 continue?语句的使用;? (4)掌握用循环实现一些常用算法(如穷举、迭代、递推等)。
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<stdio.h> ?main?()? {? char?c1='a',c2='b',c3='c',c4='\101',c5='\116';?
三、程序调试与问题解决:
(1).???输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小 到大顺序输出。 (2).???将一个 3X3 的矩阵转置,用一函数实现之。 ?l????3?????5????? 7????9????11????
形式。 ③将一个长整数赋给无符号变量,会得到什么结果(分别考虑该长整数的值大于或等于 65535 以及小于 65535 的情况)。画出它们在内存中的表示形式。 ○1 得到的是原来正数取存的数 ○2 将一个大于 32767 的长整数斌给整型变 t,造成溢出,数据丢失。 ○3 可能会溢出,也可能正常。 (4)输人习题 3.?10 ?#include<stdio.h> ?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);?} ①运行程序,注意 i,j,m,n 各变量的值。分别作以下改动并运行:? ②将第 6,7 行改为:? m=i++;?n=++j;? 再运行。 ③将程序改为:? #include<stdio.h>? void?main() ?{? int?i,j;
printf("a%c?b%c\tc%c\tabc\n",c1,c2,c3); ?printf("\t\b%c?%c\n",c4,c5);? } #include<stdio.h> ?void?main() ?{?? int?a,b;?? unsigned?c,d;? long?e,f; a=100;?? b=-100;?? e=50000;?? f=32767;?? c=a;?? d=b;?? printf("%d,%d\n",a,b);?? printf("%u,%u\n",a,b);?? printf("%u,%u\n",c,d);?? c=a=e;??d=b=f;?? printf("%d,%d\n",a,b);?? printf("%u,%u\n",c,d); ?} 请对照程序和运行结果分析:? ①将一个负整数斌给一个无符号的变 t,会得到什么结果。画出它们在内存中的表?示形式。 ②将一个大于 32767 的长整数斌给整型变 t,会得到什么结果。画出它们在内存中?的表示
出的最大公约数求最小公倍数。分别用下面的两种方法编程。? (1)不用全局变量,在主函数中输入两个数和输出结果。? (2)用全部变量的方法,数据的传递通过全部变量的方法。 5.写一个函数,输入一个十六进制数,输出相应的十进制数。
三、程序调试与问题解决:
1.写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。本程序应当准备 以下测试数据:17、34、2、1、0。分别运行并检查结果是否正确。 该例编译时出现错误,原因是误将 sushu(a)==1 写为 sushu(a)=1。 改正后编译无误。 2.用一个函数来实现将一行字符串中最长的单词输出。此行字符从主函数传递给该函数。 子函数中第二个 while 考虑到了多种标点符号的情况,但是该程序可能存在的问题是,如 果有两个单词的长度是相同的? 3.用递归法将一个整数 n 转换成字符串。例如输入 483.应输出字符串“483”。n 的位 数不确定,可以是任意的整数。 4.求两个整数的最大公约数和最小公倍数。用一个函数求最大公约数用另一个函数根据求 出的最大公约数求最小公倍数。分别用下面的两种方法编程。?(1)不用全局变量,在主 函数中输入两个数和输出结果。?(2)用全部变量的方法,数据的传递通过全部变量的方 法。
使用了两个子函数,我认为应该还有更简单的算法?!
5.写一个函数,输入一个十六进制数,输出相应的十进制数。 程序运行时出现错误,后检查发现在 scanf 格式字符串的双引号是中文符号,改成英文双引 号后成功。
实验 9 指针
一、实验目的?:
○1 ?通过实验进一步掌握指针的概念,会定义和使用指针变量;?? ○2 能正确使用数组的指针和指向数组的指针变量;?? ○3 能正确使用字符串的指针和指向字符串的指针变量;??
三、程序调试与问题解决:
(1)输人并运行下面的程序 ?#include<stdio.h>? void?main() ?{? char?c1,c2;? c1='a';? c2='b';? printf("%c??%c\n",c1,c2);? } ○1 运行此程序。 ○2 在上面 printf 语句的下面再增加一个 printf 语句。
三、程序调试与问题解决:
1.输入两个正整数,求其中最大公约数和最小公倍数。 编译无错误,运行如上图所示,使用了最简单的算法,清晰易理解,同时注意了编程
的格式,在以往编程序时,往往不注意上下对齐等问题,容易出现缺标点等现象,将大括 号一级一级对齐后,可以有效地避免出错。
发现一个技巧,打括号时一次打出一对括号,可以减少括号不配对的错误。 2. 输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。 编译无误,测试正确,写该程序时特意加了注释,以便阅读。 3.用牛顿迭代法求方程 2X3- 4X2+ 3X- 6=0 在 1.5 附近的根。 该程序缺少#include<stdio.h>;是截图原因,原程序中是存在的。 下若干个桃子,当即吃了一半,还不过痛,又多吃了一 个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一 天剩下的一半零一个。到第 10 天早上想再吃时,见只剩一个桃子了。求第一天共摘了 多少桃子。
C 语言实验报告
说明
1,所有程序均用 VC6.0 编译运行,文件名命名为姓名+日期,因为实验存在补做,所以并不 是按照日期先后排列的。 2,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。