数据类型运算符和表达式(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 页