C语言实验二 数据类型、运算符和表达式

一、实验目的

(1)了解C 语言数据类型的意义,掌握基本数据类型变量的特点和定义方法。

(2)学会使用C 的算术运算符,以及包含这些运算符的算术表达式。

(3)掌握自加(++)和自减(--)运算符的使用。

(4)进一步熟悉C 程序的编辑、编译、连接和运行的过程。

二、实验要点

基本数据类型包括整型、字符型、实型。

三、实验要求

(1)上机前先阅读和编写以下要调试的程序。

(2)上机输入和调试程序并存在磁盘上。

(3)检查实验结果是否正确。

四、实验内容

第一次实验内容:

  1. 重新开始一个新的程序

关闭所有工作空间,点击Visual C++ 6.0窗口的关闭按钮即可退出Visual C++ 6.0集成环境,再次进入Visual C++ 6.0集成环境,输入以下程序:

/*   c1-3.c    C语言的第三个程序 */
#include "stdio.h"
void main( )
{   int a=38;
printf("%d,%5d,%-5d\n",a,a,a);
printf("%d,%o,%x,%u\n",a,a,a,a);
}

注意观察两个printf函数语句输出结果有何不同?

  1. 在Visual C++ 6.0集成环境,输入以下程序:
/*   c1-4.c    C语言的第四个程序 */
#include "stdio.h"
void main( )
{   long int a=32767;
printf("a=%ld\t",a);
printf("a=%u\t",a);
printf("a=%d\n",a);
}

将程序中的a改为a=65535,并再次运行程序,观察结果。

  1. 在Visual C++ 6.0集成环境,,输入以下程序:
/*   c1-5.c    C语言的第五个程序 */
#include "stdio.h"
void main( )
{   char c1=97,c2=98;
int a=97,b=98;
printf("%3c,%3c\n",c1,c2);
printf("%d,%d\n",c1,c2);
printf("\n%c %c\n",a,b);
}

观察程序运行结果,掌握int与char类型数据的互通性。

  1. 在Visual C++ 6.0集成环境,输入以下程序:
/*   c1-6.c    C语言的第六个程序 */
#include "stdio.h"
void main( )
{   int a,b;a=2;
    b=1%a;
    printf("%d\n",1/a);
    printf("b=%d\n",b);
    printf("%f  %f\n",(float)(1/a),(float)b);
}

观察程序运行结果,从中掌握类型转换运算符的使用。

  1. 在Visual C++ 6.0集成环境,输入以下程序:
/*   c1-7.c    C语言的第七个程序 */
#include "stdio.h"
void main( )
{   int i,j;
    i=3; j=4;
    printf("%d,%d\n",i++,++j);
    printf("%d,%d\n",i,j);
    printf("%d,%d\n",-i++,-++j);
}

观察程序运行结果,从中掌握自加自减运算符的使用。

  1. 在Visual C++ 0集成环境,输入以下程序
/*   c1-8.c    C语言的第八个程序 */
#include "stdio.h"
void main( )
{   int a,b;a=5;
    a-=a*a;
    printf("a=%d\n",a);
    b=(a=3*5,a*4,a+5);
    printf("a=%d, b=%d\n",a,b);
}

观察程序运行结果,从中掌握复合赋值运算符、逗号运算符的使用。

  1. 下面程序,计算输出当x=2.5,a=7,y=4.7时,表达式

x + a % 3 * (int) (x + y) % 2 / 4的运算结果z的值。

/*   c1-9.c    C语言的第九个程序 */
#include "stdio.h"
void main( )
{  int a=7;
   float x=2.5,y=4.7, z ;
   z= x + a % 3 * (int) (x + y) % 2 / 4;
   printf("z=%f\n",z);
}

第二次实验内容:

1. 调试程序,分析输出结果

(1)输入并运行以下程序。

main()
{   float a,b;
a=123456.789e5;
b=a+20;
printf("a=%f,b=%f\n",a,b);
}

将第二行改为:

double a,b;

重新运行该程序,分析运行结果。

说明:由于实型变量的值是用有限的存储单元存储的,因此其有效数字的位数是有限的。float型变量最多只能保证7 位有效数字,后面的数字是无意义的,不能准确表示该数。

(2)输入并运行以下程序。

main()
{  char c1,c2;
c1=97;c2=98;
printf("%c %c\n",c1,c2);
printf("%d %d\n",c1,c2);
}

① 将第二行改为:

int c1,c2;

再运行。

② 再将第三行改为:

c1=300;c2=400;

再运行,分析运行结果。

说明:字符型数据可作为整型数据处理,整型数据也可以作为字符型数据处理,但应注意字符数据只占一个字节,它只能存放0-255 范围的整数。

2.完成以下代码,并把程序调通,写出运行结果。

下面的程序计算由键盘输入的任意两个整数的平均值:

main()
{  int x,y ;
   float a;
scanf(“%d,%d”,&x,&y);
a=(x+y)/2;
printf("The average is :%f ",a);
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Meteor.792

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值