01. C Pro的一些基礎小隨筆
/* 結構化程式設計的基本結構:順序、選擇、迴圈
int main(){
int num=100;
float f = 3.13145;
//printf 格式化輸出
printf("num= %-d\n",num); //num= 100 左對齊
printf("num= %+d\n",num); //num= +100 增加 "+" 修飾符
printf("num= %0d\n",num); //num= 100 0填充在前
printf("num= %08d\n",num); //num= 00000100 0填充在前,至8位
printf("f = %.3f\n",f); //f = 3.131 保留三位小數,四捨五入
//判斷輸入是數字還是字元,如果是字元,輸出其大寫形式
char ch;
scanf("%c",&ch);
if(ch>='0' && ch<='9') {printf("%c is num\n",ch);}
else{
ch=(ch>='A' && ch<='Z'?ch:(ch-32));
printf("%c is char\n",ch);
}
switch(ch){
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
printf("%c is num\n",ch);
break; //如果不加 break ,下面的語句會繼續執行
default: //default 不是必須的
printf("%c is char\n",ch);
}
}
*/
/* 6.for 迴圈走完,i 還是會執行 i++ 一次!
int main(){
int i;
for(i=0;i<=10;i++){}
printf("%d\n",i);
}
*/
/* 5.全排列
int a[100];
int N;
void dfs(int s){
int i;
if(s==N){
for(i=0;i<N;i++){
printf("%d ",a[i]);
}
return;
}
for(a[s]=0;a[s]<=1;a[s]++)
dfs(s+1);
return;
}
int main(){
N=4;
dfs(0);
}
*/
/* 4.算數運算子
int main() {
int i=7,j=5;
printf("%d\n", -i++); // -7
printf("%d\n",i); // i==8
printf("%d\n", -i--); // -8
printf("%d\n", i); // i==7
int y = i++ + --j;
printf("%d %d %d", y, i, j);
int a, b, c;
a = b = c = 10;
printf("%d %d %d", a, b, c);
}
// 3.將字元型資料轉換為浮點型資料,注意獲取字串列表的方式 scanf("%s", &str)
int main() {
char str[100];
double num=0, t=10;
int i=0;
scanf("%s", &str);
while (str[i] != '\0') {
if (str[i] >= '0' && str[i] <= '9') {
if (t == 10) {
num = num * t + str[i] - 48;
}
else {
num += (str[i] - 48) * t;
t = 0.1 * t;
}
}
if (str[i] == '.') { t = 0.1; }
i++;
}
if (str[0] == '-')
{
num = 0 - num;
}
printf("%.5f", num);
}
int main(void) {
char str[10];
int i=0,j=0;
char c1 = 'o', c2 = 'y';
char q=' ';
putchar('\102');putchar(c1);putchar(c2);
while (q != 'q') {
q = getchar();
//putchar(q);
str[i] = q;
i++;
}
for (j = 0; j < 10; j++) printf("%c", str[j]);
}
/* 2.測試全域性變數的作用域,及特殊字元
void pf() {
int mm = 10;
printf("mm = %d\n", mm);
}
# define mm 100
int main() {
printf("mm = %d\n", mm);
pf();
printf("ab c\t de\rf\tg\n");
printf("h\ti\b\bj k");
}
*/
/* 1.char 和 int 可以實現自動轉換
int main() {
char x;
printf("Enter your char:");
scanf("%c", &x);
printf("%d", int(x));
if (x >= 'A' && x <= 'Z') {
x = x + 32;
}
printf("\n%c", x);
}
*/