c语言常用运算符及表达式实验报告,数据类型、运算符及表达式(C语言实验报告).doc...

数据类型、运算符及表达式(C语言实验报告)

仲恺农业工程学院实验报告纸

信息学院(院、系) 专业 班 C语言程序设计 课

学号 姓名 实验日期 教师评定

实验名称:数据类型、运算符和表达式

实验目的:

掌握C语言数据类型,熟悉基本类型变量的定义、赋值和运算。

熟悉C程序的编辑、编译、链接和运行过程。

实验内容与总结:

运行下面程序,分析实验结果。

#include

void main()

{

float x=2.5,y=4.7;

int a=7,b;

float result;

result=x+a%3*(int)(x+y)%2/4; /*赋值语句1*/

printf("result1=%f\n",result);

a=2;b=3;x=3.5;y=2.5;

result=(float)(a+b)/2+(int)x%(int)y; /*赋值语句2*/

printf("result2=%f\n",result);

}

分析:

(1)、result=x+a%3*(int)(x+y)%2/4;语句求值过程分析如下:

a%3=1;(int)(x+y)=7;result=x+a%3*(int)(x+y)%2/4=2.5+1*7%2/4=2.5+1/4=2.500000

因为float result,所以输出结果有六位小数。

(2)、result=(float)(a+b)/2+(int)x%(int)y; 语句求值过程分析如下:

(float)(a+b)/2=(2+3)/2=2.500000;(int)x%(int)y=3%2=1,所以result=3.500000.

(3)、该实验中表达式求值所用到的知识点包括:

①单精度浮点型变量float,有效数学为6~7位;

②基本整型int;

③程序内printf函数中的“%f”是输出浮点数时指定的格式符,作用是指定该实数以小数形式输出;

④取商符号“/”, 取余符号“%”;

⑤转义字符\n,作用是换行,将当前位置移到下一行开头。

译码:教材P67-3.7

程序:

#include

void main()

{

char c1='C',c2='h',c3='i',c4='n',c5='a';

c1+=4;

c2+=4;

c3+=4;

c4+=4;

c5+=4;

printf("Password is %c%c%c%c%c\n",c1,c2,c3,c4,c5);

}

(1)、程序编制要点:

①指定字符变量,初值分别’C’,’h’,’i’,’n’,’a’;

②经过运算,使C变为G,h变为l,i变为m,n变为r,a变为e;

③输出结果:China 译成 Glmre。

(2)该题目涉及的知识点和难点:

①字符变量char的使用;

②复合的赋值运算符“+=”, c+=4是表示c=c+4,

③程序内printf函数中的“%c”是输出字符时指定的格式符,作用是指定该实数以字符形式输出;

④“;”的使用。

输入一个三位整数,然后构成其反向三位数,并将其输出。

程序:

#include

void main()

{

int a,b,c,x,y;

printf("请输入一个三位整数 x=");

scanf("%d",&x);

a=x/100;

b=(x-a*100)/10;

c=x-a*100-b*10;

y=c*100+b*10+a;

printf(“%d\n",y);

}

(1)、程序编制要点:

①输入一个三位数x,取出它的个位数a,十位数b,百位数c;

②将反向三位数y等于个位数*100+十位数*10+百位数,则y=c*100+b*10+a

③x变成了y。

(2)、该题目涉及的知识点和难点:

①基本整型int,scanf函数的使用;

②一个三位数的个位数、十位数、百位数的取值方法。

程序代码和运行情况描述:

前两个程序我都写的都没问题,但有时忘记了“;”的输入,导致程序出错,根据编程工作区的最下面小窗口的出错提示改正后,程序就可行了。

第三个输入三位数的实验我编写的程序出现了问题。开始的时候,我把个位数、十位数、百位数的取值方法理解错了,编写出来的结果程序没有错,但就是运行不了。经过老师和同学的帮忙,我改正了错误的地方,再调试时,程序就可以运行了。

第 1 页 共 2 页

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值