C初学者解惑

C关于输入输出总结

  • 中文字符以假乱真时,出现“0Xa”的标识符在报错编译中
  • 象形文字扰乱视听 (printf 中可用大写字符代替小写,提高程序可读性)
  • 注释使用时出现错误(/——/成对使用或用“//”)
  • 一行只能书写一条预编译语句
  • scanf 要“&”不要“\n” (scanf ("%dlf\n",&a); , 带“\n”时必须随意输入两次,第一次才能运行正确)
  • printf 语句中,“\n ”之前和之后的空格含义不同,前面无影响,后面空格则会影响下一 行输出语句 (printf ("%d\n ",a); 双引号之间的空格是输出信息的构成部份)
  • 输入语句中的“”只表示输入项在读入数据后不赋值给相应的变量,但是一组输入"%",只是修饰舍掉的位数,%1d和%d存储数据不同。最后一个%d 与“之间不能留有空格,与上述"\n"是同样的道理,scanf 语句输入格式中双引号之间空格很重要,需要重视,否则输出错误 (scanf("%2d%*3d%d%c",&a,&b,&c); 输入不同时输出结果也不同,例如 : 输入 123456789 ,a=12,b=6789,c= 应为换行符,无法显示
    输入 123 456 789,a=12,b=456,c= 空格
    输入 1 2 3456 789 ,a=1,b=3456,c= 空格
    输入1 23456 789,a=1,b=56,c= 空格
    (被舍弃的字符串是以空格区分的,如果数量不够,也只有舍弃到空格为止。如果 数量足够,则取舍到规定数量,将剩下的赋给变量。在运行到空格时,编译系统认为这个字符串已经结束)
  • 对于十进制数值,控制输入输出格式只能为小写字符,大写无效,对于字符而言,大小写均可,对于字符串也是能用%s,不能用%S,但是不同的编译环境也有区别,输入输出格式要和声明时一致,%g是输出实数的,对整数无效
    *字符数组和字符的用法区别,字符输入时可用scanf , 而字符串不可,可用gets函数
    char st [32];
    gets (st);
    printf ("%s",st);
    字符数组和字符的用法区别例子:
    # include <stdio.h>
    void main ()
    { char st[]=“when you go home ?”
    printf ("%s\n",st); //when you go home?
    printf (“st”); //when you go home ?
    printf ("\n");
    printf ("%c\n",st[5]); //y
    printf ("%s\n",&st[5]); //you go home ?
    printf ("&st[5]"); //you go home ?
    }
  • 字符数组和数值数组数组不同,字符串可用printf 直接输出,但数值数组只能一一输出
    # include <stdio.h>
    void main ()
    { int a[3];
    printf (" 请输入数组内容:");
    for (i=0;i<3;i++)
    scanf ("%d",&a[i]);
    printf ("");
    for (i=0;i<3;i++)
    printf ("%d",a[i]);
    printf ("\n");
    }

猜你喜欢

转载自blog.csdn.net/QLH04_04/article/details/82989227