您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 国家二级C语言上机试题
C语言实验指导每一个实验后面都有作业,把作业做完后发到下面的邮箱:hubing23072313@qq.com要求:邮件主题格式:学号姓名实验x实验一C语言的运行环境和运行过程【目的与要求】1.了解在该系统上如何编辑、编译、连接和运行一个C程序。2.通过运行简单的C程序,初步了解C源程序的特点。【上机内容】1.标题栏启动VisualC++6.0程序以后,出现如下窗口:项目工作区输出区工具栏状态栏文件编辑区菜单栏2.创建一个新文件单击“文件”菜单,在其下拉菜单中选择“新建”,屏幕上出现一个“新建”对话框,在该对话框中选择“文件”标签,出现“文件”选项卡,如图所示。lx_1.c在列表中选择“C++SourceFile”,并在“文件”框内输入源文件名(如lx1.c),然后在“目录”框中输入你将要把所建立的文件放入何处的路径名,如D:\VC031_01。也可以单击位于“目录”框右边的…按钮,在弹出的对话框中选中你自己的文件夹,如图单击“确定”按钮,返回“文件”选项卡。单击“文件”选项卡的“确定”按钮出现编辑屏幕,即可编辑程序3.编译、连接和运行程序程序编好后要进行编译、连接和运行,步骤如下:(1)选择“编译”菜单,单击下拉菜单中的“编译”,(或者用组合键【Ctrl+F7】)这时系统开始对当前的源程序进行编译,在编译前,出现一个对话框,问你是否要建立一个项目,回答“是”。此时开始编译,在编译过程中,将所发现的错误显示在屏幕下方的“Build”窗口中。根据错误提示,修改程序后再重新编译,如还有错误,再继续修改、编译,直到没有错误为止。(2)编译无误后进行连接,这时选择“编译”菜单中的“构建lx_1.exe”选项(或者用【F7】键)。同样,对出现的错误要进行修改,直到编译、连接无错为止。在“编译”窗口中显示如下信息:0error(s),0warning(s),说明编译、连接成功,并生成以源文件名为名字的可执行文件(lx_1.exe)。(3)运行程序。选择“编译”菜单中的“!执行lx_1.exe”选项(或者用组合键【Ctrl+F5】)。这时,会出现一个“MS-DOS”窗口,输出结果显示在该窗口中.(4)运行结束后,可以回到“文件”菜单,点击“关闭工作区“选项,关闭当前文件窗口。若要编辑新的源程序,可以再次打开“文件”菜单,重新建立文件,步骤如上所述。【一般示例】【例1】编程实现在屏幕上显示如下三行文字Hello,world!WolcometotheClanguageworld!Everyonehasbeenwaitingfor.程序example.c如下:main(){printf(Hello,World!\n);printf(WolcometotheClanguageworld!\n);printf(Everyonehasbeenwaitingfor.\n);}【例2】输入并运行程序,写出运行结果。main(){inta,b,sum;a=123;b=456;sum=a+b;printf(“sumis%d\n”,sum);}运行方法同上,最后结果为:sumis579。【例3】输入并运行程序,写出运行结果。main(){inta,b,c;scanf(“%d,%d”,&a,&b);c=max(a,b);printf(“max=%d”,c);}intmax(intx,inty){intz;if(xy)z=x;elsez=y;return(z);}这个程序的功能是对于任意输入的两个整数,输出较大的那个数。所以程序运行之后,光标将停留在用户屏幕上,等待用户输入两个整数,比如输入“3,5”,回车,在用户屏幕上就会输出“max=5”。【作业】1.参照例题,编写一个C程序,输出以下信息:****************************Hello,World!****************************#includestdio.hmain(){printf(Hello,world!\n);printf(****************************\nHello,World!\n****************************\n);}2.编写一个C程序,输入a、b、c三个数,输出其中最大者。试想,如果求四个数中的最大者,则程序该如何编写。#includestdio.hmain(){inta,b,c,d;scanf(%e,%e,%e,&a,&b,&c);d=max(a,b);d=max(b,c);printf(max=%e,d);}intmax(intx,inty,intz){intm;if(xy,xz)m=x;elsem=y;return(m);}实验二C语言的基础知识【目的与要求】1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。【上机内容】【一般示例】【例1】输入并运行下程序,写出运行结果。mian(){charc1,c2;c1=97;c2=98;printf(“%c%c”,c1,c2);}在此基础上1)加一个printf语句,并运行之。printf(“%d,%d”,c1,c2);2)再将第二行改为:intc1,c2;再使之运行。3)再将第三行改为:c1=300;c2=400;再使之运行,分析其运行结果。4)再将第3行改为:c1=a;c2=b;再使之运行,(你会发现程序有错误,a,b都没有加单引号,就应该是变量)5)再将第3行改为:c1=“a”;c2=“b”;再使之运行,(你会发现程序有错误)在该程序中,说明了字符型数据在特定情况下可作为整型数据处理,整型数据有时也可以作为字符型数据处理。【例2】分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。main(){charc1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%cb%c\tabc\n”,c1,c2,c3);printf(“\t\b%c%c”,c4,c5);}在该程序中,主要考查对转义字符的掌握情况。【例3】分析下程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。main(){inti,j,m,n;i=8;j=10;m=++i;n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);}分别作以下改动之后,先分析再运行:1)将第四行改为:m=i++;n=++j;2)程序改为:main(){inti,j;i=8;j=10;printf(“%d,%d”,i++,j++);}3)在2)的基础上,将printf语句改为:printf(“%d,%d”,++i,++j);4)再将printf语句改为:printf(“%d,%d,%d,%d”,i,j,i++,j++);5)程序改为: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);}此程序主要考查自加、自减运算符以及复合运算符的用法。【作业】1.要将“China”译成密码,密码规律是:用原来的字母后面第5个字母代替原来的字母。例如,字母“A”后面第5个是“F”,用“F”代替“A”。因此,“China”应译为“Hmnsf”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为’C’、’h’、’i’、’n’、’a’,经过运算,使其分别变为’H’、’m’、’n’、’s’、’f’,并输出。#includestdio.hvoidmain(){charc1,c2,c3,c4,c5;c1='C';c2='h';c3='i';c4='n';c5='a';c1=c1+5;c2+=5;c3+=5;c4+=5;c5+=5;printf(%c%c%c%c%c,c1,c2,c3,c4,c5);}2.求下面算术表达式的值。(1)x+a%3*(x+y)%2/4设x=2.5,a=7,y=4.71》验证程序,要验证表达式的值,x,y,a只能定义为整型变量,或者用强制类型转换。#includestdio.hvoidmain(){intx,y,z,a;x=2.5;a=7;y=4.7;z=x+a%3*(x+y)%2/4;printf(%d,z);}(2)(float)(a+b)/2+(int)x%(int)y设a=2,b=3,x=3.5,y=2.52》#includestdio.hvoidmain(){floatx,y,z;inta,b;a=2;b=3;x=3.5;y=2.5;z=(float)(a+b)/2+(int)x%(int)y;printf(%f,z);}总结:一个实数赋值给一个整型变量将自动执行强制类型转换。重点掌握%和/的知识点。先自己分析,再试着用程序求解,看得到的结果是否一致。3.写出下面表达式运算后a的值,设原来a=10。设a和n已定义成整型变量。(1)a+=a(2)a-=2(3)a*=2+3(4)a/=a+a(5)a%=(n%=2),n的值等于5(6)a+=a-=a*=a先自(1)a+=aa的值为20(2)a-=2a的值为8(3)a*=2+3a的值为50(4)a/=a+aa的值为0(5)a%=(n%=2),n的值等于5a的值为0(6)a+=a-=a*=aa的值为0己分析,再试着用程序求解,看得到的结果是否一致。实验三简单的C程序设计【目的与要求】1.理解C语言程序的顺序结构2.掌握常用的C语言语句,熟练应用赋值、输入、输出语句。【上机内容】【一般实例】【例1】按格式要求输入/输出数据#includestdio.hmain(){inta,b;floatx,y;charc1,c2;scanf(“a=%d,b=%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);}1》运行该程序,按如下方式在键盘上输入数据a=3,b=7↙8.5,71.82↙aA↙请同学们仔细看哈输出结果2》运行该程序,按如下方式在键盘上输入数据a=3,b=7↙8.5,71.82aA↙仔细比较这两次输出的结果有什么不一样?【例2】输入一个正整数x(100~999),取出x的个位十位百位。任何一个整数除以10取余都得到这个数的个位,任何一个整数除以10取整都舍去个位。如:12%10=2,12/10=1。#includestdio.hmain(){inta,gw,sw,bw;printf(inputa:);scanf(%d,&a);gw=a%10;sw=a/10%10;bw=a/100;printf(gw=%d,sw=%d,bw=%d,gw,sw,bw);}请同学们思考:设x为整数x=5689,x%100=?,x/100=?【例3】输入一个数字字符,将它转换为数字输出。#includestdio.hmain(){inta;charc;printf(inputc:);scanf(%c,&c);//以字符的形式输入数字就是输入数字字符a=c-'0';//将数字字符转换为数字或者a=c-48;printf(a=%d,a);}数字和数字字符这是两个不同的概念,如:数字0和数字字符‘0’是不同的,因为他们的ASIIC码值不一样。【作业】1、输入一个四位正整数,求出这个数的各位之和并输出这个数的各位与各位之和。#includestdio.hmain(){inta,h,gw,sw,bw,qw;printf(inputa:);scanf(a=%d,&a);gw=a%10;sw=a/10%10;bw=a/100%10;qw=a/1000;h=g
本文标题:国家二级C语言上机试题
链接地址:https://www.777doc.com/doc-2595175 .html