c语言实验报告 (2)

合集下载

c语言实验二实验报告

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语言的基本语法和运算规则。

实验二:控制流程在实际的编程中,我们常常需要根据不同的条件来执行不同的代码块。

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语言实验二报告

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语⾔程序设计》实验报告(实验-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语言实验报告 (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语言实训总结报告范文(通用5篇)在经济飞速发展的今天,报告的适用范围越来越广泛,报告包含标题、正文、结尾等。

一听到写报告马上头昏脑涨?以下是小编整理的C语言实训总结报告范文,仅供参考,希望能够帮助到大家。

C语言实训总结报告篇1这个星期,我们迎来了C语言实训——一次至为重要的实训。

在这个星期里,同学们都很认真的做着那20多道实训题目,遇到不懂的互相请教,或请问老师。

非常感谢老师对我们的帮助,这次实训使我受益匪浅,收获了很多。

通过C语言实训,让我加深了对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的值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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,为了使截图清晰,手动将运行窗口由“黑底白字”改为了“白底黑字”。
相关文档
最新文档