计算机基础课程实验项目目的、任务、内容C-B09-_第1页
计算机基础课程实验项目目的、任务、内容C-B09-_第2页
计算机基础课程实验项目目的、任务、内容C-B09-_第3页
计算机基础课程实验项目目的、任务、内容C-B09-_第4页
计算机基础课程实验项目目的、任务、内容C-B09-_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、哈尔滨商业大学计算机基础教育课程教学质量评估材料-计算机基础课程实验项目目的、任务、内容课程名称大学计算机程序设计(c)序号1实验题目c语言实验环境与上机步骤实验目的熟悉c语言开发环境;tc为本课程考试环境; 实验任务掌握在tc下如何创建、编辑c语言源程序,然后对程序进行编译、连接、运行实验内容共5页1 实验要求:编程求37+29的值,熟悉tc运行环境2 分析与设计: 编写一个main()函数,将数据37和29分别用变量保存,然后用另一个变量存放两个变量的和,最后将和变量的值输出。 3 源代码:main()int a,b,sum;a=37;b=29;sum=a+b;printf(“sum=%d

2、”,sum);在tc环境中输入上面的代码后,先编译、连接,再保存,然后再运行。具体操作步骤如下所示:(1)编译(2)连接(3)保存f2(4)运行ctrl+f9(5)运行结果alt+f5按任意键返回注意:1、第(1)步和第(2)步可以合起来操作,使用快捷键f92、程序比较大时,最好边输入代码,边保存,以防止意外情况的发生。选做题:1. 输出字符串main() printf(“c programn”);printf(“hello world!n”);2. 已知圆的半径,求圆的面积#define pi 3.14main() int r=5; float s; s=pi*r*r; printf(“ar

3、ea=%fn”,s);the communist party of china, and a deep understanding of the partys nature, purpose, guiding principles, goals, organization, good style, deeply understand the conditions, rights and obligations of members, code of conduct, bearing in mind that oath, clear members of the standards and co

4、nditions, enhance respect, abide by the constitution, maintaining the party constitution consciousness of the party constitution. read through the familiar with the code of self-discipline of the cpc, the cpc disciplinary regulations, members of the communist party of china party regulations on righ

5、ts protection ordinance, mastering self-discipline standards of four must, the four upholdings, mastering various types of disciplinary offence and punishment provisions and clear what you can do, what they cant do. 2. speech understanding learning series xi series the basic spirit of an important s

6、peech by general secretary, learn to understand the party central committee on governance of the new concept of basic elements of new ideas and new strategies, master and strengthen the party spirit, fulfills the purpose ideas, moral character, conservation related to the basic requirements. learnin

7、g of the xi series read the important speech by general secretary (2016), xi henan work research guide, general secretarys important speech. learning series speech, main understand master following aspects content: (1) ideal faith57课程名称大学计算机程序设计(c)序号2实验题目运算符和表达式-c语言编写简单程序实验目的了解c语言的基本运算符、常量、变量、表达式及关键

8、字;进一步熟悉c语言开发环境;实验任务熟悉+、-、*、/、%等运算符、掌握c语言基本字符集及基本标识符。练习常用表达式,编写简单小程序实现;实验内容共3页1实验要求 :熟悉+、-、*、/、%等运算符、掌握c语言基本字符集及基本标识符;2分析与设计 :求余运算符%要求两个操作数都必须是整数;3源代码:程序1:取出一个三位整数的个、十、百位,并输出main()int x=123; char c1,c2,c3;c1=x%10;c2=x/10%10;c3=x/100;printf(“%d,%d,%dn”,c3,c2,c1);运行结果为:1,2,3程序2:输出int,float,double,char等

9、类型在当前环境中所占内存字节娄,并输出main()printf(“%d,%d,%d ,%d n”, int,float,double,char);运行结果为:练习题一分析下面程序运行结果产生的原因。1.main()float m,n,k;k=(3.1,m=2.0+2.1);printf(“%f”,k);n=(m=3.8,k);printf(“%f”,n);2.main()int a=2,b=1,c=1,d=6,e=9;b+=a; printf(“%d”,b);c*=a; printf(“%d”,c);d/=a; printf(“%d”,d);e%=a; printf(“%d”,e);二编程题1

10、. 利用中间变量,实现两个变量的值互换。课程名称大学计算机程序设计(c)序号3实验题目c语言编写简单程序实验目的c程序中完成不同变量的定义,实现不同类型数据的转换与运算,自增自减运算;实验任务程序中定义不同类型的变量,对变量进行赋值操作,验证不同数据类型间混合运算的结果;自增自减运算;实验内容共2页1实验要求 :定义不同类型的变量,对变量进行赋值操作,验证不同数据类型间混合运算的结果;自增自减运算2分析与设计 :自增自减运算+,-要求操作数都必须是整弄变量,+和- 要看清是先使用还是先自增(减);3源代码:程序1:练习自增和自减运算符的使用main()int x=2,y,z;y=(+x)+(x

11、+)+(+x);z=(x-)+(-x)+(x-);printf(“x=%d,y=%d,z=%dn”,x,y,z);运行结果:x=2,y=12,z=12调试:如果再加一句printf(“%d,%d,%dn”,+z,z+,+z);运行结果是什么:这一句用于验证,printf函数输出表列中的求值顺序。turbo c是按从右到左进行的练习题一分析下面程序运行结果产生的原因。1.main()int x, y;char c;x=y=5; ch=a;printf(“%d,%d,%c”,x+,+y,ch);2.main() int a1,a2;float b,c;b=5.425; c=52.954;a1=(i

12、nt)(b+c); a2=(int)b+(int)c;printf(“a1=%d,a2=%d”,a1,a2);二编程题1求1+2+3+4+5+6+7+8+9+10的和。课程名称大学计算机程序设计(c)序号4实验题目输入和输出程序设计实验目的掌握scanf()、printf() 函数及格式控制实验任务实现整型、实型、字符型变量的输入和输出;实验内容共2页1实验要求 :格式输入函数scanf()和格式输出函数printf()的使用2分析与设计 :输入函数中的普通字符需要原样输入,并注意分隔符的使用;输出函数中的格式控制符和输出项数要一一对应;3源代码:程序1:为使得a=1,b=2,c=a,d=5.

13、5,在键盘上如何输入?#include main()int a,b;char c; float d;scanf(“a=%d b=%d”,&a,&b);scanf(“%c %en”,&c,&d);程序在运行时,输入:a=1 b=2a 5.50程序2:判断下面程序的运行结果。main()int x=3,y=2,z=1;printf(“%d,%dn”,(+x,y+),z+2);运行结果:2,3分析得到此结果的原因。练习题1输入一个小写字母,将其改写为大写字母后输出。2设int a,b,c;要使得a=3;b=5;c=6; 问该如何在键盘上输入?并用printf函数输出a,b,c的值。 scanf(“%

14、d,%d%d”,&a,&b,&c);3编程序输出下面的图形(平行四边形)课程名称大学计算机程序设计(c)序号5实验题目选择结构程序设计实验目的理解关系运算和逻辑运算,掌握if和switch语句,掌握分析具体问题的方法实验任务验证运算符的优先级,使用关系、逻辑表达式为if和switch语句的条件,决定程序的流程;实验内容共4页1实验要求 : 利用if语句和scanf函数模拟简单的atm取款机界面2分析与设计: 用户先输入密码,密码正确后,可以进行帐户的操作,如查询,取款等。3源代码:程序:模拟atm取款机界面#include main()int password,op,number=0,coun

15、t=1000,n=0;printf(please input password:);scanf(%d,&password);while(password!=1234)/*有三次输入密码的机会*/n+;if(n=3)printf(you have input 3,can not input again!n); getch();return;printf(password error!please input again:);scanf(%d,&password);loop:printf(nwelcome! please choice one operate:(1,2,3)n);printf(1:

16、countn2:get moneyn3:returnn);scanf(%d,&op); /*输入一种操作*/switch(op)case 1:printf(nyour count is %d.n,count);goto loop;/*帐户查询*/case 2:printf(n please input count that you want to get:); scanf(%d,&number); if(numbercount|number0)printf(nerror); else printf(nnow ,you can take money!);count-=number; goto l

17、oop; /*取款*/case 3:break;/*返回*/default:printf(n operate error!);goto loop;练习题1. 从键盘输入学生成绩分数,输出对应的等级。(100-90分为a, 75-89为b ,60-74为c,小于60为d)2. 从键盘输入一个字符,如果是小写字母,则输出“small”,如果是大写字母,则输出“big”,如果是数字,则输出“number”,其他字符则输出“other”课程名称大学计算机程序设计(c)序号6实验题目循环结构程序设计实验目的掌握for、while与do-while语句的执行流程和特点;利用循环结构进行简单问题求解;实验任

18、务利用循环语句解决:累加求和问题及累乘求积问题;求解值的算法;实验内容共3页1实验要求:求1100的和,并输出结果;2分析与设计:利用循环,不断累加求和,直到循环条件不满足为止,累加和先置0,累乘积,先置1。3源代码:程序1:1100求和main()int i , sum=0;for(i=1;i=100;i+)sum=sum+i;printf(“the sum is %d n”,sum );运行结果:程序2:10的阶乘main()int i , mul=1;for(i=1;i=10;i+)mul=mul*i;printf(“the mul is %d n”,mul );运行结果:程序3:用wh

19、ile循环实现程序1;程序4:用while循环实现程序2;练习题1. 编程:打印出所有的“水仙花数”。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。例如:153=1+5+3。2. 编程:打印出1000以内所有的“完数”。所谓完数是指一个数恰好等于它的因子之和。 例如:6的因子为1,2,3;而6=1+2+3,因此6是完数。课程名称大学计算机程序设计(c)序号7实验题目循环结构程序设计实验目的理解continue、break 、return语句在循环结构中的使用方法和特点;实验任务利用循环结构求解:验证素数的算法;把100200之间不能被3整除的数输出;实验内容共4页1实验要求 :利

20、用循环结构求解:验证素数的算法;把100200之间不能被3整除的数输出;2分析与设计 :求素数和找出能被3整除的数,均有可能出现不需要在计算的情况,所以要根据情况选择continue或break语句;continue语句作用:提前结束本次循环体的执行,接着进行下一次循环条件的判别。break 语句作用:跳出所在的多分支switch语句,跳出所在的while、do-while、for循环语句(提前结束循环)。3源代码:程序1: 100200之间不能被3整除的数输出。main()int n; for (n=100; n=200; n+) if (n%3 = 0) continue; printf(

21、%d,n); 运行结果:程序2:输入一个数m,判其是否为“素数”。素数(prime):又称质数,是大于1的整数,除了能被自身和1整除外,不能被其它正整数整除。算法:#include math.hmain() int m,i,k; scanf(%d,&m); /* 输入一个整数m */ k = sqrt(m); for(i=2;i k+1) printf(%d 是素数n,m); else printf(%d 不是素数n,m);练习题1求100200间的全部素数2译密码。为使报文保密,往往按一定规律将其转换为密码,收报人再按约定的规律将其译为原文。设加密规律为:将字母变成其后的第四个字母,如,a变

22、为e,a变为e。输入一行字符,要求将其变为密码。课程名称大学计算机程序设计(c)序号8实验题目一维数组程序设计实验目的掌握一维数组定义、赋值和数组元素引用、输入、输出;实验任务程序中定义一维数组,使用循环结构对数组元素进行访问,实现排序功能;实验内容共3页1实验要求: 求最大值问题;任意定义一个一维数组,并为其初始化,然后将最大值找出来,并指明它是数组的第几个元素;用冒泡法对十个数排序(由小到大) ;2分析与设计: 求最大值问题。编程分析: 假设首元素为最大值元素,用max标识。 将其余元素依次与max比较,并将大值保存在max中,将大值元素下标保存在m中。 输出max和m。冒泡法排序算法分析

23、:比较相邻的两个数,将小的调到前面。即,两两比较并交换。3源代码:程序1#include stdio.h /* 求最大值问题程序 */#define n 10void main() int an=20,9,10,-16,-9,18,96,7,11,33; int i,max=a0,m=0; for(i=1;in;i+) if(maxai) max=ai; m=i; printf(max=%d,no:%dn,max,m+1); 程序 2:#include /* 冒泡法排序 */main() int i,j,t; int a10;printf(shu ru:);for(i=0;i10;i+)sca

24、nf(%d,&ai);printf(npaixuqiann);for(i=0;i10;i+)printf(%6d,ai);printf(n);printf(paixuhou );for(i=0;i9;i+)for(j=0;jaj+1)t=aj; aj=aj+1;aj+1=t;for(i=0;imax,把aij作为新的临时最大值,并记录下其下标i和j。当全部元素比较完后,max是整个矩阵全部元素的最大值。流程:3源代码:程序1:有一个34的矩阵,要求编程序以求出其中值最大的那个元素的值及其所在的行号和列号。main() int i,j,row=0,colum=0,max; static int

25、a34=1,2,3,4,9,8,7,6,-10,10,-5,2; max = a00; for(i=0; i=2; i+) /* 用两重循环遍历全部元素 */ for(j=0; j max ) max = aij; row = i; colum = j; printf(max=%d, row=%d, colum=%dn,max,row,colum);程序2:求二维数组上三角元素和。main() int i,j,sum=0; static int a33=1,2,3,9,8,7,-10,10,-5; for(i=0; i=2; i+) /* 用两重循环遍历全部元素 */ for(j=i; j=2

26、; j+) sum=sum+aij;printf(the sum is %dn,sum );运行结果为: 练习题1. 将一个二维数组行和列交换,存到另一个二维数组中。2. 求二维数组下三角元素的和。3. 求二维数组对角线上元素的积。课程名称大学计算机程序设计(c)序号10实验题目字符数组程序设计实验目的掌握字符数组的定义、赋值和数组元素引用;掌握字符串函数的使用;实验任务定义字符数组,并交字符串存入指定字符数组,实现字符串逆序;练习常用字符串函数;实验内容共3页1实验要求 :输入一个字符串,统计其中有多少个单词,求字符串的逆序;2分析与设计 :单词的数目由空格出现的次数决定(连续出现的空格记为

27、出现一次;一行开头的空格不算。)。应逐个检测每一个字符是否为空格。用num表示单词数(初值为0)。word=0表示前一字符为空格,word=1表示前一字符不是空格,word初值为0。如果前一字符是空格,当前字符不是空格,说明出现新单词,num加1。3. 流程:4源代码:程序1 输入一行字符,统计其中有多少个单词(单词间以空格分隔)#include stdio.h /* gets()函数在该头文件定义 */main() char string81 ; int i, num = 0, word = 0; char c; gets(string); for(i=0; (c=stringi) != 0

28、;i+) if (c= ) word = 0; else if (word = 0) word = 1; num+; printf(there are %d words in the linen,num);程序2:将字符串逆序main()char str100;int i ,j;char temp;gets(str); j=strlen(str);for(i=0;ic&a+cb&b+ca&a0.0&b0.0&c0.0) printf(area=%-7.2fn,area(a,b,c); float area(float a,float b,float c) /* 以下是计算任意三角形面积的函数

29、*/ float s,area_s; s=(a+b+c)/2.0; area_s=sqrt(s*(s-a)*(s-b)*(s-c); return(area_s);程序2int gcd(int n1,int n2) /*“辗转相除法”求最大公约数*/int temp;if(n11)程序如下:fib (int n)int f;if (n=1|n=2) f=1;else f=fib(n-1)+fib(n-2);return (f);main()int i,s=0;clrscr();for (i=1;i=12;i+)s=s+fib(i); printf(n=12,s=%d,s);结果:376练习题1

30、. 练习全局变量与局部变量2. 用递归法将一个整数反向输出课程名称大学计算机程序设计(c)序号13实验题目函数程序设计(三)实验目的理解文件包及条件编译,理解内部函数与外部函数;实验任务掌握程序模块化设计思想,练习多文件程序的编译和运行。利用文件包含进行调用;使用条件编译产生不同版的可执行文件;实验内容共4页1实验要求 :从键盘读一个字符串,内有若干字符,今输入一个字符,将字符串中该字符删除。2分析与设计 :自定义分别实现字符串输入,删除字符,打印输出字符串功能的三个外部函数,并分别保存在f2,f3,f4等三个源文件中,通过函数main()(保存在f1中)调用来实现操作,创建 一个项目文件,保

31、存为project1,编译连接项目文件.3源代码:l 自定义字符串输入函数enter_string(),并以名f2.c,代码是:enter_string(char str80) printf(please input a string:); gets(str);l 自定义删除字符函数delete_string(),并以名f3.c,代码是:delete_string(char str,char ch) int i,j;for(i=j=0;stri!=0;i+) if(stri!=ch) strj+=stri; strj=0;l 自定义字符串输出函数print_string(),并以名f4.c,代

32、码是:print_string(char str) printf(result output string is: );printf(%s,str);l 根据需求,设计main()函数, 并以名f1.c,代码是:#include main() extern enter_string(char str80); extern delete_string(char str,char ch); extern print_string(char str); char ch; char str80; clrscr(); enter_string(str); printf(please input a ch

33、aracter:); scanf(%c,&ch); delete_string(str,ch); print_string(str); getch();l 建立项目文件,用turbo c 2.0建立一个新文件,输入下列内容:c:turboc2f1 c:turboc2f2 c:turboc2f3 c:turboc2f4 (f1, f2 ,f3 ,f4文件的路径,若和项目文件在同一个目录中可省略路径)存盘时,指定文件名的扩展类型为prj即可,如本例中将文件存盘为project1.prj。选择project-project name,在输入框中输入project1.prj回车。编译连接,生成的执行文

34、件应为project1.exe。如果源文件中出错,编译程序会将出错文件打开。修改错误后重新进行编译。程序2:条件编译#define letter 1main()char str20 = c language, c; int i; i = 0; while(c=stri) != 0) i+; #if letter if (c=a & c=a & c=z) c = c + 32; #endif printf(%c,c); 课程名称大学计算机程序设计(c)序号14实验题目指针程序程序设计(一)实验目的指针变量定义及间接访问,指针运算;实验任务编写程序利用指针实现对变量的间接访问;编写程序利用指针实现

35、对两个变量的值的交换;实验内容共3页1实验要求 :用指针实现对两个变量的间接访问;用指针实现两个变量的交换;2分析与设计 :自增自减运算+,-要求操作数都必须是整弄变量,+和- 要看清是先使用还是先自增(减);3源代码:程序1:用指针实现对两个变量的间接访问main() int a,b; int *pointer_1, *pointer_2; /* 定义指针变量 */ a = 100; b = 10; pointer_1 = &a; pointer_2 = &b; printf(%d,%dn,a,b); printf(%d,%dn,*pointer_1,*pointer_2); 程序运行结果:

36、 100,10 100,10 程序2:用指针实现对两个变量的交换main()int a,b; int *p1, * 2,*p3; /* 定义指针变量 */ a = 100; b = 10; p1 = &a; p2 = &b; *p3=*p1; *p1=*p2; *p2=*p3;printf(%d,%dn,a,b); 程序运行结果: 10,100 练习题1. 输入a和b两个整数,按先大后小的顺序输出a和b。2. 输入三个字符串,按由小到大的顺序输出。课程名称大学计算机程序设计(c)序号15实验题目指针程序程序设计(二)实验目的掌握指针与数组的关系,用指针访问数组;实现指针作为参数在函数间传递数据

37、;实验任务编写程序利用指针作为参数访问数组。对数组元素进行输入、输出,并找出最大值与最小值;实验内容共4页1实验要求 :用指针访问各元素,将数组中个元素按相反顺序存放;2源代码:程序1:用指针访问各元素main() int a10; int *p, i; for(i=0;i10;i+) scanf(%d, &ai); printf(n); for(p=a;p(a+10);p+) /* p+使p指向下一个元素 */ printf(%d ,*p);程序2:将数组a中n个元素按相反顺序存放算法:a0与an-1交换,a1与an-2交换,.,a(n-1)/2与an-int(n-1)/2)交换。实现:用i

38、,j作元素位置变量,开始i=0,j=n-1。将ai与aj交换,然后i加1,j减1,直到i=(n-1)/2。void inv(int *x, int n) int *p, t, *i, *j, m=(n-1)/2; i = x; /* 指针i指向数组第一个元素 */ j = x + n - 1;/* 指针j指向数组最后一个元素 */ p = x + m; /* 指针p指向数组中间一个元素 */ for(;i=p;i+,j-) t = *i; *i = *j; *j = t; return;main() static int i, a10 = 3,7,9,11,0,6,7,5,4,2; print

39、f(the original array:n); for(i=0; i10; i+) printf(%d , ai); printf(n); inv(a,10); printf(the array hans been inverted:n); for(i=0; i10; i+) printf(%d , ai); printf(n);程序3:从10个数中找出其中最大值和最小值。只找出其中最大值和最小值,不能改变元素的排列顺序)int max, min; /* 全局变量,最大值和最小值 */ void max_min_value(int *array, int n)int *p, *array_e

40、nd; /* p是数组元素指针 */ array_end = array + n; /* 指向数组尾 */ max = min = *array; /* 第一个元素array0 */ for(p=array+1; p max) max = *p; else if (*p min) min = *p; return; main() int i, number10,*p; p = number; /* 指针p指向数组number首地址 */ printf(enter 10 datan); for(i=0;i10;i+) scanf(%d,&numberi); printf(the 10 data:

41、n); for(p=number,i=0; i10; i+,p+) printf(%d , *p); p = number;/* for循环后,p指向数组尾,因此应为p重新赋值 */ max_min_value(p,10); printf(nmax=%d,min=%dn,max,min);课程名称大学计算机程序设计(c)序号16实验题目结构体程序设计实验目的掌握结构休的定义与变量引用;掌握结构体数组与结构体指针实验任务定义学生结构体类型与该类型变量,对变量进行读写;定义学生结构体数组,求学生成绩求平均值;实验内容共4页1实验要求 :输入6名学生的基本信息,每名学生的基本信息包括:学号、姓名、性

42、别、年龄、语文成绩、数学成绩、物理成绩、总分、平均分等数据项。根据各科成绩计算总分和平均分,并输出这6名学生的信息。2分析与设计 :利用结构体类型数组元素存放6名学生的信息,并根据要求求出总分和平均分。3源代码:程序1:练习自增和自减运算符的使用#define n 6#include “stdio.h”struct student char num8; char name20; char sex; int age; float chi_score,math_score,phy_score; float sum; float average;main() int i; struct studen

43、t studn;/*输入n名学生的基本信息*/ for(i=0;in;i+) printf(“nthe student_number of number %d is: “,i+1); gets(studi.num); printf(“nthe student_name of number %d is: “,i+1); gets(); printf(“nthe student_sex of number %d is: “,i+1); studi.sex=getchar(); printf(“nthe student_age of number %d is: “,i+1); scanf(“%d”,&studi.age); printf(“nthe chinese_score of number %d is: “,i+1); scanf(“%f”,&studi.chi_score); printf(“nthe math_score of number %d is: “,i+1); scanf(“%f”,&studi.math_score); printf(“nthe physics_score of number %d is: “,i+1); scanf(“%f”,&studi.phy_score); /*计算学生的总分和平均分*/for(i=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论