文档库 最新最全的文档下载
当前位置:文档库 › 大一C语言上机实验试题及答案

大一C语言上机实验试题及答案

实验一上机操作初步(2学时)

一、实验方式:一人一机

二、实验目的:

1、熟悉VC++语言的上机环境及上机操作过程。

2、了解如何编辑、编译、连接和运行一个C程序。

3、初步了解C程序的特点。

三、实验内容:

说明:前三题为必做题目,后两题为选做题目。

1、输出入下信息:(实验指导书P79)

*************************

Very Good

*************************

2、计算两个整数的和与积。(实验指导书P81)

3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书

P3)

4、在屏幕上显示一个文字菜单模样的图案:

=================================

1 输入数据

2 修改数据

3 查询数据

4 打印数据

=================================

5、从键盘上输入两个整数,交换这两个整数。

四、实验步骤与过程:

五、实验调试记录:

六、参考答案:

1、#include

void main( )

{ printf(“********************\n”);

printf(“ Very Good\n”);

printf(“********************\n”);

}

2、#include

void main( )

{ int a,b,c,d;

printf(“Please enter a,b:”);

scanf(“%d,%d”,&a,&b);

c=a+b; d=a*b;

printf(“%d+%d=%d\n”,a,b,c);

printf(“%d*%d=%d\n”,a,b,d);

}

3、#include

#include

void main( )

{ double x,s;

printf(“Please input value of x:”);

scanf(“%lf”,&x);

s=cos(x);

printf(“cos(%lf)=%lf\n”,x,s);

}

4、#include

void main( )

{ printf(“==================================\n”); printf(“ 1 输入数据 2 修改数据\n”);

printf(“ 3 查询数据 4 打印数据\n”);

printf(“===================================\n”);

}

5、#include

void main( )

{ int x,y,t;

printf(“Please enter x and y:”);

scanf(“%d%d”,&x,&y);

t=x; x=y; y=t;

printf(“After swap:x=%d,y=%d\n”,x,y);

}

实验二简单的C程序设计(4学时)

一、实验方式:一人一机

二、实验目的:

1、掌握C语言的数据类型。

2、学会使用C语言的运算符及表达式。

3、掌握不同数据类型的输入输出方法。

三、实验内容:

说明:前四题为必做题目,后两题为选做题目。

1、输入r1、r2,求出圆形垫片面积。(实验指导书P84)

2、输入华氏温度h,输出摄氏温度c。(实验指导书P85)

3、从键盘输入一个3位整数,将输出该数的逆序数。(实验指导书P89)

4、输入并运行以下程序,分析运行结果。

#include

void main( )

{ int i,j;

i=8; j=10;

printf(“%d,%d\n”,++i,++j);

i=8; j=10;

printf(“%d,%d\n”,i++,j++);

i=8; j=10;

printf(“%d,%d\n”,++i,i);

i=8; j=10;

printf(“%d,%d\n”,i++,i);

}

5、输入三角形三条边的边长,求三角形的面积。(书P55)

6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。(书P55)

四、实验步骤与过程:

五、实验调试记录:

六、参考答案:

1、#include

#define PI 3.14

void main( )

{ float r1,r2;

double s1,s2,s;

printf(“Please enter r1,r2:\n”);

scanf(“%f%f”,&r1,&r2);

s2=r2*r2*PI; s1=r1*r1*PI; s=s2-s1;

printf(“s=%lf\n”,s);

}

2、#include

void main( )

{ float h,c;

printf(“请输入华氏温度:”);

scanf(“%f”,&h);

c=5.0/9*(h-32);

printf(“\n摄氏温度:%f\n”,c);

}

3、#include

void main( )

{ int a,b,c,x,y;

printf(“请输入一个3位的正整数:\n”); scanf(“%d”,&x);

a=x/100; /*求x的百位数*/

b=(x-a*100)/10; /*求x的十位数*/

c=x-a*100-b*10; /*求x的个位数*/

y=c*100+b*10+a;

printf(“%d:%d\n”,x,y);

}

4、运行结果:9,11

8,10

9,8

8,8

5、#include

#include

void main( )

{ int a,b,c;

double area,s;

printf(“Please enter a,b,c:”);

scanf(“%d,%d,%d”,&a,&b,&c);

s=(double)(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“area=%.2lf\n”,area);

}

6、#include

void main( )

{ char a,b,c;

float x;

printf(“Please enter:\n”);

a=getchar(); b=getchar(); c=getchar(); x=(a+b+c)/3.0;

printf(“(a+b+c)/3=%.2f\n”,x);

}

实验三选择结构程序设计(2学时)

一、实验方式:一人一机

二、实验目的:

1、熟练掌握if语句和switch语句。

2、练习并掌握多分支选择结构的编程方法。

3、学习调试和修改程序的步骤。

三、实验内容:

说明:前三题为必做题目,后两题为选做题目。

1、读入3个分别表示箱子长、宽、高的整数值,判断并输出该箱子是立方体还是长方体。

(实验指导书P104)

2、输入某一年月,输出该月的天数。(实验指导书P105)

3、有一函数: x (x<1)

y= 2x-1 (1≤x<10)

3x-11 (x≥10) 编写程序,输入x值,输出y值。

4、从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符

为大写字母,则转换为小写字母输出;如果为其他字符,原样输出。(书P94)

5、输入4个整数,要求按由小到大的顺序输出。

四、实验步骤与过程:

五、实验调试记录:

六、参考答案:

1、#include

void main( )

{ int l,w,h;

printf(“请输入箱子的长、宽、高:\n”);

scanf(“%d%d%d”,&l,&w,&h);

if(l==w&&w==h) /*如果长、宽、高相等,则为立方体*/

printf(“该箱子是立方体。”);

else

printf(“该箱子是长方体。”);

}

2、#include

void main( )

{ int year,month,days;

printf(“Please enter year and month:\n”);

switch(month)

{ case 2: if(year%4==0&&year%100!=0||year%400==0)

days=29;

else

days=28;

break;

case 1:case 3:case 5:case 7:case 8:case 10:case 12: days=31; break; case 4: case 6: case 9: case 11: days=30;

}

printf(“%d年%d月有%d天\n”,year,month,days);

}

3、#include

void main( )

{ float x,y;

printf(“Please input x:\n”);

scanf(“%f”,&x);

if(x<1)

y=x;

else if(x<10)

y=2*x-1;

else

y=3*x-11;

printf(“y=%f\n”,y);

}

4、#include

void main( )

{ char x;

printf(“Enter a char:\n”);

x=getchar();

if(x>=‘a’&&x<=‘z’)

x=x-32;

else if(x>=‘A’&&x<=‘Z’)

x=x+32;

putchar(x);

}

5、#include

void main( )

{ int a,b,c,d,t;

printf(“请输入4个整数:”);

scanf(“%d%d%d%d”,&a,&b,&c,&d);

if(a>b) { t=a; a=b; b=t; }

if(a>c) { t=a; a=c; c=t; }

if(a>d) { t=a; a=d; d=t; }

if(b>c) { t=b; b=c; c=t; }

if(b>d) { t=b; b=d; d=t; }

if(c>d) { t=c; c=d; d=t; }

printf(“排序结果如下:\n”);

printf(“%d,%d,%d,%d\n”,a,b,c,d);

}

实验四循环结构程序设计(4学时)

一、实验方式:一人一机

二、实验目的:

1、熟练掌握while语句、do-while语句和for语句。

2、练习并掌握循环结构的嵌套形式。

3、掌握循环结构的程序设计方法。

三、实验内容:

说明:前四题为必做题目,后两题为选做题目。

1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结

束输入。(实验指导书P117)

2、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数

本身。(实验指导书P118)

3、判断输入的某个数是否为素数。若是,输出YES,否则输出NO。(书P123)

4、计算π的近似值。公式如下:π/4=1-1/3+1/5-1/7+……,直到最后一项的绝对值小

于10-6为止。(书P123)

5、计算 s=1!+2!+……+20! 的值并输出。

6、输入10个整数,统计并输出其中正数、负数和零的个数。

四、实验步骤与过程:

五、实验调试记录:

六、参考答案:

1、#include

void main( )

{ float x,max,min;

printf(“Please input scores:”);

scanf(“%f”,&x);

max=min=x;

while(x>=0)

{ if(x>max) max=x;

if(x

scanf(“%f”,&x);

}

printf(“\nmax=%f\nmin=%f\n”,max,min); }

2、#include

void main( )

{ int x,y,z;

int k=100;

while(k<=999)

{ x=k/100;

y=(k-x*100)/10;

z=k-x*100-y*10;

if(k==x*x*x+y*y*y+z*z*z)

printf(“%d\n”,k);

k++;

}

}

3、#include

#include

void main( )

{ int i,x,yes,a;

printf(“Enter integer number:”);

scanf(“%d”,&x);

yes=1;

i=2;

a=(int)sqrt((double)x);

while(yes&&i<=a)

{ if(x%i==0) yes=0;

i++;

}

printf(“%d”,x);

if(yes)

printf(“YES\n”);

else

printf(“NO\n”);

}

4、#include

#include

void main( )

{ float pi,t,n;

int sign=1;

pi=0; n=1; t=1;

while(fabs(t)>=1e-6)

{ t=sign/n;

pi+=t;

n+=2;

sign=-sign;

}

pi=pi*4;

printf(“pi=%f\n”,pi);

}

5、#include

void main( )

{ float s=0,t=1;

int n;

for(n=1;n<=20;n++)

{ t=t*n;

s=s+t;

}

printf(“1!+2!+……+20!=%f\n”,s);

}

6、#include

void main( )

{ int x,i,a1=0,b1=0,c1=0;

for(i=1;i<=10;i++)

{ printf(“\n请输入第%d个数:”,i);

scanf(“%d”,&x);

if(x>0) a1++;

else if(x<0) b1++;

else c1++;

}

printf(“整数有%d个,负数有%d个,零有%d个\n”,a1,b1,c1);

}

实验五综合实验1:结构化程序设计(2学时)

一、实验方式:一人一机

二、实验目的:

1、进一步掌握选择结构、循环结构的编程特点。

2、掌握C语言的结构化程序设计思想。

3、学习利用循环结构实现的一些常用算法(如穷举、迭代、递推等)。

三、实验内容:

说明:前两题为必做题目,后两题为选做题目。

1、编一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的的等级成绩。设:

90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。(书P93)

2、百马百担问题。(实验指导书P121)

3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。

4、输出如下图案: *

***

*****

*******

*****

***

*

四、实验步骤与过程:

五、实验调试记录:

六、参考答案:

1、#include

void main( )

{ int score,temp,logic;

char grade;

logic=1;

while(logic)

{ printf(“Input score:”);

scanf(“%d”,&score);

if(score>100||score<0)

printf(“\nError,Input again!\n”);

else

logic=0;

printf(“\n”);

}

if(score==100)

temp=9;

else

temp=score/10;

switch(temp)

{ case 9: grade=‘A’;break;

case 8: grade=‘B’;break;

case 7: grade=‘C’;break;

case 6: grade=‘D’;break;

default: grade=‘E’;

}

printf(“Score is %d,the grade is %c.\n”,score,grade);

}

2、#include

void main( )

{ int m,n,k;

int sum=0;

printf(“各种驮法如下:\n”);

for(m=1;m<=100;m++)

for(n=1;n<=100-m;n++)

{ k=100-m-n;

if(k%2==0&&m*3+n*2+k/2==100)

{ printf(“大马%3d匹;中马%3d匹;小马%3d匹.\n”,m,n,k); sum++;

}

}

printf(“共有%d种驮法.\n”,sum);

}

3、#include

void main( )

{ char c;

int letter=0,space=0,digit=0,other=0;

printf(“请输入一行字符:\n”);

while((c=getchar( ))!=‘\n’)

{ if(c>=‘a’&&c<=‘z’||c>=‘A’&&c<=‘Z’)

letter++;

else if(c==‘’)

space++;

else if(c>=‘0’&&c<=‘9’)

digit++;

else

other++;

}

printf(“字母数=%d,空格数=%d\n”,letter,space);

printf(“数字数=%d,其他字符数=%d\n”,digit,other);

}

4、#include

void main( )

{ int i,j,k;

for(i=0;i<=3;i++)

{ for(j=0;j<=2-i;j++) printf(“”);

for(k=0;k<=2*i;k++) printf(“*”);

printf(“\n”);

}

for(i=0;i<=2;i++)

{ for(j=0;j<=i;j++) printf(“”);

for(k=0;k<=4-2*i;k++) printf(“*”);

printf(“\n”);

}

}

实验六函数程序设计(4学时)

一、实验方式:一人一机

二、实验目的:

1、掌握C语言中函数的三要素:函数定义、函数调用和函数说明。

2、掌握通过参数在函数间传递数据的方法。

3、掌握全局变量、局部变量、动态变量、静态变量的概念和使用方法。

三、实验内容:

说明:前四题为必做题目,后两题为选做题目。

1、从键盘输入三角形的3条边,调用三角形面积函数求出其面积,并输出结果。(实验

指导书P130)

2、输入整数n,输出高度为n的等边三角形。当n=5时的等边三角形如下:(实验指导

书P134)

*

***

*****

*******

*********

3、输入并运行以下程序,分析运行结果。

#include

int a=5;

int b=7;

void main( )

{ int a=4,b=5,c;

c=plus(a,b);

printf(“a+b=%d\n”,c);

}

plus(int x,int y)

{ int z;

z=x+y;

return (z);

}

4、求500以内的所有亲密数对。若正整数A的所有因子(包括1但不包括自身,下同)

之和为B,而B的因子之和为A,则称A和B为一对亲密数对。(实验指导书P136)

5、输入并运行以下程序,分析运行结果。

#include

int d=1;

fun(int p)

{ static int d=5;

d+=p;

printf(“%d ”,d);

return (d);

}

void main( )

{ int a=3;

printf(“%d ”,fun(a+fun(d)));

}

6、设计一个函数,输出整数n的所有素数因子。(书P157)

四、实验步骤与过程:

五、实验调试记录:

六、参考答案:

1、#include

#include

float area(float a,float b,float c)

{ float s,p,area;

s=(a+b+c)/2;

p=s*(s-a)*(s-b)*(s-c);

area=sqrt(p);

return (area);

}

void main( )

{ float x,y,z,ts;

scanf(“%f%f%f”,&x,&y,&z);

if(x>0&&y>0&&z>0&&x+y>z&&y+z>x&&x+z>y)

{ ts=area(x,y,z);

printf(“area=%f\n”,ts);

}

else

printf(“data error!\n”);

}

2、#include

void trangle(int n)

{ int i,j;

for(i=0;i

{ for(j=0;j<=n-j;j++) putchar(‘’); /*打印每一行的空格*/ for(j=0;j<=2*i;j++) putchar(‘*’); /*打印每一行的*号*/ putchar(‘\n’);

}

}

void main( )

{ int n;

printf(“Please enter n:”);

scanf(“%d”,&n);

printf(“\n”);

trangle(n);

}

3、a+b=9

4、#include

int facsum(int m)

{ int sum=1,f=2;

while(f<=m/2)

{ if(m%f==0) sum=sum+f;

f++;

}

return sum;

}

void main( )

{ int m=3,n,k;

while(m<=500)

{ n=facsum(m);

k=facsum(n);

if(m==k&&m<=n)

printf(“%d,%d\n”,m,n);

m++;

}

}

5、6 15 15

6、#include

int prime(int n)

{ int i,flag=1;

for(i=2;i<=n/2;i++)

if(n%i==0)

{ flag=0;

return flag;

}

return flag;

}

void factor(int n)

{ int i;

i=2;

while(i<=n)

{ if((n%i==0)&&prime(i))

{ printf(“%d ”,i);

n=n/i;

continue;

}

i++;

}

}

void main( )

{ int num;

printf(“Enter num:”);

scanf(“%d”,&num);

printf(“prime factor is:\n”);

factor(num);

}

实验七数组程序设计(4学时)

一、实验方式:一人一机

二、实验目的:

1、掌握数组的定义、赋值和输入输出的方法。

2、学习用数组实现相关的算法(特别是排序算法)。

3、掌握C语言中字符数组和字符串处理函数的使用。

三、实验内容:

说明:前四题为必做题目,后两题为选做题目。

1、下列程序的功能是:输入10个整数,按每行3个数输出这些整数,最后输出10个整

数的平均值。程序中有几处错误,试找出它们后加以修改,并上机验证修改结果。

#include

void main( )

{ int i,n,a[10],avg;

for(i=0;i

scanf(“%d”,a[i]);

for(i=0;i

{ if(i%3==0) printf(“\n”);

printf(“%d ”,a[i]);

}

for(i=0;i

avg+=a[i];

printf(“\navg=%f\n”,avg);

}

2、写一个函数,对输入的10个整数按从小到大的顺序排序(升序,用冒泡排序实现)。

(实验指导书P147)

3、编写程序,判断某一字符串是不是“回文数”,回文数是从左至右或从右至左读起来

都是一样的字符串。(实验指导书P153)

4、输入一个3行3列矩阵的所有元素,然后求出主对角线元素之和。

5、给定某年某月某日,将其转换成这一年的第几天并输出。(实验指导书P152)

6、编写程序,在有序的数列中查找某数,若该数在此数列中,则输出它所在的位置,否

则输出no found。(书P191)

四、实验步骤与过程:

五、实验调试记录:

六、参考答案:

1、#include

void main( )

{ int i,n=10,a[10];

float avg=0;

for(i=0;i

scanf(“%d”,&a[i]);

for(i=0;i

{ if(i%3==0) printf(“\n”);

printf(“%d ”,a[i]);

}

for(i=0;i

avg+=a[i];

avg=avg/n;

printf(“\navg=%f\n”,avg);

}

2、#include

void sort1(int s[ ],int n)

{ int i,j;

int t;

for(i=0;i

for(j=9;j>=i+1;j--)

if(s[j]

{ t=s[j];s[j]=s[j-1];s[j-1]=t; } }

void main( )

{ int i,a[10];

printf(“Please input 10 numbers:\n”);

for(i=0;i<10;i++)

scanf(“%d”,&a[i]);

sort1(a,10);

printf(“The sorted 10 numbers:\n”);

for(i=0;i<10;i++)

printf(“%d ”,a[i]);

}

3、#include

#include

#define N 40

void main( )

{ char str[N],ch=‘Y’;

int i;

int len;

printf(“Input a string:\n”);

scanf(“%s”,str);

len=strlen(str);

for(i=0;i

if(str[i]!=str[len-1-i])

{ ch=‘N’;

break;

}

if(ch==‘Y’)

printf(“%s是一个回文数\n”,str);

else

printf(“%s不是一个回文数\n”,str);

}

4、#include

void main( )

{ int a[3][3],sum;

int i,j;

sum=0;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf(“%d”,&a[i][j]);

for(i=0;i<3;i++)

sum=sum+a[i][i];

printf(“sum=%d\n”,sum);

}

5、#include

int day_tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},

{0,31,29,31,30,31,30,31,31,30,31,30,31}}; int day_year(int year,int month,int day)

{ int i,j,s=0;

if(year%4==0&&year%100!=0||year%400==0) i=1; else i=0; for(j=1;j

s=s+day_tab[i][j];

return (s+day);

}

void main( )

{ int y,m,d;

printf(“Input year,month and day:\n”);

scanf(“%d%d%d”,&y,&m,&d);

printf(“是这年的第%d天\n”,day_year(y,m,d));

}

6、#include

#define N 10

void main( )

{ int a[N];

int num,i;

char ch=‘n’;

printf(“请输入一个数组:\n”);

for(i=0;i

scanf(“%d”,&a[i]);

printf(“输出数组:\n”);

for(i=0;i

printf(“%d ”,a[i]);

printf(“\n”);

printf(“请输入一个数:\n”);

scanf(“%d”,&num);

printf(“开始查找\n”);

for(i=0;i

if(num==a[i])

{ ch=‘y’;

printf(“%d在数组的第%d位\n”,num,i+1);

}

if(ch==‘n’)

printf(“no found\n”);

}

实验八指针程序设计(2学时)

一、实验方式:一人一机

二、实验目的:

1、通过实验进一步掌握指针的概念,会定义和使用指针变量。

2、能正确使用指向数组和字符串的指针变量。

3、熟悉指针作为函数参数的编程特点。

三、实验内容:

说明:前两题为必做题目,后两题为选做题目。要求用指针方法实现。

1、指针基础及指针运算。(实验指导书P168)

2、输入3个整数,按从小到大的次序输出。 (书P234)

3、数据交换。实验要求:1)定义两个函数,分别为void swap1(int a,int b)和void

swap2(int *a,int *b),用于交换a,b的值。2)从主函数中分别输入两个整型变量a、b。3)从主函数中分别调用上述两个交换函数,并打印输出交换后a、b的结果。(实验指导书P169)

4、编写一个程序计算字符串长度的函数,模拟C的函数库内的计算字符串长

度的函数strlen( )。

四、实验步骤与过程:

五、实验调试记录:

六、参考答案:

1、#include

#include

#define N 5

void main( )

{ int *p,*q,a[N];

int i,tmp;

p=a;

q=(int *)malloc(N*sizeof(int));

printf(“Please input the first group:”);

for(i=0;i

scanf(“%d”,p+i); /*使用指针p输入a的N个元素*/

printf(“Please input the second group:”);

for(i=0;i

scanf(“%d”,&q[i]); /*使用数组输入指针q地址上的N个整数*/

for(i=0;i

if(*(p+i)>*(q+i))

{ tmp=*(p+i); *(p+i)=*(q+i); *(q+i)=tmp; }

C语言上机报告答案

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键盘¥50.5\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);这条语句 改成:printf("%c %c %d\n",a,b,c);

C语言程序设计实验报告(实验大纲+过程)

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

C语言上机实验[1]

实验四循环结构程序设计(4学时) 一、实验方式:一人一机 二、实验目的: 1、熟练掌握while语句、do-while语句和for语句。 2、练习并掌握循环结构的嵌套形式。 3、掌握循环结构的程序设计方法。 三、实验内容:说明:前四题为必做题目,后两题为选做题目。 1、从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结 束输入。(实验指导书P41) 2、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数 本身。(实验指导书P42) 3、判断输入的某个数是否为素数。若是,输出YES,否则输出NO。(实验指导书P167) 4、计算π的近似值。公式如下:π/4=1-1/3+1/5-1/7+……,直到最后一项的绝对值小 于10-6为止。(实验指导书P169) 5、计算1!+2!+……+n! 的值,n值由键盘输入。(实验指导书P176) 6、输入10个整数,统计并输出其中正数、负数和零的个数。 四、实验答案:(代码+运行结果截屏) 实验五综合实验1:结构化程序设计(2学时) 一、实验方式:一人一机 二、实验目的: 1、进一步掌握选择结构、循环结构的编程特点。 2、掌握C语言的结构化程序设计思想。 3、学习利用循环结构实现的一些常用算法(如穷举、迭代、递推等)。 三、实验内容:说明:前两题为必做题目,后两题为选做题目。 1、编一程序,对于给定的一个百分制成绩,输出对应A,B,C,D,E表示的的等级成绩。设: 90分以上为A,80-89分为B,70-79分为C,60-69分为D,60分以下为E。(实验指导书P162) 2、百马百担问题。(实验指导书P45) 3、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 4、输出如下图案: * *** ***** ******* ***** *** * 四、实验答案:(代码+运行结果截屏)

C语言 数组 实验题目及答案

实验六数组程序设计 【实验目的】 1、掌握使用一维数组编程方法 2、掌握使用二维数组进行程序设计 【实验内容】 一、上机验证程序,并分析结果 要求:读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。1、#include int main() { int a[ ]={1,2,3,4,5} , i, j, s=0 ; j = 1; for ( i = 4 ; i>=0 ; i--) { s = s+ a[i] * j ; j = j * 10 ; } printf(" s= %d \n" , s ); return 0; } 二、程序改错题 1.下面程序的功能,是从键盘输入一个数组(数组长度为10),查找数组中正数的个数。源代码如下,程序中存在错误,请将其改正。 #include int main()

{ int a(10);/*定义数组*/ int count,i;/* i循环变量 count 正数个数*/ for(i=0;i<=10;i++) {/*循环输入*/ scanf("%d",a[i]); } count=1; for(i=0;i<=10;i++) {/*查找正数*/ if(a(i)>0) count++; } printf("数组中正数有:%d个\n",count); return 0; } 三编写程序 1.编写程序要求输入30个学生的单科成绩,输出高于平均分的成绩。#include #define N 30 int main() { float score[N],sum=0,aver; int i; for(i=0;i<30;i++) { scanf("%f",&score[i]); sum=sum+score[i]; } aver=sum/30; printf("平均分为:%.2f\n",aver); for(i=0;iaver) printf("%.2f ",score[i]); printf("\n");

2010C语言实验报告参考答案

2010C语言实验报告参考答案

长沙理工大学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键盘¥50.5\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;

C语言上机实验题

第六章循环控制 通过本章实验作业应达目标 1.熟悉while、for、do_while、break、continue语句的作用与使用规范。 2.学习并掌握利用while语句、for语句、do_while语句实现循环结构。 3.掌握循环结构和选择结构之间嵌套、多重循环间嵌套的设计方法。 4.进行算法设计训练,能综合所学控制结构语句解决一般问题。 本章必须上交作业 程序6_1.c、6_2.c、6_5.c、6_6.c、6_8.c上传至211.64.135.121/casp。 本章开始,上机实验项目量加大,希望同学们多多自行上机。本章实验项目有余力都可以做一下并上交。 循环程序设计 计算机解决问题都是按指定的顺序执行一系列的动作。按照特定的顺序执行相应的动作来求解问题的过程称为算法。程序中的语句是算法的体现,而算法要解决的是“做什么”和“怎么做”的问题。 计算机程序中指定语句的执行顺序称为“程序控制”。结构化的程序控制包含三种基本结构:顺序结构,选择结构和循环结构。 1. 循环设计 循环是在循环条件为真时反复执行的一组计算机指令,是计算机解题的一个重要结构。循环控制有两种基本方法:计数法和标志法。 1)计数器控制的循环 事先准确地知道循环次数,因此设计一个循环控制变量,由变量值来控制循环次数。每循环一次,循环变量的值会递增(增值通常为1或-1),当其值达到终值时结束循环。 教材例6.2、6.3、6.7都是典型的计数器控制的固定次数次数循环。 2)标志控制的循环 事先不知道准确的循环次数,由某一目标值标记循环的结束。如,教材例6.6中以|t|的值达到标记下限值1e-6作为循环的结束。 循环设计时要注意合理设计循环条件,使得循环不会成为死循环。 2. 算法 程序设计的首要工作是算法设计,离开了算法也就没有了程序。算法,是指完成某一项工作而采取的方法和步骤,具体到程序设计,是对解题过程的准确而完整的描述,并用一种程序设计语言的来实现。 循环主要用来解决程序设计中两类基本的算法:穷举和迭代。 1)穷举 穷举的基本思想是对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试过为止。穷举是一种重复型算法,其核心是设计循环,在循环体中依次测试。 例:输入两个正整数x和y,求其最大公约数。 main() {int x,y,i,flag; printf("Please input two numbers:"); scanf("%d%d",&x,&y);

C语言上机实验标准答案.doc

实验一上机操作初步 (2 学时 ) 一、实验方式:一人一机 二、实验目的: 1、熟悉 VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个 C 程序。 3、初步了解 C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息: ( 实验指导书 P79) ************************* Very Good ************************* 2、计算两个整数的和与积。( 实验指导书 P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。 ( 书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include <> void main( ) {printf( printf( printf( “ ********************\n “Very Good\n” ); “ ********************\n ” ); ” ); } 2、#include <> void main( ) {int a,b,c,d; printf( “ Please enter a,b: ”);

scanf( “%d,%d” ,&a,&b); c=a+b; d=a*b; printf( “ %d+%d=%d\n” ,a,b,c); printf( “ %d*%d=%d\n” ,a,b,d); } 3、#include <> #include <> void main( ) { double x,s; printf( “ Please input value of x: ”); scanf( “%lf ” ,&x); s=cos(x); printf( “ cos(%lf)=%lf\n ”,x,s); } 4、#include <> void main( ) { printf( “ ==================================\n”); printf( “ 1 输入数据 2 修改数据 \n ”); printf( “ 3 查询数据 4 打印数据 \n ”); printf( “ ===================================\n”); } 5、#include <> void main( ) { int x,y,t; printf( “ Please enter x and y: ”); scanf( “%d%d”,&x,&y); t=x; x=y; y=t; printf( “ After swap:x=%d,y=%d\n ” ,x,y); } 实验二简单的 C程序设计 (4 学时 ) 一、实验方式:一人一机 二、实验目的: 1、掌握 C语言的数据类型。 2、学会使用 C语言的运算符及表达式。 3、掌握不同数据类型的输入输出方法。 三、实验内容: 说明:前四题为必做题目,后两题为选做题目。

c语言实验报告1

C语言程序设计报告 日

程序主要内容 任务1. 程序首先随机产生一到十之间的正整数,在屏幕上打印出问题,例如6*7=?然后让学生输入答案,序检查学生输入的答案是否正确,若正确,则“RIGHT”,然后问下一个问题,否则打印“WRONG,PLEASE TRY AGAIN”,然后提示学生重做,直到答对为止。 程序如下: #include #include #include int Magic(int x); int Answer(); main() { int guess,answer,counter=1; do{ printf("%d*%d=",Magic(1),Magic(2)); answer=Magic(1)*Magic(2); if(Answer()==answer) { printf("Right\n"); break; } else printf("Wrong!,please try again\n"); }while(counter>=1); } int Magic(int m)

int x,int y; srand(time(NULL)); x=rand()%10+1; y=rand()%10+1; if(m==1) return x; if(m==2) return y; } int Answer() { int n; scanf("%d",&n); return n; } 任务2:在(1)的基础上,当学生回答错误时,最多给三次重做的机会。 :程序如下: #include #include #include int Magic(int x); int Answer(); int Exam(); main() { int n; n=Exam(); if(n==0) printf("Right\n"); else if(n==1) printf("Wrong!You have tried

c语言上机实验报告 (2)

c语言上机实验报告 (2) 实验六 姓名班级单周上机的那班学号 一 程序源:#include #include void main() { FILE*fp; fp=fopen("E:\\yxf01.text","w"); if(fp==NULL) { printf("文件打不开"); exit(0); } int a,i; printf("请输入一个尾部为0的整数\n"); scanf("%d",&a); while(a%10!=0) { printf("输入值非法,请从新输入!\n"); scanf("%d",&a); }

fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/1 0,a/10,a/10,a/ 10,a/10,a/10,a/10); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a /10,a/10,a/10,a/ 10,a-8*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10 ,a/10,a/10,a-7*(a /10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10,a/ 10,a-6*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a/10,a- 5*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d+%d\n",a,a/10,a/10,a/10,a/10,a-4*(a/10)); fprintf(fp,"%d=%d+%d+%d+%d\n",a,a/10,a/10,a/10,a-3*(a/10)); fprintf(fp,"%d=%d+%d+%d\n",a,a/10,a/10,a-2*(a/10)); fprintf(fp,"%d=%d+%d\n",a,a/10,a-(a/10)); fclose(fp) } 运行结果:

C语言程序设计_上机实验指导与习题_第三版_(陈湘骥_编著_著)_华南农业大学_参考答案

C语言程序设计上机实验指导与习题 参考答案 (仅供教师内部参考) 华南农业大学

目录 上机实验 (1) 实验 1 C语言程序初步 (1) 一、实验目的 (1) 二、实验内容 (1) 实验2基本数据类型、运算和表达式 (3) 一、实验目的 (3) 二、实验内容 (3) 实验3基本输入与输出 (5) 一、实验目的 (5) 二、实验内容 (5) 实验4选择结构程序设计 (4) 一、实验目的 (4) 二、实验内容 (4) 实验5循环结构程序设计(一) (9) 一、实验目的 (9) 二、实验内容 (9) 实验6循环结构程序设计(二) (15) 一、实验目的 (15) 二、实验内容 (15) 实验7数组 (17) 一、实验目的 (17) 二、实验内容 (17) 实验8字符数组的应用 (22) 一、实验目的 (22) 二、实验内容 (22) 实验9函数的基本应用 (24) 一、实验目的 (24) 二、实验内容 (24) 实验10指针与结构体 (26) 一、实验目的 (26) 二、实验内容 (26) *实验11链表 (29) 一、实验目的 (29) 二、实验内容 (29) *实验12文件 (32) 一、实验目的 (32) 二、实验内容 (32)

上机实验 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用JudgeOnline实验系统。 二、实验内容 1. 运行第一个 C 程序 [题目:The first C Program] 将下列程序输入 TC(或 VC++),编译、连接和运行该程序。 void main() { printf("The first C Program\n"); } [具体操作步骤] 以 Turbo C 上的操作为例 (1)Windows 进入后,按照第一章中介绍的方法,进入 Turbo C。 (2)在编辑窗口中输入程序。 (3)保存程序,取名为 a1.c。 (4)按照第一章中介绍的方法,编译、连接和运行程序。 2.在JudgeOnline系统中提交实现了计算a+b功能的程序 [题目 1001:计算 a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, void main() { int a, b; scanf("%d%d", &a, &b); 1

C语言上机综合实验一及答案

1、编制程序,输入n 个整数(n 从键盘输入,n>0),输出它们的偶数和。 2、 编程,输入n 后:输入n 个数,根据下式计算并输出y 值。 3、输入一行字符,统计并输出其中英文字母、数字字符和其他字符的个数。 4、编写程序,输入一个正整数n ,计算并输出下列算式的值。要求定义和调用函数total(n)计算1+1/2+1/3+……+1/n ,函数返回值的类型是double 。 5、输入一个正整数n ,求1+1/2!+1/3!+……1/n!的值,要求定义并调用函数fact(n)计算n 的阶乘,函数返回值的类型是单精度浮点型。 答案: 程序1、 #include void main () { int n,i,x,sum=0; while(scanf("%d",&n),n<=0); printf ("请输入%d 个数:", n); for (i=1; i<=n ;i++) { scanf("%d",&x); if(x%2==0) sum+=x; } printf ("sum=%d", sum) ; } 程序2、 #include #include void main( ) { int i,n; float x,y; scanf(“%d”,&n); for(i=1;i<=n;i++){ scanf(“%f”,&x); if(x<-2) y=x*x-sin(x); else if(x<=2) y=pow(2,x)+x; else y=sqrt(x*x+x+1); printf(“%f \n”,y); } } 程序3、 # include void main( ) { int letter,digit,other; ?????>++≤≤-+-<-=2 12222sin 22x x x x x x x x y x 111111...23n k s k n ===++++∑

C语言上机实验例题

实验一 C语言的运行环境、运行过程和表达式的使用 一、目的与要求 1、了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。 2、了解在该系统上如何编辑、编译、连接和运行一个C程序。 3、通过运行简单的C程序,初步了解C源程序的特点。 4、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。 5、学会使用C的有关算术运算符,以及包含这些运算符的表达式 二、实验例题 【例1】编程实现在屏幕上显示如下三行文字 Hello, world ! Wolcome to the C language world! Everyone has been waiting for. 在Turbo C的集成环境下,键入如下源文件。敲Alt+F组合键打开File菜单,File菜单中Write to或save as选项可将默认文件名改为任意文件名。程序如下: main() { printf("Hello,World!\n"); printf("Wolcome to the C language world!\n"); printf("Everyone has been waiting for.\n"); } 然后用Ctrl+F9执行,用Alt+F5查看结果,即在屏幕上显示题目要求的三行文字。按回车键重新返回Turbo C的编辑环境。注意,在运行程序之前最好先存盘。 【例2】输入并运行程序,写出运行结果。 main() {

int a,b,sum; a=123;b=456; sum=a+b; printf(“sum is %d\n”,sum); } 运行方法同上,最后结果为:sum is 579。 【例3】 输入并运行程序,写出运行结果。 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); } 这个程序的功能是对于任意输入的两个整数,输出较大的那个数。所以程序运行之后,光标将停留在用户屏幕上,等待用户输入两个整数,比如输入“3,5”,回车,在用户屏幕上就会输出“max=5”。 【例4】输入并运行下程序,写出运行结果。 mian() { char c1 , c2;

大一C语言上机实验试题和答案

实验一上机操作初步(2学时) 一、实验方式:一人一机 二、实验目的: 1、熟悉VC++语言的上机环境及上机操作过程。 2、了解如何编辑、编译、连接和运行一个C程序。 3、初步了解C程序的特点。 三、实验内容: 说明:前三题为必做题目,后两题为选做题目。 1、输出入下信息:(实验指导书P79) ************************* Very Good ************************* 2、计算两个整数的和与积。(实验指导书P81) 3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。(书 P3) 4、在屏幕上显示一个文字菜单模样的图案: ================================= 1 输入数据 2 修改数据 3 查询数据 4 打印数据 ================================= 5、从键盘上输入两个整数,交换这两个整数。 四、实验步骤与过程: 五、实验调试记录: 六、参考答案: 1、#include void main( ) { printf(“********************\n”); printf(“ Very Good\n”); printf(“********************\n”); } 2、#include void main( ) { int a,b,c,d; printf(“Please enter a,b:”); scanf(“%d,%d”,&a,&b); c=a+b; d=a*b; printf(“%d+%d=%d\n”,a,b,c); printf(“%d*%d=%d\n”,a,b,d);

C程序设计上机实验报告((完整版))

C语言程序设计上机实验报告 学院:机械工程学院 班级:机自161213 姓名:刘昊 学号:20162181310 实验时间:2017 年3 月6 号 任课老师:张锐

C语言程序设计上机实验报告 实验一 一、实验名称: C 程序的运行环境和运行C程序的方法 二、实验目的:了解在 程序 C 编译系统上如何编辑、编译、连接和运行一个 C 三、实验内容: (1). (2). (3). 输入并运行一个简单的C程序。 设计程序,对给定的两个数求和。 设计程序,对给定的两个数进行比较,然后输出其中较大的数。 四、源程序代码: 代码1: 运行结果1:

程序分析1: 该程序用来判断所输入的整数是否为一个素数,如果一个数能被除了 1 和它本身整除,还能被其它数整除,那么它就不是一个素数,因此,用for 循环来进行整除过程的简写。 代码2: 运行结果2:

程序分析2: 简单的使用printf() 和scanf() 函数进行简单的数据运算。代码3: 运行结果3:

程序分析3: 使用if 语句进行判断。 五.实验总结 C语言程序设计上机实验报告 实验二 一、实验名称:顺序结构程序设计 二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法, 熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。 三、实验内容: (1). 编写程序,实现小写字母转大写。

(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。 (3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。 (4). 编写程序,实现单字符getchar 和putchar 输入输出。 (5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。 四、源程序代码 代码1: 运行结果1: 程序分析1:

C语言实验报告参考答案

《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 void main() { printf(“*****************\n”); printf(“This is a c program. \n”); printf(“****************\n”); } 运行结果及分析:运行结果为: Printf函数语句表示输出引号内的字符串,最后的\n表示换行, 将程序中的\n去掉后,运行结果及分析:运行结果为: 去掉\n后不换行连续显示 (2)#include void main() { int a=100,b=20,sum,sb; sum=a+b; sb=a/b; printf("sum=%d,sb=%d",sum,sb); } 运行结果及分析: sum=100+20=120;sb=100/20=5. (3)#include void main( )

大一C语言上机实验报告

C语言程序设计实验报告姓名: 班级: 学号: 实验内容: 编写一个程序,从键盘输入任意一个五位数,把这个数值分解为单个数字,然后打印出每一个数字(每个数字之间用三个空格分开)。例如用户输入了42339,屏幕输出结果为: 4 2 3 3 9 【提示】巧妙使用/ 和% 两种运算符。 源代码: #include void main() { long int num,a,b,c,d,e; scanf("%ld",&num); a=num/10000; b=num%10000/1000; c=num%1000/100; d=num%100/10; e=num%10; printf("%ld %ld %ld %ld %ld\n",a,b,c,d,e); }

运行结果: 实验内容: 已知三角形三边a,b,c,计算三角形的面积。 注:三角形面积公式为area=[s(s-a)(s-b)(s-c)]的1/2次幂 S=1/2*(a+b+c) 源代码: #include #include void main() { double area,s,a,b,c;

scanf("%lf%lf%lf",&a,&b,&c); s=(a+b+c)/2; if(a>0 && b>0 && c>0) { area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%lf\n",area); } else printf("输入错误,三角形边长不能为负数或0\n"); } 运行结果:

实验内容: 输入圆的半径,计算出圆的周长和面积源代码: #include #include void main() { double r,z,area,pi=3.14159; scanf("%lf",&r); if(r>0)

c语言上机实验

上机实验九函数 第1题:编写一个函数,利用参数传入一个3位数n,找到101~n间满足下列条件的数:他是完全平方数,又有两位数字相同,如144、676,函数返回这样的数的个数(提示,可以利用函数的嵌套调用,编写一个函数,判断一个整数是否满足条件)。 #include #include int main() { int number,a; int g(int ); printf("请输入一个大于101的三位数:"); scanf("%d",&number); a=g(number); printf("a=%d",a); return 0; } int g(int number) { int i,j,m,n,o,k=0; for(i=101;i<=number;i++) { j=sqrt(i); if((j*j)!=i) continue; m=i/100; n=i/10%10; o=i%10; if(m==n||m==o||n==o) {printf("%d\n",i);k++;} } return (k); } 第2题:编写有两个整数参数的函数multiple,用该函数确定一对整数中第二个整数是否第一个整数的整数倍,如果是,返回1,否则返回0。 #include #include main() {

int multiple(int x,int y); int x,y,a; printf("请输入两个整数x,y:"); scanf("%d%d",&x,&y); a=multiple(x,y); printf("%d",a); } int multiple(int x,int y) { int m,n; m=y%x; if(m!=0) n=0; else n=1; return (n); } 第2题:编写一个函数,用时间作为函数的三个参数(时、分、秒),返回自零点到该时间的秒数,并用这个函数计算同一天内两个时间之间的秒数。 #include int main() { int x1,x2,y1,y2,z1,z2,x,y; int time1(int x1,int y1,int z1); int time2(int x1,int y1,int z1,int x2,int y2,int z2); printf("请输入一个时间的时,分,秒x1,y1,z1:"); scanf("%d%d%d",&x1,&y1,&z1); printf("请再输入一个时间的时,分,秒x2,y2,z2:"); scanf("%d%d%d",&x2,&y2,&z2); x=time1(x1,y1,z1); y=time2(x1,y1,z1,x2,y2,z2); printf("%d,%d",x,y); return 0; } int time1(int x1,int y1,int z1) { int sum; sum=3600*x1+60*y1+z1; return sum; } int time2(int x1,int y1,int z1,int x2,int y2,int z2)

C语言程序设计实验报告

C语言程序设计实验报告 实验名称计算出1000以内10个素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。 2、熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用循环语句实现循环结构。 3、掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧。进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。 实验内容 计算并输出1000以内的10个素数以及它们的和。 要求: 在程序内部加必要的注释。

由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 Main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数*/ { int t,i; t=sqrt(n); for(i=2;i1;i-=2)/* x为奇数时,做函数计算*/ { n=sushu(i); /* 做判断素数的函数调用*/

( 励志天下) if(n!=0)/* 对素数的处理*/ { a[j]=n;/* 把素数由大至小存入数组a[ ]中*/ j++; if(j<11) m+=n; /* 统计前10个素数之和*/ } } if(j<10)/* 当素数个数小于10个时,结果输出*/ { for(i=0;i { n=a[i]; printf("%d",n); printf("+");

相关文档
相关文档 最新文档