《明解C语言》示例代码和练习代码[第2章]

本文详细介绍了《明解C语言》第2章的内容,涵盖从基本运算到数据类型的多个示例代码,包括示例代码2-1至2-12,并提供了相应的练习代码e2-1至e2-6,帮助读者深入理解C语言的运算和数据类型。

第2章 运算和数据类型


示例代码:


示例代码 2-1
/*
    读取两个整数的值,然后显示出它们的和、差、积、商和余数 
*/

#include <stdio.h>

int main(void)
{
    int vx, vy;
    puts("请输入两个整数。");
    printf("整数vx:");    scanf("%d", &vx);    
    printf("整数vy:");    scanf("%d", &vy);
    
    printf("vx + vy = %d\n", vx + vy);
    printf("vx - vy = %d\n", vx - vy);
    printf("vx * vy = %d\n", vx * vy);
    printf("vx / vy = %d\n", vx / vy);
    printf("vx %% vy = %d\n", vx % vy);
    
    return (0);
}

示例代码 2-2
/*
    显示读取出的整数的最后一位数字 
*/

int main(void)
{
    int no;
    
    printf("请输入一个整数:");
    scanf("%d", &no);    
    
    printf("最后一位是%d。\n", no % 10);
    
    return (0);
}

示例代码 2-3
/*
    读取两个整数,显示它们的商和余数 
*/

#include <stdio.h>

int main(void)
{
    int na, nb;
    puts("请输入两个整数。");
    printf("整数A:");    scanf("%d", &na);  
    printf("整数B:");    scanf("%d", &nb);
    
    printf("A除以B得%d余%d。\n", na / nb, na % nb); 
    
    return (0);
}

示例代码 2-4
/*
    对读取的整数值进行符号取反操作,并输出结果 
*/

#include <stdio.h>

int main(void)
{
    int num;
    
    printf("请输入一个整数:");
    scanf("%d", &num);
    
    printf("符号取反之后的值是%d。\n", -num);   // 单目运算符
    
    return (0);    
}

示例代码 2-5
/*
    读取两个整数,显示出它们的平均值 
*/

 int main(void)
 {
     int na, nb;
     
     puts("请输入两个整数。");
     printf("整数A:");    scanf("%d", &na);   
     printf("整数B:");    scanf("%d", &nb);
     
     printf("它们的平均值是%d。\n", (na + nb) / 2);
     
     return(0);
 } 

示例代码 2-6
/*
    整数和浮点数 
*/

#include <stdio.h>

int main(void)
{
    int nx;                 // 整数
    double dx;              // 浮点数
    
    nx = 9.99;
    dx = 9.99;
    
    printf("int   型变量nx的值:%d\n", nx);                 // 9
    printf("            nx / 2:%d\n", nx / 2);             // 9 / 2
    
    printf("double型变量dx的值:%f\n", dx);                 // 9.99
    printf("            dx / 2.0:%f\n", dx / 2.0);         // 9.99 / 2.0
    
    return (0);    
}

示例代码 2-7
/*
    读取两个实数值,用实数表示出它们的和、差、积、商 
*/

#include <stdio.h>

int main(void)
{
    double vx, vy;              // 浮点数
    
    puts("请输入两个数。");
    printf("实数A:");    scanf("%lf", &vx);   
    printf("实数B:");    scanf("%lf", &vy);
    
    printf("vx + vy = %f\n", vx + vy); 
    printf("vx - vy = %f\n", vx - vy);
    printf("vx * vy = %f\n", vx * vy);
    printf("vx / vy = %f\n", vx / vy);
    
    return (0);    
}

示例代码 2-8
/*
    验证数据类型和运算 
*/

#include <stdio.h>

int main(void)
{
    int     n1, n2, n3, n4;                 // 整数 
    double  d1, d2, d3, d4;                 // 浮点数 
    
    n1 = 5 / 2;                 
    n2 = 5.0 / 2.0;
    n3 = 5.0 / 2;
    n4 = 5 / 2.0;
    
    d1 = 5 / 2;
    d2 = 5.0 / 2.0;
    d3 = 5.0 / 2;
    d4 = 5 / 2.0;
    
    printf("n1 =  %d\n", n1);
    printf("n2 =  %d\n", n2);
    printf("n3 =  %d\n", n3);
    printf("n4 =  %d\n\n", n4);
    
    printf("d1 =  %f\n", d1);
    printf("d2 =  %f\n", d2);
    printf("d3 =  %f\n", d3);
    printf("d4 =  %f\n\n", d4);
    
    return (0);
}

示例代码 2-9
/*
    读取两个整数并用浮点数显示出它们的平均值 
*/

 int main(void)
 {
     int na, nb;
     
     puts("请输入两个整数。");
     printf("整数A:");    scanf("%d", &na);   
     printf("整数B:");    scanf("%d", &nb);
     
     printf("它们的平均值是%f。\n", (na + nb) / 2.0);
     
     return(0);
 } 

示例代码 2-10
/*
    读取两个整数并用实数显示出它们的平均值(类型转换) 
*/

 int main(void)
 {
     int na, nb;
     
     puts("请输入两个整数。");
     printf("整数A:");    scanf("%d", &na);   
     printf("整数B:");    scanf("%d", &nb);
     
     printf("它们的平均值是%f。\n", (double)(na + nb) / 2);         // 类型转换 
     
     return(0);
 } 

示例代码 2-11
/*
    读取三个整数,并显示出它们的合计值和平均值 
*/

 int main(void)
 {
     int na, nb, nc;
     int sum;                           // 合计值 
     double ave;                        // 平均值 
     
     puts("请输入三个整数。");
     printf("整数A:");    scanf("%d", &na);   
     printf("整数B:");    scanf("%d", &nb);
     printf("整数C:");    scanf("%d", &nc);
     
     sum = na + nb + nc;
     ave = (double)sum / 3;             // 类型转换 
     
     printf("它们的合计值是%5d。\n", sum);          // 99999
     printf("它们的平均值是%5.1f。\n", ave);        // 999.9
     
     return(0);
 } 

示例代码 2-12
/*
    格式化整数和浮点数并显示 
*/

 int main(void)
 {
     printf("[%d]\n",          123);
     printf("[%.4d]\n",        123);
     printf("[%4d]\n",         123);
     printf("[%04d]\n",        123); 
     printf("[%-4d]\n\n",      123);
     
     printf("[%d]\n",          12345);
     printf("[%.3d]\n",        12345);
     printf("[%3d]\n",         12345);
     printf("[%03d]\n",        12345); 
     printf("[%-3d]\n\n",      12345);
     
     printf("[%f]\n",          123.13);
     printf("[%.1f]\n",        123.13);
     printf("[%6.1f]\n\n",     123.13);
     
     printf("[%f]\n",          123.13); 
     printf("[%.1f]\n",        123.13);
     printf("[%4.1f]\n\n",     123.13);
     
     return(0);
 } 


练习代码 :


练习代码 e2-1
/*
    读取两个整数,显示前者是后者的百分之几 
*/

int main(void)
{
    int n1, n2;
    puts("请输入两个整数。"); 
    printf("整数A:");    scanf("%d", &n1); 
    printf("整数B:");    scanf("%d", &n2);
    
    printf("A的值是B的%d%%。\n", n1 *100 / n2);
    
    return (0);  
}

练习代码 e2-2
/*
    读取两个整数,输出它们的和以及积 
*/

#include <stdio.h>

int main(void)
{
    int na, nb;
    puts("请输入两个数。");
    printf("整数A:");    scanf("%d", &na);    
    printf("整数B:");    scanf("%d", &nb);
    
    printf("它们的和是%d,积是%d。\n", na + nb, na * nb);
    
    return (0);
}

练习代码 e2-3
/*
    读取并显示一个实数的值 
*/

#include <stdio.h>

int main(void)
{
    double no;
    
    printf("请输入一个实数:");
    scanf("%lf", &no);
    
    printf("你输入的是%f。\n", no);
    
    return (0);    
}

练习代码 e2-4
/*
    对整型常量、浮点型常量、int型变量和double型变量进行乘除等各种运算 
*/

int main(void)
{
    int a, b;
    double x, y;
    
    a = 2;
    b = 3;
    x = 0.2;
    y = 0.3;
    
    printf("a + b = %d\n", a + b);  
    printf("a + x = %f\n", a + x);
    printf("x + y = %f\n", x + y);
   
    return (0);
}

练习代码 e2-5
/*
    读取两个整数的值,计算出前者是后者的百分之几,实数输出结果 
*/

int main(void)
{
    int a, b;
    
    puts("请输入两个整数。");
    printf("整数A:");    scanf("%d", &a);
    printf("整数B:");    scanf("%d", &b);
    
    printf("A是B的%f%%。\n", (double)a / b * 100);

    return (0);    
}

练习代码 e2-6
/*
    输入身高的整数值,显示出标准体重的实数值。
*/

int main(void)
{
    int height;
    double weight;
    
    printf("请输入您的身高:");    scanf("%d", &height);
    printf("您的标准体重是%.1f公斤。\n", (height - 100) * 0.9);
    
    return (0);    
}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值