C语言程序设计(上海电力大学)智慧树知到期末考试答案2024年_第1页
C语言程序设计(上海电力大学)智慧树知到期末考试答案2024年_第2页
C语言程序设计(上海电力大学)智慧树知到期末考试答案2024年_第3页
C语言程序设计(上海电力大学)智慧树知到期末考试答案2024年_第4页
C语言程序设计(上海电力大学)智慧树知到期末考试答案2024年_第5页
已阅读5页,还剩1页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

C语言程序设计(上海电力大学)智慧树知到期末考试答案2024年C语言程序设计(上海电力大学)C语言中函数返回值的类型由return语句中的表达式的类型决定。(

A:对B:错答案:错C语言的源程序中必须包含库函数。(

A:错误B:正确答案:错误输出sin30度的值对应代码为:printf("\tsin(%lf)=%lf\n",30,sin(30));。(

A:错B:对答案:错power(2,3)函数为计算2的三次方的幂函数。(

A:错B:对答案:错在C语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。(

A:错B:对答案:对若有int

*p;

则表示*p为指针变量(

A:对B:错答案:错已知char

ch;则putchar(ch)可以实现ch变量的输出。(

A:错B:对答案:对当输入为"quert?"时,下面程序的执行结果是(

)#includemain(){char

c;c=getchar();while((c=getchar())!='?')

putchar(++c);}

A:rvfsu?

B:quert?C:rvfsuD:Quert答案:vfsu如果c为字符型变量,空格字符的ASCII码为十进制数32,判断c是否为空格不能使用(

)。

A:if(c=='32')B:if(c==32)C:if(c=='

')D:if(c=='\040')答案:if(c==32)语句:printf("%d",(a=2)

&&

(b=-2));的输出结果是(

)。

A:无输出B:1C:结果不确定D:-1答案:1在使用求根公式法解一元二次方程时,需要用到的数学函数为(

)。

A:sqrt()B:log()C:pow()D:exp()答案:sqrt()设有类型说明

enum

color

{red,yellow,black=100,blue

},则执行语句:

printf(“%d”,

yellow);输出结果是(

)。

A:yellowB:99C:1D:不确定答案:1对结构变量stul中成员age的非法引用是(

)。struct

student{

int

age;

int

num;}stu1,*p;p=

A:p->ageB:stu1.ageC:(*p).ageD:student.age答案:student.age设有数组定义:char

array[]="China";则strlen(array)的值为(

)。

A:6B:4C:5D:7答案:5若有说明:int

n=2,*p=&n,*q=p,则非法的赋值语句是(

)。

A:*p=*qB:n=*qC:p=qD:p=n答案:p=n4个变量定义中,定义p为二级指针的是(

)。

A:int

(*p)[10];B:int

**p;C:int

(*p)(

);D:int

*p[10];答案:int若有程序:void

fun(float*a,float*b)(

float

w;*a=*a+*a;w=

*a;*a=

*b;*b=w;}int

main(){

float

x=2.0,y=3.0,*px=&x,*py=fun(px,py);printf(”%.0f,%.0f\n”,x,y);return

0;)程序的输出结果是(

)。

A:2,3

B:4,3

C:3,2D:3,4

答案:3,4若有int

*p=(int

*)malloc(sizeof(int));则向申请到内存空间存入整数123的语句为(

)。

A:无法实现B:&p=123C:p=123;D:*p=123;答案:*p=123;如果要读取文件的内容,那文件打开时应采用的模式为(

)。

A:“x”B:“w”C:“r”D:“a”答案:“r”下面的程序,正确的说法是(

)。

#include

int

main(

)

{

int

x=3,y=0,z=0;

if

(x=y+z)

printf("*

*

*

*");

else

printf("#

#

#

#");

return

0;

}

A:输出#

#

#

#。B:输出*

*

*

*。C:有语法错误不能通过编译。D:可以通过编译,但是不能通过连接,因而不能运行。答案:输出下面的程序用来将一个十进制正整数转化成八进制数,例如输入一个正整数25,则输出31,应填入划线处的选项是(

)。#include

int

main(

){

int

i=0,j=0,a,b[10

]={0};printf("Enter

an

integer:");

scanf("%d",&a);sub(a,b);for(;i<10;i++)

{if()

j=1;

if(j!=0)

printf("%d",b[i]);

}

return

0;}void

sub(int

c,int

d[

]){

int

e,i=9;while(c!=0)

{

e=c%8;

d[i]=e;

_;i-

-;}

}

A:b[i]==0和c/=8

B:b[i]==0和c=e/8C:b[i]!=0和c/=8

D:b[i]!=0和c=e/8答案:b[i]!=0和c/=8运行下面程序时,从键盘输入"1605",则输出结果是(

)#includeint

main(

){

int

t,h,m;

scanf("%d",&t);

h=(t/100)%12;

if

(h==0)

h=12;

printf("%d:",h);

m=t%100;

if

(m<10)

printf("0");

printf("%d",m);

if

(t<1200||t==2400)

printf("AM");

else

printf("PM");

printf("\n");

return

0;}

A:6:05PMB:16:05AMC:4:05PMD:12:05AM答案:4:05PM若有定义语句:char

s[100],d[100];

int

j=0,i=0;

,且s中已赋字符串,实现将字符串s中的内容拷贝到字符串d中,划线处语句为(

)。(注意:不得使用逗号表达式)

while(s[i])

{

d[j]=__;

j++;

}

d[j]=0;

A:s[j]B:s[i++]C:s[i]D:s[++i]答案:s[i++]设x为char型变量,且初值为

'f',则执行printf("%c\n",

'A'+(x-'a'+1));后的输出结果是

)。

A:HB:JC:GD:I答案:G下面程序的输出结果是(

)。#includeint

main(){

char

t1='g',t2='G';

t1=t1-'a'+'A';

t2=t2-'A'+'a';

printf("%c,%c\n",t1,t2);

return

0;}

A:g,g;B:g,G;C:G,g;D:G,G;答案:G,g;设a=5,b=6,c=5,d=8,m=2,n=2,执行

(m=a>b)&&(n=c>d)

后n的值为(

)。

A:3B:0C:1D:2答案:0假设有结构体定义如下:struct

student{

int

num;

char

name[20];

char

coursename[20];

}stu1=

={1001,"李芳","C语言程序设计"},stu2;语句中,正确的语句是(

)。

A:stu2=stu1;B:stu2={1002,"张林","高等数学"};C:scanf

("%d%s%s”,&stu1);D:printf(“%d%s%s

\n”,stu1);

答案:stu2=stu1程序段(

)x=-1;

do

{

x=x

*

x;}

while(!x);

A:循环执行二次

B:循环执行一次C:有语法错误D:是死循环答案:循环执行一次下面有关for循环的正确描述是(

)

A:在for循环中,不能用break语句跳出循环体B:for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来C:for循环是先执行循环体语句,后判断表达式D:for循环只能用于循环次数已经确定的情况答案:for已知int

a=010,

b=0x10,

c=10;则printf("%d,%d,%d\n",a,b,c);的输出结果为(

)。

A:10,10,10B:8,16,10C:8,10,10D:8,8,10答案:8,16,10执行下面的程序段后,变量k中的值为(

)。int

k=3,s[2];s[0]=k;

k=s[1]*10;

A:33B:30C:10D:不定值答案:不定值定义结构体数组:struet

St{char

name[15];int

age;)a[10]={”ZHANG”,14,”WANG”,15,”LIU”,16,”ZHANG”,17);执行语句printf(”%d,%c”,a[2].age,*(a[3].name+2))的输出结果为(

)。

A:15,A

B:17,HC:16,H

D:16,A

答案:16,A对于变量定义int

a;

float

b;语句scanf("%2d%*c%f",&a,&b);在运行时输入123c4.678,则b获得的值为(

)。

A:报错B:4.678000C:0.000000D:3.000000答案:0.000000在程序中,while循环的循环次数是(

)main(

){

int

i=0;

while(i<10)

{if(i<1)

continue;

if(i=

=5)

break;

i++;

}......}

A:6B:10C:1D:死循环、不能确定次数答案:死循环、不能确定次数执行下面的程序后,a的值为(

)main(){int

a,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1)

{b+=3;

continue;

}b-=5;}}

A:9B:7C:8D:10答案:8定义变量:int

n=10;则循环的输出结果是(

)while(n>7){n--;printf("%d\n",n);}

A:10

9

8

7

B:10

9

8

C:9

8

7

6D:9

87

答案:7程序的输出结果是(

)main(){int

i;for(i=1;i<=5;i++){if(i%2)printf("#");else

continue;printf("*");}printf("$\n");}

A:#*#*$B:*#*#*#$C:#*#*#*$D:*#*#$答案:#*#*#*$若有说明语句“int

a[5],*p=a;”,则对数组元素的正确引用是(

)。

A:p+2B:*(p+2)C:a[p]D:p[a]答案:*(p+2)程序输出a数组中的最小值及其下标,在划线处应填入的是(

)。main(

){

int

i,p=0,a[10];

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

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

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

if(a[i]A:p=jB:a[p]=a[i]C:i=pD:p=i答案:p=i程序的输出结果是(

)。int

main(){

enum

color{red=5,blue,white=0,black};int

c[]={1,2,3,4};printf(“%d”,c[black]);return

0;}

A:3B:2C:4D:1答案:2程序的输出结果(

)main(){int

x=3;do{printf("%3d",x-=2);}while(--x);}

A:1

-2B:1C:死循环D:30

3答案:1若有int

x;

float

y;

double

z;则表达式的值为4的是(

)。

A:sizeof(x)B:sizeof(int)C:sizeof(y)D:sizeof(z)答案:sizeof(x)###sizeof(y)###sizeof(int)假设有结构体定义如下:

struct

Date

{

int

month;

int

day;

int

year;

};

struct

Stu

{

int

num;

char

name[20];

char

sex;

int

age;

struct

Date

birthday;

}a;

int

year

;

语句中,错误的语句是(

)。

A:year=a.birthday.year=2020;B:a.birthday.month=12;C:a.age=10;D:=”zhang”答案:AI参考:根据题目中给出的结构体定义,正确的语句应该是C和D选项。C选项中,a.age=10;是正确的,它表示将a结构体中age成员的值设置为10。D选项中,=”zhang”;是正确的,它表示将a结构体中name成员的值设置为字符串”zhang”。而A选项中year=a.birthday.year=2020;是错误的,因为year和birthday是两个不同的变量,不能通过这样的赋值操作将它们的值互相绑定。B选项中a.birthday.month=12;是错误的,因为birthday成员包含了month、day和year三个成员,只能通过birthday.month进行赋值操作。所以,根据

温馨提示

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

评论

0/150

提交评论