欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      c語(yǔ)言上機(jī)實(shí)驗(yàn)指導(dǎo)(全文5篇)

      時(shí)間:2019-05-12 18:42:15下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《c語(yǔ)言上機(jī)實(shí)驗(yàn)指導(dǎo)》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《c語(yǔ)言上機(jī)實(shí)驗(yàn)指導(dǎo)》。

      第一篇:c語(yǔ)言上機(jī)實(shí)驗(yàn)指導(dǎo)

      第三部分 上機(jī)實(shí)驗(yàn)指導(dǎo)

      實(shí)驗(yàn)一 C語(yǔ)言的運(yùn)行環(huán)境和運(yùn)行過(guò)程

      一、實(shí)驗(yàn)實(shí)訓(xùn)目的及要求

      1、C++語(yǔ)言的運(yùn)行環(huán)境,了解所用的計(jì)算機(jī)系統(tǒng)的基本操作方法,學(xué)會(huì)獨(dú)立使用該系統(tǒng)。

      2、了解在該系統(tǒng)上如何編輯、編譯、連接和運(yùn)行一個(gè)C++程序。

      3、通過(guò)運(yùn)行簡(jiǎn)單的C++程序,初步了解C++源程序的特點(diǎn)。

      二、實(shí)驗(yàn)內(nèi)容

      1、C++的啟動(dòng)以及工作環(huán)境介紹。

      2、在Visual C++環(huán)境中運(yùn)行C++語(yǔ)言源程序

      三、實(shí)驗(yàn)實(shí)訓(xùn)指導(dǎo)

      Visual C++提供了一個(gè)集源程序編輯、代碼編譯與調(diào)試于一體的開(kāi)發(fā)環(huán)境,這個(gè)環(huán)境稱為集成開(kāi)發(fā)環(huán)境,對(duì)于集成開(kāi)發(fā)環(huán)境的熟悉程度直接影響程序設(shè)計(jì)的效率。開(kāi)發(fā)環(huán)境是程序員同Visual C++的交互界面,通過(guò)它程序員可以訪問(wèn)C++源代碼編輯器、資源編輯器,使用內(nèi)部調(diào)試器,并且可以創(chuàng)建工程文件。Microsoft Visual C++是多個(gè)產(chǎn)品的集成。Visual C++從本質(zhì)上講是一個(gè)windows應(yīng)用程序。Visual C++有兩個(gè)版本,對(duì)于每一個(gè)版本,都有對(duì)應(yīng)的文檔:

      (1)專業(yè)版本,它包括一個(gè)更高級(jí)的優(yōu)化編譯器,更廣泛的文檔,并能設(shè)計(jì)基于DOS的應(yīng)用程序。

      (2)標(biāo)準(zhǔn)版本,其費(fèi)用較低,沒(méi)有那么高級(jí)的編譯器,文檔較少,且不能設(shè)計(jì)基于DOS的應(yīng)用程序。

      用鼠標(biāo)單擊“開(kāi)始”、“程序”、“Microsoft Visual Studio 6.0”、“Microsoft Visual C++ 6.0”,然后打開(kāi)一個(gè)工程文件,就會(huì)顯示如圖1.5.1所示的窗口,圖中標(biāo)出了窗口中各組成部分的名稱,而且顯示了已裝入Graph工程文件的Visual C++ 6.0的開(kāi)發(fā)環(huán)境,這是在建立了工程文件之后的結(jié)果。

      菜單欄

      1.File菜單 2.Edit菜單 3.View菜單 4.Insert菜單 5.Project菜單 6.Build菜單 7.Tools菜單

      如下圖 編輯C++源程序

      [例]一個(gè)C++源程序。#include int add(int,int);void main(){

      int a,b;

      a=5;

      b=7;

      int c=add(a,b);

      cout<<”a+b=”<

      return x+y;}

      四、實(shí)驗(yàn)實(shí)訓(xùn)思考題

      1、輸入并運(yùn)行例題中程序,熟悉調(diào)試C程序的的方法與步驟。

      2、寫(xiě)出一個(gè)C程序的構(gòu)成。

      實(shí)驗(yàn)二

      C語(yǔ)言的基礎(chǔ)知識(shí)

      一、實(shí)驗(yàn)實(shí)訓(xùn)目的及要求

      1、掌握C++語(yǔ)言數(shù)據(jù)類型,熟悉如何定義一個(gè)整型、字符型、實(shí)型變量,以及對(duì)它們賦值的方法,了解以上類型數(shù)據(jù)輸出時(shí)所用的格式轉(zhuǎn)換符。

      2、學(xué)會(huì)使用C++的有關(guān)算術(shù)運(yùn)算符,以及包含這些運(yùn)算符的表達(dá)式,特別是自加(++)和自減(--)運(yùn)算符的使用。

      3、進(jìn)一步熟悉C++程序的編輯、編譯、連接和運(yùn)行的過(guò)程。

      二、實(shí)驗(yàn)實(shí)訓(xùn)內(nèi)容

      1、輸入程序,運(yùn)行出結(jié)果。

      mian(){

      char c1 , c2;

      c1=97;c2=98;

      cout<

      2、分析下程序,寫(xiě)出運(yùn)行結(jié)果,再輸入計(jì)算機(jī)運(yùn)行,將得到的結(jié)果與你分析得到的結(jié)果比較對(duì)照。

      main(){

      int i , j , m , n;i=8;j=10;

      m=++i;n=j++;

      cout<

      三、實(shí)驗(yàn)實(shí)訓(xùn)指導(dǎo)

      1、在此基礎(chǔ)上

      1)將第二行改為:

      int c1, c2;

      再使之運(yùn)行。

      3)再將第三行改為:

      c1=300;c2=400;

      再使之運(yùn)行,分析其運(yùn)行結(jié)果。

      在該程序中,說(shuō)明了字符型數(shù)據(jù)在特定情況下可作為整型數(shù)據(jù)處理,整型數(shù)據(jù)有時(shí)也可以作為字符型數(shù)據(jù)處理。

      2、此程序主要考查自加、自減運(yùn)算符以及復(fù)合運(yùn)算符的用法。

      四、實(shí)驗(yàn)實(shí)訓(xùn)思考題

      1、“=”和“==”有什么區(qū)別?

      2、“&”和“&&”、“|”和“||”有什么區(qū)別?

      實(shí)驗(yàn)三

      簡(jiǎn)單的C++程序設(shè)計(jì)

      一、實(shí)驗(yàn)實(shí)訓(xùn)目的及要求

      1.理解C++語(yǔ)言程序的順序結(jié)構(gòu)

      2.掌握常用的C++語(yǔ)言語(yǔ)句,熟練應(yīng)用賦值、輸入、輸出語(yǔ)句。

      二、實(shí)驗(yàn)實(shí)訓(xùn)內(nèi)容

      1、按格式要求輸入/輸出數(shù)據(jù)

      #include “iostream.h” main(){

      int a,b;flost x,y;char c1,c2;cin>>a>>b;cin>>x>>y;cin>>c1>>&c2;

      cout<

      2、輸入三角形三邊長(zhǎng),求三角形面積。

      #include “math.h”

      main(){

      float a,b,c,s,area;cin>>a>>b>>c;s=1.0/2*(a+b+c);

      area=sqrt(s*(s-a)*(s-b)*(s-c));cout<

      3、已知圓半徑,圓柱高,求圓周長(zhǎng),圓柱體積。

      main(){

      float r,h,l,v,pi;pi=3.1415926;cin>>r>>h;l=2*pi*r;v=pi*r*r*h;cout<

      4、輸入一個(gè)攝氏溫度,要求輸出華氏溫度。公式為f=5/9*c+32.main(){

      float c,f;cin>>c;

      f=5.0/9*c+32;cout<

      三、實(shí)驗(yàn)實(shí)訓(xùn)指導(dǎo)

      1、第一題運(yùn)行程序,必須按如下方式在鍵盤(pán)上輸入數(shù)據(jù)

      a=3,b=7 ↙

      8.5,71.82 ↙

      a A ↙

      2、修改輸出格式控制符,觀察輸出結(jié)果的變化。

      四、實(shí)驗(yàn)實(shí)訓(xùn)思考題

      1、已知圓半徑r=1.5,圓柱高h(yuǎn)=3, 求圓周長(zhǎng),圓面積,圓球表面積,圓球體積,圓柱體積。

      2、輸入一個(gè)華氏溫度,要求輸出攝氏溫度。公式為c=5/9*(f-32)。

      實(shí)驗(yàn)四

      選擇結(jié)構(gòu)程序設(shè)計(jì)

      一、實(shí)驗(yàn)實(shí)訓(xùn)目的及要求

      1、了解C語(yǔ)句表示邏輯量的方法(以0代表“假”以1代表“真”);

      2、學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式;

      3、熟練掌握if語(yǔ)句和switch語(yǔ)句。

      二、實(shí)驗(yàn)實(shí)訓(xùn)內(nèi)容

      編寫(xiě)程序完成下列題目:

      1、已知三個(gè)數(shù)a,b,c,找出最大值放于max中。

      2、輸入某學(xué)生的成績(jī),經(jīng)處理后給出學(xué)生的等級(jí),等級(jí)分類如下:

      90分以上(包括90): A

      80至90分(包括80):B

      70至80分(包括70):C

      60至70分(包括60):D

      60分以下:E

      3、有一函數(shù):

      x?1?x ?1?x?10 y=?2x-1 ?3x-11 x?10 ?用scanf函數(shù)輸入x的值(分別為x<1,1~10,?10三種情況),求y值。

      三、實(shí)驗(yàn)實(shí)訓(xùn)指導(dǎo)

      1、分析:由已知可得在變量定義時(shí)定義四個(gè)變量a,b,c和max,a,b,c是任意輸入的三個(gè)數(shù),max是用來(lái)存放結(jié)果最大值的。第一次比較a和b,把大數(shù)存入max中,因a,b都可能是大值,所以用if語(yǔ)句中if——else 形式。第二次比較max和c,把最大數(shù)存入max中,用if語(yǔ)句的第一種形式if形式。Max即為a,b,c中的最大值。

      #include “iostream.h” main(){

      int a,b,c,max;

      /*定義四個(gè)整型變量*/ cin>>a>>b>>c;if(a>=b)

      max=a;

      /*a>=b*/ else

      max=b;

      /*amax)

      max=c;

      /*c是最大值*/ cout<<“max=”<

      若輸入下列數(shù)據(jù),分析程序的執(zhí)行順序并寫(xiě)出運(yùn)行結(jié)果

      (1)a=1,b=2,c=3

      (2)a=2,b=1,c=3

      (3)a=3,b=2,c=1

      (4)a=3,b=1,c=2

      (5)a=3,b=3,c=2

      (6)a=2,b=1,c=2

      2、方法一:(用if嵌套`)分析:

      由題意知如果某學(xué)生成績(jī)?cè)?0分以上,等級(jí)為A;否則,如果成績(jī)大于80分,等級(jí)為B;否則,如果成績(jī)大于70分,等級(jí)為C;否則,如果成績(jī)大于60分為D;否則,如果成績(jī)小于60分,等級(jí)為E;但當(dāng)我們輸入成績(jī)時(shí)也可能輸錯(cuò),出現(xiàn)小于0或大于100,這時(shí)也要做處理,輸出出錯(cuò)信息。因此,再用if嵌套前,應(yīng)先判斷輸入的成績(jī)是否在0~100之間。

      #include“iostream.h” main(){

      int score;

      char grade;

      cout<<“nplease input a student score:”;

      cin>>score;

      if(score>100||score<0)

      cout<<“ninput error!”;

      else

      { if(score>=90)

      grade='A';

      else

      { if(score>=80)

      grade='B';

      else

      {if(score>=70)

      grade='C';

      else

      { if(score>=60)grade='D';else grade='E';

      }

      }

      }

      cout<<“nthe student grade:”<

      }

      }

      輸入測(cè)試數(shù)據(jù),調(diào)試程序。測(cè)試數(shù)據(jù)要覆蓋所有路徑,注意臨界值,例如此題中得100分,60分,0分以及小于0和大于100的數(shù)據(jù)。方法二:用switch語(yǔ)句

      分析:

      switch 語(yǔ)句是用于處理多分支的語(yǔ)句。注意,case后的表達(dá)式必須是一個(gè)常量表達(dá)式,所以在以用switch語(yǔ)句之前,必須把0~100之間的成績(jī)分別化成相關(guān)的常量。所有A(除100以外),B,C,D類的成績(jī)的共同特點(diǎn)是十位數(shù)相同,此外都是E類。則由此可得把score除十取整,化為相應(yīng)的常數(shù)。

      #include“iostream.h” main(){

      int g,s;char ch;

      cout<<“ninput a student grade:”;cin>>g;s=g/10;

      if(s<0||s>10)

      cout<<“ninput error!”;else

      { switch(s)

      { case 10:

      case 9: ch='A';break;

      case 8: ch='B';break;

      case 7: ch='C';break;

      case 6: ch='D';break;

      default: ch='E';

      }

      cout<<“nthe student scort:”<

      }

      }

      輸入測(cè)試數(shù)據(jù),同方法一一樣調(diào)試程序并寫(xiě)出結(jié)果。

      3、分析:y是一個(gè)分段表達(dá)式。要根據(jù)x的不同區(qū)間來(lái)計(jì)算y的值。所以應(yīng)使用If語(yǔ)句。

      main(){

      int x,y;

      cout<<”please input x :”;cin>>x;if(x<1){

      y=x;

      cout<< “y=”<

      else if(x<10){

      y=2*x-1;

      cout<<“y=”<

      else

      {

      y=3*x-11;

      cout<<“y=”<

      }

      四、實(shí)驗(yàn)實(shí)訓(xùn)思考題

      c語(yǔ)言如何表示“真”與“假”?系統(tǒng)如何判斷一個(gè)量的“真”與“假”?

      實(shí)驗(yàn)五 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)

      一、實(shí)驗(yàn)實(shí)訓(xùn)目的及要求

      熟練掌握while、do—while和for三種循環(huán)語(yǔ)句的應(yīng)用。

      二、實(shí)驗(yàn)實(shí)訓(xùn)內(nèi)容

      編寫(xiě)程序,完成下列題目:

      1、求5!

      2、求和s=1!+2!+3!

      3、求和s=1!+3!+5!

      4、求和s= 3+33+333

      5、有一數(shù)列:2/1,3/2,5/3,8/5,?求出這個(gè)數(shù)列的前10項(xiàng)之和。

      6、打印500以內(nèi)的“水仙花數(shù)”?!八苫〝?shù)”是一個(gè)三位數(shù),其各位數(shù)立方和等于該數(shù)本身。

      7、一個(gè)數(shù)如果恰好等于它的因子之和,這個(gè)數(shù)就稱為完數(shù)。求100之內(nèi)的所有完數(shù)。

      三、實(shí)驗(yàn)實(shí)訓(xùn)指導(dǎo)

      1、程序清單:

      main(){

      int n,t;n=1;t=1;

      while(t<=5){

      n=n*t;t=t+1;}

      cout<

      2、程序清單:

      main(){

      int n,s=0,t=1;

      for(n=1;n<=3;n++){

      t=t*n;s=s+t;}

      cout<

      3、程序清單:

      main(){

      int s=0,t,i,j;

      for(i=1;i<=3;i++){

      t=1;

      for(j=1;j<=2*i-1;j++)t=t*j;s=s+t;}

      cout<

      4、程序清單:

      main(){

      int s=0,t=3,i;for(i=1;i<=3;i++){

      s=s+t;t=10*t+3;}

      cout<

      5、程序清單:

      main(){

      int n,t,;

      float a=2,b=1,s=0;for(n=1;n<=10;n++){

      s=s+a/b;t=a;a=a+b;b=t;}

      cout<

      6、程序清單: main(){

      int i,j,k,n;

      for(n=100;n<=500;n++){

      i=n/100;j=n/10-i*10;k=n%10;

      if(n= =i*i*i+j*j*j+k*k*k)cout<

      7、程序清單:

      main(){

      int n,s,j;

      for(n=1;n<=100;n++){

      s=0;

      for(j=1;j

      四、實(shí)驗(yàn)實(shí)訓(xùn)思考題

      求Sn=a+aa+aaa+?+aa?a 之值,其中a是一個(gè)數(shù)字。例如:2+22+222+2222+22222(此時(shí)n=5), n由鍵盤(pán)輸入(分別用while和for編程)。

      實(shí)驗(yàn)六

      函數(shù)

      一、實(shí)驗(yàn)實(shí)訓(xùn)目的及要求

      1、掌握C語(yǔ)言函數(shù)的定義方法、函數(shù)的聲明及函數(shù)的調(diào)用方法。

      2、了解主調(diào)函數(shù)和被調(diào)函數(shù)之間的參數(shù)傳遞方式。

      二、實(shí)驗(yàn)實(shí)訓(xùn)內(nèi)容

      1、寫(xiě)一個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否素?cái)?shù)的信息。

      2、寫(xiě)一函數(shù),是給定的一個(gè)二位數(shù)組(4×4)轉(zhuǎn)置,即行列互換。

      3、寫(xiě)兩個(gè)函數(shù),分別求兩個(gè)正數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩個(gè)函數(shù)并輸出結(jié)果。兩個(gè)正數(shù)由鍵盤(pán)輸入。

      4、寫(xiě)一函數(shù),用“起泡法”對(duì)輸入的10個(gè)字符按由小到大順序排序。

      三、實(shí)驗(yàn)實(shí)訓(xùn)指導(dǎo)

      1、程序清單:

      mian(){ int number;

      cout<< “請(qǐng)輸入一個(gè)正整數(shù):n”;cin>>number;if(prime(number))

      cout<< “n %d是素?cái)?shù).”<

      cout<<“n %d不是素?cái)?shù).”<

      int prime(number)/*此函數(shù)用于判別素?cái)?shù)*/ int number;{

      int flag=1,n;

      for(n=2;n

      判斷素?cái)?shù)的算法,我們?cè)谝郧皩W(xué)習(xí)循環(huán)的時(shí)候已經(jīng)學(xué)過(guò)了,在這里只是把這個(gè)算法用函數(shù)的形式表示出來(lái)。這里我們要注意函數(shù)的

      定義、聲明的方法和格式。

      2、程序清單:

      /*矩陣的轉(zhuǎn)置*/ #define N 4 int array[N][N];convert(array)int array[4][4];{

      int i,j,t;

      for(i=0;i

      t=array[i][j];

      array[i][j]=array[j][i];array[j][i]=t;} }

      main(){ int i,j;

      cout<< “輸入數(shù)組元素:n”;for(i=0;i>array[i][j];cout<< “n數(shù)組是:n”;for(i=0;i

      for(j=0;j

      cout<

      conver(array);

      cout<< “轉(zhuǎn)置數(shù)組是:n”;for(i=0;i

      for(j=0;j

      cout<

      本例題用數(shù)組作為函數(shù)參數(shù),大家要注意數(shù)組作為函數(shù)參數(shù)時(shí)的用法。

      3、程序清單:

      #include “stdio.h” hcf(u,v)int u,v;{

      int a,b,t,r;if(u>v){ t=u;u=v;v=t;}

      a=u;b=v;

      while((r=b%a)!=0){

      b=a;a=r;}

      return(a);}

      lcd(u,v,h)int u,v,h;{

      return(u*v/h);}

      main(){

      int u,v,h,l;cin>>u>>v;h=hcf(u,v);

      cout<<“H.C.F=%dn”<

      cout<<“L.C.D=%dn”<

      這是一個(gè)十分典型的算法,同學(xué)們一定要認(rèn)真分析、學(xué)習(xí)。

      4、程序清單:

      /*起泡法排序*/ #define N 10 char str[N];main(){

      int i,flag;

      for(flag=1;flag = =1;){

      cout<< “n輸入字符串,長(zhǎng)度為10:n”;cin>>str;

      if(strlen(str)>N)

      cout<<“超過(guò)長(zhǎng)度,請(qǐng)重輸!”;else

      flag = 0;}

      sort(str);

      cout<< “n排序結(jié)果:”;for(i=0;i

      sort(str)char str[N];{ int i,j;char t;

      for(j=1;j

      for(i=0;(istr[i+1]){

      t=str[i];

      str[i]=str[i+1];str[i+1]=t;} }

      四、實(shí)驗(yàn)實(shí)訓(xùn)思考題

      編寫(xiě)一個(gè)程序,包括主函數(shù)和如下子函數(shù)。

      (1)輸入10個(gè)無(wú)序的整數(shù);

      (2)用起泡方法從大到小排序;(3)要求輸入一個(gè)整數(shù),用折半查找法找出該數(shù),若存在,在主函數(shù)中輸出其所處的位置,否則,插入適當(dāng)位置。

      分析:input函數(shù)完成10個(gè)整數(shù)的錄入。sort函數(shù)完成起泡法排序,search函數(shù)完成輸入數(shù)的查找。

      實(shí)驗(yàn)七

      指針

      一、實(shí)驗(yàn)實(shí)訓(xùn)目的及要求

      1.掌握指針變量的定義與引用。

      2.熟練使用函數(shù)指針、數(shù)組指針、字符串指針編寫(xiě)應(yīng)用程序。

      二、實(shí)驗(yàn)實(shí)訓(xùn)內(nèi)容

      1、寫(xiě)一函數(shù),求一個(gè)字符串的長(zhǎng)度。

      2、編寫(xiě)一個(gè)函數(shù),將數(shù)組中n個(gè)數(shù)按反序存放。

      3、設(shè)一個(gè)函數(shù),調(diào)用它時(shí),每次實(shí)現(xiàn)不同的功能:(1)求兩個(gè)數(shù)之和;(2)求兩個(gè)數(shù)之差;(3)求兩個(gè)數(shù)之積。

      三、實(shí)驗(yàn)實(shí)訓(xùn)指導(dǎo)

      1、分析:

      (1)本部分習(xí)題要求全部用指針完成;

      (2)在main函數(shù)中輸入字符串,并輸出其長(zhǎng)度;

      (3)本題不能使用strlen()函數(shù);

      方法說(shuō)明:

      在主函數(shù)中定義一個(gè)指向字符串的指針變量pstr,并將輸入的字符串的首地址賦值給pstr,然后調(diào)用求字符串長(zhǎng)度的函數(shù)strlenth(char*p),得到字符串的長(zhǎng)度。在函數(shù)strlenth(char *p)中,判斷*p是否為’ 0’,如果不為’ 0’,則進(jìn)行l(wèi)en++的操作,直到遇到’ 0’ 為止。然后返回len值。

      求字符串長(zhǎng)度的函數(shù)strlenth(char *p)算法如下:

      (1)定義int len=0;

      (2)當(dāng)*p!=’ 0’ 時(shí),重復(fù)執(zhí)行(2.1)(2.2),否則算法終止。

      len=len+1

      p++(3)return(len)

      2、分析:

      (1)在主函數(shù)中輸入10個(gè)數(shù),并輸出排好序的數(shù)。

      (2)編寫(xiě)函數(shù)invert()將10個(gè)數(shù)按反序存放。

      3、分析:

      (1)在主函數(shù)中輸入2個(gè)數(shù)a,b,并輸出a,b的和、差和乘積。

      (2)分別編寫(xiě)函數(shù)add()、sub()、mul()計(jì)算兩個(gè)數(shù)的和、差、積。(3)編寫(xiě)函數(shù)process(),分別調(diào)用函數(shù)add()、sub()、mul()。

      四、實(shí)驗(yàn)實(shí)訓(xùn)思考題

      實(shí)現(xiàn)指針移動(dòng)的幾種方法。

      實(shí)驗(yàn)八 一維數(shù)組

      一、實(shí)驗(yàn)實(shí)訓(xùn)目的及要求

      1、掌握一維數(shù)組的定義、賦值和輸入輸出的方法;

      2、掌握字符數(shù)組的使用;

      3、掌握與數(shù)組有關(guān)的算法(例如排序算法)。

      二、實(shí)驗(yàn)實(shí)訓(xùn)內(nèi)容

      1、在鍵盤(pán)上輸入N個(gè)整數(shù),試編制程序使該數(shù)組中的數(shù)按照從大到小的次序排列。

      2、青年歌手參加歌曲大獎(jiǎng)賽,有10個(gè)評(píng)委對(duì)她的進(jìn)行打分,試編程求這位選手的平均得分(去掉一個(gè)最高分和一個(gè)最低分)。

      3、輸入一串字符,計(jì)算其中空格的個(gè)數(shù)。

      三、實(shí)驗(yàn)實(shí)訓(xùn)指導(dǎo)

      1、分析:C++中數(shù)組長(zhǎng)度必須是確定大小,即指定N的值。排序的方法有多種,我們?nèi)〕銎渲袃煞N作為參考。

      方法一:起泡排序

      從第一個(gè)數(shù)開(kāi)始依次對(duì)相鄰兩數(shù)進(jìn)行比較,如次序?qū)t不做任何操作;如次序不對(duì)則使這兩個(gè)數(shù)交換位置。第一遍的(N-1)次比

      較后,最大的數(shù)已放在最后,第二遍只需考慮(N-1)個(gè)數(shù),以此類推直到第(N-1)遍比較后就可以完成排序。

      源程序如下:

      #define N 10

      #include“iostream.h” main(){

      int a[N],i,j,temp;

      cout<<“please input %d numbersn”<>a[i];

      for(i=0;i

      if(a[j]>a[j+1]){

      temp=a[j];a[j]=a[j+1];a[j+1]=temp;} }

      cout<<“the array after sort:n”;for(i=0;i

      方法二:選擇排序

      首先找出值最小的數(shù),然后把這個(gè)數(shù)與第一個(gè)數(shù)交換,這樣值最小的數(shù)就放到了第一個(gè)位置;然后,在從剩下的數(shù)中找值最小的,把它和第二個(gè)數(shù)互換,使得第二小的數(shù)放在第二個(gè)位置上。以此類推,直到所有的值從小到大的順序排列為止。

      #include“iostream.h” #define N 10 main(){

      int a[N],i,j,r,temp;

      cout<<“please input %d numbersn”<>a[i];

      for(i=0;i

      for(j=i+1;j

      r=j;if(r!=i){

      temp=a[r];a[r]=a[i];a[i]=temp;} }

      cout<<“the array after sort:n”;for(i=0;i

      2、分析:這道題的核心是排序。將評(píng)委所打的10個(gè)分?jǐn)?shù)利用數(shù)組按增序(或降序)排列,計(jì)算數(shù)組中除第一個(gè)和最后一個(gè)分?jǐn)?shù)以外 的數(shù)的平均分,其中排序部分這里用選擇法實(shí)現(xiàn)。

      main(){int i,j,min;

      float temp,ave=0;float a[11];

      cout<<“n輸入評(píng)委所打的分?jǐn)?shù):n”;for(i=1;i<=10;i++)

      cin>>a[i];for(i=1;i<=9;i++){ min=i;

      for(j=i+1;j<=10;j++)if(a[min]>a[j]){ min=j;temp=a[i];a[i]=a[min];a[min]=temp;} }

      for(i=2;i<=9;i++)/*注意i值的變化范圍*/

      ave=ave+a[i];

      cout<<“選手所得最后分?jǐn)?shù):”<

      3、程序清單:

      #include main(){ char c[30];int i,sum=0;gets(c);

      for(i=0;i

      cout<<“空格數(shù)為:”<

      四、實(shí)驗(yàn)實(shí)訓(xùn)思考題

      已有一個(gè)已排好序的數(shù)組,今輸入一個(gè)數(shù),要求按原來(lái)排序的規(guī)律將它插入數(shù)組中。

      實(shí)驗(yàn)九

      二維數(shù)組

      一、實(shí)驗(yàn)實(shí)訓(xùn)目的及要求

      1、掌握二維數(shù)組的定義、賦值和輸入輸出的方法;

      2、掌握字符數(shù)組的使用;

      3、掌握與數(shù)組有關(guān)的算法(例如排序算法)。

      二、實(shí)驗(yàn)實(shí)訓(xùn)內(nèi)容

      1、有一個(gè)3×4的矩陣,要求輸出其中值最大的元素的值,以及它的行號(hào)和列號(hào)。

      2、打印以下圖案:

      * * * * * * * * * * * * * * * * * * * * * * * * *

      3、求矩陣下三角形元素之和。

      三、實(shí)驗(yàn)實(shí)訓(xùn)指導(dǎo)

      1、程序清單:

      #define M 3 #define N 4 main(){ int max,i,j,r,c;

      static int a[M][N]={{123,94,-10,218},{3,9,10,-83},{45,16,44,-99}};max=a[0][0];for(i=0;imax){ max= a[i][j];r=i;c=j;}

      cout<< “max=”<< max<<” row =”<

      2、程序清單:

      main(){ char a[5]={' * ' , ' * ' , ' * ' , ' * ' , ' * '};int i,j,k;

      char space=' ';

      for(i=0;i<5;i++)/*輸出5行*/ { cout<<“n”;/* 輸出每行前先換行* / cout<<“ ”;/* 每行前面留5個(gè)空格 */ for(j=1;j<=i;j++)

      cout<

      cout<

      3、程序清單:

      #define N 6 main(){ int i,j,sum=0;int a[N][N]={0};cout<<“input 5×5 data:n”;for(i=1;i>a[i][j];}

      for(i=1;i

      cout<

      四、實(shí)驗(yàn)實(shí)訓(xùn)思考題

      求一個(gè)3×3矩陣對(duì)角線元素之和。

      實(shí)驗(yàn)十

      結(jié)構(gòu)體和共用體程序設(shè)計(jì)

      一、實(shí)驗(yàn)實(shí)訓(xùn)目的及要求

      1、掌握結(jié)構(gòu)體類型和結(jié)構(gòu)體變量的定義。

      2、掌握結(jié)構(gòu)類型變量的定義和使用;

      3、掌握鏈表的概念,初步學(xué)會(huì)對(duì)鏈表進(jìn)行操作;

      4、掌握共用體的概念和使用。

      二、實(shí)驗(yàn)實(shí)訓(xùn)內(nèi)容

      1、有五個(gè)學(xué)生,每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào),姓名,三門(mén)課的成績(jī),從鍵盤(pán)輸入五個(gè)學(xué)生的數(shù)據(jù),要求打印出每個(gè)學(xué)生的平均成績(jī),以及最高分的學(xué)生的數(shù)據(jù)(包括學(xué)號(hào),姓名,三門(mén)課的成績(jī),平均分?jǐn)?shù))。

      2、三個(gè)人圍成一圈,從第一個(gè)人開(kāi)始順序報(bào)號(hào)1,2,3。凡報(bào)到“ 3” 者退出圈子,找出最后流在圈子中的人原來(lái)的序號(hào)。

      3、建立一個(gè)鏈表,每個(gè)結(jié)點(diǎn)包括:學(xué)號(hào),姓名,性別,年齡。輸入一個(gè)年齡,如果鏈表中的結(jié)點(diǎn)所包含的年齡等于此年齡,則將此

      結(jié)點(diǎn)刪去。

      三、實(shí)驗(yàn)實(shí)訓(xùn)指導(dǎo)

      用一個(gè)函數(shù)輸入五個(gè)學(xué)生的數(shù)據(jù);用一個(gè)函數(shù)求總平均分;用函數(shù)找出最高分學(xué)生數(shù)據(jù),總平均分和最高分的學(xué)生的數(shù)據(jù)都在主函

      數(shù)中輸出。

      四、實(shí)驗(yàn)實(shí)訓(xùn)思考題

      用鏈表實(shí)現(xiàn)排序。

      第二篇:VC6.0上機(jī)指導(dǎo)--- C語(yǔ)言實(shí)驗(yàn)講義

      實(shí)驗(yàn)一

      簡(jiǎn)單的C程序設(shè)計(jì)和基本數(shù)據(jù)處理

      實(shí)驗(yàn)?zāi)康模?/p>

      1.掌握C語(yǔ)言的運(yùn)算符和表達(dá)式的正確使用以及C語(yǔ)言的幾種基本數(shù)據(jù)類型和基本輸入輸出函數(shù)的使用方法。

      2.通過(guò)編程進(jìn)一步理解和掌握運(yùn)算符的確切含義和功能。3.理解和掌握運(yùn)算符與運(yùn)算對(duì)象的關(guān)系,優(yōu)先級(jí)和結(jié)合方向。

      1.通過(guò)編程,掌握C語(yǔ)言的幾種基本數(shù)據(jù)類型,int、char、flloat、double,以及由這些基本數(shù)據(jù)類型構(gòu)成的常量和變量的使用方法。

      2.掌握基本輸入/輸出函數(shù)的使用方法,包括printf()、scanf()、getchar()、putchar()。3.掌握簡(jiǎn)單的C程序的查錯(cuò)方法。實(shí)驗(yàn)內(nèi)容:

      一、輸入程序,觀察輸出結(jié)果,并對(duì)語(yǔ)句做必要的注釋。1./* e1.c */ #include void main(){

      int x;

      x=27

      printf(“%4d,%o,%Xn”,x,x,x);}

      輸出結(jié)果:

      解釋:

      2./* e2.c */ #include void main(){

      char ch;

      int k;

      ch=’a’;k=10;

      printf(“%d,%x,%o,%c”,ch,ch,ch,ch,k);

      printf(“k=%%dn”,k);

      } 輸出結(jié)果:

      解釋:

      3./* e4.c */ #include void main(){

      float x=5/2,y=5.0/2;

      printf(“x=%f,y=%fn”,x,y);} 輸出結(jié)果:

      解釋:

      二、編寫(xiě)程序。

      1. 編程(c1.c)任意輸入3個(gè)整型變量x,y,z和一個(gè)實(shí)型變量avg,計(jì)算并輸出3個(gè)整數(shù)的平均值avg,從鍵盤(pán)輸入數(shù)據(jù)并驗(yàn)證結(jié)果。觀察運(yùn)行結(jié)果。源程序:

      輸出結(jié)果: 解釋:

      2. 輸入兩個(gè)個(gè)整數(shù)給a,b,然后交換它們的值,源程序:

      輸出結(jié)果:

      實(shí)驗(yàn)報(bào)告要求

      將以上各題的源程序、運(yùn)行結(jié)果,以及實(shí)驗(yàn)中遇到的問(wèn)題和解決問(wèn)題的方法,以及實(shí)驗(yàn)過(guò)程中的心得體會(huì),寫(xiě)在實(shí)驗(yàn)報(bào)告上。

      實(shí)驗(yàn)二

      選擇結(jié)構(gòu)程序設(shè)計(jì)與循環(huán)結(jié)構(gòu)程序設(shè)計(jì)

      實(shí)驗(yàn)?zāi)康?/p>

      1、了解C語(yǔ)句表示邏輯量的方法(以0代表“假”以1代表“真”);

      2、學(xué)會(huì)正確使用邏輯運(yùn)算符和邏輯表達(dá)式;理解循環(huán)條件和循環(huán)體

      3、熟練掌握if語(yǔ)句和switch語(yǔ)句;熟練使用while、do-while語(yǔ)句實(shí)現(xiàn)循環(huán)程序設(shè)計(jì)

      4、熟練掌握switch語(yǔ)句中break語(yǔ)句的作用。實(shí)驗(yàn)內(nèi)容 編程,輸入一個(gè)整數(shù),求它的各位數(shù)字之和及位數(shù)。例如123的各位數(shù)字之和是6,位數(shù)是3.輸入輸出示例:

      輸入一個(gè)整數(shù):12345 12345有5位數(shù),各位數(shù)字之和是15 提示:n表示一個(gè)整數(shù),則n%10取個(gè)位數(shù),n=n/10去掉個(gè)位數(shù),組成一個(gè)新數(shù)。思考:如果要把每位數(shù)字轉(zhuǎn)換為字符輸出,如何編程。

      3. 改錯(cuò),輸入2個(gè)正整數(shù),分別將其逆向輸出。輸入輸出示例: 123的逆向是321 321的逆向是123 void main(){

      int n,m=0;

      scanf(“%d”,n);

      while(n>0)

      { m=m+n%10;

      m=m*10;

      n=n/10;}

      printf(“%d的逆向是%dt”,n,m);}

      4. 編程,找出200以內(nèi)的所有完數(shù),并輸出其因子。一個(gè)數(shù)如恰好等于它的因子之和,這個(gè)數(shù)稱為完數(shù),如6=1+2+3,其中1、2、3為因子,6為因子和。輸入輸出示例: 1=1 6=1+2+3 28=1+2+4+7+14 main(){ int i,j n;printf();} 實(shí)驗(yàn)報(bào)告要求

      將以上各題的源程序、運(yùn)行結(jié)果,以及實(shí)驗(yàn)中遇到的問(wèn)題和解決問(wèn)題的方法,以及實(shí)驗(yàn)過(guò)程中的心得體會(huì),寫(xiě)在實(shí)驗(yàn)報(bào)告上。

      實(shí)驗(yàn)三

      數(shù)組

      實(shí)驗(yàn)?zāi)康?/p>

      1.熟練掌握數(shù)組的定義和初始化 2.熟練掌握使用數(shù)組元素的引用 3.繼續(xù)掌握排序算法 實(shí)驗(yàn)內(nèi)容

      2.編程,輸入1個(gè)正整數(shù)n(1

      輸入輸出示例: 輸入整數(shù)個(gè)數(shù):5 輸入5個(gè)整數(shù):5 2 1 10 9 2 5 9 10 提示:注意下標(biāo)的變化。

      思考:如果輸入的是實(shí)數(shù),要求將絕對(duì)值最小的數(shù)與第1個(gè)數(shù)交換,絕對(duì)值最大的數(shù)與最后1個(gè)數(shù)交換,然后輸出交換后的n個(gè)數(shù),如何編程。

      3.編程,輸入1個(gè)正整數(shù)n(1

      輸入輸出示例: 輸入整數(shù)個(gè)數(shù):10 輸入10個(gè)整數(shù):-11 2 8 5-3-16 9 7 6 10 排序后:2-3 5 6 7 8 9 10-11-16

      5.編程,輸入一個(gè)n行m列(n<=4,m<=4)的數(shù)組,先以n行m列的格式輸出該數(shù)組,然后找出該數(shù)組中值最小的元素,輸出該元素及其行下標(biāo)和列下標(biāo)。

      輸入輸出示例:

      輸入數(shù)組行和列數(shù)n、m:2 3 輸入2行3列的數(shù)組元素: 12-7 15-18 9 11 12.00-7.00 15.00-18.00 9.00 11.00 a[1][0]=-18.00 思考:

      1)如果不從鍵盤(pán)輸入數(shù)組元素,而是用初始化的方式給數(shù)組賦值,運(yùn)行結(jié)果一樣嗎? 2)如何修改程序,求絕對(duì)值最大的元素?

      3)將數(shù)組a的每一行均除以該行的主對(duì)角元素,然后最大值,試編制程序。

      實(shí)驗(yàn)報(bào)告要求

      將以上各題的源程序、運(yùn)行結(jié)果,以及實(shí)驗(yàn)中遇到的問(wèn)題和解決問(wèn)題的方法,以及實(shí)驗(yàn)過(guò)程中的心得體會(huì),寫(xiě)在實(shí)驗(yàn)報(bào)告上。

      第三篇:C語(yǔ)言上機(jī)實(shí)驗(yàn)心得

      C語(yǔ)言上機(jī)實(shí)驗(yàn)心得

      在科技高度發(fā)展的今天,計(jì)算機(jī)在人們之中的作用越來(lái)越突出。而C語(yǔ)言作為一種計(jì)算機(jī)的語(yǔ)言,學(xué)習(xí)它將有助于我們更好的了解計(jì)算機(jī),與計(jì)算機(jī)進(jìn)行交流,因此,我們一定要學(xué)好C語(yǔ)言,這對(duì)我們以后的發(fā)展是十分重要的。

      說(shuō)到這,上機(jī)實(shí)驗(yàn)當(dāng)然就是一個(gè)必不可少的環(huán)節(jié)了,C語(yǔ)言靈活、簡(jiǎn)潔的特點(diǎn),只有通過(guò)編程實(shí)踐才能真正了解,真正說(shuō)懂。為了更好地學(xué)習(xí)語(yǔ)法規(guī)定、掌握程序設(shè)計(jì)方法、提高程序開(kāi)發(fā)能力,我們必須實(shí)際上機(jī)、編寫(xiě)程序。

      通過(guò)實(shí)驗(yàn)我也發(fā)現(xiàn)了自己不少的問(wèn)題,這都是只看書(shū)上的程序而沒(méi)有自己親身上機(jī)編寫(xiě)程序而無(wú)法得知的,假如我們只因看熟書(shū)上的程序就以為自己已經(jīng)掌握了C語(yǔ)言那就大錯(cuò)特錯(cuò)了。

      我主要存在以下的這些缺點(diǎn):

      1、學(xué)習(xí)耐心與細(xì)心不足,如scanf(“%d”,&n);中的“&”有時(shí)候會(huì)忘了。而在最后輸出時(shí)又錯(cuò)寫(xiě)成printf(“%d”,&n);從而錯(cuò)誤得輸出了地址而不是我原來(lái)想要的答案。

      2、編程思想不夠發(fā)散,看著題目有時(shí)想不出解答的方法,更不用說(shuō)編寫(xiě)程序來(lái)解題了。

      3、4、基本功不夠,有些函數(shù)的表達(dá)不太精通,需要看書(shū)來(lái)核實(shí),以致耗時(shí)較多。知識(shí)不夠廣,有些內(nèi)容沒(méi)有學(xué)好,不能要用到時(shí)及時(shí)反映出來(lái),認(rèn)識(shí)程度不夠深刻。

      5、6、有時(shí)候不夠精簡(jiǎn),有一點(diǎn)用處不大或者說(shuō)沒(méi)有也可以的文字存在。

      英語(yǔ)水平較差,對(duì)錯(cuò)誤的地方雖然電腦有說(shuō),但由于是英文,理解上還是存在一點(diǎn)問(wèn)題。

      為了能更好地學(xué)好C語(yǔ)言,在今后學(xué)習(xí)中我要更多的動(dòng)腦,綜合運(yùn)用所學(xué),多看相關(guān)東西,多上機(jī)練習(xí),提高電腦水平,增強(qiáng)自學(xué)能力,把已會(huì)的東西掌握好。

      實(shí)驗(yàn)中我深刻意識(shí)到完成程序的編寫(xiě),決不意味著萬(wàn)事大吉。認(rèn)為萬(wàn)無(wú)一失的程序,實(shí)際上機(jī)運(yùn)行時(shí)可能會(huì)出現(xiàn)很多意想不到的問(wèn)題。有時(shí)編譯程序檢測(cè)出一大堆錯(cuò)誤,有時(shí)程序能夠順利運(yùn)行,但是運(yùn)行結(jié)果并不是你預(yù)期中想要的。因?yàn)殚_(kāi)發(fā)環(huán)境所提供的編譯系統(tǒng)無(wú)法發(fā)現(xiàn)程序邏輯錯(cuò)誤,或者是你原來(lái)所設(shè)計(jì)時(shí)的理論錯(cuò)誤,這就只能靠自己的上機(jī)經(jīng)驗(yàn)來(lái)分析判斷錯(cuò)誤的所在了。所以程序的調(diào)試是一個(gè)技巧性很強(qiáng)的工作,它可能比編一個(gè)程序耗時(shí)更多。由此可看出上機(jī)實(shí)踐的重要性。

      通過(guò)本次C語(yǔ)言上機(jī)實(shí)驗(yàn),我對(duì)這個(gè)介于人類與非人類之間的計(jì)算機(jī)編程語(yǔ)言有了一定的體驗(yàn)。編程的時(shí)候有因?yàn)轫樌幊龀绦蚨_(kāi)心過(guò)、有因?yàn)樽龅帽热思衣魫炦^(guò)、有因?yàn)椴恢獜暮稳胧侄鵁o(wú)奈過(guò)、有因?yàn)椴恢e(cuò)出在哪而彷徨過(guò)??但隨著練習(xí)的增多,我對(duì)C語(yǔ)言比以前熟了很多,不再只是紙上談兵,我都有能力獨(dú)立做出一些程序,可能對(duì)于一些“高手來(lái)說(shuō)這不算什么,或者他們?cè)缇蜁?huì)了,但我依然覺(jué)得很開(kāi)心,因?yàn)槲腋易约罕仁沁M(jìn)步了。

      當(dāng)然,我還得感謝老師的指導(dǎo)與幫助,如果沒(méi)有老師和其他同學(xué)的指點(diǎn),我可能對(duì)C語(yǔ)言還是一籌莫展,在實(shí)驗(yàn)中遇到的大大少少的問(wèn)題與所犯過(guò)的錯(cuò)誤將是我以后的要加以注意的地方與認(rèn)真審查的部分,為我奠定堅(jiān)固的基石。伴隨著學(xué)習(xí)的深入,我發(fā)現(xiàn)高深的東西還有很多很多,不懂不熟的知識(shí)還有很多,所以我不能停步,對(duì)C語(yǔ)言,我以后會(huì)更加努力學(xué)習(xí)的。

      第四篇:C語(yǔ)言上機(jī)指導(dǎo)1

      C語(yǔ)言程序設(shè)計(jì)上機(jī)指導(dǎo)十八

      一、上機(jī)目的(1)、通過(guò)練習(xí)掌握指針的概念及應(yīng)用;

      (2)、通過(guò)練習(xí)了解指針作為函數(shù)參數(shù)的使用方法;

      (3)、復(fù)習(xí)一位數(shù)組、二維數(shù)組和字符串的概念及應(yīng)用;

      二、上機(jī)內(nèi)容及要求

      首先在D盤(pán)根目錄下新建一個(gè)文件夾,并用自己的10位學(xué)號(hào)姓名命名,將自己上機(jī)過(guò)程編寫(xiě)的C程序全部保存到該文件夾中。

      本次上機(jī)任務(wù)

      (1)在不改變?cè)嘏帕许樞虻幕A(chǔ)上,從10個(gè)數(shù)中找出其中的最大值和最小值。(形參和實(shí)參均使用指針變量,參考【例8-17】)文件名保存為T(mén)1

      (2)編寫(xiě)函數(shù)my_strcat(s1,s2),將s2所指字符串的內(nèi)容連接到s1所指字符串的后面,并自動(dòng)覆蓋s1串末尾的’