|
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)一步的了解。 |
|
|
來(lái)自: 印度阿三17 > 《開(kāi)發(fā)》