实验1熟悉Visual C++6.0环境及运行C程序
一、实验目的
1.掌握在Visual C++6.0环境下C程序的建立、编辑、编译和执行过程。
2.掌握C程序的最基本框架结构,完成简单程序的编制与运行。
3.了解基本输入输出函数scanf()、printf ()的格式及使用方法。
4.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。
二、实验内容
1.下列程序的功能是:从键盘输入两个数a和b,求它们的平方和,并在屏幕上输出。输入该C程序,编译并运行之,记下屏幕的输出结果,以文件名sy1_1.c保存。
#include
main()
{
int a,b,sum; /*定义整型变量a、b、sum */
printf("Please Input a,b \n "); /*输出提示信息*/
scanf("%d%d",&a,&b); /*从键盘输入两个整数分别赋予a和b*/
sum=a*a+b*b; /*赋值语句,把a2+b2的结果赋给变量sum*/
printf("%d + %d=%d\n",a,b,sum);/*输出语句*/
}
【使用Visual C++实验步骤】
第1步:进入Visual C++环境后,执行“文件”|“新建”菜单命令。
第2步:在“新建”对话框中切换到“文件”选项卡,然后选择C++ Source File选项。
第3步:在右边的目录文本框中输入准备编辑的源程序文件的存储路径,在“文件”文本框中输入准备编辑的C源程序文件名(如:sy1_1.c)。注意后缀是.c。然后单击“确定”按钮。
第4步:在光标闪烁的程序编辑窗口输入上面C程序(注意:/* */之间的内容为程序注释部分,不执行),程序输入完毕后执行“文件”|“保存”命令,或单击工具栏上的“保存”按钮,也可以用Ctrl+S快捷键来保存文件。
第5步:执行“编译”|“编译”菜单命令,或单击工具栏上的“编译”按钮,也可以按Ctrl+F7组合键,开始编译。观察调试信息窗口输出编译的信息,如果有错,则修改后再编译,直至编译信息为:“0 error(s),0 warning(s)”,表示编译成功。
第6步:按F7键或单击,生成应用程序的菜单命令EXE文件(如sy1_1.exe)。
第7步:运行程序观察结果。执行“编译”|“执行”,或单击工具栏上的“执行”按钮,也可以使用Ctrl+F5快捷键。
2.改错题
(1)下列程序的功能为:计算x*y的值并将结果输出。试纠正程序中存在的错误,以实现其功能。程序以文件名sy1_2.c保存。
#include
main
{ int x=2;y=3;a
A=x*y
print ('a=%d",a);
printf("\n");
}
(2)下程序的功能为:求两数中的较大数据并输出。纠正程序中存在的错误,以实现其功能。程序以文件名sy1_3.c保存。
#include
viod main()
{
int a ,b , max;
Scanf("%d,%d",&a,&b); /*从键盘输入两个整数分别赋予变量a和b */
Max=a;
If (max
Printf("max=%d",max); /*输出max的值*/
}
3.程序填空题
(1)从键盘输入两个整数,输出这两个整数的和。根据注释信息填写完整程序,以实现其功能。以文件名sy1_4.c保存。
#include
main()
{
/* 定义整型变量x,y,total*/
printf("Please input x,y ! "); /*输出提示信息*/
/*由键盘输入两个数分别赋予x和y*/
total=x+y; /*赋值语句*/
printf("%d + %d=%d\n",x,y,total); /* 输出两个整数的和*/
}
(2)从键盘输入两个整数,输出这两个整数的差。根据注释信息填写完整程序,以实现其功能。程序以文件名sy1_5.c保存。
main()
{
int a,b,m;
printf("Input a,b please ! ");
scanf("%d%d",&a,&b);
_________________ /*赋值语句,将a和b的差值赋给m */
_________________ /* 输出a 和b差的结果值后换行*/
}
4.编程题
(1)编程序,运行后输出如下信息:“Better City,Better Life!”。程序以文件名sy1_6.c 保存。
(2)编程序,从键盘输入3个整数,输出它们的平方和。程序以文件名sy1_7.c保存。
实验2 数据类型、运算符和表达式
一、实验目的
1.理解C语言中各种数据类型的意义,掌握各种数据类型的定义方法。
2.掌握C 语言常量、变量的定义与使用。
3.掌握C 语言数据类型及运算符的使用规则。
二、实验内容
1.改错题
(1)下列程序的功能为:已知圆锥半径r 和高h ,计算圆锥体积v 。纠正程序中存在的错误,以实现其功能。程序以文件名sy2_1.c 保存。计算圆锥体积的公式为:
v =13
πr 2h #include stdio.h
main();
{ floatr=10,h=5;
v=1/3*3.14159*r^2*h;
printf("v=%d\n",v)
}
(2)下列程序的功能为:通过键盘输入两个整数分别存放在变量x 、y 中,不借用第3个变量实现变量x 、y 互换值。纠正程序中存在的错误,以实现其功能。程序以文件名sy2_2.c 保存。
#include
main()
{
int x,y;
printf("请输入两个整数\n");
scanf("%d%d",x, y);
printf("初始状态下的x :%d y: %d\n" );
x=x+y
y=x-y;
x=x-y;
printf("最终状态下的x :%d y: %d/n",x,y);
}
2.程序填空题
(1)计算当x =4时,公式104123
+++=x x x y ×2x 2的值。补充完善程序,以实现其
功能。程序以文件名sy2_3.c 保存。
#include
main()
{
float x=4.0,y;
printf("%f",y);
}
(2) 下列程序的功能为:从键盘输入3个整数分别存入变量a、b、c,然后,将变量a 的值存入变量b,将变量b的值存入变量c,将变量c的值存入变量a,输出经过转存后变量a、b、c的值。(提示:使用中间变量)补充完善程序,以实现其功能。程序以文件名sy2_4.c 保存。
#include
main()
{
int a,b,c,;
printf("Please input a,b,c: ");
scanf("%d%d%d",);
;
;
;
;
printf("a=%d\nb=%d\nc=%d\n",a,b,c);
}
3.编程题
(1)从键盘输入3个大写英文字母,把它们转换成小写字母后输出。程序以文件名sy2_5.c保存。
(2)从键盘输入3个整数,输出它们的平均值与积。程序以文件名sy2_6.c保存。
实验3 顺序结构程序设计
一、实验目的
1.掌握scanf()、printf()以及其他常用输入、输出函数的使用。
2.掌握格式控制符的使用。
3.掌握顺序结构程序设计的方法。
二、实验内容
1.改错题
(1)下列程序的功能为:输入一个华氏温度,要求输出摄氏温度。公式为:C = )32(9
5-F ,
输出取2位小数。纠正程序中存在的错误,以实现其功能。程序以文件名sy3_1.c 保存。
#include
main()
{
float c ,f ;
printf("请输入一个华氏温度:\n");
scanf("%f",f);
c=(5/9)*(f-32);
printf("摄氏温度为:%5.2f\n" c);
}
(2)下列程序的功能为:按下列公式计算并输出x 的值。其中a 和b 的值由键盘输入。纠正程序中存在的错误,以实现其功能。程序以文件名sy3_2.c 保存。
2)
(2b a ab x += #include
main()
{ int a,b;
float x;
scanf("%d,%d",a,b);
x=2ab/(a +b)(a +b);
printf("x=%d\n",x);
}
(3)下列程序的功能为:从键盘输入一个小写字母,要求改用大写字母输出。请纠正程序中存在的错误,使程序实现其功能,程序以文件名sy3_3.c 保存。
#include
main()
{
char c1,c2;
c1=getchar; /* 从键盘输入一个小写字母 */
printf("%c,%d\n",c1,c1); /* 输出该小写字母及其ASCII 码值 */
c2=c1+26; /* 转换为大写字母 */
printf("%c,%d\n",c2,c2); /* 输出大写字母及其ASCII 码值 */
}
2.程序填空题
(1)下列程序的功能为:按给定格式输入数据,按要求格式输出结果。补充完善程序,以实现其功能。程序以文件名sy3_4.c 保存。
输入形式enter x ,y :2 3.4
输出形式x+y=5.4
#include
main()
{
int x;
float y;
printf("enter x,y: ");
}
(2) 下列程序的功能为:设圆半径r =1.5,圆柱高h =3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据r 、h ,输出计算结果,输出时要求有文字说明,取小数点后2位数字。(周长l=2r π,圆面积s=2r π,圆球表面积s q=2
4r π,圆球体积v q=33
4r π;圆柱体积v z=2hr π),请补充完善程序,以实现其功能。程序以文件名sy3_5.c 保存。 #include
main()
{
float pi ,h ,r ,l ,s ,sq ,vq ,vz ;
pi=3.1415926;
printf("请输入圆半径r ,圆柱高h :\n");
;
l=;
s=;
sq=;
vq=;
vz=;
printf("圆周长为:);
printf("圆面积为:);
printf("圆球表面积为:);
printf("圆球体积为:);
printf("圆柱体积为:);
}
(3) 下列程序的功能为:通过键盘输入两个整数,分别存入变量x 、y 中,当x #include main() { int x,y,t; printf("请输入x,y:\n"); ; if (x { t ;;y=t;} /* x与y交换*/ printf("交换后的x:%d y:%d \n",x,y); } 3.编程题 (1)编写一个程序实现如下功能:从键盘输入3个字符,然后在屏幕上分3行输出该3个字符。程序以文件名sy3_7.c保存。 (2)编写一个程序实现如下功能:输入一元二次方程ax2+bx+c=0的系数a、b、c,求方程的根。要求:运行该程序时,输入a、b、c的值,分别使b2-4ac的值大于、等于和小于零,观察并分析运行结果。程序以文件名sy3_8.c保存。求根公式如下: ?b± b2?4ac x= 实验4选择结构程序设计 一、实验目的 1.掌握关系运算符和关系表达式的使用方法。 2.掌握逻辑运算符和逻辑表达式的使用方法。 3.掌握if语句、switch语句、条件运算符(?:)的使用方法。 4.掌握选择结构程序的设计技巧。 二、实验内容 1.改错题 (1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_1.c保存。 #include main() { char ch,c1,c2; printf("Enter a character:"); ch=getchar(); if((ch>='a')||(ch<='z')) ch-=32; c1=ch-1; c2=ch+1; if(ch='A') c1=ch+25; else if(ch='Z') c2=ch-25; putchar(c1); putchar(ch); putchar(c2); putchar('\n'); } (2)下列程序的功能为:输入3个整数后,输出其中最大值。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_2.c保存。 #include main() { int a,b,c,max; printf ("请输入3个整数:\n"); scanf ("%d%d%d",&a,&b,&c); max=a; if (c>b) { if (b>a) max=c;} else {if (c>a) max=b;} printf("3个数中最大者为:%d\n",max); } (3)下列程序的功能为:输入1-4月份号,输出该月份对应的英语表示法。例如,输入“3”,则输出“Mar”。纠正程序中存在的错误,以实现其功能。程序以文件名sy4_3.c保存。 #include main() { char m; printf(“input the month number:\n”); scanf ("%c",&m); switch (m) { case 1:printf (“Jan”); case 2:printf (“Feb”); case 3:printf (“Mar”); case 4:printf (“Apr”); } } 2.程序填空题 (1)下列程序的功能为:判断从键盘上输入的一个字符,并按下列要求输出。 若该字符是数字,输出字符串"0-9" 若该字符是大写字母,输出字符串"A-Z" 若该字符是小写字母,输出字符串"a-z" 若该字符是其他字符,输出字符串"!,@,…" 补充完善程序,以实现其功能。程序以文件名sy4_4.c保存。 #include main() {char c; scanf(_____________________); if(c>='0' &&c<='9') __________________________ else if(________________________) printf("A-Z\n"); ___________(c>='a' &&c<='z') printf("a-z\n"); _____________________ printf("!,@,…\n"); } (2)下列程序的功能为:实现加、减、乘、除四则运算。补充完善程序,以实现其功能。程序以文件名sy4_5.c保存。 #include main() { int a,b,d; char ch; printf("Please input a expression:"); scanf("%d%c%d",); /*输入数学表达式*/ switch(ch) { case '+':d=a+b; printf("%d+%d=%d\n",a,b,d); break; case '-':d=a-b; printf("%d-%d=%d\n",a,b,d); break; case '*':d=a*b; printf("%d*%d=%d\n",a,b,d); break; case '/': if() /*如果除数为0,则显示出错提示信息*/ printf("Divisor is zero\n"); else printf("%d/%d=%f\n",a,b,()a/b); /*强制类型转换*/ break; default: printf("Input Operator error!\n"); } } (3)下列程序的功能为:猜价格,用户输入自己估计的价格,程序判断其正确性。补充完善程序,以实现其功能。程序以文件名sy4_6.c保存。 #include "stdio.h" main() {float a,b; printf("请主持人输入时尚手机的实际价格\n"); scanf("%f",&b); printf("\n\n请观众猜时尚手机的价格\n"); scanf("%f",&a); if() printf("低了\n"); if() printf("猜对了!\n"); if() printf("高了\n"); } 3.编程题 (1)从键盘输入三个整数,输出这三个整数的和、平均值(保留2位小数)、积、最小值以及最大值。程序以文件名sy4_7.c保存。 (2)有一分段函数如下,要求用scanf函数输入x的值,求y值并在屏幕上输出。程序以文件名sy4_8.c保存。 0,x<5 y = x-1 ,5≤x<15 6x2-1,x≥15 (3)从键盘输入一个数字0~6,输出相应星期几的英文单词,其中数字0对应Sunday,数字1~6对应Monday~Saturday,如果输入的不是0~6的数字,则显示错误信息。程序以文件名sy4_9.c保存。 实验5循环结构程序设计 一、实验目的 1.掌握循环结构程序设计的3种控制语句——while语句、do···while语句、for语句的使用方法。 2.了解用循环的方法实现常用的算法设计。 二、实验内容 1.改错题 (1)下列程序的功能为:求1~100之和(和值为5050)并输出。纠正程序中存在的错误,以实现其功能。程序以文件名sy5_1.c保存。 #include main() { int i,sum=0; i=1; while(i<100) sum=sum+i; i++; printf(“The sum from 1 to 100 is %d\n”,sum); } (2)下列程序的功能为:倒序打印26个英文字母。纠正程序中存在的错误,以实现其功能,程序以文件名sy5_2.c保存。 #include main() { char x; x='z'; while(x!='a') { printf("%3d",x); x++; } } (3)下列程序的功能为:输入一个大写字母,打印出一个菱形。该菱形中间一行由此字母组成,其相邻的上下两行由它前面的一个字母组成,按此规律,直到字母A出现在第一行和最末行为止。纠正程序中存在的错误,以实现其功能。程序以文件名sy5_3.c保存。例如,输入字母D,打印出如下图形: A BBB CCCCC DDDDDDD CCCCC BBB A #include main() { int i,j,k; char ch; scanf("%c",&ch); k=ch-'A'+1; for (i=1;i<=k;i++) { for (j=20;j>=i;j--) printf("%c",' '); for (j=1;j<=i-1;j++) printf("%c",'A'+i-1); printf("\n"); } k=ch-'A'; for (i=k;i>=1;i--) { for (i=20;i>=i;i--) printf("%c",' '); for (j=1;j<2*i-1;j++) printf("%c",'A'+i-1); printf("\n"); } } 2.程序填空题 (1)用辗转相除法求两个正整数的最大公约数和最小公倍数。补充完善程序,以实现其功能,程序以文件名sy5_4.c保存。“辗转相除法”求两个正整数的最大公约数的算法如下: ①将两数中大的那个数放在m中,小的放在n中; ②求出m被n除后的余数r; ③若余数为0则执行步骤⑦,否则执行步骤④; ④把除数作为新的被除数,把余数作为新的除数; ⑤求出新的余数r; ⑥重复步骤③~⑤。 ⑦输出n,n即为最大公约数。 #include main() { int r, m, n,k,; scanf("%d%d",&m,&n); if(m /*交换两数*/ k=m*n; r=m%n; while(r) {m=n; n=r; r=; } printf("%d %d\n",, ); /*输出最大公约数和最小公倍数*/ } (2)假设有1020个西瓜,第一天卖了一半多两个,以后每天卖剩的一半多两个,求几天后能卖完。补充完善程序,以实现其功能。程序以文件名sy5_5.c保存。 #include main() { int day,x1,x2; day=0; x1=1020; while() { x2=; x1=x2; day++; } printf("day=%d\n",day); } (3)下列程序的功能为:输出100以内能被3整除且个位数为6的所有整数.补充完善程序,以实现其功能。程序以文件名sy5_6.c保存。 #include main() { int i,j; for(i=0; ___________________; i++) { j=i*10+6; if(________________________) continue; printf("%d",j); } } 3.编程题 (1)计算1~100之间所有含8的数之和。程序以文件名sy5_7.c 保存。 (2)编写程序,利用下列近似公式计算e 值,误差应小于10-5。程序以文件名sy5_8.c 保存。 ++++=!31!21!111e …! 1n + (3)某学校有近千名学生,在操场上排队,若5人一行余2人,7人一行余3人,3人一行余1人。编写程序,求该校的学生总人数。程序以文件名sy5_9.c 保存。 (4)从键盘输入N 个学生的学号和每人M 门课程的成绩,计算每个学生的总分及平均分。输出内容包括每个学生的学号、总分和平均分。程序以文件名sy5_10.c 保存。 实验6数组程序设计 一、实验目的 1.掌握一维数组和二维数组的定义、赋值和输入输出的方法。 2.掌握字符数组和字符串函数的使用。 3.掌握与数组有关的算法。 二、实验内容 1.改错题 (1)下列程序的功能为:为指定的数组输入10个数据,并求这些数据之和。纠正程序中存在的错误,以实现其功能。程序以文件名sy6_1.c保存。 #include void main() {int n=10,i,sum=0; int a[n]; for(i=0;i<10;i++) { scanf("%d",a[i]); sum=sum+a[i]; } printf("sum=%d\n",sum); } (2)下列程序的功能为:将字符串b连接到字符串a。纠正程序中存在的错误,以实现其功能。程序以文件名sy6_2.c保存。 #include void main( ) { char a[]="wel",b[]="come"; int i,n=0; while(!a[n]) n++; for(i=0;b[i]!='\0';i++) a[n+i]=b[i]; a[n+i]=’\0’; printf("%s\n",a); } (3)下列程序的功能为:找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。纠正程序中存在的错误,以实现其功能。程序以文件名sy6_3.c保存。 #include #define N 4 #define M 4 main() { int i,j,k,flag1,flag2,a[N][M],max,maxj; for (i=0;i for (j=0;j scanf("%d",&a[i][j]); flag2=0; for (i=0;i { max=a[j][0]; for (j=0;j if (a[i][j]>max) { max=a[i][j]; maxj=j; } for (k=0,flag1=1;k if (max>a[k][maxj]) flag1=0; if (flag1) { printf("\nThe saddle point is:a[%d][%d]=%d\n",i,maxj,max); flag2=1; } } if (flag2) printf("\nThere is no saddle point in the Matrix\n"); } 2.程序填空题 (1)以下程序的功能是:采用二分法在给定的有序数组中查找用户输入的值,并显示查找结果。补充完善程序,以实现其功能。程序以文件名sy6_4.c保存。 #include "stdio.h" #define N 10 main() { int a[ ]={0,1,2,3,4,5,6,7,8,9},k; int low=0,high=N-1,mid,find=0; printf("请输入欲查找的值:\n"); scanf("%d",&k); while (low<=high) { mid=(low+high)/2; if(a[mid]==k) { printf("找到位置为:%d\n",mid+1);find=1; } if(a[mid]>k) __________________; else __________________; } if(!finD. printf("%d未找到\n",k);` } (2)以下程序的功能是:求3个字符串(每串不超过20个字符)中的最大者。补充完善程序,以实现其功能。程序以文件名sy6_5.c保存。 #include #include void main() { char string[20],str[3][20]; int i; for (i=0;i<3;i++) gets(str[i]); if ( ) strcpy(string,str[0]); else strcpy(string,str[1]); if ( ) strcpy(string,str[2]); puts(string); } (3)下列程序的功能为:从键盘输入20个整数,统计非负数个数,并计算非负数之和。补充完善程序,以实现其功能。程序以文件名sy6_6.c 保存。 #include main() { int i,a[20],sum=0,count; for(i=0;i<20;i++ ) scanf("%d",); for(i=0;i<20;i++) { if(a[i]<0) sum+=a[i]; count++; } printf("s=%d\t count=%d\n",sum,count); } 3.编程题 (1)从键盘输入10个数,用选择排序法将其按由大到小的顺序排序;然后在排好序的数列中插入一个数,使数列保持从大到小的顺序。程序以文件名sy6_7.c 存盘。 (2)从键盘输入两个矩阵A 、B 的值,求C =A +B 。程序以文件名sy6_8.c 存盘。 (3)从键盘输入一个字符串,删除其中某个字符。如输入字符串“abcdefededff ”,删除其中的字符e ,则输出的字符串为“abcdfddff ”。程序以文件名sy6_9.c 存盘。 ???? ??=61312753A ???? ??=161361084B 实验7函数程序设计 一、实验目的 1.掌握函数定义的方法。 2.掌握函数实参与形参的传递方式。 3.掌握函数的嵌套调用和递归调用的方法。 4.了解全局变量和局部变量、动态变量、静态变量的概念和使用方法。 二、实验内容 1.改错题 (1)下列sub函数的功能为:将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。例如,当s所指字符串的内容为“ABCD”时,t所指数组中的内容为“DCBAABCD”。纠正程序中存在的错误,以实现其功能。程序以文件名sy7_1.c存盘。 #include #include void sub( char s[], char t[] ) { int i, d; d=strlen( s ); for( i=1; i< d ; i++ ) t[i]=s[d-1-i] ; for( i=0; i t[d+i]=s[i] ; t[2*d]='/0' ; } main( ) { char s[100], t[100]; printf( " Please enter string s : " ); scanf("%s" , s ); sub(s,t) ; printf( " \n The result is : %s \n ", t ); } (2)下列程序的功能为:将字符数组中的字符串逆序输出。纠正程序中存在的错误,以实现其功能。程序以文件名sy7_2.c存盘。 #include #include #define ARR_SIZE = 80; void Inverse(char str[]) main() { char a[ARR_SIZE] ; printf("Please enter a string: "); gets(a); Inverse(char a[]); p rintf("The inversed string is: "); puts(a); } void Inverse(char str[]) { int len, i = 0, j; char temp; len = strlen(str); for (j=len-1; i { temp = str[i]; str[j] = str[i]; str[j] = temp; } } (3)下列程序的功能为:求整数n的阶乘。纠正程序中存在的错误,以实现其功能。程序以文件名sy7_3.c存盘。 #include int fun(int n) { static int p=1; p=p*n; return p; } void main() { int n,i; int f=0; printf("input member: "); scanf("%d",&n); for(i=1;i<=n;i++) f=f*fun(i); printf("%d!=%d\n",n,f); } 2.程序填空题 (1)下列sum()函数的功能是:计算数组x前n个元素之和。在主函数中,输入10个任意整数和下标i1、i2的值(设1≤i1≤i2≤9),调用sum()函数计算从第i1元素到第i2元素的和,并输出结果。补充完善程序,以实现其功能。程序以文件名sy7_4.c存盘。 #include int sum( int x[], int n ) 成都工业学院·计算机工程学院 《程序设计基础》实验报告 1.实验目的 (1)熟悉C语言运行环境,了解和使用Visual6.0++集成开发环境(2)熟悉Visual6.0++环境的功能键和常用的功能菜单命令 (3)掌握C语言程序的书写格式和C语言程序的结构 (4)掌握C语言上机步骤,以及编辑、编译和运行一个C语言程序的方法 (5)熟悉Visual6.0++环境下的程序调试方法 2.实验内容 (1)按照实验步骤编辑、编译、运行第一个”Hello World”程序(2)利用实验指导中的第二个程序熟悉调试工具,在已知x,y值的情况下,计算出x和y的和、差、积、商,并显示出来(3)编写一个程序,输入a、b、c三个值,输出它们的和与平均值c 3.源程序 (1)#include (3)#include 丽水学院计算机实验报告 丽水学院计算机实验报告 一、实验目的 1.熟悉Visual C++和C-Free等集成环境,掌握运行一个C程序的基本步骤,包括编辑、编译、连接和运行。 2.掌握算术表达式和赋值表达式的使用。 3.掌握基本输入、输出函数的使用。 4.能够编程实现简单的数据处理。 二、实验环境 硬件:Pentium以上的计算机。 软件:Windows XP操作系统、Visual C++和C-Free等集成环境。 三、实验内容和结果 1.编程题1 在屏幕上显示一个短句“What is a computer?” 思考: (1)如何在屏幕上显示你自己的学号,姓名和班级? (2)如何在屏幕上显示数字、英文字母和汉字等信息?例如:“你在机房吗?” 编程题1源程序: #include<> void main() { printf("What is a computer?\n"); } 程序运行结果: What is a computer? 思考题(1): #include<> void main() { printf(",小王,班级\n"); } 思考题(2): #include<> void main() { printf("英文字母abcdefgABCDEFG\n"); printf("汉字:哇哈哈啊哈和\n"); } 2.编程题2 在屏幕上显示下列图形。 * * * * * * * * * * 思考:如何在屏幕上显示下列图形? A A A A 编程题2源程序: #include<> void main() { int i,j; for(j=1;j<5;j++) { for(i=5;i>j;i--) printf("*"); printf("\n"); } } 程序运行结果: * * * * * * * * * * 思考题: c语言实验答案 //1.1编写一程序,在屏幕上输出如下内容:// X | X | X //---+---+--- // | | //---+---+--- // 0 | 0 | 0 #include computes their sum,difference,produc t and quotient. //The first number:<第一个整数在此输入> //The second number:<第二个整数在此输入> //Results as follows: //<第一个整数>+<第二个整数>=<和> //<第一个整数>-<第二个整数>=<差> //<第一个整数>*<第二个整数>=<积> //<第一个整数>/<第二个整数>=<商> #include 《实验指导》课后练习题参考答案实验1: 1.主函数 2-4:DDC 5.stdio.h 6-9:CCCC 实验2: 1.double 2-4:ABB 5.2 6-12:CDDDADC 13.! 14.8 15-17:ACC 18.G 19-20:CA 21.5 4 22.x=6c 23-25:DCA 26.0x 27.2.000000 28-29:AB 30.a=3 31.D 32.3.15 33.B 34.double 实验3: 1-3:CCD 4.B 5.2,0 6-8:CAC 9. (1)pass, (2)中 及格 不及格 10-12:ADD 13.2 14.B 15.10 16.6 17.x>=1 && x<=sqrt(10) 实验4: 1.B 2.1 3.A 4.3/5,5/8 5.30 实验5: 1.D 2.(1)9 (2)1 3-5:CDB 6.(1)10 (2)7 7.C 8.(1)x=16 (2)y=8 9.return 实验6: 1-5:CCADA 6.10,20 7.13 11 12 8.7 9.2 10.B 11.(1)3 (2) 1 12-13:CB 14.-31 15.221 16.main函数 17.22 18.(1)return (2)void 实验7: 1.C 2.auto 3.9 4.(1) 4 (2) 0 5.10 6.(1)5 (2) 7 (3) 8 7.C 8.110 9-12:DDBC 13.(1) 1 (2) 3 15.6 720 16.auto 17.48 18.(1)1 (2)2 19.D 20.D 21.5,25 22.6 实验8: 1-2. DD 3. 16 4. (1)0 2 3 (2)2 3 5 (3)7 11 13 5. (1)i<9 (2)j<9-i (3)a[j]=a[j+1] (4)a[j+1]=temp 实验9: 1. D 2. (1)-1 (2)2 3. (1)1 (2)a[i-1][j-1]+a[i-1][j] (3)j<=i 4. (1)1 3 4 5 6 7 (2)3 4 5 6 (3)End of main()! 实验10: 1. 0或NULL 2-5. CACA 6. (1)10 (2)15 (3)19 7. (1)i C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } (2) #include d=170; x=(a+b)/(b-c)*(c-d); printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b 时,将0赋给c。(提示:用条件运算符) 答案: #include C语言上机指导指导教师:李辉李晓丽 东北电力大学 电气工程学院 2006年3月 实验2数据类型、运算符和表达式 1.实验目的 掌握C语言数据类型,熟悉如何定义一个整形、字符型和实型的变量,以及对他们赋值的方法。 掌握不同的类型数据之间赋值的规律。 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 进一步熟悉C程序的编辑、编译、连接和运行的过程。 2.实验内容和步骤 (2).在此基础上增加一个语句: printf(“%d%d\n”,c1,c2); 再运行,并分析结果。 (3).再将第2行改为: int c1,c2; 再使之运行,并观察结果。 (4).再将第3、4行改为: c1 = a; /* 不用单撇号*/ c2 = b; 再使之运行,分析其运行结果。 (5).再将第3、4行改为: c1 = ”a”; /* 用双撇号*/ c2 = ”b”; 再使之运行,分析其运行结果。 (6).再将第3、4行改为: c1 = 300; /* 用大于255的整数*/ c2 = 400; 再使之运行,分析其运行结果。 输入并运行教材第3章习题3.6给出的程序 (1).将一个负整数赋给一个无符号的变量,会得到什麽结果。画出它们在内存中的表示形式。 (2).将一个大于32765的长整数赋给整形变量,会得到什麽结果。画出它们在内存中的表示形式。 (3).将一个长整数赋给无符号的变量,会得到什麽结果(分别考虑该长整数的值大于或等于65535 以及小于65535 的情况)。画出它们在内存中的表示形式。 同学们可以改变程序中各变量的值,以便比较。例如:a = 65580, b = -40000, e = 65535, f = 65580。 输入习题3.10 《C语言程序设计》 实 验 手 册 《C语言程序设计》实验课程简介 课程名称:C语言程序设计实验 课程性质:专业必修课 课程属性:专业必修课 学时学分:学时32 学分1 开课实验室:软件实验室 面向专业:网络工程、软件工程、计算机科学与技术 一、课程的任务和基本要求 C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实验性教育环节。本课程的主要任务是让学生充分掌握C 语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。 二、实验项目 【实验一】最简单的C程序---顺序程序设计 【实验二】逻辑运算和判断选取控制 【实验三】循环结构程序设计(一) 【实验四】循环结构程序设计(二) 【实验五】函数 【实验六】数组(一) 【实验七】数组(二) 【实验八】指针 【实验九】结构体、共用体和文件 【实验十】C程序综合性实验 三、有关说明 1、与其它课程和教学环节的联系: 先修课程:计算机文化 后续课程:面向对象程序设计、Java程序设计、数据结构、软件工程 2、教材和主要参考书目: (1)教材: 《C程序设计习题解答与上机指导》,谭浩强吴伟民著,北京:清华大学出版社,2003年。(2)主要参考书目: 《C语言程序设计》谭浩强主编,清华大学出版社,2003年。 三、实验内容 实验一最简单的C程序---顺序程序设计 (验证性实验 2学时) (一)、实验目的 1.熟悉win-tc程序运行环境 2.掌握运行一个C程序的步骤,理解并学会C程序的编辑、编译、链接方法 3.掌握C语言中使用最多的一种语句——赋值语句 4.掌握数据的输入输出方法,能正确使用各种格式控制符 (二)、实验内容 1.写出下列程序的运行结果 (1)#include 实验一熟悉C程序运行环境 班级学号成绩 一、实验目的 1. 熟悉C语言Visual C++6.0调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include 项目3. 调试并运行下面程序,并写出运行结果: #include 长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include <> main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include<> main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。 问题2 改printf("%c,%c,%d\n",a,b,c);这条语句 《程序设计基础》实验报告 { float a, b; printf_s("please input cost price of TV:"); scanf_s("%f", &a); b = a*K; printf_s("the current price of TV:"); printf_s("%f", b); return 0; 2、 #include"stdafx、h" int main() { int a, b, c, d, e, f; printf_s("please input three figures:"); scanf_s("%d", &a); b = a / 100; c = a % 100; d = c / 10; e = c % 10; f = e * 100 + d * 10 + b; printf_s("the new three figures:"); printf_s("%d", f); return 0; } 3、 #include"stdafx、h" int main() { float a, b, c, d, e; printf_s("please input scores:\n"); scanf_s("%f%f%f", &a, &b, &c); d = a + b + c; e = (a + b + c) / 3; printf_s("the total scores:"); printf_s("%5、1f\n", d); printf_s("the average scores:"); printf_s("%4、1f\n", e); return 0; } 4、 #include"stdafx、h" int main() { float a, b; printf("please input a number:"); scanf_s("%f", &a); printf_s("the integer part is:"); printf_s("%d\n", (int)a); b = a - (int)a; printf_s("the decimal part is:"); printf_s("%2、1f", b); return 0; } 5、 #include"stdafx、h" 2010C语言实验报告参考答案 长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include 1.数据类型 a.输入一个小数点后有多位数字的小数,实现将其保留三位小数,并输出;, #include<> main() {double b,d; printf("请输入一个小数:"); scanf("%lf",&b); printf("输出原来的数:%f\n",b); b*=1000; b+=; b=(int)b; d=b/1000; printf("输出现在的数:%.3lf\n0",d); } b.输入一个4位整数,求其得各位数字的平方和;(1234 1+4+9+16=30) #include<> main() {int n,sum=0,i,t; printf("请输入一个四位整数:\n"); scanf("%d",&n); for(i=0;i<4;i++) {t=n%10; n/=10; sum+=t*t; } printf("%d\n",sum); } c.定义字符型变量ch,写出六种给ch赋值字符’A’的代码; #include<> main() {char ch; ch='A'; ch=65; ch=0x41; ch=0101; ch='\101'; ch='\x41'; } d.编写程序输出26组大小写字母;(AaBbCc……….XxYyZz) #include<> main() {int i; for(i=65;i<91;i++) {printf("%c",i); printf("%c",i+32); } printf("\n"); } e.定义浮点型变量f1、f2,为f1赋值10的-30次,为f2赋值10的30次 #include<> main() { double f1,f2; f1=10e-30; 《C程序设计语言》实验指导书 信息教研室编 西南科技大学计算机科学与技术学院 2006年8月 实验一简单的C语言程序 1.1 实验类型:验证型实验2学时 1.2 实验目的 1、熟悉并学习使用C程序编译平台TurboC; 2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的C程序; 3、掌握C语言基础数据类型,熟悉变量定义和赋值方法; 4、学会使用C算术运算符和算术表达式; 1.3 知识点介绍 1、C程序的结构。 一个程序有多个程序单位构成,每一个程序单位作为一个文件,编译系统分别对每个程序文件分别编译,然后连接起来形成可执行程序。 在一个程序单位中包含以下几部分: 预处理命令 全局声明部分 函数(有函数首部和函数体组成),一个C必须有一个(而且只能有一个)main()函数。 2、C数据类型和表达式 C有多种数据类型,数据类型隐含着该类数据的表示、存储及处理规则。 C运算符丰富,使用十分灵活。有运算符和括号将运算对象(操作数)连接起来,构成表达式。表达式中混合运算式要注意运算符的优先级和结合性。此外,不同数据类型运算时,存在类型转换(隐式自动转换和强制转换)。 3、C程序的编写实现 用C语言编写程序——对源程序文件进行编译声称目标文件——对目标文件连接形成可执行程序——运行程序得到结果——分析结果。 1.4 实验内容 题目1 最简单的C程序 按提示的操作步骤,输入下面程序代码,编译连接并执行。 [实验提示] 按照操作步骤创建第一个应用: (1)编辑你的第一个C源程序 (2)保存你的源文件 (3)编译、连接得到可执行程序 (4)改正源程序中的错误 (5)运行你的第一个程序 [思考与扩展] 1、如果程序中大小写输入错误如main 写成Main,结果会怎样? 2、编译运行通过后,本程序输出了一行字符,如果还想输出一行字符: "it’s too easy! " 程序代码该如何修改添加? 提示:注意使用换行控制符’\n’ 题目2 简单应用—求圆柱体的体积 输入下面程序代码,编译运行。 [实验提示] 按照第一题的操作步骤新建工程,输入代码,编译连接,执行程序,输入测试数据分析结果是否正确,如有错误改正后再重新编译连接,直到没有错误为止。 [测试数据] 运行时输入: 5 8 实验1简单判定性问题求解 一、实验学时 完成本实验需4学时。 二、实验目的 1、阅读程序题 (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法; (2)掌握不同的类型数据之间赋值的规律; (3)掌握数据在内存中的存储方式; (4)学会输入、输出函数的基本格式和使用方法; (5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。 2、编程题 (1)如何运用if-else判定性结构进行程序设计; (2)如何运用switch判定性结构进行程序设计。 3、调试题 (1)熟悉C程序的编辑、编译、连接和运行的过程。 三、实验指导 为了达到最佳的实验效果,以下提供几条适于编程的指导意见,可供参考。 1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。 2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。要注意简单判定性问题的结构选择。 3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。 四、实验内容 1、阅读程序题 (1)main( ) { /*定义字符型变量*/ char c1,c2; /*向字符变量赋以整数*/ c1=97; c2=98; printf("%c %c\n",c1,c2); /*以字符形式输出*/ printf("%d %d\n",c1,c2); /*以整数形式输出*/ } 思考:可否改成int c1,c2;输出结果是?相同 (2)main() { int a=7,b=5; printf("%d\n",b=b/a); } 思考:若将printf语句中%d变为%f,可否输出分式的值?可以(3)main() { int a=9; a+=a-=a+a; /*包含复合的赋值运算符的赋值表达式*/ printf("%d\n",a); } 思考:赋值表达式a+=a-=a+a的求解步骤? 第一步:a=a-(a+a)=-9 第二步a=a+a=18 (4)main() { int k=-1; printf("%d,%u\n",k,k); 实验一C上机环境初识与简单程序设计 一、实验目的 1.了解C编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 4.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法。 二、实验内容 1.编写一个C程序,输出以下信息: **************************** very good! **************************** 2. 编写一个程序,从键盘输入圆的半径r,圆柱的高h,分别计算出圆的周 长c1,圆的面积cs,圆柱的体积cv,输出结果是要求保留小数点后3位。 3.编写一个程序,输入一个4位数,分别输出这个数的个位,十位,百位和 千位, 例如:输入1234,则输出为: 1234的个位是:4,十位是:3,百位是:2,千位是:1 三、实验程序清单及结果(程序清单不要截图,拷贝到文档中,结果需要截图,再拷贝到相应的清单后面) #include 2. #include C语言程序设计 附件1:实验报告模板 C语言程序设计 实验报告 实验一简单的C程序 教学班级:冶金136 学号:01 姓名:张博 课程教师:胡春安实验教师:胡春安 完成时间:2015-2016学年第1学期 实验一简单的C程序 实验时间:2机时 一、实验目的 1. 熟悉C程序编辑环境,掌握主要菜单项的操作和作用。 2. 熟悉编写一个C程序的上机过程(编辑、编译、链接和运行)。 二、实验意义 通过上机实验,加深对第一章所学基本知识:C语言的基本结构和简单C 程序的理解。通过调试简单的C程序,让学生对C程序的编辑、编译、链接和运行有一个直观的体验和熟悉,激发学习的好奇心和兴趣,为后面的全面学习奠定非常必要的基础。 三、实验内容 1.验证实验 (1)掌握程序的编辑、编译、连接、运行、调试过程,按以下步骤进行实验。 ?输入源程序 #include 实验5三种基本结构的综合应用 4.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数的个数。 #include "stdio.h" main() {int i,j,k,m,p,q,n=0; for(i=100;i<=999;i++) {for(j=2;j=i) /*三位数是素数时*/ {k=i%100; /*去掉百位数字*/ if(k>=10) /*十位数字不是0时*/ {for(m=2;m =p)n++;}}}} printf("%d\n",n);} Key:57 5.求[2,400]中相差为10的相邻素数对的对数。 #include "stdio.h" main() {int i,j,k,m,p,q,n=0; for(i=2;i<=400;i++) {for(j=2;j=i) /*i是素数时*/ {for(k=i+1;k=k)break;} /*k是素数时终止if语句的外层循环*/ if(k>=i+10) /*[i+1,i+9]不是素数时*/ {for(q=2;q 一1 #include #include 一5 #include C语言实验指导书 实验一:简单的C语言程序 一、实验目的 1.了解C语言的语法结构和书写格式; 2.掌握C语言数据类型以及变量的定义和赋值;掌握运算符的种类、运算优先级和结合性;掌握不同类型数据间的转换和运算。 2.掌握C语言的表达式。 3.掌握C程序的编辑、编译、连接和运行的过程。 二、实验内容 1.输入并运行以下程序: #include ③#include大一上期C语言实验报告1熟悉实验环境
c语言实验报告 ()
c语言实验答案
C语言程序设计实验指导(课后习题)参考答案
C语言实验报告参考答案 原
C语言实验
C语言实验报告参考答案
C语言程序设计实验实验指导书及答案
C语言实验报告参考答案
C语言实验报告1
2010C语言实验报告参考答案
c语言实验习题及答案详解
C实验指导书
哈工大(威海)c语言实验报告册答案
C语言实验
C语言实验指导及报告模板
C语言实验报告参考源代码
C语言实验答案
C语言实验指导