宁波大学C语言实验二下
- 格式:doc
- 大小:70.50 KB
- 文档页数:2
c语言第二次实验报告摘要:本次实验主要是关于C语言的指针和数组的实验。
通过这次实验,我对C语言的指针和数组有了更深入的理解和应用能力。
一、实验要求:1.编写一个程序,实现对10个整数的输入、输出、求和、求平均数等操作。
2.编写一个程序,实现对10个学生的成绩进行排序并输出。
二、实验过程及结果:1.程序一:对10个整数进行输入、输出、求和、求平均数等操作。
步骤:(1)定义整型数组a[10],用for循环对其进行输入。
(2)定义sum变量并用for循环对数组元素进行求和运算。
(3)定义double类型的avg变量,计算数组元素的平均数。
(4)输出数组元素和平均数。
结果:输入10个整数:1 2 3 4 5 6 7 8 9 1010个数字的和为:5510个数字的平均数为:5.502.程序二:对10名学生的成绩进行排序并输出。
步骤:(1)定义数组grade[10],用for循环进行输入。
(2)用冒泡排序法进行排序。
(3)用for循环进行打印输出操作。
结果:输入10名学生的成绩:99 60 88 72 65 92 78 84 70 95排序后的成绩为:60 65 70 72 78 84 88 92 95 99三、实验总结:通过本次实验,我深刻认识到指针和数组对于C语言程序设计的重要性。
指针和数组是C语言中非常重要的概念,其掌握程度直接影响着程序的设计和效率。
在实验过程中,我充分体会到了C语言指针和数组的使用方法,并加深了其中的应用技巧。
在以后的编程过程中,我会更加熟练的使用指针和数组,努力提高自己的编程能力,为今后的学习和工作打下坚实的基础。
循环结构程序设计一、实验目的1.掌握三种循环语句的格式、执行与设计技巧,掌握分支程序结构与循环程序结构的配合(嵌套)使用,使用常用算法设计相应的程序以解决实际问题;2.实验重点——三种循环语句及循环嵌套3.实验难点——循环嵌套4.实验要求——重点讨论for语句及几种常用的程序设计方法:穷举、递推、迭代法二、实验原理1.while语句while语句的一般形式为:while (表达式)语句;其执行准则为当表达式的值为非0时执行while中的内嵌语句。
在表达式中,往往有一个变量用来控制循环的结束,这个变量叫循环控制变量。
在这种循环中,必须在进入循环之前给循环控制变量赋初值,而在循环体中,还要注意必须有一句使循环控制变量的值改变的语句,2.do-while语句一般形式为:do语句while(表达式);执行准则为:先执行一次指定的内嵌语句,而后判断表达式,当表达式的值为0时结束循环。
在表达式中,往往有一个变量用来控制循环的结束,这个变量叫循环控制变量。
在这种循环中,必须在进入循环之前给循环控制变量赋初值,而在循环体中,还要注意必须有一句使循环控制变量的值改变的语句,3.for语句一般形式为:for(表达式1;表达式2;表达式3)语句;执行过程为:①先求解表达式1;②求解表达式2,若其值为真,则执行指定的内嵌语句而后执行下一步;若其值为假,则结束循环;③求解表达式3;④转②;⑤执行for下面的语句。
说明:①一般形式中的表达式1可以省略,此时应该在for 语句前给循环变量赋初值;如for (;i<=100;i++) sum=sum+i;②如果表达式2省略,则循环为无限循环;③表达式3也可以省略,但此时应该另外设法保证循环正常结束;如 for (sum=0,i=1;i<=100;){sum=sum+i;i++}④可以只有表达式2,此时完全等同于while语句;⑤三个表达式都可以省略,此时相当于while(1)语句,循环为无限循环;如for ( ; ;)⑥表达式1和表达式3可以是逗号表达式;⑦表达式2一般是关系表达式。
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 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。
二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。
三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。
熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。
2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。
运用 switch 语句进行多分支选择,处理不同的情况。
利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。
3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。
掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。
4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。
实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。
5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。
掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。
6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。
了解共用体的概念和使用场景,比较结构体和共用体的区别。
四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。
《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语言实验报告说明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语言程序设计实验2实验目的:通过完成C语言程序设计实验2,巩固对C语言基本语法和控制结构的理解,提升编程能力。
实验要求:1. 设计一个C程序,实现以下功能:从键盘输入一个整数N(1 <= N <= 100),然后依次输入N个整数,计算所有整数的和及平均值。
2. 程序需要具备良好的交互性,即在输入整数N和N个整数时给出相应的提示信息,确保用户能够正确地输入数据。
3. 程序需要对输入的数据进行合法性判断,如果输入的整数N不满足范围要求,需要提示用户重新输入。
4. 程序应该能够灵活处理各种情况,例如输入的整数N为0或负数时应该给出相应的提示信息并退出程序。
5. 最后,输出计算结果时,要求精确到小数点后两位。
实验步骤:1. 定义变量。
使用int类型变量来存储输入的整数N和N个整数,使用float类型变量来存储计算结果,包括所有整数的和和平均值。
2. 提示用户输入整数N,并进行合法性判断。
使用scanf函数从键盘读取用户输入的整数N,并通过判断语句检查N的范围是否满足要求。
如果不满足要求,输出相应的提示信息并退出程序。
3. 提示用户输入N个整数,并进行合法性判断。
使用循环结构(如for循环)和scanf函数分别读取用户输入的N个整数,并通过判断语句检查每个整数的合法性。
4. 计算整数的和。
使用循环结构和累加操作将输入的N个整数累加到变量中。
5. 计算平均值。
使用除法操作将和除以N得到平均值。
6. 输出结果。
使用printf函数将计算结果输出到屏幕上,保留两位小数。
7. 结束程序。
实验注意事项:1. 在编写程序时,需要注意变量的命名规范,尽量使用具有代表意义的变量名。
2. 在输入数据时,应当注意用户的输入习惯,给出相应的提示信息,并确保程序能够正确处理不合法的输入。
3. 在处理大规模数据时,要考虑到数据溢出的问题,确保变量的类型足够大。
4. 在输出计算结果时,要注意格式化输出,保证结果的可读性。
一、实验目的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个非零整数后,判别这三个值是否可以表示一个直角三角形的三条边。
编程题5 编写程序,从键盘输入学生的三门课成绩,求其平均成绩(保留小数点后1位)。
# include<stdio.h>
void main()
{
float a,b,c,avg;
printf("请输入3门课成绩:\n");
scanf("%f%f%f",&a,&b,&c);
avg=(a+b+c)/3;
printf("avg=%.1f",avg);
}
4.较难编程题
编程题1
当n为三位十进制整数时,分别求出n的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值。
# include<stdio.h>
void main()
{
i nt n,digit1,digit2,digit3;
p rintf("请输入一个3位十进制整数:\n");
s canf("%d",&n);
d igit1=n%10;
d igit2=(n/10)%10;
d igit3=n/100;
p rintf("digit1=%d,digit2=%d,digit3=%d\n",digit1,digit2,digit3);
}
输出示例:
n为整数152时,它的个位数字是2,十位数字是5,百位数字是1
提示:n的个位数字digit1的值是n%10,十位数字digit2的值是(n/10)%10,百位
数字digit3的值是n/100。
编程题2
将从键盘输入的实型十进制数分离为整数部分和小数部分后输出。
如输入233.55,输出为:233.55=233+0.55。
# include<stdio.h>
void main()
{
float n,b;
int a;
printf("请输入一个实型十进制数:\n");
scanf("%f",&n);
a=(int)n;
b=n-a;
printf("%f=%d+%f\n",n,a,b);
}
编程题3
计算定期存款的本金与利息之和。
设银行定期存款的年利率rate为2.25%,存款期为n 年,存款本金为money元,具体的数字由键盘输入,编程计算n年后的本金与利息之和(提示,利用pow函数)。
# include<stdio.h>
# include"math.h"
void main()
{
double m,n,s,x;
printf("请输入本金和存款年数:\n");
scanf("%lf%lf",&m,&n);
x=pow(1.0225,n);
s=m*x;
printf("s=%lf\n",s);
}。