2023年二级c语言程序设计习题及解答_第1页
2023年二级c语言程序设计习题及解答_第2页
2023年二级c语言程序设计习题及解答_第3页
2023年二级c语言程序设计习题及解答_第4页
2023年二级c语言程序设计习题及解答_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

12)计算机能直接执行程序是(B

)。A)源程序

B)目的程序

C)汇编程序

D)可执行程序

13)如下论述中对的是(D)

A)程序设计任务就是编写程序代码并上机调试

B)程序设计任务就是拟定所用数据构造

C)程序设计任务就是拟定所用算法

D)以上三种说法都不完整例年模仿真题:

#include<stdio.h>

main()

{Int

a;A=5;

/*给A变量赋值5A+=3;

再赋值后再加3*/Printf(“%d”,a);}

(11)如下论述中对的是(

)。A)C

程序基本构成单位是语句

B)C

程序中每一行只能写一条语句C)简朴C

语句必要以分号结束

D)C

语句必要在一行内写完

(11)如下论述中对的是(C)

A)C程序中注释只能出当前程序开始位置和语句背面

B)C程序书写格式严格,规定一行内只能写一种语句

C)C程序书写格式自由,一种语句可以写在多行上

D)用C语言编写程序只能放在一种程序文献中(12)如下选项中,能用作顾客标记符是(C)A)voidB)8_8C)_0_D)unsigned【解析】A:核心字不可以B:不以数字开头C:对的D:核心字(13)如下选项中合法标记符是(C)ﻫA)

1-1B)1—1

C)-11

D)1—【解析】A:不以数字开头,浮现非法字符-而不是_B:不以数字开头,非法字符C:对的D:不以数字开头,浮现非法字符(14)如下选项中不合法标记符是

(C)ﻫ

A)printB)FOR

C)&a

D)_00

【解析】C:浮现非法字符&(15)如下选项中,能用作数据常量是

(D)ﻫA)o115B)

0118C)1.5e1.5

D)

115L【解析】A:八进制以0开头而不是以o开头B:八进制最大值为7,范畴0-7C:指数必要为整数D:长整型对的(13)如下选项中不能作为C

语言合法常量是(

A

)。A)'cd'

B)0.1e+6C)"\a"D)'\011'【解析】A:字符常量只能有一种字符(16)如下选项中不属于字符常量是

(B)ﻫ

A)'C'

B)"C"

C)'\xCC0'D)'\072'【解析】B:字符常量以单引号作为标志,其为字符串

(14)表达式:4-(9)%2值是(B)

A)0

B)3

C)4

D)5【解析】(9)%2=1(取余),4-1=3

(14)设变量已正拟定义并赋值,如下对的表达式是

(C)

A)x=y*5=x+z

B)int(15.8%5)

C)x=y+z+5,++y

D)x=25%5.0

【解析】A:等号左边必要为变量,不可觉得表达式,y*5是表达式B:%只合用于整型变量D:%只合用于整型变量(15)若有定义语句:int

x=10;,则表达式x-=x+x值为(B)

A)-20

B)-10

C)0

D)10

【解析】先算右边得20,x-=20,则10-20=-10(14)设有定义:int

x=2;,如下表达式中,值不为6是

(D)A)

x*=x+1x=x*(x+1)B)

x++,2*xC)x*=(1+x)D)2*x,x+=2

【解析】逗号表达式最后成果看最后一种表达式,x+=2,成果为4(17)若变量均已正拟定义并赋值,如下合法C语言赋值语句是

(A)A)x=y==5;B)x=n%2.5;C)x+n=ID)x=5=4+1;

【解析】等号左边必为变量,不能为常量或数字排除C、D,%只能用于整数排除B第三章输入输出习题解说(13)阅读如下程序

#include

main()

{

int

case;float

printF;

printf(“请输入2个数:”);

scanf(“%d%f”,&case,&pjrintF);

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

}

该程序编译时产生错误,其犯错因素是(

A

A)定义语句犯错,case是核心字,不能用作顾客自定义标记符

B)定义语句犯错,printF不能用作顾客自定义标记符

C)定义语句无错,scanf不能作为输入函数使用

D)定义语句无错,printf不能输出case值

(16)有如下程序

#include

main()

{

int

a=1,b=0;

printf(“%d,”,b=a+b);

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

}

程序运营后输出成果是

D

)

A)0,0

B)1,0

C)3,2

D)1,2【解析】b=a+b即b=1,a=2*b,a=2(15)程序段:int

x=12;doubley=3.141593;

printf(“%d%8.6f”,x,y);输出成果是

(

A

)A)123.141593B)123.141593C)12,3.141593D)123.141593

【解析】“%d%8.6f”原样输出,没有,也没有空格,因此x与y相连,小数总共8位,小数点之后6位

#include<stdio.h>main(){

double

a=123.456;printf("%6.2f",a);

成果:123.46例题:int

x;x=11/3;int

y=5;printf("%%d,%%%d\n",x,y);

成果是:%d,%3

【解析】"%%d,%%%d\n"原样输出,%%d中第一种%为转义字符,不是输出占位符,因此原样输出%d,然后%%转义只输出一种%,%d\n只有一种占位符,因此只输出x值为3[3.5]

若变量已对的阐明为int类型,要给a、b、c输入数据,如下对的输入语句是(

D

)A)read(a,b,c);

B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”,&a,%b,%c);

D)scanf(“%d%d%d”,&a,&b,&c);【解析】scanf中赋值必要用&(取地址符),即将输入字符放在指定位置中[3.6]

若变量已对的阐明为float类型,要通过如下赋值语句给a赋予10、b赋予22、c赋予33,如下不对的输入形式是(

)

A)10

B)10.0,22.0,33.0

C)10.0

D)10

22

22

22.033.0

33

33

scanf(“%f%f%f”,&a,&b,&c);【解析】输入时可以空格可以回车,但是不可以浮现,

复合语句:各种语句被{}括起来,当成一条语句来执行。空语句:最后表达只有一种;

程序举例:1。编写一种程序,从键盘上输入两个数字,让后让她们互换一下。#include<stdio.h>main(){int

a,b;printf("请输入两个数字:");scanf("%2d%3d",&a,&b);printf("qian:%d%d",a,b);int

c;c=a,a=b,b=c;printf("后:%d%d",a,b);

}

2。编写程序,对一种double型数据进行四舍五入运算。规定保存两位有效数字。123.4567两种算法:(1)#include<stdio.h>main(){doublek=1234.4567;k+=0.005;printf("%7.2f",k);}(2)#include<stdio.h>main(){doublek=1234.4567;k*=100;k+=0.5;k=(int)k;k/=100;printf("%7.2f",k);}3。编写程序,使从键盘中输入三位数倒着输出。

#include<stdio.h>main(){ﻩinta,three,two,one;ﻩprintf("请输入一种三位数:"); scanf("%d",&a);ﻩthree=a/100;//取出百位ﻩtwo=a%100/10;//取出十位ﻩone=a%10;//取出个位 printf("%d%d%d",one,two,three);}

选取题[3.1]

若a、b、c、d、都是int类型变量且初值为0,如下选项中不对的赋值语句是(C)A)a=b=c=d=100;

B)d++;

C)c+b;

D)d=(c=22)-(b++);

【解析】C是表达式,无法完毕赋值[3.2]

如下选项中不是C语句是(C)A){int

i;

i++;

printf(“%d\n”,i);}

B);

C)a=5,c=10

D){;}

【解析】C是表达式,没有;结尾,只有;语句是空语句[3.3]

如下合法C语言赋值语句是(D)A)a=b=58

B)k=int(a+b);

C)a=58,b=58

D)--i;

【解析】语句必要以;结尾,B中强制类型转换对的写法为k=(int)(a+b);

[3.4]

如下程序输出成果是(C)A)0

B)1

C)3

D)不拟定值main(

){

int

x=10,y=3;

printf(“%d\n”,y=x/y);}

【解析】除法并且两边都为整型,最后也是整型

[3.7]

若变量已正拟定义,要将a和b中数进行互换,下面不对的语句组是(D)A)a=a+b,b=a-b,a=a-b;

B)t=a,a=b,b=t;C)a=t;t=b;b=a;

D)t=b;b=a;a=t;

[3.8]

若变量已正拟定义,如下程序段输出成果是(D)A)

输出格式阐明与输出项不区配,输出无定值

B)5.17C)5.168

D)5.169

X=5.16894;

Printf(“%f\n”,(int)(x*1000+0.5)/(float)1000);

【解析】其上市四舍五入发,保存3位有效数字[3.9]

若有如下程序段,c3中值是(A)A)0

B)1/2

C)0.5

D)1int

c1=1,c2=2,c3;c3=c1/c2;

【解析】不够除,商0[3.10]

若有如下程序段,其输出成果是(B)A)3,0,-10

B)0,0,5

C)-10,3,-10

D)3,0,3

int

a=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

printf(“%d,%d,%d\n”,a,b,c);【解析】a-=a-5得a=5,赋值给c=5,背面将b赋值给a,a=0,b+3执行了,但是并没有变化b值辨析:inta=0,b=0,c=0;c=((a-=a-5),(a=b,b+3));printf("%d,%d,%d\n",a,b,c);

【解析】a-=a-5得a=5,没有赋值给c,背面将b赋值给a,a=0,b+3执行后赋值给了c;由于逗号表达式永远是最后一种逗号后值赋值给c,只是相差一种(),成果就不同了。

填空题

[3.21]

若有如下定义,请写出如下程序段中输出语句执行后输出成果。(1)-200,2500(2)i=-200,j=500

(3)i=-200

回车

j=2500

int

i=-200,j=2500;printf(“(1)

%d

%d”,i,j);printf(“(2)

i=%d,j=%d\n”,i,j);printf(“(3)

i=%d\nj=%d\n”,i,j);

[3.22]

变量i、j、k已定义为int类型并有初值0,用如下语句进行输入时scanf(“%d”,&i);

scanf(“%d”,&j);

scanf(“%d”,&k);

当执行第一种输入语句,从键盘输入:12.3<CR>

<CR>表达Enter键

则变量i、j、k值分别是____12____、____0___、__0____。

【解析】由于只输入一种数,并且定义i为整型,因此会自动将12.3进行截断,变成12[3.23]

复合语句在语法上被认为是

一条语名。空语句形式是

[3.24]C语句最后用

;结束。

[3.25]

如下程序段,规定通过scanf语句给变量赋值,然后输出变量值。写出运营时给k输入100,给a输入25.81,给x输入1.89234

时三种也许输入形式_____、_____、_____。

int

k;floata;

doublex;

scanf(“%d%f%lf”,&k,&a,&x);

pirntf(“k=%d,a=%f,x=%f\n”,k,a,x);

以空格隔开输入以回车隔开输入

回车和空格连用输入编程题和改错题

[3.29]

如下程序多处有错。要按下面指定形式输入数据和输出数据时,请对该程序做相应修改。

main

{double

a,b,c,s,v;

printf(input

a,b,c:\n);

scanf(“%d%d%d”,a,b,c);

s=a*b;

/*计算长方形面积*/

v=a*b*c;

/*计算长方体体积*/

printf(“%d

%d

%d”,a,b,c);

printf(“s=%f\n”,s,”v=%d\n”,v);

}

当程序执行时,屏幕显示和规定输入形式如下:

inputa,b,c:2.02.03.0

此处2.0

2.0

3.0是顾客输入数据

a=2.000000,b=2.000000,c=3.000000

此处是规定输出形式

s=4.000000,v=12.000000代码改成如下:#include<stdio.h>main(){floata,b,c,s,v;printf("inputa,b,c:\n");scanf("%f%f%f",&a,&b,&c);s=a*b;/*计算长方形面积*/v=a*b*c;/*计算长方体体积*/printf("%f%f%f\n",a,b,c);printf("s=%f,v=%f\n",s,v);}

[3.30]

编写程序,把560分钟换算成用小时和分钟表达,然后进行输出。

#include<stdio.h>main(){ intminute=560,hour;ﻩhour=minute/60;ﻩminute%=60; printf("560分钟=%d小时%d分钟\n",hour,minute);}[3.31]

编写程序,输入两个整数:1500和350,求出它们商数和余数并进行输出。#include<stdio.h>main(){ inta

温馨提示

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

评论

0/150

提交评论