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

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

  • 实验项目名称: 实验报告 2 数据描述
  • 实验项目类型:验证性
  • 实验日期:2024 年 3 月 21 日

一、实验目的

1、掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。
2、掌握不同数据类型之间赋值的规律。
3、学会使用C的有关算术运算符,以及包含这些运算符的表达式。
4、进一步熟悉C程序的编辑、编译、连接和运行的过程。

二、实验硬、软件环境

Windows计算机、Dev c 6.0

实验内容:

编写程序:

(1)将“China”译成密码,密码规律是:用原来的字母后面第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”,因此,“China”应译为“Glmre”。请编一段程序,用赋初值的方法使c1、c2、c3、c4、c5这5个变量的值分别为’C’,'h', 'i','n', 'a',经过计算,使c1、c2、c3、c4、c5分别变为:'G','l','m',r','e',并输出。
(2)使用常量分别定义商品价格为29.84、折扣为0.75,求数量为n(由键盘输入,数量范围399-899,程序中加注释说明)的商品总价s1,折扣后总价s2,总价均保留小数点后两位。
(3)已知a=2,b=3,c=4, x=(a+b<c)&&a!=b、y=(a+b<c)||a!=b、z=a+b,n=a/b,b+c、m=(a+b,a/b,c%b),输出x,y,z,n,m的值,并用逗号隔开。
(4)已知变量a、b、c,a=(b=4)+(c=6)、a+=a-=a*a,分别计算两个表达式中a的值并输出。

实验要求:

(1)项目以“学号后两位+姓名+项目编号”命名,如:“01张三-项目1”
(2)每个项目先写解题思路,再写核心代码,然后是输出结果截图;
(3)每个程序中最后一个输出语句要包含学号和姓名。

实验步骤:

项目一

解题思路

  • 首先声明五个变量,并给各个变量初始化,值为:“China” 的五个字符

  • 根据字符的ascii码的原理,可以让存储字符的五个变量都加4,从而使变量中的字符为原字符对应ascii表后第四个字符

  • 用表达式作为参数,从而减少代码行数
    核心代码

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

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    char c1 = 'C',c2 = 'h',c3 = 'i',c4 = 'n',c5 = 'a';
    printf("初始字符为:%c%c%c%c%c\n",c1,c2,c3,c4,c5);
    printf("加密后的字符为:%c%c%c%c%c\n\n",c1+=4,c2+=4,c3+=4,c4+=4,c5+=4);
    printf("==============================================================\n\n");
    printf("23080905040502 王永成\n\n");
    printf("==============================================================");    
    return 0;
}

实验截图
image

项目二

解题思路

  • 首先使用预处理函数声明两个表示符,分别代表商品的价格、折扣,然后声明整形变量n和浮点类型变量s1 s2,分别存储商品的数量、折扣前的总价格和折扣后的总价格。
  • 再利用格式化输入函数scanf(),获取商品的数量n
  • 编写表达式计算折扣前的总价格s1和折扣后的总价格s2
  • 使用格式化输出函数printf()输出即可,题中要去结果保留后两位,可在类型说明符中字符前加上.2表示保留两位小数
  • 格式化字符串

核心代码

#include <stdio.h>
#include <stdlib.h>
#define pirce 29.84
#define discount 0.75

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    int n = 0;
    float s1 = 0.0 ,s2 = 0.0;
    printf("请输入一个整数(范围为:399-899):");
    scanf("%d",&n);
    s1 = n * pirce ;s2 = n * pirce * discount;
    printf("商品的总价为%.2f\n商品打折后的总价为:%.2f\n",s1,s2);
    printf("==============================================================\n\n");
    printf("23080905040502 王永成\n\n");
    printf("==============================================================");
    return 0;

实验截图
image

项目三

解题思路

  • 首先声明存储值的整形变量abc 还有 整形变量nm,考虑到题目中有逻辑运算声明布尔类型变量xyz
  • 根据题目编写表达式,题目中的表达式以顿号分隔
  • 最后使用格式化输出函数printf输出题中要求输出的函数即可
    核心代码
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    int a = 2,b = 3,c = 4;
    _Bool x, y ,z;
    int n , m;
    x = ( a + b < c ) && a != b;
    y = ( a + b < c ) || a != b;
    z = a + b,n = a / b,b + c;
    m = (a + b, a / b, c % b);
    printf("%d,%d,%d,%d,%d\n",x,y,z,n,m);
    printf("==============================================================\n\n");
    printf("23080905040502 王永成\n\n");
    printf("==============================================================");
    
    return 0;
}

实验截图
image

项目四

解题思路

  • 根据题中的要求声明各个变量abc
  • 利用格式化输出函数printf,将表达式的字符串和类型说明符为函数的第一个参数,计算表达式作为第二个参数,从而减少代码函数
    核心代码
#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
    int a,b,c;
    
    printf("(a = (b = 4) + (c = 6)) = %d\n",a = (b = 4) + (c = 6));
    printf("(a += a -= a*a) = %d\n\n", a += a -= a*a );
    printf("==============================================================\n\n");
    printf("23080905040502 王永成\n\n");
    printf("==============================================================");
     
    return 0;
}

实验截图
image

四、实验结果及分析

  • 字符对照表:ASCII(美国信息交换标准代码)是计算机和互联网上文本数据最常见的字符编码格式。在标准 ASCII 编码数据中,128 个字母、数字或特殊附加字符和控制代码都有唯一值。

    • ASCII码:美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII 码
    • Unicode:世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。可以想象,如果有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是 Unicode,就像它的名字都表示的,这是一种所有符号的编码
    • UTF-8:互联网的普及,强烈要求出现一种统一的编码方式。UTF-8 就是在互联网上使用最广的一种 Unicode 的实现方式。UTF-8 最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。
  • 格式化字符串(英语:format string)是一些程序设计语言的输入/输出库中能将字符串参数转换为另一种形式输出的函数。

posted @ 2024-03-24 12:35  juuroppa  阅读(107)  评论(0)    收藏  举报