c语言报告程序分析报告,C语言程序设计报告

1、科目:C语言程序设计老师:姓名:学号:专业:化学工程与工艺实验二(1) 输入下面的程序,进行编译,记录编译时出现的信息,分析出现这些错误信息的原因;按照自己的分析改正错误后,再进行编译,链接和运行。/*test1.c*/main()(printf(this is a erroneous program);)编译时出现的信息:Compiling.yang.cppd:杨洪棋c+练习testyang.cpp(4) : error C2065: printf : undeclared identifierd:杨洪棋c+练习testyang.cpp(4) : error C2143: syntax er。

2、ror : missing ) before ;d:杨洪棋c+练习testyang.cpp(4) : error C2072: main : initialization of a functiond:杨洪棋c+练习testyang.cpp(5) : error C2059: syntax error : )执行 cl.exe 时出错.yang.obj - 1 error(s), 0 warning(s)出现这些错误信息的原因:该程序缺少命令行,还有函数体要用“”括起来,而不是“()”改正/*test1.c*/#includemain()printf(this is a erroneous p。

3、rogram.); 运行结果this is a erroneous program.(2) 下面程序的目的是计算两个整数的积。请输入下面的程序,进行编译,记录编译时出现的信息,分析出现这些信息的原因。按照自己的分析改正错误后,再进行编译。链接和运行。/*test2.c*/#includemain()a=3,b=5;c=a*b;printf(The product is:,c)编译时出现的信息:-Configuration: test1 - Win32 Debug-Compiling.hong.cppd:杨洪棋c+练习test1hong.cpp(5) : error C2065: a : und。

4、eclared identifierd:杨洪棋c+练习test1hong.cpp(5) : error C2065: b : undeclared identifierd:杨洪棋c+练习test1hong.cpp(6) : error C2065: c : undeclared identifierd:杨洪棋c+练习test1hong.cpp(8) : error C2143: syntax error : missing ; before d:杨洪棋c+练习test1hong.cpp(8) : warning C4508: main : function should return a va。

5、lue; void return type assumed执行 cl.exe 时出错.hong.obj - 1 error(s), 0 warning(s)出现这些错误信息的原因:该程序没有对啊,不a,b,c定义,还有程序执行部分缺少输出格式,printf结束时缺少一个“;”改正后/*test2.c*/#includemain()int a,b,c;a=3;b=5;c=a*b;printf(The product is:%dn,c);编译时出现的信息-Configuration: test1 - Win32 Debug-Linking. test1.exe - 0 error(s), 0 wa。

6、rning(s)运行结果The product is:15实验三(1) 分析下面字符的功能分析它们是否可以用在变量名中,并编译程序上机测试之。! # % & * () + = ; “ | ? int main()int a=3,b=5,c=7,x=1,y,z;a=b=c;x+2=5;z=y+3;return 0;编译时出现的信息:-Configuration: test - Win32 Debug-Compiling.yang.cppD:杨洪棋c+练习testtestyang.cpp(6) : error C2106: = : left operand must be l-value执行 cl。

7、.exe 时出错.yang.obj - 1 error(s), 0 warning(s)出现这些错误信息的原因:x+2不能出现在等式的左边,还有y一个没有赋值的变量。改正后#includemain()int a,b,c,x,y,z;a=3;b=5;c=7;x=1;a=b=c;x=5-2;y=b;z=y+3;return 0; 编译时出现的信息:-Configuration: test - Win32 Debug-Linking. test.exe - 0 error(s), 0 warning(s)实验四(1) 整除的危险性#includemain()int a=5,b=7,c=100,d,e。

8、,f;d=a/b*c;e=a*c/d;f=c/a*b;printf(d=%d,e=%d,f=%dn,d,e,f);整除的危险性:使程序无法输出正确的结果,因为d=a/b*c的输出结果为0,而0不可以作为分母,所以程序不能输出正确的结果。(2) 分析下面的程序:试比较x+与+x之间的区别。#includemain()int a=5,b=8;printf(a+=%dn,a+);printf(a=%dn,a);printf(+b=%dn,+b);printf(b=%dn,b);得出结果:x+是先进行计算后在加,+x是先加后计算。(3) 分析下列表达式的值编写测试程序对这些表达式的值进行比较,并使各表。

9、达式在相同的初始条件下执行。b+a+a=18b+(a+)+a=18b+a+(+a)=19b+a+a+=18程序为:#includeint add1(int a,int b)int f;f=b+a+a;return f;int add2(int a,int b)int h;h=b+(a+)+a;return h;int add3(int a,int b)int g;g=b+a+(+a);return g;int add4(int a,int b)int m;m=b+a+a+;return m;main()int a=5,b=8,i,j,k,l;i=add1(a,b);j=add2(a,b);k=。

10、add3(a,b);l=add4(a,b);printf(i=%d,j=%d,k=%d,l=%dn,i,j,k,l);表达式的值:b+a+a=18b+(a+)+a=18b+a+(+a)=19b+a+a+=18(4) 分析下列表达式哪些是错误的,为了验证自己的判断,编写一个测试程序。i,j i+1,j+1 i+,j+ +i,+j i+j只有i+j是错误的。#includemain()int i,j;i=5;j=6;printf(%d,%dn,i,j);printf(%d,%dn,i+1,j+1);printf(%d,%dn,i+,j+);printf(%d,%dn,+i,+j);printf(%。

11、dn,i+j);-Configuration: sdsds - Win32 Debug-Compiling.dsds.cppD:杨洪棋c+练习testsdsdsdsds.cpp(11) : error C2105: + needs l-valueD:杨洪棋c+练习testsdsdsdsds.cpp(12) : warning C4508: main : function should return a value; void return type assumed执行 cl.exe 时出错.dsds.obj - 1 error(s), 0 warning(s)实验5(1) ,编写一个用于测试所。

12、使用系统中的基本数据类型所占内存宽度的程序。#includemain()printf(&d=%dn,sizeof(int);Int所占内存的宽度为4(2) .编写程序来测试基本数据类型的取值范围。#includemain()char c0,c1,c2,c4,c5,c6;int a,b,c,d,e,f;printf(c0=%d,c1=%d,c4=%d,c5=%d,c6=%dn,a,b,c,d,e,f);(3) .编写一个程序来测试数据类型的有效数字长度和精度。#includemain()float d1,d2;d1=0.;d2=.;printf(%lf,%lfn,d1,d2);(4) 编写程序来。

13、测试不同类型数据之间转换所出现的截去高位、丢失精度和变得不可知等问题 #includemain()double f1,f2;f1=2.;f2=.;int i1,i2;i1=(int)f1;i2=(int)f2;printf(%d,%dn,i1,i2);(5) 编写程序来测试字符型数据的算术特征#includemain()char c1=35,c2=A,c3;c3=c1+c2;printf(%d,%cn,c3,c3);(6) 编写程序来测试转义字符的用法#includemain()printf(t,t,t);实验6(1) .设计一个程序测试printf()函数中数据参数被引用的顺序。#inclu。

14、demain()int a=1;printf(%d,%d,%dn,+a,+a,+a);可以看出数据参数是从后面被引用的。输出结果:4,3,2(2) .设计一个程序来测试printf()函数中格式符的意义#includemain()double d=.;printf(%en,d);输出结果:1.e+008(3) 设计一个程序来测试printf()函数定义域宽与精度的方法所设计的程序要能证明以下内容。A,域宽小于实际宽度时的情况。B,默认的域宽与精度各是多少。C,精度说明大于或小于实际精度时的处理。D,float与double的最大精度。E,符号位的处理方式。F,多余的小数位被截断还是舍入。(4)。

15、 .设计一个程序来测试scanf()函数中格式符的意义#includemain()double x,y;scanf(%lf,%lfn,&x,&y);printf(%f,%lfn,&x,&x);printf(%f,%lfn,&y,&y);输出结果:3.0 3.0 0. 0.0. 0. (5) 设计一个程序来测试用scanf()输入含有字符型数据的多个项时,数据项之间的分隔问题。#includemain()char c1,c2,c3;int a1,a2,a3;scanf(%d%d%d,&a1,&a2,&a3);printf(%d%d%dt,a1,a2,a3);scanf(%c%c%c,&c1,&c。

16、2,&c3);printf(%c%c%ct,c1,c2,c3);scanf(%c %c %c,&c1,&c2,&c3);printf(%c%c%cn,c1,c2,c3); 输入结果:3 3 3adca d c输出结果:333 adc adc(6) 编写一个程序来测试getchar()和putchar()的用法#includemain()char c;while(c=getchar()!=n)if(c=a&cmain()int a=3,b=5,c=5;printf(%d,%d,%d,%dt,a=b,a=c,a!=b,a!=c);printf(%d,%d,%d,%d,%d,%dt,a=b,a=c,。

17、amain()float x;scanf(%lf,&x);/*从键盘上输入数据1.23*/if(x=1.23)printf(OK!n);输出结果:1.23OK!(3) 编写一个用于测试逻辑表达式的意义和取值的程序程序的执行结果:0,1,0,1 1,1,1,0 #includemain()int a=3,b=5,c=5;printf(%d,%d,%d,%dt,a=b&a=c,a!=b&a!=c,a=b&a=c,a=b),!(a=c),!(amain()int a,b,c,d,e,f,g,h,i,j;c=0&a=0;d=1|a=1;e=0|a=a;f=1&a=a;g=a|!a=1;h=a|a=a;。

18、i=a&a=a;j=!(a|b)=!a&!b;printf(%d,%d,%d,%d,%d,%d,%d,%dn,c,d,e,f,g,h,i,j);输出结果:0,1,1,1,1,1,1,0(5) 分析下面程序段的执行结果并编写验证自己所做推断的程序程序执行的结果:1 0#includemain()int a=3,b=5,c=5;printf(%dt,a5&(a=b|bint main(void)double e=1.0,x=1.0,y,detax;int i=1;printf(n please enter a error:);scanf(%lf,&detax);y=1/x;while(y=deta。

19、x)x=x*i;y=1/x;e=e+y;+i;printf(%12.10lfn,e);(1) 设计一组detax,使程序能分别按照下面的要求运行。不进入循环:ydetax;只循环一次:y=detax;只循环两次:yint main(void)double e=1.0,x=1.0,y,detax;int i=1,n=0;printf(n please enter a error:);scanf(%lf,&detax);y=1/x;do x=x*i;y=1/x;e=e+y;+i;n+;while(ydetax);printf(%12.10lf,%dn,e,n);讲y=1/x去掉,讲没有输出结果。其。

20、他的没有什么变化。实验10阅读下面程序,画出程序流程图或N-S图,指出程序的功能。#includemain()int i,j,k;long sum=0; for(i=19;i3,输出结果为0C外循环,内循环各1次,i=19,j=2;输出结果:7569D. 外循环1次,内循环2次;i=19,j=1;输出结果:10092E外循环2次,内循环1次;i=18,j=2;输出结果:10018F外循环19次,内循环3次,i=2,j=0;输出结果:46284G外循环20次,内循环2次;i=1,j=1;输出结果:39720H外循环21次,内循环3次;i=0,j=0输出结果:46354(2)为了了解每循环一次时循。

21、环体中变量的变化。#includemain()int i,j,k;long sum=0; for(i=0;imain()int i,j,k=0,m=0;long sum=0; for(j=1;jmain()int i,j,k;long sum=0; for(j=2;jmain()int i,j,m,n;long sum=0; for(j=1;jlong int f1(int a,int b,int c);long int f2(int x);main()int a=0;printf(%dn,f1(a+1,a+2,a+3);long int f1(int a,int b,int c)return。

22、 (f2(a)+f2(b)+f2(c);long int f2(int x)x=x*x;return x;运行的结构为:14调用f1(+a+1,+a+2,+a+3)#includelong int f1(int a,int b,int c);long int f2(int x);main()int a=0;printf(%dn,f1(+a+1,+a+2,+a+3);long int f1(int a,int b,int c)return (f2(a)+f2(b)+f2(c);long int f2(int x)x=x*x;return x;输出结果为:48#includelong int f1(int a,int b,int c);long int f2(int x);main()int a=0;printf(%dn,f1(a+2,a+4,a+6);long int f1(int a,int b,int c)return (f2(a)+f2(b)+f2(c);long int f2(int x)int k;k=x*x;return k;输出结果:56。

CSU 大一上 C语言实验报告 (1)教材第2章编程题第2题:编写计算球体体积的程序。 说明:本题声明适当变量,用户键入数据,运算并输出结果,较简单。 (2)教材第2章编程题第8题:编写程序计算第一、第二、第三月还贷后剩余贷款金额。 说明:本题要求用户输入总额、利率、每月还贷净额,输出每月剩余,对输入输出、类型定义考查。 (3)教材第3章编程题第2题:编写程序实现对用户输入的产品信息进行格式化。 说明:本题考查格式化输入输出、转义字符的运用。 (4)教材第4章编程题第4题:编写程序实现将输入的整数按八进制输出。 说明:本题重在考查简单的运算符和表达式运用。 (5)用户输入一个三位数,输出各位数字之和。 说明:本题重在考查如何从一个整数中取出每一个数字。 (6)教材第5章编程题第5题:编写程序计算用户输入所得额的税金。 说明:本题考查简单的选择结构。 (7)教材第5章编程题第11题:编写程序实现将用户输入的两位数转化为英文。 说明:本题考查switch语句的应用。 (8)教材第6章编程题第8题:编写程序显示单月日历,用户指定这个月的天数和该月起始日是星期几。 说明:本题考查循环结构和选择结构的综合应用,判断是否一个星期最后一天,换行符。 (9)教材第6章编程题第11题:编程序实现利用无穷级数法估计e的值。 说明:本题考查根据公式设计循环结构并实现。 (10)因子之和等于其本身的数称为完数,如28的因子为1、2、4、7、14,而28=1+2+4+7+14,因此28为完数。编程序找出2~5000中的完数。 说明:本题利用变量i在2~5000中变化,判断其是否是完数。 (11)教材第7章编程题第12题:编程计算从左至右求值的表达式的值。 说明:本题考查对运算符和操作数的判断。 (12)教材第7章编程题第14题:编程序用牛顿计算法计算浮点数平方根。 说明:本题考查对循环结构的掌握,对表达式的合理运用,对基本类型的理解。 (13)教材第8章编程题第14题:编写程序颠倒句子中单词的顺序。 说明:本题考查对字符数组的处理,对一些循环选择结构的理解。 (14)教材第8章编程题第15题:编写程序实现凯撒密码加密。 说明:本题考查对字符数组的掌握,对字符处理的理解。 (15)编程序实现将用户输入的数字字符串转化为整数输出。 说明:本题考察对字符、整数关系的掌握与理解,对循环结构的熟练运用。 (16)教材第9章编程题第1题:编写选择排序的函数,并递归调用。 说明:本题利用函数简化程序、使得结构更清晰、熟练掌握。 (17)教材第9章编程题第7题:编写计算xn的函数。 说明:本题考查函数定义、调用,并初步考察递归运用。 (18)教材第10章编程题第6题:编写程序实现逆波兰运算。 说明:本题考查对程序每部分的理解、掌握,外部、内部变量,主函数,小函数的编写与应用。初步了解栈的一些实现函数。 (19)编程序找出2~5000中满足条件的数x:x是素数且x的每位数字是素数、每位数字之和是素数,如23、223、2333等。 说明:本题考查函数方法与循环选择结构的综合运用。 (20)教材第11章编程题第3题:用指针变量编写简化一个分数的函数。 说明:本题用来解决函数无法传回传递的实际参数,指针变量。 (21)教材第12章编程题第2题:编写函数读入用户输入的一条消息,检测是否是回文,分别用数组、指针来解决。 说明:本题可以体会到数组与指针的特点,利用指针的便利。 (22)利用指针编写程序,实现从键盘键入字符串,将此字符串从m个字符开始的n个字符复制成另一个字符串。 说明:本题用指针指向字符串,进行跟踪和复制操作。 (23)教材第13章编程题第5题:编写程序实现对输入命令行参数求和。 说明:本题加深对命令行参数的理解、考查知识的综合应用。 (24)教材第16章编程题第5题:用结构变量解决搜索离用户输入时间最近的航班信息,并输出。 说明:本题考查结构与数组的结合运用,有助于理解结构。首先,定义一个存储起飞、到达时间的结构,再定义一个该类型的数组,循环搜索即可。 (25)教材第17章编程题第5题:用指针数组存储键入的字符串,对数组排序。 说明:本题应用动态分配内存、数组排序,考查综合能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值