c程序设计项目教程答案_第1页
c程序设计项目教程答案_第2页
c程序设计项目教程答案_第3页
c程序设计项目教程答案_第4页
c程序设计项目教程答案_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

c程序设计项目教程答案c程序设计项目教程答案1.下列哪一个是C程序的基本构成单位。()[单选题]*A、函数(正确答案)B、函数和过程C、超文本过程D、子程序2.以下数组定义中,错误的是()[单选题]*A、inta[10*2];B、inta[10];C、#defineN20inta[N];D、intn=10;intn[10];(正确答案)3.C语言中,能跳过循环体中未执行的语句,接着执行本循环下一次迭代的语句是()[单选题]*A、空语句B、break语句C、return语句D、continue语句(正确答案)c程序设计项目教程答案全文共13页,当前为第1页。4.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值为()[单选题]*c程序设计项目教程答案全文共13页,当前为第1页。A、1B、2C、2.0(正确答案)D、2.55.for语句圆括号中的表达式可以部分或全部省略,但什么不可省略。()[单选题]*A、”B、(C、;(正确答案)D、,6.设inta=2,b;则执行b=a==!a;语句后,b的结果是()[单选题]*A、0(正确答案)B、1C、2D、37.下列能够正确的给a[0]~a[2]赋值为1,2,3的是()[单选题]*A、inta[10]=1,2,3;B、inta[10]={10*1*2*3};C、inta[10]={1,2,3,……};D、inta[]={1,2,3};(正确答案)c程序设计项目教程答案全文共13页,当前为第2页。8.读程序,分析下面的程序将输出几次“我爱中国”()

inti;

for(i=1;i<5;i--)

{printf(“我爱中国\n”);}

[单选题]*c程序设计项目教程答案全文共13页,当前为第2页。A、1B、4C、0D、无限次(正确答案)9.在数组中,数组名表示()[单选题]*A、数组第1个元素的首地址(正确答案)B、数组第2个元素的首地址C、数组所有元素的首地址D、数组最后1个元素的首地址10.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句是(

)[单选题]*A、a=a+b,b=a-b,a=a-b;B、a=t;t=b;b=a;(正确答案)C、t=a;a=b;b=t;D、t=b;b=a;a=t;11.下列运算符中优先级别最高的是()[单选题]*A、!(正确答案)B、%C、-=D、&&c程序设计项目教程答案全文共13页,当前为第3页。c程序设计项目教程答案全文共13页,当前为第3页。12.如果有语句:intx;chary[6];,则下面正确的输入语句是(

)[单选题]*A、scanf("%d%s",x,y);B、scanf("%d%s",&x,y);(正确答案)C、scanf("%d%s",x,&y);D、scanf("%d%s",&x,&y);13.判断字符串a是否大于b,应当使用()[单选题]*A、if(a>b)B、if(strcmp(a,b))C、if(strcmp(b,a)>0)D、if(strcmp(a,b)>0)(正确答案)14.设有下面语句:

charstr[]=”Beijing”;

则执行printf(“%d\n”,strlen(strcpy(str,”China”)));

后的输出结果为()

[单选题]*A、5(正确答案)B、7C、12D、14c程序设计项目教程答案全文共13页,当前为第4页。15.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式为()[单选题]*c程序设计项目教程答案全文共13页,当前为第4页。A、值传递(正确答案)B、地址传递C、由实参传给形参,再由形参传回实参D、传递方式由用户指定16.若已用k=fun(fun(a,b,&c),5,&a);形式正确调用fun函数,则该函数的形参个数为()[单选题]*A、2B、3(正确答案)C、4D、517.以下关于递归调用的说法中正确的是()[单选题]*A、既允许直接递归调用,也允许间接递归调用(正确答案)B、只允许直接递归调用C、只允许间接递归调用D、既不允许直接递归调用,也不允许间接递归调用18.当调用函数时,若实参是一个数组名,则向函数传递的是()[单选题]*A、数组的长度B、数组的首地址(正确答案)C、数组每个元素中的地址D、数组每个元素的值c程序设计项目教程答案全文共13页,当前为第5页。19.若inta[9],*p=a;并在以后的语句中未改变p的值,则不能表示a[2]地址的是()[单选题]*c程序设计项目教程答案全文共13页,当前为第5页。A、p+2B、a+2C、p+=2D、a+=2(正确答案)20.设有定义语句intm[]={2,4,6,8},*k=m;下列选项中,表达式的值为6的是()[单选题]*A、*(k+2)(正确答案)B、k+2C、*k+2D、*k+=c程序设计项目教程答案全文共13页,当前为第6页。21.以下程序段的输出结果是()

#include<stdio.h>

intmain()

{

intx[]={10,20,30};

int*px=x;

printf("%d,",++*px);printf("%d,",*px);

px=x;

printf("%d,",(*px)++);printf("%d,",*px);

px=x;

printf("%d,",*px++);printf("%d,",*px);

px=x;

printf("%d,",*++px);printf("%d\n",*px);

return0;

}[填空题]*c程序设计项目教程答案全文共13页,当前为第6页。_________________________________(答案:11,11,11,12,12,20,20,20)22.运行下列代码后输入结果是()

#include<stdio.h>

voidmain()

{inti,s=0;

for(i=0;i<3;i++)

{switch(i)

{case1:s+=i;

case2:s+=i;

default:s+=i;

}printf(“%d”,s);

}

}

[填空题]*_________________________________(答案:037)c程序设计项目教程答案全文共13页,当前为第7页。23.写出下列程序的运行结果()

#include<stdio.h>

#include<string.h>

intmain()

{

charstr1[]=”*******”;

inti;

for(i=0;i<4;i++)

{

printf(“%s\n”,str1);

str1[i]=’’;

str1[strlen(str1)-1]=’\0’;

}

}

[填空题]*c程序设计项目教程答案全文共13页,当前为第7页。_________________________________(答案:****************)24.写出下列程序的运行结果()

#include<stdio.h>

voidfun(intx,inty,intz)

{

z=x*x+y*y;

}

intmain()

{

inta=18;

fun(6,3,a);

printf(“a=%d\n”,a);

}[填空题]*_________________________________(答案:a=18)25.写出下列程序的运行结果()

#include<stdio.h>

intf(intn)

{

if(n==1||n==0)return1;

elsereturnn*f(n-1);

}

intmain()

{

printf(“%d\n”,f(5));

}

[填空题]*_________________________________(答案:120)c程序设计项目教程答案全文共13页,当前为第8页。错误一:___改正:___

错误二:___改正:___

26.阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序。下列程序的功能是随机产生10个数字,找出这组数组中的最大值和最小值。程序只允许修改两行

L1#include<stdio.h>

L2#include<stdlib.h>

L3#include<time.h>

L4intmain()

L5{

L6inti,x[10],i,j,p,t;

L7srand((unsigned)time(NULL));

L8for(i=0;i<10;i--)

L9x[i]=rand()%100;

L10for(i=0;i<9;i++);

L11{

L12p=i;

L13for(j=i+1;j<10;j++)

L14if(x[p]>x[j])

L15p=j;

L16if(p!=i)

L17{t=x[p];x[i]=x[p];x[i]=t;}

L18}

L19for(i=0;i<10;i++)

L20printf(“%5d”,x[i])

L21}

[填空题]*c程序设计项目教程答案全文共13页,当前为第8页。空1答案:L8空2答案:for(i=0;i<10;i++)c程序设计项目教程答案全文共13页,当前为第9页。空3答案:L17c程序设计项目教程答案全文共13页,当前为第9页。空4答案:{t=x[p];x[p]=x[i];x[i]=t;}错误一:___改正:___

错误二:___改正:___

27.阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序。下面程序功能是将一个5位数,判断它是不是回文数,即12321是回文数,个位与万位相同,十位与千位相同。以下程序只允许修改两行。

L1#include<stdio.h>

L2main()

L3{

L4longge,shi,qian,wan,x;

L5scanf("%ld",x);

L6wan=x/10000;

L7qian=x%10000/1000;

L8shi=x%100/10;

L9ge=x%10;

L10if(ge=wan&&shi=qian)

L11printf("thisnumberisahuiwen\n");

L12else

L13printf("thisnumberisnotahuiwen\n");

L14}

[填空题]*空1答案:L5空2答案:scanf(“%ld”,&x);空3答案:L10c程序设计项目教程答案全文共13页,当前为第10页。空4答案:if(ge==wan&&shi==qian)c程序设计项目教程答案全文共13页,当前为第10页。问题1:_________问题2:_________

28.下面程序的功能是用递归的方法求猴子吃桃的问题。猴子第一天摘下若干个桃子,吃了一半,觉得不过瘾,又多吃了一个;第二天又将前一天剩下的桃子吃掉了一半,又多吃了一个;以后的每一天如此,早上都吃了前一天剩下的一半多一个。到了第十天想再吃时,只剩下一个桃子,求第一天一共摘了多少个桃子?请填空

#include<stdio.h>

intfun(intday)

{

if()return1;

else();

}

intmain()

{

printf(“%d”,fun(10));

}

[填空题]*空1答案:day==1空2答案:(fun(day-1)+1)*2c程序设计项目教程答案全文共13页,当前为第11页。问题1:_________问题2:_________

29.下面程序的功能是:求矩阵的马鞍点,即它的值在行中最大,在它所在的列中最小,请填空。

#defineN10

#defineM10

#include<stdio.h>

intmain()

{inti,j,k,m,n,flag1flag2;

inta[N][M],max;

printf(“\n输入行数n:”);

scanf(“%d”,&n);

printf(“\n输入列数m:”);

scanf(“%d”,&m);

for(i=0;i<n;i++)

for(j=0;j<m;j++)

scanf(“%d”,&a[i][j]);

for(i=0;i<n;i++)

{for(j=0;j<m;i++)

printf(“%5d”,a[i][j]);

printf(“\n”);

}

flag2=0;

for(i=0;i<n;i++)

{max=;

for(j=1;j<m;j++)

if(a[i][j]>max)max=a[i][j];

for(j=0;j<m;j++)

{flag1=0;

if(a[i][j]==max)

{for(k=0,flag=1;k<n&&flag1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论