C语言(2023春)学习通超星期末考试答案章节答案2024年_第1页
C语言(2023春)学习通超星期末考试答案章节答案2024年_第2页
C语言(2023春)学习通超星期末考试答案章节答案2024年_第3页
C语言(2023春)学习通超星期末考试答案章节答案2024年_第4页
免费预览已结束,剩余4页可下载查看

下载本文档

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

文档简介

C语言(2023春)学习通超星期末考试章节答案2024年数据的输出。若a=1,b=2,则输出1*2=2的语句是(

)。

答案:printf(“%d*%d=%d\n”,a,b,a*b);运算符。两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是(

)。#includeintmain(){

intx;

scanf("%d",&x);

if(x++>2)

printf("%d",x);

else

printf("%d\n",x--);

return0;}

答案:4和3输入输出语句。要使下面程序在屏幕上显示1,2,34则从键盘输入的数据格式应为(

)。#includeintmain(){

inta,b,c;

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

printf("%d,%d,%d\n",a,b,c);

return0;}

答案:1234数据的输入。有以下程序段:intm=0,n=0;charc='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10,则输出结果是(

)。

答案:10,A,10数据的输入。设变量定义为"inta,b;",执行下列语句时,输入(

),则a和b的值都是10。scanf("a=%d,b=%d",&a,&b);

答案:a=10,b=10数据的输入。用scanf("%d%d",&x,&y);函数输入数据,使x与y的值分别为20和3,则在键盘上正确的输入为(

)。

答案:203输入输出。有以下程序段:intm=0,n=0;charc='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10,则输出结果是(

)。

答案:10,A,10输入输出。若x为float类型变量,则以下语句的运行结果为(

)。x=117.28362;printf("%6.2f\n",x);

答案:117.28逻辑运算符。inta=3,b=2,c=1;if(a>b>c)

a=b;else

a=c;则a的值为(

)。

答案:1比较运算符、逻辑运算符。为表示关系x≥y≥z,应使用的表达式是(

)。

答案:(x>=y)&&(y>=z)自增自减运算符,分支语句。两次运行下面的程序,如果从键盘上分别输入3和2,则输出结果是(

)。#includeintmain(){intx;scanf("%d",&x);if(x++>2)

printf("%d",x);else

printf("%d\n",x--);return0;}(5.0)

答案:4和3分支语句的结构。执行下列程序段后,x、y和z的值分别是__________intx=10,y=20,z=30;if(x>y)

z=x;x=y;y=z;

答案:20,30,30分支语句,比较运算符。inta=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为(

)。

答案:1逻辑运算符,分支语句。假定所有变量均已正确定义,下列程序段运行后x的值是(

)。k1=1;k2=2;k3=3;x=15;if(!k1)

x--;else

if(k2)

x=4;else

x=3;

答案:4比较运算符。有以下程序#includeintmain(){inta=5,b=4,c=3,d=2;if(a>b>c)

printf("%d\n",d);elseif((c-1>=d)==1)

printf("%d\n",d+1);else

printf("%d\n",d+2);return0;}执行后输出结果是(

)。

答案:3变量交换算法,实现两个变量a和b的交换。inta,b,

(1)

;a=1;b=2;if(a>b)

{

t=a;

a=b;

(2)

}

答案:t;b=t;混合运算。5>3&&8<4-!0=

(1)

;上述语句中,除了赋值运算符外,还使用了

(2)

运算符、

(3)

运算符和

(4)

运算符(按优先级从高到低的顺序填写)。

答案:0;算术;算数;比较;关系;逻辑分支语句。以下程序的输出是_________

main()

{

inta=0,b=0,c=0;

if(a=b+c)

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

else

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

}

答案:$$$a=0混合运算。写出下面逻辑表达式的值。设a=3,b=4,c=5。(1)a+b>c&&b==c(2)

a||b+c&&b-c(3)

!(a>b)&&!c||1\t\t%d\n(4)!(x=a)&&(y=b)&&0(5)

!(a+b)+c-1&&b+c/2

答案:0;1;1;0;1逻辑运算符的运算规则。若a=0,b=1,则a&&b=

(1)

,a||b=

(2)

,!a=

(3)

答案:0;1;1逻辑运算符。请按优先级从高到低的顺序,写出C语言的3种逻辑运算符

(1)

(2)

(3)

,他们分别读作

(4)

(5)

(6)

,。(后三空填写单字中文)

答案:!;&&;||;非;与;或关系运算表达式的运算结果。若a=0,b=1,c=1,则a>b==c的结果是:

答案:0逻辑表达式。逻辑表达式的值一定是一个逻辑量“真”或“假”,C语言编译系统在表示逻辑运算结果时,用数值

(1)

表示“真”、用数值

(2)

表示“假”。但在判断一个量是否为“真”时,以

(3)

代表“假”,以

(4)

表示“真”。

答案:1;0;0;非0;非零逻辑运算表达式。if(!k)a=3;语句中的!k可以改写为

,使其功能不变。

答案:k==0关系运算符的优先级。a==b答案:bswitch语句。执行下面程序段后,s的值是(

)。ints=5;switch(++s){case6:case7:s+=2;case8:case9:s+=2;}

答案:10比较运算符。inta=3,b=2,c=1;if(a>b>c)a=b;elsea=c;则a的值为(

)。

答案:1以下程序的输出结果是:()intmain(){intm=5;if(m++>5)printf("%d\n",m);elseprintf("%d\n",m--);return0;}

答案:6嵌套的if.以下程序的运行结果是().intmain(){inta=-5,b=1,c=1;intx=0,y=2,z=0;if(c>0)x=x+y;if(a<=0){if(b>0)if(c<=0)y=x-y;}elseif(c>0)y=x-y;elsez=y;printf("%d,%d,%d\n",x,y,z);return0;}

答案:2,2,0嵌套的if.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与(

)配对。

答案:其之前最近并且没有与其它else配对的ifswitch语句.有如下程序:intmain(){intx=1,a=0,b=0;switch(x){case0:b++;case1:a++;case2:a++;b++;}printf("a=%d,b=%d\n",a,b);return0;}该程序的输出结果是(

)。

答案:a=2,b=1switch语句.C语言中,switch后的括号内表达式的值可以是(

)。

答案:只能为整型和字符型条件运算符.intx=1,y=2,z=3;经过以下语句定义后,表达式z+=x>y?++x:++y的值为(

)。

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

)。#includeintmain(){inta=0,b=1,c=2;if(++a>0||++b>0)++c;printf("%d,%d,%d",a,b,c);return0;}

答案:1,1,3嵌套的if.以下程序的输出是(

)。intmain(){intx=100,a=9,b=18,ok1=5,ok2=0;if(a答案:-1/star3/origin/352b6fe83eb856a5769ab049c9713d01.png

答案:y=-1/star3/origin/512c28e7beccf23e5deffd666939bd26.png

答案:1选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为"真"或"假"。哪个数作为逻辑"假"值(

)。

答案:0设j和k都是int类型,则for循环语句(

)。for(j=0,k=0;j<=9&&k!=876;j++)

scanf("%d",&k);

答案:最多执行10次/star3/origin/2c1de137c7e75eabe9e19034b5233752.png

答案:5/star3/origin/c9125ab193bd809827a426bd285b1121.png

答案:<><>/star3/origin/13b1a5d2d8f1e401a144443afde4c541.png

答案:运行出现错误/star3/origin/63f091ae03090baf15b1665f417e151c.png

答案:t>=1e-5||t<=-1e-5||s>-10&&s<10/star3/origin/0de87894555502af2e70bb40d128b751.png

答案:p的值等于12345或者n的值大于等于3以下不是死循环的语句是(

)。

答案:for(;(c=getchar())!=’\n’;)printf(“%c”,c);语句while(!E);中的表达式!E等价于(

)。

答案:E==0/star3/origin/827e65e7f6cac83cce3d50ea31d70bf8.png

答案:011122/star3/origin/ad8940799ed11f8ed301c1374fa996d7.png

答案:s/10==0/star3/origin/12564878c7746a5f8dc67ea664dbf465.jpg

答案:45.000000/star3/origin/706b09cc81e016eac022abed5af048cd.png

答案:36/star3/origin/1fabc54d1410c4460168e51ecb32162d.png

答案:是无限循环/star3/origin/46f6381e4a76cb7a06d56d8db380e08b.png

答案:6/star3/origin/3d6ed5af7fa40ebd75b60ee156a0e4ca.png

答案:12457810/star3/origin/678f031cf374aad2090eaada8b16aa87.png

答案:0下面有关for循环的正确描述是(

)。

答案:for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来若有说明:int

a[5];

,则下面可以输出数组a中所有元素值的是(

)

答案:for(i=0;i<5;i++)

printf("%d",

a[i]);以下能对二维数组a进行正确初始化的语句是(

)

答案:int

a[

][3]={{1,2,3},{4,5,6}};下列不是给数组的第一个元素赋值的语句是(

)

答案:a[1]=2;下列能正确定义二维实型数组a的选项是(

)

答案:float

a[3][4];若有定义:int

x[5]={11,5,4,6,8};

则数组元素x[4]的值是(

)。

答案:8有以下程序段:int

a[

][4]={1,2,3,4,5,6,7,8,9,10,11,12};

printf("%d\n",a[1][5]);

,执行后输出的结果是(

)

答案:10如有说明:int

a[3][4];

,则对a数组元素的非法引用是

答案:a[0][4]如果有如下定义:int

a[3][4]={{1,2,3,4},

{5,6,7,8},{9,10,11,12}};,那么a[2][2]元素的结果是()

答案:11若有说明:int

a[5];

,则下面不可以给5个数组元素赋值的是(

)

答案:a={1,2,3,4,5};以下对一维数组a的定义中正确的是(

)。

答案:int

a[5];/star3/origin/a0213786fb88e72f69c3cd56a5e90e89.png

答案:147/star3/origin/d8c37dd30c0db501a74b8c36066d6fca.png

答案:12569/star3/origin/7cb9ee29b7cf5d8b6b9da0bc36c37dfe.png

答案:0/star3/origin/857232ef73302769769069f771b5d391.png

答案:369/star3/origin/3767dab05a905d8ef14cb8e28615cd27.png

答案:51098112二维数组。下面程序可分别求出矩阵两条对角线上的元素之和,请分析程序填空。main(

){int

a[3][3]={1,3,6,7,9,11,14,15,17},

sum1=0,

sum2=0,

i,

j;

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

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

if(i==j)

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

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

for(

;

;j--)

if(i+j==2)

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

printf("sum1=%d,sum2=%d\n",sum1,sum2);}

答案:j=2;j>=0;j>=0/star3/origin/4924f09fba91d075a0eb2fe71e0831cb.png

答案:47/star3/origin/e4f54dc90ddfa568c741cf79b068b00f.png

答案:3/star3/origin/0a25ae8e127599964d79efb72e409287.png

答案:1212/star3/origin/0b75cd2fd97331afab44f68f5316891c.png

答案:5

18

7

16

9

12以下程序的输出结果是(

)。f(int

b[],

intn){int

i,r=1;for(i=0;i<=n;i++)r=r*b[i];returnr;}intmain(){intx,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);return0;}

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

)。void

fun(int

a,int

b,int

c){a=456;b=567;c=678;}intmain(){int

x=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n",z,y,x);return0;}

答案:30,20,10全局变量的定义不可能在(

)。

答案:函数内部关于return语句,下列正确的说法是(

)。

答案:可以在同一个函数中出现多次C语言中不可以嵌套的是(

)。

答案:函数定义有以下程序:#includevoidfun(intp){intd=2;p=d++;printf("%d",p);}intmain(){inta=1;fun(a);printf("%d\n",a);return0;}程序运行后的输出结果是(

)。

答案:21C语言程序中,当调用函数进行值传递时(

)。

答案:实参和形参各占一个独立的存储单元C语言允许函数类型缺省定义,此时函数值隐含的类型是(

)。

答案:intC语言中,如果函数不需要返回值,函数类型应该定义为(

)。

答案:void以下能计算1+2+3+┈+10的程序段是(

)。

答案:i=1;s=0;while(i<=10){s=s+i;i++;}以下函数调用语句中,含有的实参个数是(

)。func((exp1,exp2),(exp3,exp4,exp5));

答案:2以下程序的输出结果为(

)。intmain(){inta=1,b=2,c=3,d=4,e=5;printf("%d\n",func((a+b,b+c,c+a),(d+e)));return0;}int

func(int

x,inty){return(x+y);}

答案:13函数参数。数组名作为实参数传递给函数时,数组名被处理为(

)。(5.0)

答案:该数组的首地址有以下程序:#includefun(intx,inty){staticintm=0,i=2;i+=m;m=i+x+y;returnm;}intmain(){intj=1,m=1,k;k=fun(j,m);printf("%d,",k);k=fun(j,m);printf("%d\n",k);return0;}执行后的输出结果是(

)。

答案:4,8C语言规定,函数返回值的类型是由(

)。

答案:在定义该函数时所指定的函数类型所决定系统对变量的直接访问是将变量

温馨提示

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

评论

0/150

提交评论