日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

實驗二總結(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!"; // 定義一個數(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語言常用輸出格式符:在這個程序中,我們會發(fā)現(xiàn)第四行輸出的最后三位數(shù)是“001”而不是“000”,這是由于計算機精度問題造成的;然后就是代碼打的是輸出“-",結(jié)果輸出的是”1234”而不是“12”,這是計算機的默認規(guī)則,即實際數(shù)位超過設(shè)定數(shù)位按照實際數(shù)位輸出;還有就是在輸入double型數(shù)據(jù)時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;
} 

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

Part 2:

①getchar()

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

②putchar()

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

Part3:if語句

#include <stdio.h>
int main() {
    int a,b;
    int t;   // 用于交換a和b時,作為中間變量 
    printf("輸入兩個整數(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("輸入一個整數(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)等級(1-5):  ");
    scanf("%d",&level);
    if(level == 1) 
        printf("high翻了:)\n");
    else if(level == 2) 
        printf("low爆了:(\n");
    else
        printf("一言難盡,無法概括。。。\n");
    return 0;
} 

Part4: switch語句體驗練習

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

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

這說明switch語句遇到break則跳出,否則一直執(zhí)行,所以我們在使用switch語句時,應(yīng)該注意不要漏掉case語句后面的break。

Part 5

方法一:if語句:

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

方法二:switch語句:

#include<stdio.h>
int main(){
    int answer;
    printf("請輸入你的答案(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é):在這次實驗中,我初步了解了if語句和switch語句的用法,對于精度要求、字符寬度等細節(jié)也有了進一步的了解。

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多