吉林大学C语言习题1汇编.docx

上传人:b****3 文档编号:4123239 上传时间:2022-11-28 格式:DOCX 页数:30 大小:36.03KB
下载 相关 举报
吉林大学C语言习题1汇编.docx_第1页
第1页 / 共30页
吉林大学C语言习题1汇编.docx_第2页
第2页 / 共30页
吉林大学C语言习题1汇编.docx_第3页
第3页 / 共30页
吉林大学C语言习题1汇编.docx_第4页
第4页 / 共30页
吉林大学C语言习题1汇编.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

吉林大学C语言习题1汇编.docx

《吉林大学C语言习题1汇编.docx》由会员分享,可在线阅读,更多相关《吉林大学C语言习题1汇编.docx(30页珍藏版)》请在冰豆网上搜索。

吉林大学C语言习题1汇编.docx

吉林大学C语言习题1汇编

这里有营业员们向顾客们示范着制作各种风格炯异的饰品,许多顾客也是学得不亦乐乎。

据介绍,经常光顾“碧芝”的都是些希望得到世界上“独一无二”饰品的年轻人,他们在琳琅满目的货架上挑选,然后亲手串连,他们就是偏爱这种DIY的方式,完全自助在现场,有上班族在里面精挑细选成品,有细心的小女孩在仔细盘算着用料和价钱,准备自己制作的原料。

可以想见,用本来稀奇的原料,加上别具匠心的制作,每一款成品都必是独一无二的。

而这也许正是自己制造所能带来最大的快乐吧。

因此不难看出,自制饰品在校园里也大有市场所在。

对于那些走在流行前端的女生来说,〝捕捉〞新事物便〝捕捉〞到了时尚与个性。

9、如果你亲戚朋友送你一件DIY手工艺制品你是否会喜欢?

附件

(一):

我们长期呆在校园里,没有工作收入一直都是靠父母生活,在资金方面会表现的比较棘手。

不过,对我们的小店来说还好,因为我们不需要太多的投资。

“碧芝自制饰品店”拥有丰富的不可替代的异国风采和吸引人的魅力,理由是如此的简单:

世界是每一个国家和民族都有自己的饰品文化,将其汇集进行再组合可以无穷繁衍。

喜欢□一般□不喜欢□

木质、石质、骨质、琉璃、藏银……一颗颗、一粒粒、一片片,都浓缩了自然之美,展现着千种风情、万种诱惑,与中国结艺的朴实形成了鲜明的对比,代表着欧洲贵族风格的饰品成了他们最大的主题。

(1)价格低

(二)DIY手工艺品的“热卖化”

 

《C语言程序设计》

习题

李玲张海蓉黄玉兰孙大洋赵晓京温泉厉茜

 

吉林大学通信工程学院

第一章

练习1-1答案

选择题

1.下列4组字符串中都可以用作C语言程序中的标识符的是(D)。

A.print3doodbB.I\mone_halfstart$it

C.Pxqmy->bookline#D.str_1Cppinto

2.下面的说法正确的是(C)。

A.C程序由符号构成B.C程序由标识符构成

C.C程序由函数构成D.C程序由C语句构成

3.与十进制数35相等的二进制数是(A)。

A.100011B.01001C.100110D.100101

4.与47值相等的十六进制数是(A)。

A.2FB.215C.32FD.115

5.(01101)2+(101101)2的值是(B)。

A.(101010)2B.(3A)16C.(2A)16D.57

6.将15向左移动2位后的值是(D)。

A.(3C)16B.(00111100)2C.(60)10D.都正确

7.将250与5进行按位与的结果是(A)。

A.0B.1C.(FF)16D.(F0)16

8.将(AF)16与(78)16进行按位异或的结果是(A)。

A.(D7)16B.(28)16C.(D8)16D.(27)16

9.将(717)8按位取反的结果是(B)。

A.(110001)2B.(060)8C.(60)10D.都不正确

第二章

练习2-1答案

选择题

1.C语言中的简单数据类型包括(B)。

A.整型、实型、逻辑型B.整型、实型、字符型

C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型

2.在C语言中,错误的short类型的常数是(A)。

A.32768B.0C.037D.0Xaf

3.下列常数中不能作为C的常量的是(D)。

A.0x45B.2.5e-2C.3e2D.0582

4.short类型的数据长度为2个字节,则unsignedshort类型数据的取值范围是(B)。

A.0至255B.0~65535C.-32768~32767D.-256~255

5.下面4个选项中,均是合法转义字符的选项是(A)。

A.'\'','\\','\n'B.'\','\017','\'

C.'\018','\f','xab'D.'\\0,'101','x1f

6.在C语言中,数字029是一个(D)。

A.八进制数B.十六进制数C.十进制数D.非法数

.下列可以正确表示字符型常数的是(B)。

A."a"B.'\t'C."\n"D.297

8.以下(C)是错误的转义字符。

A.'\\'B.'\''C.'\81'D.'\0'

9.C语言中short类型的变量a的值为-8,则a在内存中的存储形式是(A)。

A.1111111111111000B.1000000000001000

C.0000000000001000D.1111111111110111

10.将字符g赋给字符变量c,正确的表达式是(C)。

A.c="g"B.c=101C.c='\147'D.c='0147'

11.字符串"\\\22a,0\n"的长度是(C)。

A.8B.7C.6D.5

12.为求出s=10!

的值,则变量s的类型应当为(C)。

A.shortB.unsignedshortC.longD.以上三种类型均可

13.已知:

unsignedshortx=65535;,则执行以下语句输出是(D)。

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

A.65535B.1C.无定值D.-1

14.下面4个选项中,均是合法整型常量的选项是(A)。

A.160,-0xffff,011B.-0xcdf,01ª,0xe

C.-01,986,012,0668D.-0x48a,2e5,0x

15.下面4个选项中,均是不合法的整型常量的选项是(D)。

A.--0f1,-0xffff,0011B.-0Xcdf,01a,0xe

C.-018,999,5e2D.-0x48eg,-068,03f

16.下面4个选项中,均是合法浮点数的选项是(B)。

A.+1e+1,5e-9.4,03e2B.-.60,12e-4,-8e5

C.123e,1.2e-.4,+2e-1D.-e3,.8e-4,5.e-0

练习2-2答案

选择题

1.已知:

chara;intb;floatc;doubled;,执行语句c=a+b+c+d;后,变量c的数据类型是(C)。

A.intB.charC.floatD.double

2.已知intj,i=1;,执行语句j=-i++;后,j的值是(C)。

A.1B.2C.-1D.-2

3.已知inti,a;,执行语句i=(a=2*3,a*5),a+6;后,变量i的值是(C)。

A.6B.12C.30D.36

4.已知inti=5;,执行语句i+=++i;,i的值是(C)。

A.10B.11C.12D.A、B、C答案都不对

5.已知:

floatx=1,y;,则表达式y=++x*++x的结果为(B)。

A.9B.6C.1D.表达式是错误的

6.已知:

inty;floatx=-3;,执行语句:

y=x%2;,则变量y的结果是(D)。

A.1B.-1C.0D.语句本身是错误的

7.已知:

charw;intx;floaty;doublez;,则表达式w*x+z-y结果的类型是(D)。

A.floatB.charC.intD.double

8.已知:

intx=10,y=3,z;,则下列语句的输出结果是(D)。

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

A.1B.0C.4D.3

9.已知:

inti=6,j;,则执行语句j=(++i)+(i++);后的j的值是(B)。

A.4B.14C.13D.15

10.已知:

intx=1,y=-1;,则语句printf("%d\n",(x--&++y));的输出结果是(B)。

A.1B.0C.-1D.2

11.设a=2,b=3,计算表达式c=b*=a-1后,变量c的值是(B)。

A.5B.3C.2D.4

12.若定义了intx;,则将x强制转化成双精度类型应该写成(A)。

A.(double)xB.x(double)C.double(x)D.(x)double

13.下述程序的输出是(A)。

main()

{intx=023;

printf("%f",2.5+1*7%2/4);}

A.2.500000B.2.750000C.3.375000D.3.000000

14.若有定义:

inta=7;floatx=2.5,y=4.7;,则表达式x+a%3*(int)(x+y)%2/4的值是(A)。

A.2.500000B.2.750000C.3.500000D.0.000000

15.设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第3位进行四舍五入运算的表达式是(B)。

A.n=(n*100+0.5)/100.0B.m=n*100+0.5,n=m/100.0

C.n=n*100+0.5/100.0D.n=(n/100+0.5)*100.0

16.已知ch是字符型变量,下面不正确的赋值语句是(A)。

A.ch='a+b';B.ch='\0';C.ch='7'+'9';D.ch=5+9;

练习3-1答案

一、选择题

1.在C语言库函数中,可以输出double型变量x值的函数是(D)。

A.getcharB.scanfC.putcharD.printf

2.执行语句:

printf("Theprogram\'snameisc:

\\tools\book.txt");后输出是(D)。

A.Theprogram'snameisc:

toolsbook.txt

B.Theprogram'snameisc:

\toolsbook.txt

C.Theprogram'snameisc:

\\toolsbook.txt

D.Theprogram'snameisc:

\toolook.txt

3.以下程序的输出结果是(D)。

(注:

□表示空格)

main()

{printf("\n*s1=%15s*","chinabeijing");

printf("\n*s2=%-5s*","chi");

}

A.*s1=chinabeijing□□□*B.*s1=chinabeijing□□□

*s2=**chi**s2=chi□□*

C.*s1=*□□chinabeijing*D.*s1=□□□chinabeijing*

*s2=□□chi**s2=chi□□*

4.选择程序的运行结果,①是(B)、②是(B)、③是(D)、④是(C)。

#include

main()

{inta=-10,b=-3;

printf("%d\n",a%b);/*输出①*/

printf("%d\n",a/b*b);/*输出②*/

printf("%d\n",-a%b);/*输出③*/

printf("%d\n",a-=b+++1);/*输出④*/

}

①A.-2B.-1C.0D.1

②A.-10B.-9C.-8D.0

③A.-2B.-1C.0D.1

④A.-10B.-9C.-8D.-7

5.以下C程序正确的运行结果是(D)。

(注:

□表示空格)

main()

{inty=2456;

printf("y=%3o\n",y);

printf("y=%8o\n",y);

printf("y=%#8o\n",y);

}

A.y=□□□2456B.y=□□□4630

y=□□□□□□□□2456y=□□□□□□□□4630

y=#########2456y=#########4630

C.y=2456D.y=4630

y=□□□□2456y=□□□□4630

y=□□□02456y=□□□04630

二、填空题

6.以下程序的输出结果为(i:

dec=-4,otc=177774,hex=fffc,unsigned=65532)。

main()

{shorti;

i=-4;

printf("\ni:

dec=%d,otc=%o,hex=%x,unsigned=%u\n",i,i,i,i);

}

7.以下程序的输出结果为(c:

dec=120,oct=170,hex=78,ASCII=x)。

main()

{charc='x';

printf("c:

dec=%d,oct=%o,hex=%x,ASCII=%c\n",c,c,c,c);

}

8.已有定义intd=-2;,执行以下语句后的输出结果是:

(*d

(1)=-2*d

(2)=□-2*d(3)=-2□*

*d(4)=177776*d(5)=□177776*d(6)=177776□*

*d(4)=fffe*d(5)=□□fffe*d(6)=ffffe□□*)。

(注:

□表示空格)

printf("*d

(1)=%d*d

(2)=%3d*d(3)=%-3d*\n",d,d,d,d);

printf("*d(4)=%o*d(5)=%7o*d(6)=%-7o*\n",d,d,d,d);

printf("*d(4)=%x*d(5)=%6x*d(6)=%-6x*\n",d,d,d,d);

9.以下程序的输出结果是:

(a=374a=0374

a=fca=0xfc)。

#include

main()

{inta=252;

printf("a=%oa=%#o\n",a,a);

printf("a=%xa=%#x\n",a,a);

}

第三章

练习3-2答案

选择题

1.已知:

intx,y,z,w;,为使以下语句的输出为:

1234+123+12+1,正确的输入形式应当为(C)。

scanf("%4d-%3d-%2d-%1d",&x,&y,&z,&w);

printf("%4d+%3d+%2d+%1d\n",x,y,z,w);

A.1234123121B.1234123121C.1234-123-12-1D.1234+123+12+1

2.已知:

intx;floaty;,所用的scanf调用语句格式为:

scanf("x=%d,y=%f",&x,&y);

为了将数据10和66.6分别赋给x和y,正确的输入应当使(A)。

A.x=10,y=66.6<回车>B.10,66.6<回车>

C.10<回车>66.6<回车>D.x=10<回车>y=66.6<回车>

3.已知:

intx,y;doublez;,以下语句中错误的函数调用是(D)。

A.scanf("%d,%x,%1e",&x,&y,&z);B.scanf("%2d*%d%1f",&x,&y,&z);

C.scanf("%x%*d%o",&x,&y);D.scanf("%x%o%6.2f",&x,&y,&z);

4.已有如下定义和输入语句,若要求a1、a2、c1、c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是(AC)。

(注:

□表示空格,表示回车)

inta1,a2;charc1,c2;

scanf("%d%c%d%c",&a1,&c1,&a2,&c2);

A.10A□20BB.10□A□20B

C.10A20BD.10A20□B

5.已有定义intx;floaty;,且执行scanf("%3d%f",&x,&y);语句时,输入数据12345□678,则x的值为(①B),y的值为(②B)。

(注:

□表示空格)

①A.12345B.123C.45D.345

②A.无定义B.45.000000C.678.000000D.123.000000

6.阅读以下程序,当输入数据的形式为:

25,13,10,正确的输出结果为(D)。

main()

{intx,y,z;

scanf("%d%d%d",&x,&y,&z);

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

}

A.x+y+z=48B.x+y+z=35C.x+z=35D.不确定值

7.根据题目中已经给出的数据的输入和输出形式,程序中输入输出语句的正确内容是(B)。

main()

{intx;

floaty;

printf("enterx,y:

");

输入语句

输出语句

}

输入形式:

enterx,y:

23.4

输出形式:

x+y=5.40

A.scanf("%d,%f",&x,&y);B.scanf("%d%f",&x,&y);

printf("\nx+y=%4.2f",x+y);printf("\nx+y=%4.2f",x+y);

C.scanf("%d%f",&x,&y);D.scanf("%d%3.1f",&x,&y);

printf("\nx+y=%6.1f",x+y);printf("\nx+y=%4.2f",x+y);

第4章

练习4-1答案

一、选择题

1.已知:

charc='A';inti=1,j;,执行语句j=!

c&&i++;,则i和j的值是(B)。

A.1,1B.1,0C.2,1D.2,0

2.已知:

intx=1,y=2,z;,则执行z=x>y?

++x:

++y;,则z的值为(C)。

A.1B.2C.3D.4

3.已知:

inta=4,b=5,c;,则执行表达式c=a=a>b后变量a的值为(A)。

A.0B.1C.4D.5

4.已知:

charch='A';,则表达式ch=(ch>='A'&&ch<='Z')?

(ch+32):

ch;的值是(B)。

A.'A'B.'a'C.'Z'D.'z'

5.若w=1,x=2,y=3,z=4;,则条件表达式w>x?

w:

y

y:

z的结果为(B)。

A.4B.3C.2D.1

6.已知:

intw=3,x=10,z=7;,则执行下面语句后的结果为(C)。

printf("%d",x>10?

x+100:

x-10);

printf("%d",w++||z++);

printf("%d",!

w>z);

printf("%d",w&&z);

A.0111B.1111C.0101D.0100

7.已知:

a=b=c=1且a、b、c均为int型变量,执行以下语句:

++a||++b&&++c;

则变量a值为(①C),b值为(②A)。

①A.不正确B.0C.2D.1

②A.1B.2C.不正确D.0

8.执行下面语句后x的值为(D)。

inta=14,b=15,x;

charc='A';

x=((a&b)&&(c<'a'));

A.TRUEB.FALSEC.0D.1

9.要判断char型变量m是否是数字,可以使用下列表达式(B)。

A.0<=m&&m<=9B.'0'<=m&&m<='9'

C."0"<=m&&m<="9"D.前面三个答案均是错误的

10.能正确表示“当x取值在[1..10]和[200..210]范围内为真,否则为假”的表达式是(C)。

A.(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)

B.(x>=1)||(x<=10)||(x>=200)||(x<=210)

C.(x>=1)&&(x<=10)||(x>=200)&&(x<=210)

D.(x>=1)||(x<=10)&&(x>=200)||(x<=210)

11.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是(D)。

A.'x'&&'y'B.x<=yC.x||y+z&&y-zD.!

((x

z||1)

12.已知x=43,ch='A',y=0;,则表达式x>=y&&ch<'B'&&!

y的值是(C)。

A.0B.语法错C.1D.“假”

13.判断char型变量c1是否为小写字母的正确表达式为(D)。

A.'a'<=c1<='z'B.(c1>=a)&&(c1<=z)

C.('a'>=c1)||('z'<=c1)D.(c1>='a')&&(c1<='z')

二、读程序、写结果

14.下面程序的运行结果:

①(17)、②(102)、③(9)、④(127)、⑤(00-1)。

#include

main()

{inti=16,j,x=6,y,z;

j=i+++1;printf("%d\n",j);/*输出①*/

x*=i=j;printf("%d\n",x);/*输出②*/

x=1;y=2;z=3;

x+=y+=z;

printf("%d\n",z+=x>y?

x++:

y++);/*输出③*/

x=0x02ff;y=0xff00;

printf("%d\n",(x&y)>>4|0x005f);/*输出④*/

x=y=z=-1;

++x||++y&&++z;

printf("%d%d%d\n",x,y,z);/*⑤*/

}

练习4-2答案

一、选择题

1.下面程序的输出是(A)。

#include

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1