实验二数据类型、运算符 和表达式(1) 班级 姓名指导老师 成绩 机房 号机器时间 实验目的:1.掌握C语言中数据类型的种类和作用 2.掌握各种类型变量的定义和使用 3.灵活运用算术运算符和算术表达式 4.掌握深层次C程序的编辑、编译、连接和运行过程 实验要求:1.实验前,务必预习实验内容,深刻理解其中的相关知识,先人工分析程 序写出分析结果,然后上机运行、调试程序,得出最终正确结果 2.实验中,认真思考所做的毎一步操作,弄懂其中的道理 3.实验后,精心总结经验教训,为今后学习奠定良好的基础 实验内容 、读程序 要求:进一步学会运用 Turbo C编辑C程序,不但要明白所给程序的含义,还要按要 求得到正确的运行结果,并与分析结果相对比。 #include main () char chl,ch2;/*此行改为 int chl,ch2:再运行程序*/ ch1=65;ch2=′B ch1=ch1+32 printf("\nsc, d, chI, ch1) printf("\nc, d",ch2, ch2 尝试新的程序运行方式。程序编辑完成后,按F9键编译,将光标放在chl=chl+32语 句处,按At+R键,再按G键(或按F4键),使程序执行到光标所在处。此时,按AtB键, 再按W键(或按Ctrl+F7键),在 Add watch窗口中,输λchl、ch,按-nter键,査看编 辑器下方的观察窗口(监视窗口)中,变量chl、ch2的内容是多少。按At+R键,再按P键(或 按CtrH+F2键,使程序重新启动,再将光标放在 printf语句处,用上述方法再查看变量chl
实验二 数据类型、运算符 和表达式(1) 班级______________姓名___________指导老师_____________成绩___________ 第_____________机房___________号机器 时间:________________________ 实验目的:1. 掌握 C 语言中数据类型的种类和作用。 2. 掌握各种类型变量的定义和使用。 3. 灵活运用算术运算符和算术表达式。 4. 掌握深层次 C 程序的编辑、编译、连接和运行过程。 实验要求:1. 实验前,务必预习实验内容,深刻理解其中的相关知识,先人工分析程 序写出分析结果,然后上机运行、调试程序,得出最终正确结果。 2. 实验中,认真思考所做的每一步操作,弄懂其中的道理。 3. 实验后,精心总结经验教训,为今后学习奠定良好的基础。 实 验 内 容 一、读程序 要求:进一步学会运用 Turbo C 编辑 C 程序,不但要明白所给程序的含义,还要按要 求得到正确的运行结果,并与分析结果相对比。 1. #include main ( ) {char ch1,ch2; /*此行改为 int ch1,ch2;再运行程序*/ ch1=65;ch2=’B’; ch1=ch1+32; ch2=ch1+1; printf(“\n%c,%d”,ch1,ch1); printf(“\n%c,%d”,ch2,ch2); } 尝试新的程序运行方式。程序编辑完成后,按 F9 键编译,将光标放在 ch1=ch1+32 语 句处,按 Alt+R 键,再按 G 键(或按 F4 键),使程序执行到光标所在处。此时,按 Alt+B 键, 再按 W 键(或按 Ctrl+F7 键),在 Add Watch 窗口中,输入 ch1、ch2,按 Enter 键,查看编 辑器下方的观察窗口(监视窗口)中,变量 ch1、ch2 的内容是多少。按 Alt+R 键,再按 P 键(或 按 Ctrl+F2 键),使程序重新启动,再将光标放在 printf 语句处,用上述方法再查看变量 ch1
6 C语言程序设计上机指导与同步训练 ch2的变化。然后再按Ctrl+F9键,重新运行程序,切换到结果窗口,查看有何输出。 运行结果 析结果 运行结果 #include main() [float a,b,c,x b=0x11; C=1.2e1 printf("\na=f,b=器f,c+33=器f,x=f”,a,b,c+33,x); 分析结果 运行结果 #include main() [long x, y, z: 1onga=3,b=7,c=5 x=b/a y=baci z=a旨c+3 printf("\nx=号1d,y=影1d,z=旨1d",x,y,z); 分析结果 #include void main( short int n=0x7fEf short int m=n+1 printf("\nn=%d, m=sd",n, m) 分析结果 行结果
·6· C 语言程序设计上机指导与同步训练 ·6· ch2 的变化。然后再按 Ctrl+F9 键,重新运行程序,切换到结果窗口,查看有何输出。 分析结果 运行结果 2. #include main ( ) {float a,b,c,x; a=-020; b=0x11; c=1.2e10; x=b/a; printf (“\na=%f,b=%f,c+33=%f,x=%f”,a,b,c+33,x); } 分析结果 运行结果 3. #include main ( ) {long x,y,z; long a=3,b=7,c=5; x=b/a; y=b%c; z=a%c+3; printf("\nx=%ld,y=%ld,z=%ld”,x,y,z); } 分析结果 运行结果 4. #include void main( ) { short int n=0x7fff; short int m=n+1; printf(“\nn=%d,m=%d”,n,m); } 分析结果 运行结果 分析结果 运行结果
第一部分c语言程序设计上机指导 二、完成程序 要求:按照给定题目要求,参照出现的语句,填写程序空白处 1.求任意输入字符的ASCI码 #include main() printf("输入一个字符"); printf("\nlnc的AsCⅡ码为号a”,c,i) 2.输出与任意一个十进制数对应的八进制,十六进制数 #include printf("nsd(10): go(8)\n" 3.求将460分钟换算成小时和分钟表示,然后输出。 #include main( i/60 printf ("\n\n%d minutes: d hours minutes" 4.求表达式2√a+b-10的值。(设a=16,b=15) #inc1ude/*调用标准数学函数*/ u=2*sqrt(a)+b-10; printf( 、调试程序 要求:分析下列程序是否正确,如有错误,指出错误所在,并改正;若正确,写出运 行结果
第一部分 C 语言程序设计上机指导 ·7· ·7· 二、完成程序 要求:按照给定题目要求,参照出现的语句,填写程序空白处。 1. 求任意输入字符的 ASCII 码。 #include main( ) { ; printf(“输入一个字符”); scanf(“%c”,&c); i=(int)c; printf(“\n\n%c 的 ASCⅡ 码为%d”,c,i); } 2. 输出与任意一个十进制数对应的八进制,十六进制数。 #include main( ) {int a; scanf(“%d”,&a); printf(“\n%d(10) :%o(8)\n”, ); printf(“ :%x(16)\n”,a,a); } 3. 求将 460 分钟换算成小时和分钟表示,然后输出。 #include main( ) {int i,h,m; ; h=i/60; m=i-60*h; printf(“\n\n%d minutes: %d hour%d minutes”, ); } 4. 求表达式 2 a +b-10 的值。(设 a=16,b=15) #include #include /*调用标准数学函数*/ main( ) {float a,b,u; ; u=2*sqrt(a)+b-10; printf( ,u); } 三、调试程序 要求:分析下列程序是否正确,如有错误,指出错误所在,并改正;若正确,写出运 行结果
C语言程序设计上机指导与同步训练 #include intk1=32769; 1ongk2=65536; printf(”\n旨d,旨1d,号1o,备x\n”,k1,k2) 行结果 错误所在 错误 应改为 #include main( [char ch='\t /*像使用其他字符那样来使用转义字符*/ printf("nc影s",c,“这是一个测试”): 正确 运行结果 错误所在: 错i 应改为 #include [chl= ch2=98 char ch3=’\103’,ch4=x44’; /*清除文本模式窗口的内容*/ printf(”旨c器c\tc\t器cn”,ch1,ch2,ch3,ch4); printf("\t\bbc&c\n", chI, ch2)i printf("\t器c\x告c”,ch3,ch4); 行结果 误所在: 错误 应改为 #include main( [unsigned a=120.33 doub1ex=-80006.06;
·8· C 语言程序设计上机指导与同步训练 ·8· 1. #include main( ) {int k1=32769; long k2=65536; printf(“\n%d,%ld,%lo,%x\n”,k1,k2); } 正确 运行结果: 错误所在: 错误 应改为: 2. #include main( ) {char ch=’\t’; /*像使用其他字符那样来使用转义字符*/ printf(“\n%c%s”,c,“这是一个测试”); } 正确 运行结果: 错误所在: 错误 应改为: 3. #include main( ) {ch1=’a’; ch2=98; char ch3=’\103’,ch4=’\x44’; clrscr( ); /*清除文本模式窗口的内容*/ printf(“%c%c\t%c\t%c\n”,ch1,ch2,ch3,ch4 ); printf(“\t\b%c%c\n”,ch1,ch2); printf(“\t%c\r%c”,ch3,ch4); } 正确 运行结果: 错误所在: 错误 应改为: 4. #include main( ) {unsigned a=120.33; double w,y,z; double x=-80006.06;
第一部分c语言程序设计上机指导 y=1.0/2*x printf("\na=d,x=旨e,y=旨f,z=f,w=暑f”,a,x,Y,z,w) 运行结果: 错误所在 应改为 四、写程序 1.编程求1+1+1的和(精确到小数点后两位 鸡兔同笼。总头数head=30,总脚数fet-90。编程求鸡、兔各多少只。 3.求正方体的体积。设边长为2,结果保留小数点后两位数字
第一部分 C 语言程序设计上机指导 ·9· ·9· y=1.0/2*x; z=1/2*x; w=x%y; printf(“\na=%d,x=%e,y=%f,z=%f,w=%f”,a,x,y,z,w); } 正确 运行结果: 错误所在: 错误 应改为: 四、写程序 1. 编程求 111 234 + + 的和(精确到小数点后两位)。 2. 鸡兔同笼。总头数 head=30,总脚数 feet=90。编程求鸡、兔各多少只。 3. 求正方体的体积。设边长为 2,结果保留小数点后两位数字