c语言程序设计——实验报告三

c语言程序设计——实验报告二

  • 实验名称 3 简单顺序程序设计
  • 实验项目类型:验证性
  • 实验日期:2024 年 3 月 27 日

一、实验目的

1.学会准确使用C语言的数据输入与输出函数
2.能编写简单顺序结构程序

二、实验硬、软件环境

Windows计算机、Dev c 6.0

三、实验内容及步骤

实验内容:

编写程序:
(1)输入三个小写字母,输出其ASCII码和对应的大写字母。
(2)已知华氏温度f,摄氏温度c=5/9*(f-32),绝对温度k=273.16+c,当f=100时,分别求其对应的摄氏温度和绝对温度,输出值保留小数点后两位。
(3)利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。
(4)从键盘输入两个整数,将其值进行交换。

实验步骤:

项目一:输入三个小写字母,输出其ASCII码和对应的大写字母。

解题思路

  • 首先声明三个字符型变量abc
  • 根据小写字母的ascii码值和大写字母的ASCII码值对应相差32个值的原理,可以将存储小写字母的变量减去32在赋给对应的变量,从而将小写字符转化为大写字母
    核心代码
#include <stdio.h>
#include <stdlib.h>

int main() {
    char a, b, c;
    printf("请输入三个小写字母:\n");
    scanf("%c %c %c",&a,&b,&c);
    printf("%c 对应的 ASCII 码为:%3d 大写形式为:%c\n\
%c 对应的 ASCII 码为:%3d 大写形式为:%c\n\
%c 对应的 ASCII 码为:%3d 大写形式为:%c\n",a,a,a-=32,b,b,b-=32,c,c,c-=32); 

    printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n\n"); 
    printf("23080905040502 王永成\n\n");
    printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"); 
    return 0;
}

实验截图
image

项目二:已知华氏温度f,摄氏温度c=5/9*(f-32),绝对温度k=273.16+c,当f=100时,分别求其对应的摄氏温度和绝对温度,输出值保留小数点后两位。

解题思路

  • 首先初始化一个整形变量f值为100,再声明两个浮点型变量ck用来存储对应的摄氏温度绝对温度
  • 根据题意编写表达式,这里注意在计算摄氏温度的时候,表达式中有5/9为整数的除计算,C语言中的除运算并不会保留整数,这里要强制转换(float),增加精度。
  • 计算对应的摄氏温度绝对温度
  • 使用格式化输出函数输出即可

核心代码

#include <stdio.h>
#include <stdlib.h>

int main() {
    const int f = 100;
    float c = 0, k = 0;         //摄氏温度 绝对温度 
    printf("已知华氏温度:100\n");
    c = (float)5/9*( f - 32);
    k = 273.16 + c;
    printf("其对应的摄氏温度为:%.2f 绝对温度为:%.2f\n\n",c,k);
    
    printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n\n"); 
    printf("23080905040502 王永成\n\n");
    printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"); 
    
    return 0;
}

实验截图
image

项目三:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。

解题思路

  • 首先声明一个整形变量num用来存储成绩
  • 使用条件运算符(条件)?TURE 语句:FALSE 语句; 嵌套的方式实现分等级输出。
  • 这里嵌套是把对应的 子条件运算符 放到主条件运算符的 TURE 语句 或者 FALSE 语句,这里是把子条件运算符放到了主条件运算符的 FALSE 语句中
    核心代码
#include <stdio.h>
#include <stdlib.h>


int main() {
    int num  = 0;
    printf("请输入成绩:\n");
    scanf("%d",&num);
	num >= 90 ? printf("等级 A\n") : num >= 60 ? printf("等级 B\n") : printf("等级 C\n");

    printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$\n\n"); 
    printf("23080905040502 王永成\n\n");
    printf("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");  
    return 0;
}

实验截图
image

项目四:从键盘输入两个整数,将其值进行交换。

解题思路

  • 首先声明两个变量ab 用来存储从键盘输入的两个值
  • 这是使用了加减赋值的方式进行交换变量中的值,除了加减赋值的方式交换变量中的值还可以在声明一个swap变量用来作为交换变量的中间变量,也可以完成变量中的值交换

核心代码

#include <stdio.h>
#include <stdlib.h>

int main() {
    int a,b;
    
    printf("请输入两个值:\n");
    scanf("%d %d",&a,&b);
    a += b;b = a - b;a = a - b;
    printf("交换后两者的值为:%d 和 %d",a,b); 
    return 0;
}

实验截图

image

四、实验结果及分析

条件运算符(?: 运算符):

Exp1 ? Exp2 : Exp3;
  • ? : 表达式的值取决于 Exp1 的计算结果。如果 Exp1 为真,则计算 Exp2 的值,且 Exp2 的计算结果则为整个 ? : 表达式的值。如果 Exp1 为假,则计算 Exp3 的值,且 Exp3 的计算结果则为整个 ? : 表达式的值。
  • ?:表达式 被称为三元运算符,因为它需要三个操作数
    可以用来代替如下所示的 if-else 语句:
if(condition){
   var = X;
}else{
   var = Y;
}
posted @ 2024-03-28 09:26  juuroppa  阅读(420)  评论(0)    收藏  举报