03dayC语言

一、整型常量

• 十进制整数:

由数字0~9和正负号表示。 如123,-456,0

• 八进制整数:

由数字0开头,后跟数字0~7表示。 如0123,011

• 十六进制整数:

由0x或0X开头,后跟0~9,a~f,A~如0x123,0Xff

• 长整型常量:

789L、017L、0x12aL(用l或L引出)
 
#include 

int main()
{
    // 直接写的数值默认是十进制 
    printf("%d\n", 10); 
    // 八进制数值 
    printf("%d\n", 010);
    // 十六进制 
    printf("%d\n", 0xff); 
    
    //    sizeof()计算数据类型长度 
    printf("%d\n", sizeof(int)); 
    printf("%d %d\n", 10L, sizeof(10l)); 
    
    return 0;
} 

二、原码、反码和补码

原码:最高位为符号位,其余位为数值本身的绝对值

反码:正数的反码与原码相同

   负数符号位不变,其余位取反

补码:正数的补码与原码、反码相同

   负数最高位为1,其余位原码取反,再对整个位加1 。

 

三、整型变量

• 整型变量用于存放整型数据。根据数值的表示范围整型可以为整型(int)、短整型(short)、长整型(long)三种。
• 这三种整型都默认为有符号型(signed),有符号型即可以是正数、负数和0。也可以根据需要,将整型指定为无符号型(unsigned),此时整型变量只能存放非负数。
• 上面提到的short、long、signed、unsigned都是一些类型修饰符,用于补充说明变量的特性。
 
#include 
#include 

int main()
{
    short s = 10;
    int i = 100;
    long l = 1000; 
    // short占两个字节 16位
    // 0000 0000 0000 0000 
    // 0111 1111 1111 1111  32767
    // 1111 1111 1111 1111    -32767
    printf("short所占字节数:%d\n", sizeof(short));
    //  int 4个字节  32位 2的32次方 
    printf("int类型的最大值是:%d\n", INT_MAX);
    printf("int类型的最小值是:%d\n", INT_MIN); 
    
    printf("int所占字节数:%d\n", sizeof(int));
    printf("long所占字节数:%d\n", sizeof(long));
    
    return 0;
}

四、浮点型常量

• 十进制小数形式:

必须带小数点 • 如0.123, .123, 123.0, 0.0, 123 。

• 指数形式:

e或E之前必须有数字;指数必须为整数 • 如12.3e3, 123E2, 1.23e4, e-5 ,1.2E-3.5
12.3e3相当于12.3的10的3次方

• 实型常量的类型细分:

• 默认为double型,例如3.14就是double类型
• 后面加f或F认为是float型,例如3.14f就是float类型 浮点型常量

五、浮点型变量

浮点型分为单精度型(float)和双精度型(double)两种。
• float型数据占用4个字节(32bits)存储单元,提供的有效数字是6~7位。
• double型数据占用8个字节(64bits)存储单元,提供的有效数字是15~16位。
 
#include 

int main()
{
    printf("float所占字节数:%d\n", 
        sizeof(float));
    printf("double所占字节数:%d\n", 
        sizeof(double));
        
    printf("2.13所占字节数:%d\n", 
        sizeof(2.13));
    printf("1.23f所占字节数:%d\n", 
        sizeof(1.23f));
    printf("%f", 2.13); 
    printf("%f", 1.23f);
    
    return 0;
}
 
#include 

int main()
{
    char c='a';
    short s=10;
    int  i=100;
    long l=1000;
    float f=3.22;
    double d=6.77;
    printf("%d\n",sizeof(c+s)); //short 和 char进行运算时候,会默认转换为int类型 
    printf("%d\n",sizeof(s+i)); //short 和 char进行运算时候,会默认转换为int类型 
}

 

例:给出三角形的三边长,求三角形面积。

#include 
#include 

//给出三角形的三边长,求三角形面积。
/**
    计算三角形面积
    公式: s2 = p(p - a)(p - b)(p - c)
    p = (a + b + c) / 2 
*/
int main()
{
    double a,b,c;  
    double p,s;
    printf("输入三角形三条边长:"); 
    scanf("%lf %lf %lf",&a,&b,&c);  //double的格式化类型为%lf
    if(a+b>c && a+c>b && b+c>a)
    {
        p=(a+b+c)/2.0;
        s=sqrt(p*(p-a)*(p-b)*(p-c));
        printf("a=%lf\tb=%lf\tc=%lf\n",a,b,c);
        printf("三角形面积:%.2lf",s);    
    }
    else
    {
        printf("三边不能构成三角形");    
    }
    return 0;
}

 

六、字符型常量

• 定义:用单引号括起来的单个普通字符或转义字符。
• 字符常量的值:该字符的ASCII码值。
    putchar 可以输出字符。
#include 

int main()
{
    char a='1';
    char b=1;
    printf("%c\n",a); //输出字符 
    printf("%d\n",a); //输出ASCII码值 
    printf("%c\n",b); //输出b的ASCII码所对应的符号 
    printf("%d",b);   //输出整数 
    
//    putchar('A'); 
//    putchar('\n'); 
//    putchar('a'); 
    return 0;
}

 七、字符串常量

定义:双引号括起来的字符序列

如:“hello world”  “A”  “ ”

每个字符串结尾自动加上‘\0’作为字符串的结束标志

#include 

int main()
{
    printf("hello world\n"); 
    putchar('h');
    putchar('e');
    putchar('l');
    putchar('l');
    putchar('0');
    putchar('\n');
    printf("A"); 
    // 字符串后面默认加上/0 
    printf("空字符串所占字节数:%d\n", 
    sizeof("")); 
    // 2
    printf("A所占字节数:%d\n", 
    sizeof("A")); 
    // "A" = 'A' + '\0'
    // 1 
    printf("char类型所占字节数:%d\n", 
    sizeof(char));
    // 输出字符函数 
    putchar('A'); 
    putchar('\n'); 
    putchar(65); 
    
    return 0;
}

 

八、ASCII码值 

ASCII码表:https://baike.baidu.com/item/ASCII/309296?fromtitle=ascii码表&fromid=19660475&fr=aladdin

 

#include 

int main()
{
    char ch1,ch2;
    printf("输入一个大写字母:");
    scanf("%c",&ch1);
    ch2=ch1+32;
    printf("输出小写:%c",ch2);
    return 0;
}

 

 九、强制类型转换

(int)(x + y)

       (int)x + y

       (double)(3/2) (int)3.6

 • 说明:强制转换得到所需类型的中间变量,原变量类型、量值保持不变。

注意:较高类型向较低类型转换时可能出现精度损失。

#include  
main() 
{
    float x; 
    int i; 
    x=3.6; 
    i=(int)x;
    printf("x=%f,i=%d",x,i);
}

结果:x=3.600000,i=3

 

十、课后练习

#include  
/*
某公司为员工提供了基本工资、物价津贴及房租津贴。
其中物价津贴占基本工资的 40%, 房租津贴占基本工资的 20%。
编写一个程序计算实领工资,要求输入某员工的基本工资, 
计算应向该员工支付的实际工资。
*/ 
int main() 
{
    float a; //物价津贴 
    float b; //房租津贴 
    float c; //基础工资 
    float s; //实领工资 
    printf("请输入基础工资:");
    scanf("%f",&c);    
    a=0.4*c;
    b=0.2*c;
    s=a+b+c;
    printf("实领工资为 %f",s);
}

 输出结果

03dayC语言_第1张图片

 

#include 

/*
某城市的温度是以华氏度为单位记录的。
编写一个程序,将温度转换为摄氏度,并以华氏度 和摄氏度为单位显示温度。
摄氏度与华氏度的转换公式为:摄氏度 = 5 / 9.0 * (华氏度 - 32)。
*/
int main()
{
    double c,f;
    printf("请输入华氏温度");
    scanf("%lf",&f);
    c=(5/9.0)*(f-32);
    printf("摄氏温度为:%.3lf℃\t华氏温度为:%.3lf℉",c,f);
    return 0;
}

 输出结果

 

#include 

/*
编写一个程序,要求根据用户输入矩形的长和宽,计算矩形的面积和周长。
*/
int main()
{
    float i,j,c,s;
    printf("请输入矩形的长:");
    scanf("%f",&i); 
    printf("请输入矩形的宽:");
    scanf("%f",&j);
    c=2*(i+j);
    s=i*j;
    printf("矩形的周长:%f\n矩形的面积:%f",c,s);
    return 0;
}

  输出结果

03dayC语言_第2张图片

 

 

 

转载于:https://www.cnblogs.com/zhujiankang/p/11208196.html

你可能感兴趣的:(03dayC语言)