c语言习题.docx

上传人:b****5 文档编号:7539226 上传时间:2023-01-24 格式:DOCX 页数:147 大小:128.08KB
下载 相关 举报
c语言习题.docx_第1页
第1页 / 共147页
c语言习题.docx_第2页
第2页 / 共147页
c语言习题.docx_第3页
第3页 / 共147页
c语言习题.docx_第4页
第4页 / 共147页
c语言习题.docx_第5页
第5页 / 共147页
点击查看更多>>
下载资源
资源描述

c语言习题.docx

《c语言习题.docx》由会员分享,可在线阅读,更多相关《c语言习题.docx(147页珍藏版)》请在冰豆网上搜索。

c语言习题.docx

c语言习题

第二部分习题

第一章概述

一、单项选择题

1.机器指令是属于(A)。

A.低级语言B.高级语言C.面向问题语言D.汇编语言

2.下列语言中不属于面向问题的语言是(B)。

A.高级语言B.低级语言C.C语言D.BASIC语言

3.高级语言编写的程序称为(B)。

A.高级程序B.源程序C.目标程序D.编译程序

4.用C语言编写的源文件经过编译,若没有产生编译错误,则系统将(B)。

A、生成可执行目标文件B、生成目标文件

C、输出运行结果D、自动保存源文件

5.在C集成环境执行菜单命令“运行”,若运行结束且没有系统提示信息,说明(D)。

A、源程序有语法错误B、源程序正确无误

C、源程序有运行错误D、源程序无编译、运行错误,但仅此无法确定其正确性

6.下列不正确的转义字符是(C)。

A.\\B.\’C.074D.\0

7.下列正确的转义字符是(A)。

A.\777B.\821C.\xhhD.Xff

8.正确的标识符是(D)。

A.3aB.a=2C.A-3D.a_3

9.不正确的标识符是(B)。

A._alB.a[i]C.a2_iD.Int

10.下列说法中正确的是(B)。

A.由于C源程序是高级语言程序,因此一定要在TC软件中输入

B.由C源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入

C.由于C程序是高级语言程序,因此输入后即可执行

D.由于C程序是高级语言程序,因此它由命令组成

11.下列说法中正确的是(A)。

A.C语言程序由主函数和0个或多个函数组成

B.C语言程序由主程序和子程序组成

C.C语言程序由子程序组成

D.C语言程序由过程组成

12.下列说法中错误的是(D)。

A.主函数可以分为两个部分:

主函数说明部分和主函数体

B.主函数可以调用任何非主函数的其它函数

C.任何非主函数可以调用其它任何非主函数

D.程序可以从任何非主函数开始执行

二、填充题

1.汇编语言属于面向语言,高级语言属于面向语言。

2.用高级语言编写的程序称为程序,它可以通过程序翻译一句执行一句的

方式执行,也可以通过程序一次翻译产生程序,然后执行。

3.转义字符是由符号开始的单个字符或若干个字符组成的。

4.C语言的程序中有特殊含义的英语单词称为。

5.标识符是用户的一种,通常用来表示程序中需要辨认的对象。

6.C语言中,标识符的定义规则是。

7.C程序是由函数构成的。

其中有并且只能有个主函数。

C语言程序的执行总是由

函数开始,并且在函数中结束。

8.C语言程序的注释可以出现在程序中的任何地方,它总是以符号作为开始标记,以符号作为结束标记。

第三章基本数据类型和运算

一、单项选择题

1.下列数据中属于“字符串常量”的是(A)。

A."a"B.{ABC}C.’abc\0’D.’a’

2.PC机中,’\n’在内存占用的字节数是(A)。

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

3.在PC机中,"a\xff"在内存占用的字节数是(C)。

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

4.字符串"ABC"在内存占用的字节数是(B)。

A.3B.4C.6D.8

5.字符串"\’ABCD\’"内存占用的字节数是(C)。

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

6.在C语言中,合法的长整型常数是(A)。

A.0LB.4962710C.0.054838743D.2.1869e10

7.在C语言中,合法的短整型常数是(D)。

A.0LB.0821C.40000D.0x2a

8.下列数据中不属于“字符常量”的是(C)。

A.‘\xff’B.‘\160’C.’070’D.070

9.char型常量的内存中存放的是(A)。

A.ASCII代码值B.BCD代码值C.内码值D.十进制代码值

10.若int类型数据字长为4,其最大值为(B)。

A、231B、231-1C、232-1D、232

11.常数的书写格式决定了常数的类型和值,03322是(B)。

A、16进制int类型常数B、8进制int类型常数

C、10进制int类型常数D、10进制longint类型常数

12.“e2”是(D)。

A、实型常数100B、值为100的整型常数C、非法标识符D、合法标识符

13.要为字符型变量a赋初值,下列语句中哪一个是正确的(A)。

A、chara=’3’;B、chara=”3”;C、chara=%;D、chara=*;

14.要为float类型变量x、y、z赋同一初值3.14,下列说明语句哪一个是正确的(C)。

A、floatx,y,z=3.14;B、floatx,y,z=3*3.14;

C、floatx=3.14,y=3.14,z=3.14;D、floatx=y=z=3.14;

15.语句floatpi=3.1415926535;将(D)。

A、导致编译错误B、说明pi为初值3.1415926535的单精度实型常数

C、导致运行时的溢出错误D、说明pi为初值3.141593的单精度实型常数

16.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。

A、算术运算、赋值运算、关系运算B、算术运算、关系运算、赋值运算

C、关系运算、赋值运算、算术运算D、关系运算、算术运算、赋值运算

17.关系运算符中优先级最低的运算符是(C)。

A、“>=”和“<=”B、“>”和“<”C、“==”和“!

=”D、“<=”和“<”

18.逻辑运算符中,运算优先级按从高到低依次为(D)。

A、&&,!

,||B、||,&&,!

C、&&,||,!

D、!

,&&,||

19.对C程序在作逻辑运算时判断操作数真、假的表述,下列哪一个是正确的(A)。

A、0为假非0为真B、只有1为真C、-1为假1为真D、0为真非0为假

20.表达式x&&1等效于(C)

A.x==0B.x==1C.x!

=0D.x!

=1

21.表达式x==0&&y!

=0||x!

=0&&y=0等效于(A)。

A、x*y==0&&x+y!

=0B、x*y==0&&(x+y==0)C、x==0||y==0D、x*y=0||x+y=0

22.表达式!

x||a==b等效于(D)。

A、!

((x||a)==b)B、!

(x||y)==bC、!

(x||(a==b))D、(!

x)||(a==b)

23.设整型变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是(C)。

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

24.设整型变量m,n,a,b,c,d均为1,执行(m=a>b)&&(n=c>d)后,m,n的值是(B)。

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

25.设a为2,执行下列语句后,b的值不为0.5的是(B)。

A.b=1.0/aB.b=(float)(1/a)C.b=1/(float)aD.b=1/(a*1.0)

26.设a为5,执行下列语句后,b的值不为2的是(C)。

A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?

2:

2

27.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为(C)。

A.3,3,2B.3,2,2C.3,2,3D.2,3,2

28.intb=0,x=1;执行语句if(x++)b=x+1;后,x,b的值依次为(A)。

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

29.设有语句inta=3;,则执行了语句a+=a-=a*a;后,变量a的值是(D)。

A.3B.0C.9D.-12

30.设有语句inta=3;,则执行了语句a+=a-=a*=a;后,变量a的值是(B)。

A.3B.0C.9D.-12

31.inta=4,b=3,c=-2,d=2;逻辑表达式a>0&&b&&c<0&&d>0的值是(A)。

A.1B.0C.-1D.出错

32.在以下一组运算符中,优先级最高的运算符是(C)。

A.<=B.=C.%D.&&

33.在以下一组运算符中,优先级最低的运算符是(D)

A.*B.!

=C.+D.=

35.设整型变量i,j值均为3,执行了j=i++,j++,++i后,i,j的值是(B)。

A.3,3B.5,4C.4,5D.6,6

36.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是(C)。

A.1B.2C.2.0D.2.5

37.sizeof(double)的结果值是(A)。

A.8B.4C.2D.出错

38.表达式1?

(0?

3:

2):

(10?

1:

0)的值是(B)。

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

39.设a=1,b=2,c=3,d=4,则表达式:

a

a:

c

a:

d的结果为(D)。

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

40.设a为整型变量,不能正确表达数学关系:

10

A.10

C.a>10&&a<15D.!

(a<=10)&&!

(a>=15)

41.inta=0;if(a=1)a+=10;结果的值是(B)。

A.0B.11C.10D.出错

42.下列表达式中符合C语言语法的赋值表达式是(C)。

A.a=7+b+c=a+7B.a=7+b++=a+7C.a=(7+b,b++,a+7)D.a=7+b,c=a+7

43.设f是实型变量,下列表达式中不是逗号表达式的是(D)。

A.f=3.2,1.0B.f>0,f<10C.f=2.0,f>0D.f=(3.2,1.0)---赋值表达式

44.下列表达式中,不正确的表达式是(B)。

A.a=1,b=1B.y=int(x)C.a=b=5D.i++

45.intn;floatf=13.8;执行n=((int)f)%3后,n的值是(A)。

A.1B.4C.4.333333D.4.6

46.用十进制数表示表达式“12|012”的运算结果是(C)。

A.1B.0C.14D.12

47.设有整型变量a=35,表达式(a&15)&&(a|15)的值是(B)。

A.0B.1C.15D.35

48.设字符型变量a=3,b=6,计算表达式c=(a^b)<<2后c的二进制值是(D)。

A.00011100B.00000111C.00000001D.00010100

49.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是(D)。

A.’a’&&’b’B.a<=bC.a||b+c&&b-cD.!

((a

c||1)

50.设x,t均为int型变量,则执行以下语句后,t的值为(D)

x=10;t=x&&x>10;。

A.不定值B.10C.1D.0

51.设x,y,z,t均为int型变量,则执行以下语句后,t的值为(C)。

x=y=z=1;t=++x||++y&&++z;

A.不定值B.2C.1D.0

52.设a是char型变量,其值字符为’1’,则把其值变成整数1的表达式是(C)。

A.(int)aB.int(a)C.a=a-48D.a/(int)a

53.设a是int型变量,其值为3,则把其值变成字符’3’的表达式是(D)。

A.(char)aB.a=3C.a=a-48D.a=a+48

54.设ch是char型变量,其值为’A’,则下面表达式的值是(B)。

ch=(ch>=’A’&&ch<=’Z’)?

(ch+32):

ch

A.AB.aC.ZD.Z

55.设有整型变量i,j,k,i值为3,j值为6。

计算表达式k=i^j<<3;后,k的值是(B)。

A.56B.51C.40D.27

56.设有无符号短整型变量i,j,k,i值为013,j值为0x13。

计算表达式k=~i|j>>3;后,

k的值是(D)。

A.06B.0177776C.066D.0177766

57.设有无符号整型变量a值为331,计算表达式a=(a>>4)&~(~0<<4)后,a的值是(A)。

A.4B.15C.015D.017

58.下列格式符中,哪一个可以用于以8进制形式输出整数(C)。

A、%dB、%8dC、%oD、%ld

59.下列格式符中,哪一个可以用于以16进制形式输出整数(B)。

A、%16dB、%8xC、%d16D、%d

60.a是int类型变量,c是字符变量。

下列输入语句中哪一个是错误的(B)。

A、scanf(”%d,%c”,&a,&c);B、scanf(”%d%c”,a,c);

C、scanf(”%d%c”,&a,&c);D、scanf(”d=%d,c=%c”,&a,&c);

61.字符变量ch=’A’,int类型变量k=25,语句printf(”%3d,%d3\n”,ch,k);输出(A)。

A、65,253B、65253C、65,25D、A25

62.设a=1234,b=12,c=34执行printf(“|%3d%3d%-3d|\n”,a,b,c);的输出是(A)。

A.|12341234|B.|1231234|C.|123412-34|D.|2341234|

63.使用scanf(“x=%f,y=%f”,&x,&y);要使x,y均为1.25,正确的输入是(C)。

A.1.25,1.25B.1.251.25C.x=1.25,y=1.25D.x=1.25y=1.25

64.要使doublex;longa;获得数据,正确的输入语句是(C)。

A.scanf(“%d,%f”,&a,&x);B.scanf(“%f,%1d”,&x,&a);

C.scanf(“%ld,%1f”,&a,&x);D.scanf(“%1d,%1f”,a,x);

65.要使doublex;longa;的数据能正确的输出,输出语句应是(D)。

A.printf(“%d,%f”,a,x);B.printf(“%d,%1f”,a,x);

C.scanf(“%1d,%1f”,&a,&x);D.printf(“%1d,%lf”,a,x);

66.设有inta=255,b=8;则printf(“%x,%o\n”,a,b);的输出的是(B)。

A.255,8B.ff,10C.0xff,010D.输出格式错

67.设有inti=010,j=10;则printf(“%d,%d\n”,++i,j--);的输出的是(B)。

A.11,10B.9,10C.010,9D.10,9

68.设a、b为字符型变量,执行scanf(“a=%c,b=%c”,&a,&b);

后使a为’A’,b为’B’,从键盘上的正确输入是(D)。

A.‘A’’B’B.‘A’,’B’C.A=A,B=BD.a=A,b=B

二、填充题

1.在内存中存储“A”要占用个字节,存储‘A’要占用个字节。

2.C语言中的逻辑值“真”是用表示的,逻辑值“假”是用表示。

逻辑

表达式值为“真”是用表示的,逻辑表达式值为“假”是用表示的。

3.符号常量的定义方法是。

4.无符号基本整型的数据类型符为unsigned,双精度实型数据类型符为double,

字符型数据类型符为char。

6.定义变量的完整语句格式是存储类型符数据类型符变量名1=初值1……变量名n=初

值n。

7.设下列运算符:

<<、+、++、&&、<=,其中优先级最高的是++,优先级最低的

是&&。

8.设二进制数A是00101101,若想通过异或运算A^B使A的高4位取反,低4位不变,

则二进制数B应是11110000。

10.设a=3,b=2,c=1,则a>b的值为1,a>b>c的值为0(a>b>ca>b为11>c假为0)。

11.若已知a=10,b=20,则表达式!

a

a为00

12.设c=’w’,a=1,b=2,d=-5,则表达式‘x’+1>c,‘y’!

=c+2,-a-5*b<=d+1,b==a=2的值为

1,0,0,1。

13.设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为1.0(x/y为0整除)。

14.若已知shortints=10;inti=25;longintk=1000000L;floatf=0.5;doubled=1.5;则表达式

f+s*i-k,i/f+s*d,(double)i/s*f,k/i+(int)d/f的值为–999749L,65.000000,

1.2500000,40002L。

14.设floatx=2.5,y=4.7;inta=7;,表达式x+a%3*(int)(x+y)%2/4的值为2.5。

15.intx=17,y=5;执行语句x+=--x%--y后x的值为16。

16.intx=17,y=5;执行语句x%=x++/--y后x的值为2。

17.ch是字符变量,判断ch是英文字母的逻辑表达式为ch>=’a’&&ch<=’z’||

ch>=’A’&ch<=’Z’.

18.判断int类型变量n是否为两位整数的逻辑表达式为abs(n)>9&&abs(n)<100。

19.判断变量a、b的值均不为0的逻辑表达式为a!

=0&&b!

=0。

20.判断变量a、b是否绝对值相等而符号相反的逻辑表达式为a==-b。

21.变量a、b中必有且只有一个为0的逻辑表达式为a==0&&b!

=0||a!

=0&&b==0。

22.m是值为两位数的整型变量,判断其个位数是奇数而十位数是偶数的逻辑表达式为

m/10%2==0&&m%2==1。

23.求解赋值表达式a=5+(c=6)后表达式值、a、c的值依次为11,11,6。

24.求解赋值表达式a=(b=10)%(c=6),表达式值、a、b、c的值依次为4,4,10,6。

25.求解逗号表达式x=a=3,6*a后,表达式值、x、a的值依次为18,3,3。

26.求解逗号表达式(a=15,a*4),a+5,表达式值、a的值依次为20,15。

27.求变量a、b中最大值的条件表达式为a>b?

a:

b。

28.若a=13、b=25、c=-17,条件表达式((y=(a

a:

b)

y:

c的值为-17。

29.若s=’d’,执行语句s=(s>=’a’&&s<=’z’)?

s-32:

s;字符变量s的值为‘D’。

30.3&5、3|5、3||5的值分别为1、7、1。

31.intx=707,表达式x^x、x|x、~x^x的值分别为0、707、707。

32.intx=0707,表达式~x&&x、!

x&&x、x>>3&~0的值分别为0、0、070

33.inta=7,b=6,c=5;,表达式(a+b)>(c*c)&&b==c||c>b的值为0。

34.inta=3,b=5,c=7;,表达式a>c||c>b!

=0&&c==b+a的值为0。

35.设整型变量x,y,z均为5:

①执行x-=y–z;后x=5,

③执行x%=y+z;后x=5,

③执行x=(y>z)?

x+2:

x-2,3,2后x=3。

36.20

37.数学式

的C语言表达式a/(b*c)。

38.中运算结果可以当成逻辑值使用的表达式有:

关系表达式、算术表达式、

条件表达式、赋值表达式和逗号表达式。

第三章

顺序结构、选择结构和循环结构

一、单项选择题

1.假定所有变量均已正确定义,下列程序段运行后y的值是(A)。

inta=0,y=10;

if(a=0)y--;elseif(a>0)y++;elsey+=y;

A.20B.11C.9D.0

2.假定所有变量均已正确定义,下列程序段运行后x的值是(B)。

a=b=c=0,x=35;

if(!

a)x--;elseif(b);if(c)x=3;elsex=4;

A.34B.4C.35D.3

3.下面的程序片段所表示的数学函数关系是(C)。

y=-1;

if(x!

=0)if(x>0)y=1;elsey=0;

A.

B.

C.

D.

4.下列各语句序列中,能够且仅输出整型变量a、b中最大值的是(C)。

A、if(a>b)printf(”%d\n”,a);printf(”%d\n”,b);

B、printf(”%d\n”,b);if(a>b)printf(”%d\n”,a);

C、if(a>b)printf(”%d\n”,a);elseprintf(”%d\n”,b);

D、if(a

5.下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是(B)。

A、if(u>s)t=u;t=s;B、t=s;if(u>s)t=u;

C、if(u>s)t=s;elset=u;D、t=u;if(u

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

当前位置:首页 > 高等教育 > 哲学

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

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