程序设计基条础C作业答案.doc
《程序设计基条础C作业答案.doc》由会员分享,可在线阅读,更多相关《程序设计基条础C作业答案.doc(18页珍藏版)》请在三一文库上搜索。
1、程序设计基础(C)作业第章 语言的基本构成一、选择题1( A )是构成C语言程序的基本单位。(A)函数 (B)过程 (C)子程序 (D)文件2(D )是C语言提供的合法的数据类型关键字。(A)Float (B)signed (C)integer (D)Char3以下选项中不合法的用户标识符是( C )。(A)abcc (B)file (C)Main (D)PRINTF4以下选项中不合法的用户标识符是(C )。(A)l23 (B)printf (C)A (D)Dim5合法的语言长整型常数是( B )。(A)L (B)5712700 (C)0.054838743 (D)2.1869e10 C语言中
2、,要求运算数必须是整型的运算符是( B )。(A)% (B) / (C) (D)!以下选项中正确的整型常量是( A )。(A)12. (B)20 (C)l,000 (D)0458以下选项中不正确的实型常量是( D )。(A)2.607E1 (B)0.8103e2. (C)77.77 (D)456e2C语言中运算对象必需是整型的运算符是( B )。(A) (B) + (C) * (D) % 二、程序调试题1 编辑、调试以下程序步骤1:在Visual C+环境下新建文件可用开始程序Microsoft Visual C+6.0 Microsoft Visual C+6.0 文件 新建文件 C+ So
3、urse File,输入文件名ex1-1.c,程序代码如下:include /*文件预处理,包含标准输入输出库,程序可调用输入、输出函数*/int add(int x,int y) int z; z=x+y; return z; int main( ) int add(int,int); /* 函数的说明,告诉系统在主函数中要调用add函数 */int a,b,c; /* 变量的定义*/scanf(%d %dn,&a,&b);c=add(a,b); /* 函数调用 */ printf(%d+%d=%dn,a,b,c); /* 调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填
4、充,以整数形式输出 */请思考文件ex1-1.c由几个函数构成?调用了那几个系统函数?此程序中用到了哪几个保留字?哪几个用户自定义标识符?步骤3:编译并运行程序,程序运行时输入两个整数,20 40 ,观察程序运行的结果。2 编辑、调试以下程序步骤1:在Visual C+环境下新建文件可用开始程序Microsoft Visual C+6.0 Microsoft Visual C+6.0 文件 新建文件 C+ Sourse File,输入文件名ex1-2.c步骤2:在文本编辑器中输入以下C程序#include /*文件预处理,包含标准输入输出库,程序可调用输入、输出函数*/#includeint
5、main( ) int and(int,int); /* 函数的说明,告诉系统在主函数中要调用and函数 */ int or(int,int); /* 函数的说明,告诉系统在主函数中要调用and函数 */int a,b,c; /* 变量的定义*/scanf(%d %d,&a,&b);c=and(a,b); /* 函数调用 */ printf(%d & %d=%dn,a,b,c); /*调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出 */c=or(a,b); /* 函数调用 */ printf(%d | %d=%dn,a,b,c); 步骤3:文件 新建文件
6、 C+ Sourse File,输入文件名ex1-2-2.c,源程序代码为:int and(int a,int b) int c; c=a&b; return c;步骤4:文件 新建文件 C+ Sourse File,输入文件名ex1-2-3.c,源程序代码为:int or(int a,int b) int c; c=a|b; return c;步骤5:点击编译图标,编译程序1-2.c 步骤4:点击执行图标 ,执行程序1-2.c ,当程序运行时,键盘输入20 40,按回车。20 4020 & 40=120 | 40=1您可以输入其它的整数,观察程序的执行结果。第章输入输出程序设计1 用prin
7、tf输出一个中空的五角星。2 仿照例子2.2,定义一个字符数组,从键盘输入一字符串,然后输出的程序。3 从键盘输入十六进制整数,转化为八进制数输出。4 只定义两个整型数据并赋值,实现两个整型数的互换。5 从键盘上输入一个整数,分别输出8、16进制数的程序。6 从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。7 以下程序输出结果是( )。#includevoid main() int i=010,j=10; printf(%d,%dn,+i,j- ); 8 运行程序,屏幕提示“您是一个学生吗”,您输入y或n进行回答,屏幕输出您的选项。9 从键盘输入一个角度x,求10*sin(x)的值。
8、第章循环程序设计1执行语句for(i=0;i+5;);后,变量i 的值是( )。(A)6 (B)5 (C)4 (D)02若int i=0;下列语句计算1+2+10的是( )。(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若int i,x; 则语句 for(i=x=0;i9;i+=+x);的循环体要执行( )次。10以下不是死循环的语句是( )。(A)for(;x+); (B)while(1)x+;(C)doi+;while(1) (D)for(x=-10;x+;)4以下for语句的循环
9、次数是多少?int i,j=3;for(;i=j;i-,j-) printf(%d,i);5下面的语句显示输出6行6列的整数数组h的主对角线上的所有元素,请补充完整:for(int i=0;i ; )printf(%d, )6写出以下程序运行的结果,此程序实现了什么功能?#includevoid main() int a10=2,4,0,-5,10,6,-8,9,6,7; int i, count=0; for(i=0;i10;i+) if(ai=0) count+; else continue;printf(%dn , count);7写出以下程序的功能。#includevoid main(
10、)int a10=2,4,0,-5,10,6,-8,9,6,7,tmp,k;for (k=0;k10/2;k+) tmp=ak; ak=a10-k-1;a10-k-1=tmp;8写出以下程序运行后的输出结果。#includevoid main() int i,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)#includevoid main( ) int i,s;i=1; s=0;while(i=1
11、00); s=s+i; i+; printf(“1+2+3+.+99+100=%dn”,s);(2)#includevoid main( ) int i,s;i=1;s=0;while(i=100) s=s+i; i+; printf(“1+2+3+.+99+100=%dn”,s);(3)#includevoid main( ) int i=1,s;while(i=100) ; s=s+i; i+; printf(“1+2+3+.+99+100=%dn”,s);10输入一个基数,例如输入9,输出为:求1*3*9的值。输出为:1*3*5*7*9=94511输入一个510之间的整数n,求1!+2!
12、+3!+n!。例如输入5,输出为:1!+2!+3!+5!=15312在屏幕上输出以下内容1 12 123 1234 12345 123456 1234567 12345678 123456789 13求2+4+6+98+100的和,用多种for表达式来完成。14输入一行字符,统计它有多少个字母?第章分支程序设计1输入若干整数给x,使用if语句输出x的绝对值,当输入0时结束。2输入一批数,输出比相邻数大的数,当输入0时结束。3将输入字符的大写字符转换成小写字符输出,小写字符原样输出。4输入一批字符,按回车时结束,统计小写字符、大写字符、数字字符、或其它字符的个数。5编写程序,计算分段函数:6根据
13、输入的百分制按五分制的成绩输出。百分制与五分制之间的关系见下表。百分制五分制90 100580 89470 79360 6926017、用switch完成:读入一个实数x,再输入一整数,若输入是1,则计算sin(x),若输入2,则计算cos(x),若输入3,则计算tan(x),若输入其他值,则显示错误信息。8、用switch完成:输入星期1 到星期5,输出它们对应的颜色星期1:blue星期2:red星期3:white星期4:yellow星期5:green9、用switch完成:从键盘输入A、B、C、D四个等级中的一个,转化输出等级输出A优秀B良好C中等D及格E不及格第章数组及其应用.从键盘输入
14、12个数,分别为:900,2,3,58,34,76,87,72,90,20,78,30,找出最大和最小数。.采用遍历查找,在数组aSIZE=2, 3,20,58, 72, 76,78,87,90,900中,找出偶数。.采用折半查找,在数组aSIZE=2, 3,20,58, 72, 76,78,87,90,900中,找到87,然后进行删除。第章函数及其应用练习与实践一、阅读程序,写出程序运行的结果。1写出以下程序的执行结果。#includefloat aver(int a) int k,sum=0;float ave;for(k=0;k10;k+) sum+=*(a+k); ave=(float
15、)sum/10;return (ave);int main( ) float ave;static b=78,89,98,76,78,45,88,81,92,85;ave=aver(b);printf(ave=%fn,ave);提示:数组b的首地址传递给形参a,*(a+k)就是数组元素bk.2阅读程序,写出程序的执行结果。#include void abc( char str )int a, b ;for(a = b = 0 ; stra!=0; a+ )if(stra!= c)strb+ = stra;strb=0;int main( )char str =abcdef ;abc(str);
16、printf(str =%s , str );return 0;提示:数组str的首地址传递给形参str,stra就是实参中的数组元素stra,当数组元素不为c时进行复制。3写出以下程序的执行结果。#includeint sort(int b,int n,int x)int k;for(k=n-1;k=0;k-)if(bkx)bk+1=bk;elsebreak;bk+1=x;return 0; int main( )int i,j;static int a5=8,5,4,1,6;int b8;b0=a0;for(i=1;i5;i+)sort(b,i,ai);for(j=0;j=i;j+) pr
17、intf(%d ,bi);printf(n);return 0; 提示:循环体中if(bkx)bk+1=bk;elsebreak;如果bkx成立,执行语句bk+1=bk;表示数组元素b向后移,不满足时插入x,即从大到小排序。4写出以下程序的执行结果。#includeint fun(int x) int p; if(x=0|x=1) return 3; else p=x-fun(x-2); return p;int main( )printf(n%d,fun(9);return 0; 提示:fun(9)=9-fun(7),.,fun(1)=35写出以下程序的执行结果,并说明其作用是什么?#inc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 基条础 作业 答案
链接地址:https://www.31doc.com/p-2110433.html