重慶郵電大學(xué)c語言上機實驗期末實驗報告_第1頁
重慶郵電大學(xué)c語言上機實驗期末實驗報告_第2頁
重慶郵電大學(xué)c語言上機實驗期末實驗報告_第3頁
重慶郵電大學(xué)c語言上機實驗期末實驗報告_第4頁
重慶郵電大學(xué)c語言上機實驗期末實驗報告_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、C語言程序?qū)嶒瀳蟾嫘彰?班級: 學(xué)號: 學(xué)院:自動化第一章 熟悉c語言編程環(huán)境實驗?zāi)康募耙螅?) 了解c語言編程環(huán)境visual c+6.0的組成。(2) 了解并掌握c語言集成開發(fā)環(huán)境visual c+6.0的使用方法(3) 了解并掌握c語言程序的基本結(jié)構(gòu),能夠編寫簡單的程序(4) 掌握c語言程序的上機步驟實驗步驟:例1-1:編寫一個簡單的c語言程序,在屏幕上顯示:”Hello World!”。 #include<stdio.h>void main()printf("Hello World!n");實習(xí)題目1.41.寫出下面程序執(zhí)行結(jié)果。#include&l

2、t;stdio.h>void main()printf("我可以寫c語言程序了!n");2編寫c程序#include<stdio.h>void main()printf("*n");printf("*n");printf("*n"); 第二章 簡單c語言程序設(shè)計實驗?zāi)康募耙螅?) 進(jìn)一步熟悉并掌握visual c+6.0集成開發(fā)環(huán)境的使用(2) 熟練掌握c語言程序上機編寫的步驟(3) 掌握算術(shù)表達(dá)式、賦值表達(dá)式的使用(4) 掌握c語言輸入、輸出函數(shù)的使用(5) 能夠編寫簡單的c語言程序(6) 掌

3、握簡單c語言程序的差錯方法實驗步驟:例2-1:已知兩個變量a、b,其值分別為100和200,編程求它們的和sum。#include<stdio.h>void main()int a,b,SUM;a=100;b=200;SUM=a+b;printf("他們的和是%dn”,SUM);例2-2已知一個圓柱體的半徑r為6,高h(yuǎn)為7,編寫程序求圓柱體的體積。#include<stdio.h>void main()float r,h;float s;float v;r=6.0;h=7.0;s=3.14*r*r;v=s*h;printf("圓柱體的體積為%fn&q

4、uot;,v);2.4實習(xí)題目1寫程序結(jié)果#include<stdio.h>void main()int a;float b;a=4;b=9.5;printf("a=%d,b=%4.2fn",a,b);2已知直角三角形的兩個直角邊長分別為3、4,求此直角三角形的斜邊長c及面積s。#include<stdio.h>#include<math.h>void main()int c;float s;c=sqrt(3*3+4*4);s=(3*4)/2.0;printf("斜邊長為%d,面積為%.2f",c,s);第三章 選擇結(jié)

5、構(gòu)程序設(shè)計實驗?zāi)康募耙螅?) 熟練掌握visual c+集成開發(fā)環(huán)境的使用(2) 了解并掌握c語言表示邏輯量的方法(3) 熟練掌握邏輯運算符合邏輯表達(dá)式的使用(4) 熟練掌握關(guān)系運算符和關(guān)系表達(dá)式的使用(5) 掌握選擇結(jié)構(gòu)的編程(6) 掌握使用短點調(diào)試程序的方法實驗步驟:例3-1:下面程序是輸入x的值,輸出分段函數(shù)y的值。#include<stdio.h>void main()int x,y;printf("Input the value of x:");scanf("%d",&x);if(x>0)y=1;if(x=0)y=0

6、;if(x<0)y=-1;printf("The value of y is %dn",y);例3-2讀入兩個數(shù)x、y,將大數(shù)存入x,小數(shù)存入y。#include<stdio.h>void main()int x,y,t;printf("input x,y:");scanf("%d,%d",&x,&y);if(x<y)t=x;x=y;y=t;printf("result:%dt%dn",x,y);實習(xí)題目3.42給出一個不多于3位的正整數(shù),求出它是幾位數(shù)。#include&l

7、t;stdio.h>void main()int bai,shi,ge,num,place;scanf("%d",&num);if(num>=100&&num<=999)printf("輸入的是3位數(shù)!n");place=3;else if(num>=10&&num<=99)printf("輸入的是2位數(shù)!n");place=2;elseprintf("輸入的是1位數(shù)!n");place=1;if(place=3)bai=num/100;shi=

8、(num-bai*100)/10;ge=(num-bai*100-shi*10);printf("數(shù)位分別是%d,%d,%dn",bai,shi,ge);if(place=2)shi=num/10;ge=num-shi*10;printf("數(shù)位分別是%d,%dn",shi,ge);if(place=1)ge=num;printf("數(shù)位分別是%dn",ge);3從鍵盤上輸入4個數(shù),按由小到大的順序輸出。#include<stdio.h>void main()int a,b,c,d,temp;scanf("%d,

9、%d,%d,%d",&a,&b,&c,&d);if(a>b)temp=a;a=b;b=temp;if(a>c)temp=a;a=c;c=temp;if(a>d)temp=a;a=d;d=temp;if(b>c)temp=b;b=c;c=temp;if(b>d)temp=b;b=d;d=temp;if(c>d)temp=c;c=d;d=temp;printf("%d,%d,%d,%dn",a,b,c,d);第四章 循環(huán)機構(gòu)程序設(shè)計實驗?zāi)康募耙螅?) 理解循環(huán)結(jié)構(gòu)程序三要素(2) 熟練使用for、w

10、hile、dowhile語句實現(xiàn)循環(huán)結(jié)構(gòu)程序設(shè)計(3) 掌握break、continue語句的使用(4) 掌握使用Debug調(diào)試程序的方法實驗步驟:例4-1求一個數(shù)n的階乘#include<stdio.h>void main()int n,i;long int s;printf("please input n(n>=0):");scanf("%d",&n);if(n>=0)s=1;if(n>0)i=1;while(i<=n)s*=i;i=i+1;printf("%d!=%ldn",n,s);

11、elseprintf("Invalid input!n");例4-2編程求自然數(shù)1到n的各數(shù)的平方和qs,假設(shè)n=5,。#include<stdio.h>void main()int qs=0,i;for(i=1;i<6;i+)qs+=i*i;printf("1*1+2*2+3*3+4*4+5*5=%dn",qs);實習(xí)題目4.41輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。#include<stdio.h>void main()int a,b,num1,num2,temp;printf("please in

12、put two numbers:n");scanf("%d,%d",&num1,&num2);if(num1<num2)temp=num1;num1=num2;num2=temp;a=num1;b=num2;while(b!=0)temp=a%b;a=b;b=temp;printf("the hcf id:%dn",a);printf("the lcd is:%dn",num1*num2/a);2輸入一行字符,分別統(tǒng)計出其中英文字母、空格、數(shù)字和其它字符的個數(shù)。#include<stdio.h&g

13、t;void main()char c;int letters=0,space=0,digit=0,other=0;printf("please input a string:n");while(c=getchar()!='n')if(c>='a'&&c<='z'|c>='A'&&c<='Z')letters+;else if(c=' ')space+;else if(c>='0'&&c

14、<='9')digit+;elseother+;printf("letters=%d,space=%d,digit=%d,other=%d",letters,space,digit,other);第五章 控制結(jié)構(gòu)綜合程序設(shè)計實驗?zāi)康募耙螅?) 熟練掌握c語言三種基本結(jié)構(gòu)的綜合應(yīng)用(2) 掌握嵌套循環(huán)結(jié)構(gòu)程序設(shè)計(3) 掌握窮舉、迭代與遞推等常見算法的應(yīng)用(4) 熟練掌握c程序的調(diào)試方法實驗步驟:例5-1輸出九九乘法口訣表#include<stdio.h>void main()int i,j;for(i=1;i<=9;i+)for(j

15、=1;j<=i;j+)printf("%d*%d=%d",j,i,i*j);printf("n");例5-2編程求解百錢百雞問題。已知公雞值五錢,母雞值三錢,三小雞值一錢,現(xiàn)有一百錢,問可以買公雞、母雞、小雞各多少?#include<stdio.h>void main()int cocks,hens,chicks;for(cocks=0;cocks<20;cocks+)for(hens=0;hens<33;hens+)for(chicks=0;chicks<99;chicks+)if(5*cocks+3*hens+ch

16、icks/3.0=100)&&(cocks+hens+chicks=100)printf("cocks=%d,hens=%d,chicks=%dn",cocks,hens,chicks);實習(xí)題目5.41編程輸出如下圖形。#include<stdio.h>void main()int i,j,k;for(i=0;i<=3;i+)for(j=0;j<=2-i;j+)printf(" ");for(k=0;k<=2*i;k+)printf("*");printf("n");

17、for(i=0;i<=2;i+)for(j=0;j<=i;j+)printf(" ");for(k=0;k<5-2*i;k+)printf("*");printf("n");2輸出100200間的素數(shù)。#include<stdio.h>#include<math.h>void main()int num,k,i;for(num=100;num<200;num+)k=sqrt(num);for(i=2;i<=k;i+)if(num%i=0)break;if(i>k)printf

18、("%d is a prime number.n",num);第六章 模塊化程序設(shè)計實驗?zāi)康募耙螅?) 理解模塊化程序設(shè)計思想,掌握函數(shù)的定義方法(2) 掌握函數(shù)的實參與形參的對應(yīng)關(guān)系,以及“值傳遞”的方式(3) 掌握函數(shù)正確的返回值方法(4) 掌握全局變量、局部變量、動態(tài)變量、靜態(tài)變量的概念和使用方法(5) 進(jìn)一步提高c語言程序設(shè)計調(diào)試能力以及編寫的能力實驗步驟:例6-1已知num1=3,num2=4,求num1和num2的平方和。#include<stdio.h>void main()int func();int num1=3;int num2=4;int

19、 sum;sum=func(num1,num2);printf("%dn",sum);int func(int x,int y)int temp;temp=x*x+y*y;return temp;例6-2輸出2的i次方和-3的i次方的值。#include<stdio.h>void main()int power();int i;for(i=1;i<10;i+)printf("%d %d %dn",i,power(2,i),power(-3,i);int power(int x,int n)int p;for(p=1;n>0;-n)

20、p=p*x;return(p);6.4實習(xí)題目1用函數(shù)調(diào)用計算17的平方及平方和。#include<stdio.h>#include<math.h>void header();void square(int number);void ending();int sum;void main()int index;header();for(index=1;index<=7;index+)square(index);ending();void header()sum=0;printf("This is the header for the square prog

21、ramnn");void square(int number)int numsq;numsq=number*number;sum+=numsq;printf("the square of %d is %dn",number,numsq);void ending()printf("nThe sum of the squares is %dn",sum);2寫一個判斷素數(shù)的函數(shù),在主函數(shù)中輸入一個整數(shù),輸出是否是素數(shù)的信息。#include<stdio.h>int prime(int n);void main()int m,flag;p

22、rintf("請輸入一個正整數(shù):n");scanf("%d",&m);flag=prime(m);if(flag)printf("%d是一個素數(shù)n",m);elseprintf("%d不是一個素數(shù)n",m);int prime(int n)int i,flag;for(i=2;i<=n/2;i+)if(n%i=0)flag=0;break;else flag=1;return flag;第七章 模塊化綜合程序設(shè)計實驗?zāi)康募耙螅?) 掌握模塊化程序設(shè)計的函數(shù)遞歸、迭代算法思想(2) 掌握函數(shù)嵌套交叉引

23、用的傳遞(3) 掌握函數(shù)遞歸過程和調(diào)試手段(4) 進(jìn)一步鞏固提高c語言模塊化程序設(shè)計能力實驗步驟:例7-1使用遞歸的算法實現(xiàn)求一個輸入整數(shù)的階乘,并在主函數(shù)中輸出。#include<stdio.h>int fun(int n)int z;if(n=0)elsez=fun(n-1)*n;return z;void main()int n;printf("Please input a number:");scanf("%d",&n);if(n<0)printf("The number is wrong,it's m

24、ust over 0n");elseprintf("The %d! is%dn",n,fun(n);例7-2利用下列公式求近似計算自然數(shù)e。e=1+1/1i+1/2i+1/3i+1/4i+1/ni此為近似度為n的自然數(shù)e計算公式。#include<stdio.h>void main()int m;double cal_e(int n);printf("請輸入一個整數(shù)(e的近似度n):");scanf("%d",&m);printf("自然是e的值是:%lfn",cal_e(m);dou

25、ble cal_e(int n)double f(int i);double e=1.0;while(n)e=e+f(n-);return e;double f(int i)double x=1.0;while(i)x/=i-;return x;7.4實習(xí)題目1編寫程序,用遞歸方法求兩個數(shù)的最大公約數(shù)。#include<stdio.H>int comdiv(int x,int y)int temp;temp=x%y;if(temp=0)return y;elsereturn comdiv(y,temp);void main()int a,b,cdiv;printf("請輸

26、入兩個正整數(shù):n");scanf("%d %d",&a,&b);cdiv=comdiv(a,b);printf("%d和%d的最大公約數(shù)是%dn",a,b,cdiv);2一個球從100m高度自由落下后,反彈回原來高度的一半,按此規(guī)律,到第10次落地時,行程共有多少米?然后將反彈起多高?#include<stdio.h>void main()int i,n;float l,total=100;scanf("%d",&n);for(i=1;i<=n;i+);l=f(i);total=to

27、tal+2*l;printf("最后一次反彈高度為%f米n",l);printf("總共行程為%f米n",total);float f(int n)float result;if(n=0)result=100;elseresult=f(n-1)/2;return result;第八章 一維數(shù)組程序設(shè)計實驗?zāi)康募耙螅?) 掌握一維數(shù)組的定義和賦值方法(2) 掌握整型數(shù)組、字符數(shù)組的定義和使用(3) 掌握與數(shù)組有關(guān)的相關(guān)算法,如排序算法等(4) 進(jìn)一步鞏固c語言循環(huán)結(jié)構(gòu)程序的設(shè)計(5) 鞏固所學(xué)的理論知識,提高c語言程序設(shè)計的能力實驗步驟:8.2基礎(chǔ)實驗例

28、8-1下面程序?qū)?9的值賦給一個一維數(shù)組中的各元素。#include<stdio.h>void main()int i;int a10;for(i=0;i<=9;i+)ai=i;for(i=0;i<=9;i+)printf("%dn",ai);例8-2一個簡單的字符數(shù)組,對該數(shù)組進(jìn)行初始化并輸出。#include<stdio.h>void main()char chararray100;scanf("%s",chararray);printf("%s",chararray);8.4實習(xí)題目1從鍵盤輸

29、入任何一個數(shù)據(jù),判斷是否在數(shù)組a10=1,2,3,4,5,6,7,8,9,10中。如果在給出該數(shù)在數(shù)組中的位置,否則“數(shù)組中不存在”的信息。#include<stdio.h>void main()int a10=1,2,3,4,5,6,7,8,9,10;int i,x;scanf("%d",&x);for(i=0;i<10;i+)if(ai=x)break;if(i<10)printf("數(shù)組有%d,該數(shù)組元素是a%dn",x,i);elseprintf("數(shù)組中不存在%dn",x);2要求用函數(shù)完成查

30、找n個數(shù)的最大值和最小值。#include<stdio.h>float max(float a,int n);float min(float a,int n);void main()float a20,maxnum,minnum;int i,n;printf("請輸入需要輸入的數(shù)的數(shù)目<20n");scanf("%d",&n);printf("請輸入需要輸入%d個數(shù):n",n);for(i=0;i<n;i+)scanf("%f",&ai);maxnum=max(a,n);mi

31、nnum=min(a,n);printf("輸入的最大數(shù)是%fn",maxnum);printf("輸入的最小數(shù)是%fn",minnum);float max(float a,int n)int i;float max;max=a0;for(i=0;i<n;i+)if(ai>max)max=ai;return max;float min(float a,int n)int i;float min;min=a0;for(i=0;i<n;i+)if(ai<min)min=ai;return min;第九章 二維數(shù)組程序設(shè)計實驗?zāi)康募耙?/p>

32、求(1) 掌握二維數(shù)組的定義、賦值和輸入/輸出的方法(2) 掌握與數(shù)組有關(guān)的相關(guān)算法,如排序算法等(3) 進(jìn)一步鞏固c語言多重循環(huán)結(jié)構(gòu)程序的設(shè)計(4) 培養(yǎng)c語言中模塊化編程和數(shù)組結(jié)合的能力實驗步驟:9.2基礎(chǔ)實驗例9-1編程為一個3x4矩陣的元素賦初值,并輸出矩陣各元素的值。#include<stdio.h>void main()int i,j;int a34;for(i=0;i<3;i+)for(j=0;j<4;j+)scanf("%d",&aij);for(i=0;i<3;i+)for(j=0;j<4;j+)printf(&

33、quot;%2d",aij);printf("n");2 下列程序?qū)崿F(xiàn)了輸入兩個整數(shù)m和n,建立一個6行6列的m行n列的二維數(shù)組a;再輸入a數(shù)組中各元素的值,分別求出各行元素之和并輸出。#include <stdio.h>void main()int i,j,m,n,sum;int a66;printf("Please input m,n:n");scanf("%d%d",&m,&n);printf("Please input array:n");for(i=0;i<m;

34、i+)for(j=0;j<n;j+)scanf("%d",&aij);for(i=0;i<m;i+)sum=0;for(j=0;j<m;j+)sum=sum+aij;printf("The Sum of row %d is %dn",i,sum);9.4實習(xí)題目 1.下面程序使給定的一個二維數(shù)組(3×3)轉(zhuǎn)置,即行列互換。#include "stdio.h"#define N 3int arrayNN;convert(int arrayN,int t)int i,j;for(i=0;i<N;i

35、+)for(j=i+1;j<N;j+)t=arrayij;arrayij=arrayji;arrayji=t;void main()int i,j;for(i=0;i<N;i+)for(j=0;j<N;j+)scanf("%d",&arrayij);for(i=0;i<N;i+)for(j=0;j<N;j+)printf("%d ",arrayij);printf("n");convert(array,N);for(i=0;i<N;i+)for(j=0;j<N;j+)printf(&q

36、uot;%d ",arrayij);printf("n"); 2編程實現(xiàn)從鍵盤上面為一個5×5整型數(shù)組賦值,找出其中的最小值及下標(biāo)并顯示出來。#include "stdio.h"#define N 5void main()int i,j,min,aNN;int find(int aN,int n);printf("請輸入5*5數(shù)組元素n");for(i=0;i<N;i+)for(j=0;j<N;j+)scanf("%d",&aij);printf("輸入的數(shù)組是:n

37、");for(i=0;i<N;i+)for(j=0;j<N;j+)printf("%5d",aij);printf("n");min=find(a,N);printf("最小數(shù)是%dn",min);int find(int aNN,int n)int i,j,min,row=0,col=0;min=a00;for(i=0;i<N;i+)for(j=0;j<N;j+)if(min>aij) min=aij; row=i; col=j;printf("最小數(shù)在%d行%d列n",r

38、ow+1,col+1);return min;第十章 字符串相關(guān)程序設(shè)計實驗?zāi)康募耙螅?) 理解字符串與字符數(shù)組的區(qū)別(2) 掌握字符串的定義與使用方法(3) 熟練掌握字符串處理函數(shù)的使用(4) 鞏固前面章節(jié)所學(xué)知識點,培養(yǎng)綜合程序設(shè)計能力實驗步驟:10.2基礎(chǔ)實驗1 從鍵盤輸入兩個長度不等的字符串(均少于20字符),判斷并輸出長度最大的字符串。要求不能使用字符串操作函數(shù)。#include "stdio.h"void main()char str120,str220;int i,j;printf("Please input str1:n");scanf

39、("%s",str1);printf("Please input str2:n");scanf("%s",str2);for(i=0;str1i!='0'i+);for(j=0;str2j!='0'j+);if(i>j)printf("%s is longer!n",str1);elseprintf("%s is longer!n",str2);2 從鍵盤輸入一個字符串(少于20字符),統(tǒng)計該字符串中某個字符出現(xiàn)的次數(shù),例如輸入“helloworld”,統(tǒng)計

40、字符“o”的個數(shù)。#include "stdio.h"void main()int i,num;char str20,ch;printf("Please input a stringn");scanf("%s",str);getchar();printf("Please input a charn");scanf("%c",&ch);for(i=0,num=0;stri!='0'i+)if(stri=ch)num+;printf("The mun of char

41、 %c is %dn",ch,num);10.4實習(xí)題目1 輸入一個字符串,判斷該字符串是否是一個回文數(shù)。#include "stdio.h"#include "string.h"void main()char str20;int i,j;printf("Please input a string:n");scanf("%s",str);i=0;j=strlen(str)-1;for(;i<j;i+,j-)if(stri!=strj)break;if(i>=j)printf("%s

42、is a huiwen numbern",str);elseprintf("%s isn't a huiwen numbern",str);2 已知有兩個字符串“hello”、“world”,編程實現(xiàn)將第二個字符串連接到第一個字符串之后,要求不能使用strlen,strcpy,strcat等字符串處理函數(shù)。#include "stdio.h"void main()char str120="hello",str210="world"int i,j;for(i=0;str1i!='0'

43、i+);for(j=0;str2j!='0'j+)str1i+=str2j;str1i='0'printf("the result is %sn",str1);第十一章 指針程序設(shè)計實驗?zāi)康募耙螅?) 理解指針的概念,會定義和使用指針變量(2) 掌握涉及指針的c語言程序設(shè)計(3) 學(xué)會使用數(shù)組指針和指向數(shù)組的指針變量(4) 學(xué)會使用字符串指針和指向字符串的指針變量(5) 結(jié)合數(shù)組、函數(shù)調(diào)用進(jìn)行復(fù)雜的編程(6) 鞏固所學(xué)的理論知識,培養(yǎng)鍛煉進(jìn)行復(fù)雜c語言程序設(shè)計的能力實驗步驟:11.2基礎(chǔ)實驗例11-1從鍵盤輸入兩個整數(shù),按由小到大的順序輸出

44、,要求用指針實現(xiàn)。#include<stdio.h>void main()int *p1,*p2;int p;int a,b;scanf("%d,%d",&a,&b);p1=&a;p2=&b;if(a>b)p=*p1;*p1=*p2;*p2=p;printf("a=%d,b=%d",a,b);例11-2下面程序利用函數(shù)調(diào)用的方法再次實現(xiàn)上例程序的功能。#include<stdio.h>void main()void swap(int *p_1,int *p_2);int a,b;int *p1,*p2;scanf("%d,%d",&a,&b);p1=&a;p2=&b;if(a>b)swap(p1,p2);printf("%d,%dn",a,b);void swap(int *p_1,int *p_2)int p;p=*p_1;*p_1=*p_2;*p_2=p;11.4實習(xí)題目1從鍵盤上面輸入三個整數(shù),按由小到大的順序輸出。#include<stdio.h>void main()void swa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論