文档详情

10级软件工程《C语言程序设计》实验指导书

壹****1
实名认证
店铺
DOC
103KB
约17页
文档ID:439455768
10级软件工程《C语言程序设计》实验指导书_第1页
1/17

10级软件工程《C语言程序设计基础》指导书实验1 C的实验环境和C语言的数据类型⒈ 实验目的⑴ 了解在具体的语言环境下如何编辑、编译、连接和运行一个C程序⑵ 通过运行简单的C程序,初步了解C源程序的特点⑶ 掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法⑷ 掌握不同的类型数据之间赋值的规律⑸ 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用⒉ 实验内容和步骤⑴ 检查所用的计算机系统是否已安装了C编译系统并确定他所在的子目录⑵ 进入所用的集成环境⑶ 熟悉集成环境的界面和有关菜单的使用方法⑷ 输入并运行一个简单的、正确的程序⒊ 实验题目⑴ 输入下面的程序# include “stdio.h”void main(){ printf(“This is a c program.\n”); }程序无误,其运行的结果为:(请填写)⑵ 输入并编辑一个有错误的C程序 include “stdio.h”void main(){ int a,b,suma=123; b=456;sum=a+bprint(“sum is %d\n”,sum);}运行后程序出现几处错误,请分别指出,并逐一更改:⑶ 若k,g均为int型变量,则下列语句的输出为,:# include “stdio.h”void main(){ int k, g;k=017; g=111;print(“%d\t”,++k);printf(“%x\n”,g++);}运行结果为:实验2 顺序结构程序设计⒈ 实验目的⑴ 掌握C语言中赋值语句的使用方法。

⑵ 掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符⑶ 进一步熟悉C程序的编辑、编译、连接和运行的过程⒉ 实验内容用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’问在键盘上如何输入?请书写程序#include “stdio.h”void main(){ int a,b;float x,y;charc1,c2;scanf(“a=%d b=%d”,&a,&b);scanf(“%f %e”,&x,&y);scanf(“ %c %c”,&c1,&c2);printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”);}运行,并按照如下方式在键盘上输入:A=3 b=78.5 71.82A a运行结果:A=3,b=7,x=8.500000,y=71.820000,c1=A,c2=a思考:为什么在第三个scanf函数双引号第一个字符为空格字符,如果没有这个空格字符,而写成:scanf(“%c %c”,&c1,&c2); 按以上的输入、输出将如何变化?请分析原因实验3 选择结构程序设计⒈ 实验目的⑴ 了解C语言表示逻辑量的方法(以0代表”假”,以非0代表”真”)。

⑵ 学会正确使用逻辑运算符和逻辑表达式⑶ 熟练掌握if语句和switch语句⑷ 结合程序掌握一些简单的算法⑸ 学习调试程序⒉ 实验内容题目⑴: 有3个整数a、b、c,由键盘输入,输出其中最大的数题目⑵:求三位数的水仙花数要求:每道题目分别画出程序流程图,书写程序,试运行(如何输入,结果如何)实验4、循环结构程序设计⒈ 实验目的⑴ 熟悉掌握用while语句,do-while语句和for语句实现循环的方法⑵ 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)⑶ 进一步学习调试过程⒉ 实验内容题目⑴:输入两个正整数m和n,求其最大公约数和最小公倍数题目⑵:输入一行字符,分别统计出其中大小写英文字母、空格、数字和其他字母的个数题目⑶:猴子吃桃问题猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个以后每天早上都吃了前一天剩下的一半零一个到第10天早上想再吃时,就只剩一个桃子了求第一天共摘多少桃子要求:每道题目分别画出程序流程图,书写程序,试运行(如何输入,结果如何)实验5 函数定义和使用⒈ 实验目的⑴ 学习C语言中函数的定义和调用方法。

⑵ 掌握通过参数在函数间传递数据的方法⑶ 熟悉TC集成环境对包含函数调用的程序的调试方法⒉ 实验题目A:修改调试题目:题目⑴:调试下列程序,使之具有如下功能:fun函数是一个判断整数是否为素数的函数,使用该函数求1000以内的素数平均值写出调试过程include “stdio.h”void main(){ int a=0,k; /* a保存素数之和 */float av; /* av保存1000以内素数的平均值 */for (k=2;k<=1000;k++)if (fun(k)) /* 判断k是否为素数 */a+=k;av=a/1000;printf("av=%f\n",av);}fun(int n) /* 判断输入的整数是否为素数 */{ int i,y=0;for(i=2;iy)?x:y;return(z); }题目⑵:调试以下程序并查看运行结果:int a=5;int b=7;#include “stdio.h”void main(){ int a=4,b=5,c;c=plus(a,b);printf("A+B=%d\n",c); }int plus(int x,int y) 请回答:函数功能是什么? { int z;z=x+y;return(x);}B、编程题目:要求:每道题目分别书写程序,试运行(如何输入,结果如何)。

题目⑴:编写函数求x的n次方的值(提示:有一个参数的函数)题目⑵:编写一个求水仙花数的函数,求3位正整数的全部水仙花数中的次大值所谓水仙花数是指三位整数的各位上的数字的立方和等于该整数本身例如:153就是一个水仙花数:153 = 13 + 53 + 33实验6 编译预处理⒈ 实验目的⑴ 掌握宏定义的规则,领会带参数宏定义和函数调用的区别⑵ 了解文件包含命令的功能和使用规则⑶ 了解条件编译的特点和功能⒉ 实验内容A 宏定义及其应用⑴ 以下程序的运行结果是____define MIN(x,y) (x)<(y)?(x):(y)#include “stdio.h”void main(){ int i=10,j=15,k;k=10*MIN(i,j);printf("%d\n",k); }⑵ 若有宏定义如下:#define X 5#define Y X+1#define Z Y*X/2则执行以下printf语句后,输出结果是____int a;a=Y;printf("%d\n",Z);printf("%d\n",--a);⑶ 请读程序:#include #define MUL(x,y) (x)*ymain(){ int a=3,b=4,c;c=MUL(a++,b++);printf("%d\n",c); }上面程序的输出结果是______。

⑷ 以下程序的运行结果是_____.#include “stdio.h”void main(){ inc x();incy();incx();incy();incx(); incy(); }incx(){ int x=0;printf("x=%d\t",++x);}incy(){ static int y=0;printf("\ny=%d\n",++y);}B “文件包含”处理测试⑴ 文件format.h包含以下内容:#define PR printf#define NL "\n"#define D "%D"#define D1 D NL#define D2 D D NL#define D3 D D D NL#define D4 D D D D NL#define S "%S"⑵ 文件file1.C包含以下内容:#include "format.h"void main(){ int a,B,C,D;char string[]="CHINA";a=1;B=2;C=3;D=4;PR(D1,a);PR(D2,a,B);PR(D3,a,B,C);PR(D4,a,B,C,D);PR(S,string);}调试并察看运行结果。

注意文件保存的路径实验7 数组应用编程⒈ 实验目的⑴ 掌握一维数组和二维数组定义、赋值和输入输出的方法⑵ 掌握字符数组和字符串函数的使用⒉ 实验内容A:修改调试题目:调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值写出调试过程include “stdio.h”void main(){ int i,n,a[10],av;for(i=0;i+键终止程序的运行,返回到TC环境B、编程题目:(题目⑴、题目⑵为一组,题目⑶为一组,题目⑷为一组每个同学每组都必须完成1题)要求:每道题目分别书写程序,试运行(如何输入,结果如何)。

题目⑴:从键盘输入10个整数存入数组,找出其中最大和最小值,并输出题目⑵:从键盘输入一个字符串,编写程序将该字符串逆序题目⑶:输出杨辉三角形(要求输出10行)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1…… …… ……(提示,使用二维数组)题目⑷: 输入。

下载提示
相似文档
正为您匹配相似的精品文档
相关文档