第二次上機做業

實驗結論(若是是來學知識的不要看個人!!!我什麼都不知道!!!)程序員

part1函數

printf()函數是一個標準庫函數,它把信息輸出到標準輸出設備的顯示器上。格式parintf("控制字符串「,輸出項列表)spa


 


 

控制字符的格式爲%[<修飾符>]<格式字符>3d

格式字符規定了輸出項的輸出格式code

c表示輸出單個字符,%c用來輸出一個字符。 例如char a=65;printf("%c",a);  結果:A視頻

s表示輸出字符串,%s用來輸出一個字符串。 例如printf("%s","ABC"); 結果:"ABC"  雙引號是必須加的!blog

f表示以小數形式輸出單雙精度實數 %f表示以小數的形式輸出一個實數,通常狀況下保留小數點後6位。遊戲

e表示以指數形式輸出單雙精度實數 ,%e表示以指數形式輸出實數。字符串


 

修飾符是可選的,用於肯定數據輸出的寬度、精度、小數位數、對齊方式等,若是沒有修飾符的話,小數按6位小數輸出。it

修飾符m表示輸出數據域寬度,若是數據長度<m,則左邊補空格;若是數據長度>m,則按實際輸出  例如int x=13 printf("%5d",x),則會顯示出」00013「,若是x=1234567,則會輸出」1234567修飾符.n表示對實數,指定小數點後位數(四捨五入);對字符串,指定實際輸出位數,用起來就是這樣的

 

修飾符l表示,在d、o、x、u前,指定輸出精度爲long型,在e、f、g前指定輸出精度爲double型。

%f和%lf分別是float類型和double類型用於格式化化輸入輸出是對應的格式符號。float表示單精度浮點型,對應%f。對應4字節,6-7位有效數字。double表示雙精度浮點型,88字節,15-16位有效數字。用%f表示float 和double都行,可是精確度不同。%0.3是小數點後保留3位有效數字。在被定義爲double類型的輸出時必須用%lf。


 

part4

switch代碼

#include<stdio.h>
int main(){
    int level;
    printf("請輸入如今等級: ");
    scanf("%d",&level);
    switch(level){
        case 1: printf("high翻了:)\n"); break;
        case 2: printf("low爆了:(\n"); break;
        default: printf("一言難盡。。。\n");
    }
    return 0;
} 

輸入1的結果

輸入2的結果

輸入3的結果

把break後去掉後的代碼

#include<stdio.h>
int main(){
    int level;
    printf("請輸入如今等級: ");
    scanf("%d",&level);
    switch(level){
        case 1: printf("high翻了:)\n");
        case 2: printf("low爆了:(\n");
        default: printf("一言難盡。。。\n");
    }
    return 0;
}

輸入任意值後結果

part5:簡單程序小練習

#include<stdio.h>
int main(){
    char ch;
    printf("輸入選項A~D:\n");
    scanf("%c",&ch);
    
    if(ch==65)
     printf("right\n");
    else
     printf("try again\n");
    return 0;
}

輸入A後的結果

輸入D後的結果

我在課上一直想用A來表示,可是老是不成功,我才使用字符的,下課後我仔細回憶纔想起來,個人A忘加''了

下面是我修改了之後的程序,結果和上面的同樣

#include<stdio.h>
int main(){
    char ch;
    printf("輸入選項A~D:\n");
    scanf("%c",&ch);
    
    if(ch=='A')
     printf("right\n");
    else
     printf("try again\n");
    return 0;
}

part 6

問題描述   有5我的坐在一塊兒,問第5我的多少歲,他說比第4我的大兩歲。問第4我的多少歲,他說比第3我的大2歲。問第三我的多少歲,他說比第2我的打2歲。問第2我的多少歲,他說比第1我的打2歲問第一我的,他說他10歲。編寫程序,當輸入第幾我的時求出其對應年齡。

#include<stdio.h>
int age(int n)
{
    int x;
    if(n==1)
       x=10;
    else
    x=age(n-1)+2;
    return x;
}
int main()
{
    int n;
    printf("請輸入第幾我的: \n");
    scanf("%d",&n);
    printf("第%d我的的年齡爲%d\n",n,age(n));
    return 0;
}

結果:


實驗的總結與體會

我認爲這一次個人上機課比上一次準備的充分,一方面是我通過上次的經歷後作了不少準備,把書翻熟了,遇到困難後第一時間想到的就是翻書查找,以爲本身收穫了許多,另外一方面是老師已經把本身的過程發上來了,我實在不會的狀況下會對照老師的尋找本身的錯因,不會像上次同樣無頭蒼蠅似的亂找,不一下子就放棄了。

我遇到的問題有不少,其中找printf scanf錯誤那裏我作的特別費勁,總是記不清要不要加&或者%lf仍是%f什麼的,此次我把他們總結了一遍,但願下次本身會熟練不少。

if語句我用的還行,可大多都是依託着老師的答案,沒有答案看着我可能腦子就不會那麼清楚了。

switch語句我終於會啦,又是在網上查又是看視頻,終於明白了!!

最後我聽老師上課說的能夠在作c語言的小遊戲時經過娛樂收穫知識,我也嘗試了一下,能夠邏輯太深奧,好幾百行,程序員太辛苦了,怪不得沒有頭髮呢嗚嗚嗚嗚嗚,我就找了個簡單的作來玩玩。

相關文章
相關標籤/搜索