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);

}
*/

posted @ 2021-12-01 14:40  雅丽梅  阅读(106)  评论(0)    收藏  举报