电竞比分网-中国电竞赛事及体育赛事平台

分享

實(shí)驗(yàn)二總結(jié)

 印度阿三17 2019-03-27

Part1: 格式化輸出函數(shù)printf()和格式化輸入函數(shù)scanf()

#include <stdio.h>
int main() {
    int x=1234;
    float f=123.456;
    double m=123.456;
    char ch='a';
    char a[]="Hello, world!"; // 定義一個(gè)數(shù)組a,數(shù)組中連續(xù)存放了字符串常量hello,world!
    int y=3, z=4; 
    printf("%d %d\n", y, z);
    printf("y=%d, z=%d\n", y,z);
    printf("?,-\n", x,x);
    printf("%f, ?, %8.1f, %0.2f, %.2e\n",f,f,f,f,f);
    printf("%lf\n",m);
    printf("<\n", ch);="" printf("%s\ns\n.5s\n%2.5s\n%.3s\n",a,a,a,a,a);="" return="" 0;="">

此部分主要考察C語(yǔ)言常用輸出格式符:在這個(gè)程序中,我們會(huì)發(fā)現(xiàn)第四行輸出的最后三位數(shù)是“001”而不是“000”,這是由于計(jì)算機(jī)精度問(wèn)題造成的;然后就是代碼打的是輸出“-",結(jié)果輸出的是”1234”而不是“12”,這是計(jì)算機(jī)的默認(rèn)規(guī)則,即實(shí)際數(shù)位超過(guò)設(shè)定數(shù)位按照實(shí)際數(shù)位輸出;還有就是在輸入double型數(shù)據(jù)時(shí)scanf()要用%lf。

更改前:

#include <stdio.h>
int main() {
    double x,y;
    char c1,c2,c3;
    int a1,a2,a3;
    scanf("%d%d%d",a1,a2,a3);
    printf("%d,%d,%d\n",a1,a2,a3);
    scanf("%c%c%c",&c1,&c2,&c3);
    printf("%c%c%c\n",c1,c2,c3);
    scanf("%f,%lf",&x,&y);
    printf("%f,%lf\n",x,y);
    return 0;
} 

更改后:

#include <stdio.h>
int main() {
    double x,y;
    char c1,c2,c3;
    int a1,a2,a3;
    scanf("%d%d%d",&a1,&a2,&a3);
    printf("%d,%d,%d\n",a1,a2,a3);
    scanf("%c%c%c",&c1,&c2,&c3);
    printf("%c%c%c\n",c1,c2,c3);
    scanf("%lf,%lf",&x,&y);
    printf("%lf,%lf\n",x,y);
    return 0;
} 

此代碼缺少了取地址運(yùn)算符"&";雙精度變量x對(duì)應(yīng)長(zhǎng)雙精度格式%lf。

Part 2:

①getchar()

#include <stdio.h>
int main() {
    char ch;
    ch = getchar();        // 用戶(hù)從鍵盤(pán)輸入字符,如果輸入成功,輸入的字符被賦值給ch 
    putchar(ch);        // 使用putchar()輸出字符變量ch中存放的字符 
    printf("%c",ch);     // 使用printf()和格式符%c輸出單個(gè)字符 
    return 0;
}

②putchar()

#include <stdio.h>
int main() {
    char ch;
    ch = 'A';
    putchar(ch);          // 參數(shù)ch是字符型變量 
    putchar(ch 32);      // 參數(shù)ch 32是字符型表達(dá)式 
    putchar('\x41');     // 參數(shù)是字符型常量,是用十六進(jìn)制表示的轉(zhuǎn)義字符 
    putchar('\n');       // 參數(shù)\n是字符型常量,是轉(zhuǎn)義字符,表示換行 
    return 0;
}

Part3:if語(yǔ)句

#include <stdio.h>
int main() {
    int a,b;
    int t;   // 用于交換a和b時(shí),作為中間變量 
    printf("輸入兩個(gè)整數(shù)給a和b:\n");
    scanf("%d%d",&a,&b);
    if(a>b) {
        t = a; 
        a = b;
        b = t; 
    }
    printf("a=%d, b=%d\n",a,b);
    return 0;
} 
#include <stdio.h>
int main() {
    printf("輸入一個(gè)整數(shù)給n:\n");
    scanf("%d",&n);
    if(n%2)
        printf("n是奇數(shù).\n");
    else
        printf("n是偶數(shù).\n");
    return 0;
} 
#include <stdio.h>
int main() {
    int level;
    printf("輸入現(xiàn)在狀態(tài)等級(jí)(1-5):  ");
    scanf("%d",&level);
    if(level == 1) 
        printf("high翻了:)\n");
    else if(level == 2) 
        printf("low爆了:(\n");
    else
        printf("一言難盡,無(wú)法概括。。。\n");
    return 0;
} 

Part4: switch語(yǔ)句體驗(yàn)練習(xí)

#include <stdio.h>
int main() {
    int level;
    printf("輸入現(xiàn)在狀態(tài)等級(jí)(1-5):  ");
    scanf("%d",&level);
    switch(level) {
        case 1: printf("high翻了:)\n"); break;
        case 2: printf("low爆了:(\n"); break;
        default: printf("一言難盡,無(wú)法概括。。。\n");
    }
    return 0;
} 

若把case語(yǔ)句后面的break刪除,這出現(xiàn)下圖所示結(jié)果:

這說(shuō)明switch語(yǔ)句遇到break則跳出,否則一直執(zhí)行,所以我們?cè)谑褂胹witch語(yǔ)句時(shí),應(yīng)該注意不要漏掉case語(yǔ)句后面的break。

Part 5

方法一:if語(yǔ)句:

#include<stdio.h>
int main(){
    int x;
    printf("請(qǐng)輸入你的答案(A,B,C or D):");
    scanf("%c",&x);
    if(x=='A')
    printf("Binggo, you are right~");
    else
    printf("try again~");
    return 0;
}

方法二:switch語(yǔ)句:

#include<stdio.h>
int main(){
    int answer;
    printf("請(qǐng)輸入你的答案(A,B,C or D):");
    scanf("%c",&answer);
    switch(answer){
        case'A':printf("Binggo, you are right~");break;
        default:printf("try again~");break;
    }
    return 0;
}

總結(jié):在這次實(shí)驗(yàn)中,我初步了解了if語(yǔ)句和switch語(yǔ)句的用法,對(duì)于精度要求、字符寬度等細(xì)節(jié)也有了進(jìn)一步的了解。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多