02dayC语言数据类型

一、数据类型

 二、输入输出语句

例:

scanf("%d",&a);
printf("%d",a);

 不同的数据类型有着其对应的格式化类型:

1、int  %d  接受整数值并将它表示为有符号的十进制整数

long  %ld是长整型

2%o       无符号8进制整数(不输出前缀0)

3、%u      无符号10进制整数

4、%x/X    无符号16进制整数 例:

printf("%x\n", i);   printf("%X\n", i);   printf("%#x\n", i);   printf("%#X\n", i);

 输出分别为   2f  2F  0x2f  0X2F

5、floatdouble      单精度浮点数(%f )和双精度浮点数(%lf)

6%.mf     输出实数时小数点后保留 m 位,注意 m 前面有个点。

7%e/E    科学计数法表示的数,此处"e"的大小写代表在输出时用的“e”的大小写

8、%c     字符型。可以把输入的数字按照ASCII码相应转换为对应的字符

例:

#include <stdio.h>
int main()
{
    char i='A';
    printf("%c",i);
    return 0;
}

 

     输出为字符 A

     如果输出控制符是‘%d’,则输出‘A’对应的ASCII码值

9、%s     字符串。输出字符串中的字符直至字符串中的空字符(字符串以'\0‘结尾,这个'\0'即空字符)

例:

#include <stdio.h>
int main()
{
    char i[]="ABC";
    printf("%s",i);
    return 0;
}

 

      输出为字符串 ABC

10、%p    16进制形式输出指针,输出变量地址

例:

#include <stdio.h>
int main()
{
    int i=5;
    printf("%d\n",i); //输出十进制整数 
    printf("%p",i);   //以16进制形式输出指针
    printf("%p",&i);  //输出变量内存地址 
    return 0;
}

 

11、%n    到此字符之前为止,一共输出的字符个数,不输出文本

12、%%   不进行转换,输出字符‘%’(百分号)本身

13、%m   打印errno值对应的出错内容,(例:printf("%m\n");

三、转义字符

转义字符
意义
ASCII码值(十进制)
\a
响铃(BEL)
007
\b
退格(BS) ,将当前位置移到前一列
008
\f
换页(FF),将当前位置移到下页开头
012
\n
换行(LF) ,将当前位置移到下一行开头
010
\r
回车(CR) ,将当前位置移到本行开头
013
\t
水平制表(HT) (跳到下一个TAB位置)
009
\v
垂直制表(VT)
011
\\
代表一个反斜线字符''\'
092
\'
代表一个单引号(撇号)字符
039
\"
代表一个双引号字符
034
\? 代表一个问号 063
\0
空字符(NUL)
000
\ooo
1到3位八进制数所代表的任意字符
三位八进制
\xhh
十六进制所代表的任意字符
十六进制

字符串里需要用 \\  来表示 \ ,第一个 \ 代表转义,第二个 \ 代表字符

例:

#include <stdio.h>

main()
{
    printf("hello world");
    printf("\n");
    printf("hello world");
    printf("\a"); //响铃
    printf("\b"); //退格
    printf("\n"); 
    printf("\f"); //翻页
    printf("\n");
    printf("hello world");
    printf("\r"); //回车 
    printf("\t"); //水平制表,跳到下一个TAB位置
    printf("hello world");
    system("\"C:\\Program Files\\Tencent\\QQ\\Bin\\QQScLauncher.exe\""); // ‘\\’和‘"""’表示不出来用\来转义 
    getchar();    //等待响应 
    return 0;
}

 

四、常量与变量

1、变量的命名规则

• 标识符:

程序中用于标识常量、变量、函数的字符序列组成

• 只能由字母、数字、下划线组成,第一个字母必须是字母 或下划线
• 大小写有区别
• 不能使用C语言的关键字
• 命名规则:
• 见名知意
• 不宜混淆
例:

变量使用之前一定要初始化,如果变量不初始化,就会默认读取垃圾数据, 有些垃圾数据

会导致程序崩溃。所以,变量使用之前,必须初始化。

2、定义常量

• 定义常量PI的两种方式:

 #define PI 3.14159;
  const float PI=3.14159; //const定义的常量不能修改,是只读数据

 例:

#include <stdio.h>
int main()
{
    #define NAME "朱健康"
    const int AGE=22;
    printf("我的名字: %s",NAME); 
    printf("\n"); 
    printf("我的年龄:%d",AGE); 
    return 0;
}
#include <stdio.h>

//自由落体运动 g=9.8
//输入时间,输出自由落体运动的距离 
int main()
{
    #define g 9.8
    float t,s;
    printf("自由落体时间:\n");
    scanf("%f",&t);
    s=1/2.0*g*t*t;
    printf("自由落体的距离: %f",s);
    return 0;
}

 

五、进制的计算

1、二进制、八进制转换

• 二进制转换成八进制:
从右向左,每3位一组(不足3位左补
0),转换成八进制
八进制转换成二进制:
用3位二进制数代替每一位八进制数

• 例 (1101001)2=(001,101,001)2=(151)8

• 例 (246)8=(010,100,110)2=(10100110)2

2、十进制、二进制转换

• 十进制整数转换为二进制:方法是除以2取余,逆序排列
• 二进制转换为十进制:
(1101)2 = 1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 8 + 4 + 0 + 1 = (13)10
十进制小数的转换为二进制:
              方法是乘以2取整,顺以(0.625)10为例
  1.  0.625 * 2 = 1.25 取整1
  2.      0.25 * 2 = 0.5 取整0
  3.          0.5 * 2 = 1 取整1
                   (0.625)10 = (0.101)2
                     (0.25)10 = (0.01)2

 3、位、字节、字

一个字节(Byte)由8位(b)构成,而一个字(Word)由32位(B)构成。
          位就是0、1   。 位的单位(bits)
 

 

 

 
posted @ 2019-07-17 21:39  是煎饼吧  阅读(235)  评论(0编辑  收藏  举报