C语言实验报告16k.docx

上传人:b****6 文档编号:15842780 上传时间:2023-07-08 格式:DOCX 页数:33 大小:50.31KB
下载 相关 举报
C语言实验报告16k.docx_第1页
第1页 / 共33页
C语言实验报告16k.docx_第2页
第2页 / 共33页
C语言实验报告16k.docx_第3页
第3页 / 共33页
C语言实验报告16k.docx_第4页
第4页 / 共33页
C语言实验报告16k.docx_第5页
第5页 / 共33页
C语言实验报告16k.docx_第6页
第6页 / 共33页
C语言实验报告16k.docx_第7页
第7页 / 共33页
C语言实验报告16k.docx_第8页
第8页 / 共33页
C语言实验报告16k.docx_第9页
第9页 / 共33页
C语言实验报告16k.docx_第10页
第10页 / 共33页
C语言实验报告16k.docx_第11页
第11页 / 共33页
C语言实验报告16k.docx_第12页
第12页 / 共33页
C语言实验报告16k.docx_第13页
第13页 / 共33页
C语言实验报告16k.docx_第14页
第14页 / 共33页
C语言实验报告16k.docx_第15页
第15页 / 共33页
C语言实验报告16k.docx_第16页
第16页 / 共33页
C语言实验报告16k.docx_第17页
第17页 / 共33页
C语言实验报告16k.docx_第18页
第18页 / 共33页
C语言实验报告16k.docx_第19页
第19页 / 共33页
C语言实验报告16k.docx_第20页
第20页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言实验报告16k.docx

《C语言实验报告16k.docx》由会员分享,可在线阅读,更多相关《C语言实验报告16k.docx(33页珍藏版)》请在冰点文库上搜索。

C语言实验报告16k.docx

C语言实验报告16k

《C语言程序设计》实验(上机)报告

班级·学号姓名实验日期任课教师

实验名称

实验一C语言程序开发环境、数据类型及表达式

验证型

一、实验目的及要求

1.掌握编辑C源程序的方法,熟悉开发、运行C程序的全过程。

2.在VC编译环境下练习对C源文件进行编译和简单查错。

3.掌握C语言中各种常量的表示形式及变量的定义。

4.掌握C语言中各种运算符的作用、优先级和结合性,能熟练运用各种表达式。

5.掌握不同类型数据运算时数据类型的转换规则,了解表达式语句,尤其是赋值语句。

二、上机内容:

1.编写程序实现在屏幕上显示以下结果:

Thedressislong

Theshoesarebig

Thetrousersareblack

2.改错题(将正确程序写在指定位置)

改正下列程序中的错误,在屏幕上显示商品价格表(源程序附后面)。

输入输出示例

商品名称    价格

TCL电视机   ¥7600

美的空调    ¥2000

SunRose键盘  ¥50.5

源程序(有错误的程序)

#include

mian()

{

printf("商品名称    价格\n);

printf("TCL电视机   ¥7600")

printf("美的空调    ¥2000)

printf("SunRose键盘  ¥50.5)

}

正确的程序为:

 

3.编写程序:

已知a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。

输入输出示例

a/b的商=7

a/c的商=3

a%b的余数=10

a%c的余数=15

4.编写程序:

设变量a的值为0,b的值为-10,编写程序:

当a>b时,将b赋给c;当a<=b时,将a赋给c。

(提示:

用条件运算符)

三、实验平台

Windows98或2000或XP以上版本VC6.0以上版本

四、程序清单

(写出上机内容1、3、4的源程序)

 

 

五、调试和测试结果(调试中出现的典型问题及解决方法,测试结果是否正确或具体值等)

 

六、教师批语与成绩评定:

评语:

成绩:

   优     良     中    及格     不及格

 

       评阅教师:

        评阅日期:

     年  月  日 

《C语言程序设计》实验(上机)报告

班级·学号姓名实验日期任课教师

实验名称

实验二顺序结构程序设计

验证型

一、实验目的及要求

1.熟悉C语言的表达式语句、空语句和复合语句。

2.熟悉函数调用语句,尤其是输入输出函数调用语句。

3.熟悉顺序结构程序中语句的执行过程。

4.能设计简单的顺序结构程序。

二、上机内容

1.键盘输入与屏幕输出练习

问题1要使下面程序的输出语句在屏幕上显示1,2,34,则从键盘输入的数据格式应为以下备选答案中的。

#include

main()

{

chara,b;

intc;

scanf("%c%c%d",&a,&b,&c);

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

}

A)1234B)1,2,34

C)’1’,’2’,34D)1234

问题2在与上面程序的键盘输入相同的情况下,要使上面程序的输出语句在屏幕上显示1234,则应修改程序中的哪条语句?

怎样修改?

问题3要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应修改程序中的哪条语句?

怎样修改?

问题4要使上面程序的键盘输入数据格式为1,2,34,而输出语句在屏幕上显示的结果为'1','2',34,则应修改程序中的哪条语句?

怎样修改?

[提示:

利用转义字符输出字符单引号字符。

]

2.编写程序:

(1)从键盘输入两个八进制数,计算两数之和并分别用十进制和十六进制数形式输出。

输入输出示例

Enteraandb:

2030

d:

40

x:

28

(2)编写程序:

从键盘输入两个实数a和x,按公式计算并输出y的值:

输入输出示例

Entera,x:

1.0,0.0

y=2.000000

3.改错题

改正下列程序中的错误。

从键盘输入3个整数a、b、c,计算这3个整数的和s,并以“s=a+b+c”和“a+b+c=s”的形式输出a、b、c和s的值。

请不要删除源程序中的注释。

(源程序附后面)

正确的程序为:

输入输出示例

345

12=3+4+5

3+4+5=12                   

源程序(有错误的程序)

#include

main()

{

inta,b,c,s;

scanf("%d%d%d",&a,&b,c);

s=a+b+c;

printf("%d=%d+%d+%d\n",a,b,c);/*输出s=a+b+c*/

printf("%d+%d+%d=%d\n",s);/*输出a+b+c=s*/

}

三、实验平台

Windows98或2000或XP以上版本VC6.0以上版本

四、程序清单(写出上机内容2的源程序)

 

 

五、调试和测试结果(调试中出现的典型问题及解决方法,测试结果是否正确或具体值等)

 

六、教师批语与成绩评定:

评语:

成绩:

   优     良     中    及格     不及格

评阅教师:

        评阅日期:

     年  月  日

《C语言程序设计》实验(上机)报告

班级·学号姓名实验日期任课教师

实验名称

实验三选择结构程序设计

验证型

一、实验目的及要求

1.理解C语言表示逻辑量的方法(0代表“假”,非0代表“真”)。

2.学会正确使用逻辑运算符和逻辑表达式、关系运算符和关系表达式。

3.学会运用逻辑表达式和关系表达式等表达条件。

4.熟练掌握IF语句和SWITCH语句。

5.掌握简单的单步调试方法。

二、上机内容

1.先手工计算,然后编写程序验证计算结果:

(1)求逻辑表达式5>3&&2||8<4-!

5的值。

(2)a为12,b为18,c为12,计算并输出a&&b、a||b、!

a&&c的值。

(3)a为0,b为1,c为3,计算并输出执行语句“y=(++a)&&(--b)&&(c=b+3);”后a、b、c、y的值。

如果将语句改为“y=(++a)||(--b)||(c=b+3);”,结果又是多少?

2.编程:

(1)输入整数x和a,计算并输出下列分段函数f(x)的值(保留2位小数),请调用log函数求自然对数,调用fabs函数求绝对值。

输入输出示例

第一次运行

Enteraandx:

56

a=5,f(6)=0.24

第二次运行

Enteraandx:

55

a=5,f(5)=0.00

(2)输入a、b、c三个整数,输出最大数。

输入输出示例

第一次运行

Entera,b,c:

1,5,9

themaxnumberis:

9

第二次运行

Entera,b,c:

9,5,1

themaxnumberis:

9

第三次运行

Entera,b,c:

1,9,5

themaxnumberis:

9

3.改错题

改正下列程序中的错误,输入一个数n(不一定是整数),判定n是小于0,等于0,还是大于0。

(源程序附后面)

输入输出示例

第一次运行

Entern:

10

10isgreaterthan0

第二次运行

Entern:

-5

-5islessthan0

第三次运行

Entern:

0

0isequalto0

源程序(有错误的程序)

#include

main()

{

doublen;

printf("Entern:

");

scanf("%f",&n);

if(n<0)

printf("nislessthan0\n");

elseif(n=0)

printf("nisequalto0\n");

else

printf("nisgreater0\n");

}

单步调试程序,观察变量值的变化。

正确的程序为:

 

三、实验平台

Windows98或2000或XP以上版本VC6.0以上版本

四、设计流程(算法描述)

(请写出上机内容2

(2)题的算法描述)

 

五、程序清单

(请写出上机内容2

(1)的源程序)

 

 

六、调试和测试结果(写出上机内容1的结果)

 

七、教师批语与成绩评定:

评语:

成绩:

   优     良     中    及格     不及格

       评阅教师:

        评阅日期:

     年  月  日

《C语言程序设计》实验(上机)报告

班级·学号姓名实验日期任课教师

实验名称

实验四循环结构程序设计

验证型

一、实验目的及要求

1.熟悉掌握C语言的while语句、do-while语句和for语句。

2.掌握在程序设计中使用循环的方法实现各种算法。

3.理解循环结构程序中语句的执行过程。

4.掌握运行到光标位置的调试方法。

二、上机内容

1.编写程序:

求1+2+3+…+100和12+22+33+…+1002。

输入输出示例

sum1=5050sum2=338350

2.一个数如果恰好等于它的因子之和,这个数就称为“完数”,编写程序找出2~5000中的所有完数。

输入输出示例

628496

3.改错题

改正下列程序中的错误。

(源程序附后面)

韩信点兵。

韩信有一队兵,他想知道有多少人,便让土兵排队报数。

按从1至5报数,最末一个土兵报的数为1;按从1至6报数,最末一个土兵报的数为5;按从1至7报数,最末一个土兵报的数为4;最后按从1至11报数,最末一个土兵报的数为10;你知道韩信有多少土兵吗?

输入输出示例

n=2111

源程序(有错误的程序)

#include

main()

{

intfind=0;

while(!

find)

{

if(n%5==1&&n%6==5&&n%7==4&&n%11==10)

{

printf("n=%d\n",n);

find=1;

}

}

}

正确的程序为:

 

三、实验平台

Windows98或2000或XP以上版本VC6.0以上版本

四、设计流程(算法描述)

(请写出上机内容2的算法描述)

五、程序清单

(请写出上机内容1的源程序)

 

 

六、调试和测试结果(调试中出现的典型问题及解决方法,测试结果是否正确或具体值等)

 

七、教师批语与成绩评定:

评语:

成绩:

   优     良     中    及格     不及格

       评阅教师:

        评阅日期:

     年  月  日

《C语言程序设计》实验(上机)报告

班级·学号姓名实验日期任课教师

实验名称

实验五函数和预处理命令

验证型

一、实验目的及要求

1.掌握函数的定义和调用。

2.掌握使用函数编写程序。

3.掌握函数的实参、形参和返回值的概念及使用。

4.掌握单步调试进入函数和跳出函数的方法。

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

二、上机内容

1.编写自定义函数longpower(intm,intn),计算

的值。

利用此函数编程序实现:

从键盘输入两个整数m和n,计算出

的值。

2.写出两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。

输入输出示例

输入:

n1=24n2=16

输出:

zdgys=8zxgbs=48

3.改错题

改正下列程序中的错误。

根据下式求π的值,直到某一项小于10-6(源程序附后面)

输入输出示例PI=3.14159(改正后程序运行结果)

源程序(有错误的程序)

#include

intfact(intn);

intmulti(intn);

main()

{inti;

doublesum,item,eps;

eps=1E-6;

sum=1;

item=1;

for(i=1;item>=eps;i++)

{item=fact(i)/multi(2*i+1);

sum=sum+item;

}

printf(“PI=%0.5lf\n”,sum*2);

return0;

}

intfact(intn)

{inti;

intres=1;

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

res=res*i;

returnres;

}

intmulti(intn)

{inti;

intres=1;

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

res=res*i;

returnres;

}

正确的程序为:

 

三、实验平台

Windows98或2000或XP以上版本VC6.0以上版本

四、设计流程(算法描述)

(请写出上机内容1的算法描述)

五、程序清单

(请写出上机内容2的源程序)

 

 

六、调试和测试结果(调试中出现的典型问题及解决方法,测试结果是否正确或具体值等)

 

七、教师批语与成绩评定:

评语:

成绩:

   优     良     中    及格     不及格

       评阅教师:

        评阅日期:

     年  月  日

《C语言程序设计》实验(上机)报告

班级·学号姓名实验日期任课教师

实验名称

实验六数组

验证型

一、实验目的及要求

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

2.掌握字符数组的使用。

3.掌握与数组有关的算法(例如排序算法)。

4.学会使用断点调试方法。

二、上机内容

1.编写程序:

从键盘输入一串整数保存到数组中,调用函数antitone()将数组反序输出。

自定义函数voidantitone(inta[],intn)实现将数组中的n个数据按逆序存放。

2.已知某数列的前两项为2和3,其后每一项为其前两项之积。

编程实现:

从键盘输入一个整数x,判断并输出x最接近数列的第几项?

3.输入一串字符,计算其中字符、数字和空格的个数。

输入/输出示例:

输入:

sd234kj64jkmjk

输出:

字符:

9数字:

5空格:

1

三、实验平台

Windows98或2000或XP以上版本VC6.0以上版本

四、设计流程(算法描述)

(请写出上机内容1的算法描述)

 

五、程序清单

(请写出上机内容1、2、3的源程序)

 

 

 

 

六、调试和测试结果(调试中出现的典型问题及解决方法,测试结果是否正确或具体值等)

七、教师批语与成绩评定:

评语:

成绩:

   优     良     中    及格     不及格

 

       评阅教师:

        评阅日期:

     年  月  日

《C语言程序设计》实验(上机)报告

班级·学号姓名实验日期任课教师

实验名称

实验七指针

验证型

一、实验目的及要求

1.理解指针、地址和数组间的关系。

2.掌握通过指针操作数组元素的方法。

3.掌握指针作为函数参数时,实参和形参的结合方式。

(2)#include

intf(int*a,int*b)

{ints;

s=*a+*b;

returns;

}

voidmain()

{intx=2,y=4,s;

s=f(&x,&y);

printf("%d\n",s);

}

二、上机内容

1.运行程序,查看程序的运行结果。

(1)#include

voidmain()

{inta=7,b=8,*p,*q,*r;

p=&a;q=&b;

r=p;p=q;q=r;

printf("%d,%d,%d,%d\n",*p,*q,a,b);

}

 

(4)以下程序用指针实现一维数组的数据输入与输出,请填空并运行。

#include

voidmain()

{inta[6],i;

【1】;

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

scanf(“%d”,【2】);

p=a;

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

printf(“%3d”,【3】);

printf(“\n”);

}

思考:

将语句“p=a;”删去,程序运行结果会怎样?

 

2.完成函数的内容,函数的功能是:

将a、b中的两个两位正整数合并形成一个新的整数放在c中。

合并的方式是:

将a中的十位和个位数依次放在变量c的千位和十位上,b中的十位和个位数依次放在变量c的个位和百位上。

例如,当a=45,b=12。

调用函数后,c=4251。

完成编程后运行程序,输入上面所举的数据例子,看看程序是否能得出正确的结果。

#include

voidfun(inta,intb,long*c)

{

}

voidmain()

{inta,b;longc;

printf("Inputa,b:

");

scanf("%d%d",&a,&b);

fun(a,b,&c);

printf("Theresultis:

%ld\n",c);

}

三、实验平台

Windows98或2000或XP以上版本VC6.0以上版本

四、程序清单

(请写出上机内容2中的函数)

五、调试和测试结果(请写出上机内容1的输出结果)

 

六、教师批语与成绩评定:

评语:

成绩:

   优     良     中    及格     不及格

 

       评阅教师:

        评阅日期:

     年  月  日

《C语言程序设计》实验(上机)报告

班级·学号姓名实验日期任课教师

实验名称

实验八结构体

验证型

一、实验目的及要求

1.理解结构体类型的概念,掌握结构体类型的定义形式。

2.掌握结构体类型变量的定义和变量成员的引用形式。

3.了解内存的动态分配、链表的概念及操作。

二、上机内容

1.建立一个学生信息结构体数组,包括学号num,姓名name[10],年龄age,性别sex。

要求通过函数input输入4个数据记录,并且在main函数中输出这5个学生的信息。

用另一函数stat统计输入记录中男生、女生的人数,以及年龄小于18岁的学生人数。

输出:

numnameagesex

01aa18M

02bb19F

03cc19M

04dd17F

boygirlage<18

 221

输入输出示例:

输入:

01aa18M

02bb19F

03cc19M

04dd17F

 

2.编程:

完成下列程序中的函数。

某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出。

请编写函数fun,它的功能是:

求出该学生的平均分放在记录的ave成员中。

例如,学生的成绩是:

85.5,76,69.5,85,91,72,64.5,87.5,他的平均分应当是:

78.875。

注意:

请勿改动主函数main和其它函数中的任何内容,仅在函数fun部位中填入你编写的若干语句。

#include

#defineN8

structSTREC

{charnum[10];

doubles[N];

doubleave; };

voidfun(structSTREC*a)

{

 

}

main()

{

structSTRECs={"GA005",85.5,76,69.5,85,91,72,64.5,87.5};

inti;

fun(&s);

printf("The%s'sstudentdata:

\n",s.num);

for(i=0;i

printf("%4.1f\n",s.s[i]);

printf("\nave=%7.3f\n",s.ave);

}

3.改错题

定义一个结构体数组stu并且初始化,main函数中输出数组元素各成员的值。

(源程序附后面)

输入输出示例

No. Name sexage 

 10101 LiLin M 18

  10102 ZhangFunM 19

  10104 wangMin F 20

源程序(有错误的程序)

#include

structstudent

  {intnum;

charname[20];

charsex;

intage;

  };

structstudentstu[3]={{10101,"LiLin",'M',18},{10102,"ZhangFun",'M',19},{10104,"WangMin",'F',20}};

main()

{structstudent*p;

printf("No.Namesexage\n");

for (p=stu;p<3;p++)

printf("%5d%-20s%2c%4d\n",*p.num,*p.name,p.sex,p.age);

}

三、实验平台

Windows98或2000或XP以上版本VC6.0以上版本

四、程序清单(请写出上机内容1的源程序和上机内容2中的函数)

 

五、教师批语与成绩评定:

评语:

成绩:

   优     良     中    及格     不及格

       评阅教师:

        评阅日期:

     年  月  日

《C语言程序设计》实验(上机)报告

班级·学号姓名实验日期任课教师

实验名称

实验九共用体、位运算、文件

验证型

一、实验目的及要求

1.理解共用体概念,掌握共用体变量定义格式和引用形式与运算。

2.掌握位运算的基本规则。

3.掌握文件和文件指针的概念以及文件的

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2