程序设计基础2023级学习通超星期末考试答案章节答案2024年_第1页
程序设计基础2023级学习通超星期末考试答案章节答案2024年_第2页
程序设计基础2023级学习通超星期末考试答案章节答案2024年_第3页
免费预览已结束,剩余4页可下载查看

下载本文档

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

文档简介

程序设计基础2023级学习通超星期末考试章节答案2024年已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为

答案:3.2设int a[10],*p=a;则对a[3]的引用可以是

答案:p[3];*(p+3当说明一个结构体变量时,系统分配给它的内存空间大小是

答案:各成员字节之和有如下说明,inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(

)。

答案:*(p+5)

下面程序段的运行结果是(

)。char*s="abcde";s+=2;printf("%d",s);

答案:字符c的地址下面对typedef的叙述中不正确的是(

)。

答案:用typedef可以增加新类型若有定义:intx=0,*p=&x;,则语句printf("%d\n",*p);的输出结果是(

)。

答案:0已知:char*p,*q;选择正确的语句是(

)。

答案:p+=3;

编写程序:求12+22+32+…+1002。

答案:#includeintmain(){

intsum=0,i;

for(i=1;i<=100;i++)

sum=sum+i*i;

printf("sum=%d",sum);

return0;}从键盘任意输入10个整数,输出偶数的个数及偶数和。

答案:#include

voidmain(){

inti=1,n=0,sum=0,a;

while(i<=10)

{

printf("请输入整数:");

scanf("%d",&a);

if(a%2==0)

{

n++;

sum+=a;

}

i++;

}

printf("偶数个数为:%d,偶数和为:%d",n,sum);}以下程序的功能是根据e=1+1/1!+1/2!+1/3!+...求e的近似值,精度要求为10-6,请填空。#include

void

main(){

inti=1;

doublee,n;

e=1.0;

n=1.0;

while(

)

{

n/=(double)i;

e+=n;

;

}

printf("e=%e\n",e);}

答案:n>le-6;i++continue语句的作用是

答案:结束本次循环C语言中,输入操作是由库函数

完成的,输出操作是由库函数

完成的。

答案:scanf;printfdo_while语句的循环体的执行次数是

答案:至少执行一次若i,j已定义为int型,则以下程序段中“语句1”的执行总次数是(

)。for(i=5;i;i--)

for(j=0;j<4;j++){语句1}

答案:20若有定义语句“intx,y;”,则使用scanf()函数输入这两个数使用的语句“scanf("%d,%d",&x,&y);”在运行中,能正确赋于x=5和y=6的输入形式为(

)。

答案:5,6↙

下面的for语句(

)。for(x=0,y=0;(y!=123)&&(x<4);x++);

答案:循环执行4次在C语言中,多分支选择结构语句为switch(c){

case

常量表达式1:语句1;

……

case

常量表达式n-1:语句n-1;

default

语句n;}其中括号内表达式c的类型是(

)。A.可以是任意类型

B.可以是整型、字符型或枚举类型

C.只能为整型

D.可以为整型或实型

答案:可以是整型、字符型或枚举类型设有如下定义:char

ch=’z’,则执行语句ch=(‘A’<=ch&&ch<=‘Z’)?(ch+32):ch后变量ch值为(

)。A.A

B.a

C.z

D.Z

答案:z若inti=10;执行下列程序后

,变量i的正确结果是(

)。switch(i){

case9:i+=1;break;case10:i+=1;break;case11:i+=1;break;default:i+=1;

break;}

答案:11以下程序的输出结果是(

)。#includevoidmain()

{intw=4,x=3,y=2,z=1;

if(x>y&&!(z==w))printf("%d\n",(wx?w:z>y?z:x));

}

答案:1请读以下程序:#includevoid

main(){inta;floatb,c;

scanf("%2d%3f%4f",&a,&b,&c);

printf("\na=%d,b=%f,c=%f\n",a,b,c);}如果运行时在键盘上从第一列开始输入987654321(CR代表回车),则上面程序的输出结果为(

)。

答案:a=98,b=765.00000,c=4321.000000若inti=10;执行下列程序后,变量i的正确结果是(

)。switch(i){

case9:i+=1;case10:i+=1;case11:i+=1;default:i+=1;}

答案:13已知:intx,a,b;

下列选项中错误的if语句是(

)。

答案:if(a=定义inti=1;执行语句while(i++<5);后,i的值为(

)。

答案:6以下程序输出结果是(

)。#includemain(){inta=2,b=5;printf(“a=%%d,b=%%d/n”,a,b);}

答案:a=%d,b=%d执行语句:printf("|%10.5f|\n",12345.678);的输出结果是(

)。

答案:|12345.67800|

以下程序有3处错误,请找到并改正。#includeintconvert(chars[],intn){

inti;

if((i=n/10)!=0)

convert(s+1,i);

*s=n%10+'0';

return0;}intmain(){

intnum;

charstr[10]="";

printf("inputintegerdata:");

scan("%d",&num);

convert(str,num);

printf(‘outputstring:\n’);

puts(str);

return0;}

答案:#include

//多uintconvert(chars[],intn){

inti;

if((i=n/10)!=0)

convert(s+1,i);

*s=n%10+'0';

return0;}intmain(){

intnum;

charstr[10]="";

printf("inputintegerdata:");

scanf("%d",&num);

//少f

convert(str,num);

printf("outputstring:\n");

//单引号改为双引号

puts(str);

return0;}以下程序有3处错误,请找出并改正#includevoidmain(){

int

a[100],i,n,num;printf(“请输入元素个数:”);scanf(“%f”,&n);printf(“\n请输入数组中的%d个元素:”,n);for(i=0;i答案:#includevoidmain(){

int

a[100],i,n,num;printf(“请输入元素个数:”);scanf(“%d”,&n);

//%f改为%dprintf(“\n请输入数组中的%d个元素:”,n);for(i=0;i求一个3×3矩阵主对角线上元素之和。

答案:#include

intmain(){

inta[3][3],i,j,sum=0;

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

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

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

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

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

{

if(i==j)

sum=sum+a[i][j];

}

printf("%d\n",sum);

return0;

}/star3/origin/58b35f92e60bde6d5ef84064508f7b20.png

答案:#include

intmain(){

inta[3][2]={1,2,3,4,5,6};

intb[3][2]={1,4,2,5,3,6};

intc[3][2],i,j;

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

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

{

c[i][j]=a[i][j]+b[i][j];

}

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

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

{

printf("%5d",c[i][j]);

if(j%2!=0)

printf("\n");

}

return0;

}下面程序以每行5个数据的形式输出a数组,请填空。#include#defineN20voidmain(){

inta[N],i;

for(i=0;i答案:i以下程序用递归的方法求n!,完善此程序。#includevoidmain(){

longfac(intn);

intn;

longy;

printf("inputanintegernumber:");

scanf("%d",&n);

y=

;

printf("%d!=%ld\n",n,y);}longfac(intn)

{

longf;

if(n<0)

printf("n<0,dataerror!");

elseif(________________________)

f=1;

else

________________________________;

return(f);}

答案:fac(n;n==0||n==1;f=fac(n-1以下函数的功能是,删除字符串s中的所有的数字字符,请填空。voiddele(char*s){

intn=0,i;

for(i=0;s[i];i++)

if(

)

s[n++]=s[i];

s[n]=

;}

答案:!(s[i]>='0'&&s[i]<='9';'\0'以下程序实现求两个数中的大者,完善此程序。#includevoidmain(

){

;

inta,b,c;

scanf("%d%d",&a,&b);

__________________

printf("Max

is

%d",c);}intmax(intx,inty)/*定义有参函数max*/{

intz;

_______________

return(z);}

答案:intmax(int

x,int

y;c=max(a,b;z=x>y?x:y;该程序的功能是找出输入的3个数中最大的数,请填空。#includeintmain(){

intmax,a,b,c;

;scanf("%d%d%d",&a,&b,&c);

;

printf("max=%d",max);

return0;

}intfun(intx,inty){

return(x>y?x:y);}

答案:intfun(intx,inty;max=fun(fun(a,b下面程序的功能是读入20个整数,统计负数的个数,并计算负数之和,请填空。#includevoidmain(){

inti,a[20],s,count;

;

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

scanf("%d",&a[i]);

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

{

if(a[i]>=0)

;

s+=a[i];

;

}

printf("s=%d\tcount=%d\n",s,count);}

答案:s=count=0;continue;count++C语言中的数组必须先

,然后使用。

答案:定义如果需要从被调用函数返回一个函数值,被调用函数必须包含

语句。

答案:return在内存中占用一段连续的存储空间,它的首地址由

表示。

答案:数组;数组名访问变量的方式有

访问和

访问。

答案:直接;间接以下语句char str[10]={"China"}; printf("%d",strlen(str))的输出结果是

答案:5形式参数也是

变量。

答案:局部在执行inta[3][2]={15,25,35,45,55,65};语句后,值为65的数组元素是

,a[0][0]+a[1][1]的值为

答案:a[2][1];60用数组元素作为函数的实参时,与用变量做实参一样,是

传递。

答案:值C语言中的函数(

)。

答案:不可以嵌套定义假设array是一个有10个元素的整型数组,则下列写法中正确的是(

)。A、

array=0

B、array[0]=10

C、

array[10]=0

D、

array[-1]=0

答案:array[0]=10以下C语言说法中,不正确的是(

)。

答案:形参可以是常量、变量或表达式C语言允许函数值类型缺省定义,则该函数值类型为(

)。A.int

B.float

C.long

D.double

答案:int

以下函数调用语句中含有(

)个实参。fun((exp1,exp2),(exp3,exp4,exp5));

答案:2下面对函数嵌套的叙述中,正确的是(

)。A、函数定义可以嵌套,但函数调用不能嵌

B、函数定义和函数调用均可以嵌套C、函数定义和函数调用均不能嵌套

D、函数定义不可以嵌套,但函数调用可以嵌套

答案:函数定义不可以嵌套,但函数调用可以嵌套下面函数调用语句含有实参的个数为(

)。func(rec1,rec2+rec3,rec4,rec5);

答案:4以下能对二维数组a

进行正确赋值的语句是(

)。

答案:

inta[][3]={{1,2,3},{4,5,6}};已知:inta[10];

则对a数组元素的正确引用是(

)。

答案:a[10-10]有两个字符数组a、b,则以下正确的输入格式是(

)。

答案:scanf("%s%s",a,b);

已知函数abc的定义为:void

abc(

){……},则函数定义中void的含义是(

)。

答案:执行函数abc后,函数没有返回值已有定义:chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是(

)。

答案:a数组长度大于b数组长度已有定义 :int x=0,y=0;, 则计算表达式 :(x+=2,y=x+3/2,y+5) 后 , 表达式的值是

答案:8若m是一个三位数,则百位上的数字为

答案:m/100在C语言程序中,转义字符“\n”的功能是

答案:换行整型数据在内存中是以

形式存放的。

答案:二进制;二进制补码字符串”sd

温馨提示

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

评论

0/150

提交评论