您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 程序设计基础(C)作业答案(带原题)
《程序设计基础(C)》作业第1章C语言的基本构成一、选择题1.(A)是构成C语言程序的基本单位。(A)函数(B)过程(C)子程序(D)文件2.(B)是C语言提供的合法的数据类型关键字。(A)Float(B)signed(C)integer(D)Char3.以下选项中不合法的用户标识符是(A)。(A)abc.c(B)file(C)Main(D)PRINTF4.以下选项中不合法的用户标识符是(AB)。(A)l23(B)printf(C)A$(D)Dim5.合法的C语言长整型常数是(A)。(A)0L(B)5712700(C)0.054838743(D)2.1869e106.C语言中,要求运算数必须是整型的运算符是(A)。(A)%(B)/(C)(D)!7.以下选项中正确的整型常量是(B)。(A)12.(B)-20(C)l,000(D)04588.以下选项中不正确的实型常量是(B)。(A)2.607E-1(B)0.8103e2.(C)77.77(D)456e-29.C语言中运算对象必需是整型的运算符是(D)。(A)\(B)+(C)*(D)%二、程序调试题1.编辑、调试以下程序步骤1:在VisualC++环境下新建文件可用[开始]→[程序]→[MicrosoftVisualC++6.0]→[MicrosoftVisualC++6.0]→[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-1.c,程序代码如下:#includestdio.h/*文件预处理,包含标准输入输出库,程序可调用输入、输出函数*/intadd(intx,inty){intz;z=x+y;returnz;}intmain(){intadd(int,int);/*函数的说明,告诉系统在主函数中要调用add函数*/inta,b,c;/*变量的定义*/scanf(%d%d\n,&a,&b);c=add(a,b);/*函数调用*/printf(%d+%d=%d\n,a,b,c);/*调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出*/}请思考文件ex1-1.c由几个函数构成?由个函数构成调用了那几个系统函数?调用2个系统函数,分别是scanf和printf此程序中用到了哪几个保留字?哪几个用户自定义标识符?保留字:int,return自定义表示符:z,x,y,a,b,c步骤3:编译并运行程序,程序运行时输入两个整数,2040,观察程序运行的结果。20+40=602.编辑、调试以下程序步骤1:在VisualC++环境下新建文件可用[开始]→[程序]→[MicrosoftVisualC++6.0]→[MicrosoftVisualC++6.0]→[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2.c步骤2:在文本编辑器中输入以下C程序#includestdio.h/*文件预处理,包含标准输入输出库,程序可调用输入、输出函数*/#includeex1-2-2.cintmain(){intand(int,int);/*函数的说明,告诉系统在主函数中要调用and函数*/intor(int,int);/*函数的说明,告诉系统在主函数中要调用and函数*/inta,b,c;/*变量的定义*/scanf(%d%d,&a,&b);c=and(a,b);/*函数调用*/printf(%d&&%d=%d\n,a,b,c);/*调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出*/c=or(a,b);/*函数调用*/printf(%d||%d=%d\n,a,b,c);}步骤3:[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2-2.c,源程序代码为:intand(inta,intb){intc;c=a&&b;returnc;}步骤4:[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2-3.c,源程序代码为:intor(inta,intb){intc;c=a||b;returnc;}步骤5:点击编译图标,编译程序1-2.c步骤4:点击执行图标,执行程序1-2.c,当程序运行时,键盘输入2040,按回车。204020&&40=120||40=1您可以输入其它的整数,观察程序的执行结果。303&&0=03||0=0第2章输入输出程序设计1.用printf输出一个中空的五角星。#includestdio.hvoidmain(){printf(\t*\n);printf(\t**\n);printf(\t**\n);printf(\t********\n);printf(\t**\n);printf(\t**\n);printf(\t**\n);printf(\t***\n);printf(\t****\n);printf(\t**\n);}2.仿照例子2.2,定义一个字符数组,从键盘输入一字符串,然后输出的程序。#includestdio.hintmain(){chars[255];printf(请输入:);scanf(%s,s);printf(你输入的是:%s\n,s);return0;}3.从键盘输入十六进制整数,转化为八进制数输出。#includestdio.hintmain(){inta;printf(请输入一个十六进制数:);scanf(%x,&a);printf(这个数转化为八进制数为%o\n,a);return0;}4.只定义两个整型数据并赋值,实现两个整型数的互换。#includestdio.hintmain(){inta=10;intb=20;a=a^b;b=b^a;a=a^b;printf(a=%d,b=%d\n,a,b);return0;}5.从键盘上输入一个整数,分别输出8、16进制数的程序。#includestdio.hintmain(){inta;printf(请输入一个十进制数:);scanf(%d,&a);printf(这个数转化为八进制数为%o\n,a);printf(这个数转化为八进制数为%x\n,a);return0;}6.从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。#includestdio.hintmain(){inta;scanf(%d,&a);printf(百位数为%d\n,a/100);printf(十位数为%d\n,a%100/10);printf(个位数为%d\n,a%10);return0;}7.以下程序输出结果是(9,10)。#includestdio.hvoidmain(){inti=010,j=10;printf(%d,%d\n,++i,j--);}8.运行程序,屏幕提示“您是一个学生吗”,您输入’y’或’n’进行回答,屏幕输出您的选项。#includestdio.hintmain(){chars;printf(你是学生吗(Y/N):);scanf(%s,&s);if(s=='Y'||s=='y'){printf(你是学生~~\n);}else{printf(你不是学生~~\n);}return0;}9.从键盘输入一个角度x,求10*sin(x)的值。#includestdio.h#includemath.hintmain(){inta;scanf(%d,&a);doubler=10*sin(a);printf(%f\n,r);return0;}第3章循环程序设计1.执行语句for(i=0;i++5;);后,变量i的值是(A)。(A)6(B)5(C)4(D)02.若inti=0;下列语句计算1+2+…+10的是(C)。(A)while(s+=i);(B)for(;i=10;i++,s+=i)(C)for(;i=10;s+=i,i++)(D)for(;i9;i++,s+=i)3.若inti,x;则语句for(i=x=0;i9;i+=++x);的循环体要执行(4)次。10.以下不是死循环的语句是(D)。(A)for(;;x++);(B)while(1){x++};(C)do{i++;}while(1)(D)for(x=-10;x++;)4.以下for语句的循环次数是多少?inti,j=3;for(;i=j;i--,j--)printf(%d,i);执行了3次5.下面的语句显示输出6行6列的整数数组h的主对角线上的所有元素,请补充完整:for(inti=0;i6;i++)printf(%d,h[i][i])6.写出以下程序运行的结果,此程序实现了什么功能?#includestdio.hvoidmain(){inta[10]={2,4,0,-5,10,6,-8,9,6,7};inti,count=0;for(i=0;i10;i++)if(a[i]==0)count++;elsecontinue;printf(%d\n,count);}该程序实现的功能为:计算数组a中包含几个07.写出以下程序的功能。#includestdio.hvoidmain(){inta[10]={2,4,0,-5,10,6,-8,9,6,7},tmp,k;for(k=0;k10/2;k++){tmp=a[k];a[k]=a[10-k-1];a[10-k-1]=tmp;}}此程序实现功能:将数组颠倒8.写出以下程序运行后的输出结果。#includestdio.hvoidmain(){inti,j;for(i=0;i6;i++){for(j=0;ji;j++)printf();for(j=0;j2*(5-i)-1;j++)printf(*);printf(\n);}}输出倒三角形*************************9.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。(1)#includestdio.hvoidmain(){inti,s;i=1;s=0;while(i=100);s=s+i;i++;printf(“1+2+3+….+99+100=%d\n”,s);}(2)#includestdio.hvoidmain(){inti,s;i=1;s=0;#includestdio.hvoidmain(){inti,s;i=1;s=0;while(i=100){s=s+i;i++;}printf(“1+2+3+….+99+100=%d\n”,s);}while(i=100)s=s+i;i++;printf(“1+2+3+….+99+100=%d\n”,s);}(3)#includestdio.hvoidmain(){inti=1,s;while(i=100);{s=s+i;i++;}printf(“1+2+3+….+99+100=%d\n”,s);}10.输入一个基数,例如输入9,输出为:求1*3*……*9的值。输出为:1*3*5*7*9=945#includestdio.hintmain(){inta,b;b=1;scanf(%d,&a);for(inti=1;i=a;i+=2){b=b*i;}printf(%d\n,b);return0;}11.输入一个5~10之间的整数n,求1!+2!+3!+…+n!。例如输入5,输出为:1!+2!+3!+…+5!=153#includestdio.hintmain(){inta,b,c;b=1;c=0;scanf(%d,&a);for(inti=1;i=a;i++){for(intj=1;j=i;j++)while(i=100){s=s+i;i++;}printf(“1+2+3+….+99+100=%d\n”,s);ints=0;{b=b*j;}c=c+b;b=1;}printf(%d\n,c);return0;}12.在屏幕上输出以下内容1121231234123
本文标题:程序设计基础(C)作业答案(带原题)
链接地址:https://www.777doc.com/doc-3566112 .html