本周,我們進行了第二次上機實驗,有了上一次的實驗鋪墊,這次實驗感覺還好,自己寫了個程序,輸出的字你們可能看不懂,想看懂的留言。以后但任要繼續努力,認真鞏固C語言編程能力。本次實驗如下。
Part1:格式化輸出函數printf()和格式化輸入函數scanf()。
這道編程是在已給的編程下操作,所以問題不大。
#include<stdio.h> int main() { int x=1234; float f=123.456; double m=123.456; char ch='a'; char a[]="Hello,world!"; int y=3,z=4; printf("%d%d\n",y,z); printf("y=%d,z=%d\n",y,z); printf("%8d,%2d\n",x,x); printf("%f,%8f,%8.1f,%0.2f,%.2e\n",f,f,f,f,f); printf("%lf\n",m); printf("%3c\n",ch); printf("%s\n%15s\n%10.5s\n%2.5s\n%.3s\n",a,a,a,a,a); 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; }
%d是整型輸出,表示把數按十進制整型輸出,數字5表示的是輸出寬度,即輸出的數值大於5位,按原數輸出,如果小於5位,在數的左邊補空格。
%ld長整型輸出,%o以八進制書形式輸出整數,%lf是double類型用於格式化輸入輸出時對應的格式符號。
%x以十六進制數形式輸出整數或輸出字符串,%u以十進制輸出unsigned型數據,%c用於輸出一個字符,%s用於輸出一個字符串。
%f用於輸出實數,以小數形式輸出,默認情況下保留小數點100位。%6.2f表示無論結果有多少位,輸出結果至少占六個制表符,即六個位置,不夠的用空格補滿,可以超過,且保留兩位小數。
%e以指數形式是輸出實數,%g根據大小自動選f格式或e格式,且不輸出無意義的零。
Part2:單個字符輸出函數putchar()和單個字符輸入函數getchar()
int main() { char ch; ch = 'A'; putchar(ch); putchar(ch+32); putchar('\x41'); putchar('\n'); return 0; }
#include <stdio.h> int main() { char ch; ch = getchar(); putchar(ch); printf("%c",ch); return 0; }
這一部分只要細心做,應該沒問題。
Part3:if語句體驗練習
1.單分支if語句
#include <stdio.h> int main() { int a,b; int t; printf("輸入兩個整數給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; }
2.兩分支if語句
#include <stdio.h> int main() { int n; printf("輸入一個整數給n:\n"); scanf("%d",&n); if(n%2==1) printf("n是奇數.\n"); else printf("n是偶數.\n"); return 0; }
3.多分支if語句
#include <stdio.h> int main() { int level; printf("輸入現在狀態等級(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("輸入現在開始報數(1-5):"); scanf("%d",&level); switch(level) { case 1: printf("1.one:)\n");break; case 2: printf("2.吐:(\n");break; default: printf("YES,SIR。。。\n"); } return 0; }
去除case1和case2里的break后運行
這一部分語句稍微改變一下還挺好玩的。
Part5:簡單編程小練習
#include <stdio.h> int main() { int choice; printf(" 輸入一個答案選項(A,B,C,D任意一個): "); scanf("%c",&choice); switch(choice) { case'A': printf("tuohurtalliding維語\n");break; default: printf("hatatalliding維語\n"); } return 0; }
Part6:拓展練習
#include <stdio.h> int main() { /*你好嗎?我是KendjiGirac,我是一個歌手,很高興認識你!*/ printf("yahximsiz?manKendjiGirac,mannahxiqi,siznikvrginimdibakhox "); return 0; }
實驗的總結與體會:
這次實驗感覺還好,我又熟悉了一些語句,自己改寫的挺好玩的。其實C語言這門課是可以學好的,重要的是看心態。我認為我還有很多下功夫的地方,所以,繼續努力。