您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > AI人工智能 > C高级语言程序设计实验内容
1实验一C语言的运行环境和基础知识一、实验目的1.掌握c程序设计编程环境visualc++,掌握运行一个c程序设计的基本步骤,包括编辑、编译、连接和运行。2.熟练掌握VisualC++6.0环境运行的C程序上机步骤3.数据类型、常量和变量的使用4.表达式及运算符的应用5.C程序的调试。二、实验内容和源程序清单、测试数据、结果。1、最简单的C程序。(要求文件名:1_1.c)#includestdio.hintmain(){printf(“Helloworld!\n”);return0;}2、一个具有致命错误的程序,请修改。(要求文件名:1_2.c)#includestdio.hintmain(){intiscanf(“%d”,i);printf(“i=%d\n”,i);return0;}3、一个具有警告语法错的程序。(要求文件名:1_3.c)#includestdio.hintmain(){inti=9,j,s;s=i+j;printf(s=%d\n,s);return0;}4、写出一个程序测试整型、字符型数据表示,并输出以验证是否正确。(要求文件名:1_4.c)#includestdio.hintmain(){intx=010,y=10,z=0x10;/*整型数据表示*/charc1='M',c2='\x4d',c3='\115',c4=77,c;/*字符型数据表示*//*整型数据的输出*/printf(x=%o,y=%d,z=%x\n,x,y,z);/*数据以原进制输出,注意是否有前导0或0x*/printf(x=%d,y=%d,z=%d\n,x,y,z);/*数据以10进制输出,换算到10进制,结果对吗?*//*字符型数据的输出*/printf(c1=%c,c2=%x,c3=%o,c4=%d\n,c1,c2,c3,c4);/*数据以原进制输出,注意是否有前导0或0x?*/printf(c1=%c,c2=%c,c3=%c,c4=%c\n,c1,c2,c3,c4);/*结果都是什么字符?,也就是说字符可以自由的表示成几种形式?*/printf(c1=%d,c2=%d,c3=%d,c4=%d\n,c1,c2,c3,c4);/*看看这些字符的10进制ASCII码,哦,ASCII码一样,同一种字符*//*字符型数据参与算术运算*/2c=c1+32;/*字符怎么参加了数学运算,哦,是字符对应的ASCII码-整数/*参与数学运算;结果还是一个整数-另外一个字符的ASCII码*/printf(c=%c,c=%d\n,c,c);/*看看这个字符是什么?哇,'M'+32='m'了,看看ASCII码表,原来如此!*/return0;}参考结果:x=10,y=10,z=10x=8,y=10,z=16c1=M,c2=4d,c3=115,c4=77c1=M,c2=M,c3=M,c4=Mc1=77,c2=77,c3=77,c4=77c=m,c=109三、实验报告要求将题目:2和4的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。3实验二顺序结构程序设计一、实验目的:1.掌握顺序结构程序设计2.掌握赋值语句的用法3.熟练地进行数据输入和输出二、实验内容和源程序清单、测试数据、结果。1、已知:a=2,b=3,x=3.9,y=2.3(a,b整型,x,y浮点),计算算术表达式(float)(a+b)/2+(int)x%(int)y的值。试编程上机验证。(要求文件名:2_1.c)提示编程要点:(1)先判断结果值类型,可设置一个此类型的变量用于记录表达式结果,本例用r存放结果;(2)程序先给几个变量赋初值,然后将表达式赋值给变量r;(3)最后打印变量r的值就是表达式的值。参考程序:#includestdio.hintmain(){inta=2,b=3;floatx=3.9,y=2.3;floatr;r=(float)(a+b)/2+(int)x%(int)y;printf(%f\n,r);return0;}参考结果:3.500000思考:为什么是这个结果?2、分析下面程序结果,并上机验证。(要求文件名:2_2.c)#includestdio.hintmain(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf(i=%d,j=%d,m=%d,n=%d\n,i,j,m,n);return0;}参考结果:i=9,j=11,m=9,n=103、用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。从键盘如何输入?(要求文件名:2_3.c)4#includestdio.hintmain(){inta,b;floatx,y;charc1,c2;scanf(a=%db=%d,&a,&b);scanf(%f%e,&x,&y);scanf(%c%c,&c1,&c2);printf(a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n,a,b,x,y,c1,c2);return0;}4、编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。(要求文件名:2_4.c)参考程序:#includestdio.hintmain(){charc1,c2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);printf(\n%c,%c,c1,c2);return0;}三、实验报告要求将题目:1和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。5实验三选择结构程序设计一、实验目的1.了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);2.学会正确使用逻辑运算符和逻辑表达式;3.熟练掌握if语句和switch语句;4.熟练掌握switch语句中break语句的作用。二、实验内容和源程序清单、测试数据、结果。(1)掌握各种格式转换符的正确使用方法,输出结果。(要求文件名:3_1.c)#includestdio.hintmain(){inta=5,b=7;floatx=67.8564,y=-789.124;charc='A';longn=1234567;unsignedu=65535;printf(%d%d\n,a,b);printf(%3d%3d\n,a,b);printf(%f,%f\n,x,y);printf(%-10f,%-10f\n,x,y);printf(%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n,x,y,x,y,x,y);printf(%e,%10.2e\n,x,y);printf(%c,%d,%o,%x\n,c,c,c,c);printf(%ld,%lo,%x\n,n,n,n);printf(%u,%o,%x,%d\n,u,u,u,u);printf(%s,%5.3s\n,COMPUTER,COMPUTER);return0;}(2)1.从键盘任意输入一个年号,判断它是否是闰年。若是闰年,输出“Yes”,否则输出“No”。已知符合下列条件之一者是闰年:(1)能被4整除,但不能被100整除;(2)能被400整除。(要求文件名:3_2.c)参考程序:#includestdio.hintmain(){intyear,flag;printf(Enteryear:);scanf(%d,&year);if(year%4==0&&year%100!=0||year%400==0){flag=1;}else{flag=0;}if(flag){printf(Yes\n);}else{printf(No\n);6}return0;}(3)编程序,并给出程序的运行结果,注意思考case中break的用法以及为什么是这样的结果?(要求文件名:3_3.c)参考程序:#includestdio.hintmain(){intx=2,y=1,a=1,b=2;switch(x){case2:switch(y){case1:a++;case2:b++;break;}case3:a++;b++;break;}printf(%d%d\n,a,b);return0;}(4)编程序:输入4个整数,要求按由小到大的顺序输出。(要求文件名:3_4.c)参考程序:#includestdio.hintmain(){intt,a,b,c,d;scanf(%d,%d,%d,%d,&a,&b,&c,&d);printf(a=%d,b=%d,c=%d,d=%d\n,a,b,c,d);if(ab){t=a;a=b;b=t;}if(ac){t=a;a=c;c=t;}if(ad){t=a;a=d;d=t;}if(bc){t=b;b=c;c=t;}if(bd){t=b;b=d;d=t;}if(cd){t=c;c=d;d=t;}printf(%d,%d,%d,%d\n,a,b,c,d);return0;}三、实验报告要求将题目:2和3的源程序、运行结果,以及实验中遇到的问题和解决问题的方法,以及实验过程中的心得体会,写在实验报告上。7实验四循环结构程序设计一、实验目的1.熟练使用while、for语句实现循环程序设计2.理解循环条件和循环体,以及while、for语句的相同及不同之处3.掌握嵌套循环程序设计4.熟练掌握下拉菜单Debug的程序调试方法5.掌握break和continue的用法二、实验内容和源程序清单、测试数据、结果。(1)输入两个正整数m和n,求它们的最大公约数和最小公倍数。(要求文件名:4_1.c)参考程序:#includestdio.hintmain(){intx,y,i,m,max;scanf(%d,%d,&x,&y);if(xy)m=x;elsem=y;for(i=1;i=m;i++){if((x%i==0)&&(y%i==0))max=i;}printf(%d\n,max);printf(%d\n,x*y/max);return0;}(2)从键盘输入一个int类型的正整数,输出它的所有因子。如输入6,输出1,2,3;输入20,输出1,2,4,5,10。(要求文件名:4_2.c)参考程序:#includestdio.hintmain(){intx,i;scanf(%d,&x);for(i=1;ix;i++){if(x%i==0)printf(%d\n,i);}return0;}(3)输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。(要求文件名:4_3.c)参考程序:#includestdio.h8#includestring.hintmain(){charc;intletter=0,digit=0,space=0,other=0;printf(pleaseinputstring:);while((c=getchar())!='\n'){if(c='a'&&c='z'||c='A'&&c='Z')letter++;elseif(c='0'&&c='9')digit++;elseif(c=='')space++;elseother++;}printf(%d,%d,%d,%d\n,letter,digit,space,other);return0;}(4)编程计算10019914131211的值。(要求文件名:4_4.c)参考程序:#includestdio.hintmain(){intsign=1;doublesum=1;doubledeno=2;doubleterm=1;while(deno=100){sign=(-1)*sign;term=sign*(1/deno);sum=sum+term;deno++;}printf(%lf\n,sum);retu
本文标题:C高级语言程序设计实验内容
链接地址:https://www.777doc.com/doc-5390577 .html