您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > 实验1C程序的运行环境和C语言的数据类型
《程序设计基础》实验指导书实验1C程序的运行环境和C语言的数据类型⒈实验目的⑴了解在具体的语言环境下如何编辑、编译、连接和运行一个C程序。⑵通过运行简单的C程序,初步了解C源程序的特点。⑶掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。⑷掌握不同的类型数据之间赋值的规律。⑸学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。⒉实验内容和步骤⑴检查所用的计算机系统是否已安装了C编译系统并确定他所在的子目录。⑵进入所用的集成环境。⑶熟悉集成环境的界面和有关菜单的使用方法。⑷输入并运行一个简单的、正确的程序。⒊实验题目⑴输入下面的程序#include“stdio.h”voidmain(){printf(“Thisisacprogram.\n”);}程序无误,其运行的结果为:(请填写)⑵输入并编辑一个有错误的C程序。#include“stdio.h”voidmain(){inta,b,suma=123;b=456;sum=a+bprint(“sumis%d\n”,sum);}运行后程序出现几处错误,请分别指出,并逐一更改:《程序设计基础》实验指导书⑶若k,g均为int型变量,则下列语句的输出为,:#include“stdio.h”voidmain(){intk,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”voidmain(){inta,b;floatx,y;charc1,c2;scanf(“a=%db=%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=3b=78.571.82Aa运行结果: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数组的应用⒈实验目的⑴掌握一维数组和二维数组定义、赋值和输入输出的方法。⑵掌握字符数组和字符串函数的使用。⑶掌握与数组有关的算法(特别是排序算法)。⒉实验内容A:修改调试题目:调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。写出调试过程。#include“stdio.h”voidmain(){inti,n,a[10],av;for(i=0;in;i++)scanf(%d,a[i]);for(i=0;in;i++){printf(%d,a[i]);if(i%3==0)printf(\n);}for(i=0;i!=n;i++)av+=a[i];printf(av=%f\n,av);}上面给出的程序是完全可以运行的,但是运行结果是完全错误的。调试时请注意变量的初值问题、输出格式问题等。请使用前面实验所掌握的调试工具,判断程序中的错误并改正。在程序运行过程中,可以使用Ctrl+Break键终止程序的运行,返回到TC环境。B、编程题目:(题目⑴、题目⑵为一组,题目⑶、题目⑷为一组。每个同学每组都必须完成1题)要求:每道题目分别书写程序,试运行(如何输入,结果如何)。题目⑴:从键盘输入10个整数存入数组,找出其中最大和最小值,并用屏幕输出。《程序设计基础》实验指导书题目⑵:输出杨辉三角形(要求输出10行)111121133114641151010511615201561………………(提示,使用二维数组)题目⑶:任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。题目⑷:输入4×4的数组,编写程序实现:①求出对角线上各元素的和;②求出对角线上行、列下标均为偶数的各元素的积;③找出对角线上其值最大的元素和它在数组中的位置。《程序设计基础》实验指导书实验6函数定义和使用⒈实验目的⑴学习C语言中函数的定义和调用方法。⑵掌握通过参数在函数间传递数据的方法。⑶熟悉TC集成环境对包含函数调用的程序的调试方法。⒉实验题目A:修改调试题目:题目⑴:调试下列程序,使之具有如下功能:fun函数是一个判断整数是否为素数的函数,使用该函数求1000以内的素数平均值。写出调试过程。#include“stdio.h”voidmain(){inta=0,k;/*a保存素数之和*/floatav;/*av保存1000以内素数的平均值*/for(k=2;k=1000;k++)if(fun(k))/*判断k是否为素数*/a+=k;av=a/1000;printf(av=%f\n,av);}fun(intn)/*判断输入的整数是否为素数*/{inti,y=0;for(i=2;in;i++)if(n%i==0)y=1;elsey=0;returny;}题目⑵:调试以下程序并查看运行结果:#include“stdio.h”voidmain(){inta=1,b=2,c;c=max(a,b);printf(maxis%d\n,c);}《程序设计基础》实验指导书max(intx,inty)//请回答:函数功能是什么?{intx;z=(xy)?x:y;return(z);}题目⑵:调试以下程序并查看运行结果:inta=5;intb=7;#include“stdio.h”voidmain(){inta=4,b=5,c;c=plus(a,b);printf(A+B=%d\n,c);}intplus(intx,inty)请回答:函数功能是什么?{intz;z=x+y;return(x);}B、编程题目:要求:每道题目分别书写程序,试运行(如何输入,结果如何)。题目⑴:编写函数求x的n次方的值(提示:有一个参数的函数)题目⑵:编写一个求水仙花数的函数,求3位正整数的全部水仙花数中的次大值。所谓水仙花数是指三位整数的各位上的数字的立方和等于该整数本身。例如:153就是一个水仙花数:153=13+53+33《程序设计基础》实验指导书实验7编译预处理⒈实验目的⑴掌握宏定义的规则,领会带参数宏定义和函数调用的区别。⑵了解文件包含命令的功能和使用规则。⑶了解条件编译的特点和功能。⒉实验内容A宏定义及其应用⑴以下程序的运行结果是____。#defineMIN(x,y)(x)(y)?(x):(y)#include“stdio.h”voidmain(){inti=10,j=15,k;k=10*MIN(i,j);printf(%d\n,k);}⑵若有宏定义如下:#defineX5#defineYX+1#defineZY*X/2则执行以下printf语句后,输出结果是____。inta;a=Y;printf(%d\n,Z);printf(%d\n,--a);⑶请读程序:#includestdio.h#defineMUL(x,y)(x)*ymain(){inta=3,b=4,c;c=MUL(a++,b++);printf(%d\n,c);}上面程序的输出结果是______。《程序设计基础》实验指导书⑷以下程序的运行结果是_____.#include“stdio.h”voidmain(){incx();incy();incx();incy();incx();incy();}incx(){intx=0;printf(x=%d\t,++x);}incy(){staticinty=0;printf(\ny=%d\n,++y);}B“文件包含”处理测试⑴文件format.h包含以下内容:#definePRprintf#defineNL\n#defineD%D#defineD1DNL#defineD2DDNL#defineD3DDDNL#defineD4DDDDNL#defineS%S⑵文件file1.C包含以下内容:#includeformat.hvoidmain(){inta,B,C,D;charstring[]=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);}调试并察看运行结果。注意文件保存的路径。《程序设计基础》实验指导书实验8使用指针处理数组⒈实验目的⑴掌握指针变量的定义与引用。⑵掌握指针与变量、指针与数组的关系。⑶掌握用数组指针作为函数参数的方法。⒉实验题目A:修改调试题目:题目⑴:调试下列程序,使之具有如下功能:用指针法输入12个数,然后按每行4个数输出。写出调试过程。#includeformat.hvoidmain(){intj,k,a[12],*p;for(j=0;j12;j++)scanf(%d,p++);for(j=0;j12;j++){printf(%d,*p++);if(j%4==0)printf(\n);}}调试该程序时将a设置为一个watch,数组a所有元素的值在一行显示出来。调试时注意指针变量指向哪个目标变量。题目⑵:调试下列程序,使之具有如下功能:任意输入2个数,调用两个函数分别求:⑴2个数的和;⑵2个数交换值。要求用函数指针调用这两个函数,结果在主函数中输出。#includeformat.hvoidmain(){inta,b,c,(*p)();scanf(%d,%d,&a,&b);p=sum;*p(a,b,c);p=swap;*p(a,b);printf(sum=%d\n,c);printf(a=%d,b=%d\n,a,b);《程序设计基础》实验指导书}sum(inta,intb,intc){c=a+b;}swap(inta,intb){intt;t=a;a=b;b=t;}调试程序时注意参数传递的是数值还是地址。B、编程题目:要求:每道题目分别书写程序,试运行(如何输入,结果如何)。1.请编程读入一个字符串,并检查其是否为回文(
本文标题:实验1C程序的运行环境和C语言的数据类型
链接地址:https://www.777doc.com/doc-915256 .html