版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验1 C程序的运行环境和运行一个C程序的方法1实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。(2)了解在该系统上如何编辑、编译、连接和运行一个C程序。(3)通过运行简单的C程序,初步了解C程序的特点。2. 实验学时与要求:2学时,不提交实验报告。实验类型:验证。3. 实验内容(1)检查所用的计算机系统是否安装了C编译系统并确定它所在的子目录。(2)进入所用的集成环境(3)熟悉集成环境的界面和有关菜单的使用方法(4)输入并运行一个简单、正确的程序 输入下面的程序#include <stdio.h>void main()printf("This is
2、 a c program.n");仔细观察屏幕上的已输入的程序,检查有无错误。对源程序进行编译,观察屏幕上显示的编译信息。如果出现出错信息,应找出原因并改正之,再进行编译,如果无错,则进行连接。如果编译连接无错误,运行程序,观察分析运行结果。(5)输入并编辑一个有错误的C程序。输入以下程序(教材第一章中的例1.2,故意漏输入或输入错几个字符)。#include <stdio.h> void main ( ) int a,b,sum; a=123; b=456; sum=a+b; printf ("sum is %dn", sum); 进行编译,仔细分析
3、编译信息窗口,可能显示有多个错误,逐个修改,直到不出现错误。最后与教材上的程序对照。使程序运行,分析运行结果。(6)输入并运行一个需要在运行时输入数据的程序。输入下面的程序#include <stdio.h>void main() int max(int x, int y); int a,b,c; printf(“input a & b:”); 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; ret
4、urn(z); 编译并运行,在运行时从键盘输入整数2和5,然后按Enter键观察运行结果。将程序中的第4行改为int a;b;c;再进行编译,观察其结果。将max函数中的第3,4两行合并写为一行,即if(x>y) z=x; else z=y;进行编译,观察其结果。(7)运行一个自己编写的程序。题目是教材第1章的习题1.5,即:输人a, b,c三个值,输出其中最大者。 输人自己编写的源程序。 检查程序有无错误(包括语法错误和逻辑错误),有则改之。 编译和连接,仔细分析编译信息,如有错误应找出原因并改正。 运行程序,输入数据,分析结果。 自己修改程序(例如,故意改成错的),分析其编译和运行情
5、况。 将调试好的程序保存在自己的用户目录中,文件名自定。 将编辑窗口清空,再将该文件读入,检查编辑窗口中的内容是否是刚才保存的程序。 关闭所用的集成环境,用windows中的“我的电脑”找到刚才使用的用户子目录,浏览其中的文件,观察有无刚才保存的后缀为.c、.obj和、.exe的文件。实验2 数据类型、运算符和表达式1 实验目的(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。(2)掌握不同的类型数据之间赋值的规律。(3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(+)和自减(-)运算符的使用。(4)进一步熟悉C程序的编辑、编译、
6、连接和运行的过程。2. 实验学时与要求:2学时,不提交实验报告。实验类型:验证。3. 实验内容(1) 输入并运行下面的程序 #include <stdio.h>void main() char c1,c2;c1a;c2 =b;printf ("%c%cn", c1 , c2 ); 运行此程序,并分析结果。 在上面的printf语句的下面再增加一个语句:printf(“ddn”,cl,c2);再运行,并分析结果。 将第3行改为: int c1,c2; 再使之运行,并观察结果。 再将第4,5行改为:c1=a;/*不用单撇号*/ c2=b;再使之运行,分析其运行结果
7、再将第4,5行改为:c1="a";/*用双撇号*/c2="b";再使之运行,分析其运行结果。再将第4,5行改为: c1 = 300;*用大于255的整数*c2 = 400;再使之运行,分析其运行结果。(2) 输入并运行教材第2章习题2.5给出的程序#include <stdio.h>void main() char c1='a',c2'b',c3'c',c4'101',c5'116'; printf ("a%c b%ctc%ctabcn",c1
8、,c2,c3); printf("tb%c %c",c4,c5);在上机前先用人工分析程序,写出应得结果,上机后将二者对照。 (3) 输入习题2.9#include <stdio.h>void main() int i,j,m,n;i=8;j=10;m=+i;n=j+;printf("%d,%d,%d,%d",i,j,m,n);运行程序,注意i,j,m,n各变量的值,分别做以下改动并运行。将第6,7行改为:m=i+;n=+j;再运行。将程序改为:#include <stdio.h>void main() int i, j;i=8;
9、j=10;printf("%d,%dn",i+,j+); 在的基础上,将printf语句改为:printf("%d,%dn",+i,+j);编译运行分析结果。再将printf语句改为:printf("%d,%d,%d,%d",i,j,i+,j+);编译运行分析结果。 将程序改为:#include <stdio.h>void main() int i,j,m=0,n=0;i=8;j=10;m+=i+;n=j;printf("i=%d,j=%d,m=%d,n=%d",i,j,m,n);编译运行分析结果。(5
10、) 按习题2.6的要求编程序并上机运行该题的要求是:要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母。例如,字母"A"后面第4个字母是"E",用"E"代替"A"。因此,"China"应译为"Glmre" 。请编一程序,用赋初值的方法使c1,c2,c3,c4,c5五个变量的值分别为'C'、'h'、'i'、'n'、'a',经过运算,使c1,c2,c3
11、,c4,c5分别变为'G'、'l'、'm'、'r'、'e',并输出。输人事先已编好的程序,并运行该程序。分析是否符合要求。实验3 最简单的C程序设计-顺序程序设计1实验目的(1)掌握C语言中使用最多的一种语句赋值语句的使用方法。(2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。2. 实验学时与要求:2学时,编程序上机调试运行,提交实验报告。实验类型:验证。4. 实验内容(1) 通过下面的程序掌握各种格式转换符的正确使用方法 输入程序#include <stdio.h>void main(
12、)int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61;b=62;c1'a';c2 ='b';d=3.56;e= -6.87;f=3157.890121;g=0.123456789; m=50000;n=60000;p=32768;q=40000;printf(”a=%d,b=%dnc1=%c,c2=%cnd=%6.2f,e=%6.2fn”,a,b,c1,c2,d,e);printf(”f=%15.6f,g=%15.12fnm=%ld,c2=%ldnp=%u,q=%un”,f
13、,g,m,n,p,q); 运行此程序并分析结果。 在此基础上,修改程序的第10-14行:c1a;c2b;f=3157.890121;g=0.123456789;d=f; e=g;p=a=m=50000;q=b=n= -60000;运行程序,分析结果。 改用scanf函数输人数据而不用赋值语句,scanf函数如下:scanf ("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d, &e,&f, &g,&m, &n, &p,&
14、amp;q);输入的数据如下:61,62,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,32768,40000分析运行结果。(说明:lf和ld格式符分别用于输人double型和long型数据)分析运行结果。 在的基础上将printf语句改为:printf("a=%d,b=%dnc1=%c,c2=%cnd=%15.6f,e=%15.12fn",a,b,c1,c2,d,e);printf("f=%f,g=%fnm=%d,n=%dnp=%d,q=%dn",f,g,m,n,p,q);运行程序。 将p,q改
15、用%o格式符输出。 将scanf函数中的%lf和%ld改为%f和%d,运行程序并观察分析结果。(2)按习题3.6要求编写程序题目为:设圆半径r=1. 5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果。输出时要有文字说明,取小数点后两位数字。(3)编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。上机运行程序,比较用printf和putchar函数输出字符的特点。实验4 选择结构程序设计1. 实验目的(1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。(2)学
16、会正确使用逻辑运算符和逻辑表达式。(3)熟练掌握if语句和switch语句。(4)结合程序掌握一些简单的算法。(5)学习调试程序。2. 实验学时与要求:2学时,编程序上机调试运行,提交实验报告。实验类型:验证。4. 实验内容本实验要求先编好解决下面问题的程序,然后上机输人程序并调试运行程序。(1) 有一函数用scanf函数输入x的值,求 y值。(习题 4.5)运行程序,输入x的值(分别为x1、1x10、x10三种情况,检查输出的y值是否正确。(2) 给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,8189分为B,7079分为C,6069分为D,60分以下为E。(习题4.
17、6)事先编好程序 要求分别用if语句和switch语句实现。运行程序,并检查结果是否正确。再运行一次程序,输入分数为负值(如 -70),这显然是输入时出错,不应给出等级。修改程序,使之能正确处理任何数据。当输入数据大于100或小于0时,通知用户“输人数据错,程序结束。(3) 托儿所收2-6岁儿童,其中2-3岁进小班,4岁进中班,5-6岁进大班,分别用if和switch编程,输入儿童年龄,输出该年龄及所进入的班级。实验5 循环结构程序设计1. 实验目的(1) 熟悉掌握用while语句,do-while语句和for语句实现循环的方法。(2) 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭
18、代、递推等)。(3) 进一步学习调试程序。2. 实验学时与要求:2学时,编程序上机调试运行,提交实验报告。实验类型:验证。3. 实验内容(1) 打印出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身,例如153是一个水仙花数,因为153=13+53+33(习题 5.6)提示:for(n=100;n<1000;n+) i=n/100; j=(n/10)%10; k=n%10; if (n=i*i*i+j*j*j+k*k*k) printf("%d",n) (2)输入一个正整数n,输出n!.实验六 三种程序结构综合实验1. 实验目的(1)进
19、一步掌握顺序、选择及循环结构的综合编程,练习使用if语句,ifelse语句,while语句,dowhile语句和for语句的嵌套使用。(2)学习调试程序2. 实验学时与要求:2学时,编程序上机调试运行,提交实验报告。实验类型:综合。3. 实验内容(1)百鸡问题:用100元买100只鸡,公鸡5元1只,母鸡3元1只,小鸡1元3只。编写程序输出所能购买公鸡、母鸡和小鸡的数目(可能多解)。(2)编写程序输出左下三角形式的乘法九九表,即输出结果为1 2 4 3 6 9 4 8 12 165 10 15 20 256 12 18 24 30 367 14 21 28 35 42 498 16 24 32
20、40 48 56 649 18 27 36 45 54 63 72 81(3)编写程序输出右上三角形式的乘法九九表,即输出结果为1 2 3 4 5 6 7 8 9 4 6 8 10 12 14 16 18 9 12 15 18 21 24 2716 20 24 28 32 3625 30 35 40 4536 42 48 54 49 56 63 64 7281实验七 数组1. 实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法。(2)掌握字符数组和字符串函数的使用。(3)掌握与数组有关的算法(特别是排序算法)2. 实验学时与要求:4学时,编程序上机调试运行,提交实验报告。实验类型
21、:综合。3. 实验内容:(1)输入n个数(n<50),分别用冒泡法和选择法进行排序,从小到大顺序输出。(2)输入一个三行四列的二维数组,求出数组中每行的最小值和每列的最大值。(3)有一篇文章,共3行文字,每行有80个字符,要求分别统计其中的英文大写字母,小写字母,数字,空格以及其他字符的个数。实验八 函数1. 实验目的(1)掌握定义函数的方法。(2)掌握声明函数的方法。(3)掌握函数实参与形参的对应关系,以及“值传递”的方式(4) 掌握函数的嵌套调用和递归调用的方法。2. 实验学时与要求:4学时,编程序上机调试运行,提交实验报告。实验类型:综合。3. 实验内容:(1)写一个判别素数的函数
22、,在主函数输入一个整数,输出是否素数的信息(习题7.3)。本程序应当准备一下测试数据:17,34,2,1,0。分别运行并检查结果是否正确。要求所编写的程序,主函数的位置在其他函数之前,在主函数中对其所调用的函数作声明。 输入程序,编译和运行程序,分析结果。 将主函数的函数声明删去,再进行编译,分析编译结果。 把主函数的位置改为在其他函数之后,在主函数中不含函数声明。 保留判别素数的函数,修改主函数,要求实现输出100-200之间的素数。(2)用数组做函数参数的方法实现一个2*3矩阵和一个3*2矩阵的乘积,在主函数调用函数。(3)将一个整型一维数组中的元素逆序存放并输出(4)用递归的方法求,输入
23、和n,输出的值实验九 指针与数组和字符串1. 实验目的(1) 掌握指针和间接访问的概念,会定义和使用指针变量(2) 能正确使用数组的指针和指向数组的指针变量(3) 能正确使用字符串的指针和指向字符串的指针变量2. 实验学时与要求:6学时,编程序上机调试运行,提交实验报告。实验类型:综合。3. 实验内容(1) 分析下列程序的运行结果,并输入数据测试,并指明原因 swap1(int x,int y) int t; t=x; x=y; y=t;main( ) int a,b; scanf("%d,%d",&a,&b); swap1(a,b); printf(&qu
24、ot;n%d,%dn",a,b); swap2(int *p1, int *p2) int *p;*p=*p1; *p1=*p2; *p2=*p; main( ) int a,b; int *pointer_1,*pointer_2; scanf("%d,%d",&a,&b); pointer_1=&a; pointer_2=&b; swap2(pointer_1,pointer_2); printf("n%d,%dn",a,b); swap3(int *p1, int *p2) int p; p=*p1; *p1=*p2; *p2=p;main( ) int a,b; int *pointer_1,*pointer_2; scanf("%d,%d",&a,&b); pointer_1=&a; pointer_2=&b; swap3(pointer_1,pointer_2); printf("n%d,%dn",a,b);(2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年江西省上饶市婺源县八年级下册期末数学试题 含答案
- 2025年江苏省太仓市高二生物下册期末考试检测卷【考点梳理】附答案
- 2025年浙江省东阳市高二生物下册期末考试模拟卷附答案(达标题)
- 2026年江苏省江阴市高二生物下册期末考试模拟卷及答案(名师系列)
- 2025年江西省德兴市高二生物下册期末考试检测卷含完整答案(考点梳理)
- 2026年贵州省凯里市高二生物下册期末考试试卷带答案(夺分金卷)
- 2026年广东省英德市高二生物下册期末考试模拟卷【满分必刷】附答案
- 2025年山东省临清市高二生物下册期末考试模拟卷及参考答案【B卷】
- 2026年江苏省江阴市高二生物下册期末考试检测卷附参考答案(考试直接用)
- 2025年云南省弥勒市高二生物下册期末考试测试卷及完整答案【历年真题】
- 2026中国进出口银行校园招聘备考题库及答案详解(各地真题)
- 2025年三级老年人能力评估师考试题库附答案
- (12)普通高中技术与工程课程标准日常修订版(2017年版2025年修订)
- DB11-T 1944-2021 市政基础设施工程暗挖施工安全技术规程
- 病房改造工程进度管理与节点控制方案
- 水工隧洞运行与维护课件
- DB15∕T 2424-2021 高纬度多年冻土区公路混凝土管桩复合地基技术规范
- 2025年北京市海淀区小学六年级语文毕业考试卷附答案解析
- 新能源汽车专业职业生涯规划书5000字数
- 【课件】用统计图描述数据课件+2024-2025学年人教版数学七年级下册
- JG/T 342-2012建筑用玻璃与金属护栏
评论
0/150
提交评论