资源描述:
《C语言程序设计实验.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、实验目的1.掌握C语言数据类型,熟悉各种数据类型的定义和赋值。2.掌握表达式值的计算方法与计算原则。3.学会使用C的有关算术运算符,特别是自加(++)和自减(--)运算符的使用。4.进一步熟悉C程序的编辑、编译、连接和运行的过程。二、实验内容(程序清单及运行结果)1.计算以下各表达式的结果并上机验证计算结果是否正确。①25/3%3计算结果:2②3.5+1/2+56%10计算结果:9.5③若有定义:intb=7;floata=2.5,c=4.7;a+(int)(b/3*(int)(a+c)/2)%4计算结果:
2、5.5④若有:intx,y,z执行语句:x=(y=(z=10)+5)-5;x=?y=?z=?计算结果:x=10y=15z=10⑤x,a均是整型执行x=(a=4,6*2)后,x的值是多少?执行x=a=4,6*2后,x的值是多少?计算结果:x=12x=4⑥若有:intx=5,n=5;执行x+=n++后,x=?,n=?计算结果:x=10,n=62.读以下源程序,写出输出结果并上机验证,想一想为什么会有这样的结果?#include"stdio.h"intmain(){charch1,ch2;ch1='a';ch2='B
3、';printf("ch1=%c,ch2=%c",ch1-32,ch2+32);printf("ch1+200=%d",ch1+200);printf("ch1+200=%c",ch1+200);printf("ch1+256=%d",ch1+256);printf("ch1+256=%c",ch1+256);return0;}计算结果:ch1=A,ch2=bch1+200=297ch1+200=)ch1+256=353ch1+256=a3.分析下程序,写出运行结果,再输入计算机运行,将得到
4、的结果与你分析得到的结果比较对照。#include“stdio.h”intmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,i++,j++);return0;}计算结果:9,11,9,11分别作以下改动之后,先分析再运行:1)将第四行改为:m=i++;n=++j;计算结果:9,11,9,112)程序改为:main(){inti,j;i=8;j=10;printf(“%d,%d”,i++,j++);}计算结果:8,103)在2)的基础上
5、,将printf语句改为:printf(“%d,%d”,++i,++j);计算结果:9,114)再将printf语句改为:printf(“%d,%d,%d,%d”,i,j,i++,j++);计算结果:9,11,9,115)程序改为:main(){inti,j,m=0,n=0;i=8;j=10;m+=i++;n-=--j;printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);}计算结果:i=9,j=9,m=8,n=-9(二)完成程序要求:依据题目要求,分析已给出的语句,填写空白。但是不要增行
6、或删行,改动程序的结构。1.求任意输入字符的ASCⅡ码。#includeintmain(){chara,b;//变量的定义printf(“请输入一个字符:”);scanf(“%c”,&a);b=(int)a;printf(“%c的ASCⅡ码为%d”,a,b);return0;}2、输出任意一个十进制数对应的八进制,十六进制数。#includeintmain(){inta;scanf(“%d”,&a);printf(“%d(10),%o(8),%x(16)”
7、,a,a,a);return0;}(三)调试程序要求:调试运行下列程序是否正确,若有错,写出错在何处?填写正确的运行结果。1.调试下面的程序,找出错误#includeintmain(){intu=v=89;printf(“u=%d,v=%d”,u,v);return0;} 正确:#includeintmain(){intu=89,v=89;printf(“u=%d,v=%d”,u,v);return0;}u=89,v=892.下面的程序试图计算由键盘输入的任意两个整数
8、的平均值,找出错误#includeintmain(){intx,y,a;scanf("%x,%y",&x,&y);a=(x+y)/2;printf("Theaverageis%d:",a);return0;}正确:#includeintmain(){intx,y,a;scanf("%d,%d",&x,&y);a=(x+y)/2;printf("T