大一c语言习题练习及答案Word格式文档下载.docx

上传人:b****5 文档编号:19930245 上传时间:2023-01-12 格式:DOCX 页数:149 大小:113.81KB
下载 相关 举报
大一c语言习题练习及答案Word格式文档下载.docx_第1页
第1页 / 共149页
大一c语言习题练习及答案Word格式文档下载.docx_第2页
第2页 / 共149页
大一c语言习题练习及答案Word格式文档下载.docx_第3页
第3页 / 共149页
大一c语言习题练习及答案Word格式文档下载.docx_第4页
第4页 / 共149页
大一c语言习题练习及答案Word格式文档下载.docx_第5页
第5页 / 共149页
点击查看更多>>
下载资源
资源描述

大一c语言习题练习及答案Word格式文档下载.docx

《大一c语言习题练习及答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《大一c语言习题练习及答案Word格式文档下载.docx(149页珍藏版)》请在冰豆网上搜索。

大一c语言习题练习及答案Word格式文档下载.docx

C.可以任意D.必须在最后

10.一个C语言程序是由(B)。

A.一个主程序和若干子程序组成B.函数组成

C.若干过程组成D.若干子程序组成

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

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

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

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

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

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

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

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

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

1.2填空题

1、C语言只有32个关键字和9种控制语句。

2、每个源程序有且只有一个main函数,系统总是从该函数开始执行C语言程序。

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

4、C语言中,输入操作是由库函数scanf完成的,输出操作是由库函数printf完成的。

5、系统默认的C语言源程序文件的扩展名是.c,经过编译后生成的目标文件的扩展名是.obj,经过连接后生成的可执行文件的扩展名是.exe。

6、C语言的标识符只能由字母、数字和下划线三种字符组成。

 

第二章CH2数据的存储与运算

2.1选择题

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

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

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

2.在C语言程序中,表达式5%2的结果是C。

A)2.5B)2C)1D)3

%为求余运算符,该运算符只能对整型数据进行运算。

且符号与被模数相同。

5%2=1;

5%(-2)=1;

(-5)%2=-1;

(-5)%(-2)=-1;

/为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=2

3.设inta=12,则执行完语句a+=a-=a*a后,a的值是__D____。

A、552B、264C、144D、-264

4.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是___A___。

A、x/y*zB、x*(1/(y*z))C、x/y*1/zD、x/y/z

5.若有定义:

inta=8,b=5,c;

执行语句c=a/b+0.4;

后,c的值是__B____。

A、1.4B、1C、2.0D、2

6.以下选项中,不能作为合法常量的是__B____。

A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e0

7.以下符合C语言语法的实型常量是___C___。

A、1.2E0.5B、3.14159EC、.5E-3D、E15

8.表达式3.6-5/2+1.2+5%2的值是__D____。

A、4.3B、4.8C、3.3D、3.8

9.下列定义变量的语句中错误的是__D____。

A、int_intB、doubleint_C、charForD、floatUS$

10.以下不合法的用户标识符是__C____。

A、j2_KEYB、DoubleC、4dD、_8_

11.以下4组用户定义标识符中,全部合法的一组是__A____。

A、_mainencludesinB、If-maxturbo

C、txtREAL3COMD、intk_2_001

12.以下定义语句中正确的是__C____。

A、chara='

A'

b='

B'

;

B、floata=b=10.0;

(正解a=10.0b=10.0)

C、inta=10,*b=&

a;

D、float*a,b=&

13.以下不能定义为用户标识符的是__D____。

A、scanfB、VoidC、_3com_D、int

14.以下有4组用户标识符,其中合法的一组是___C___。

A、For-subCaseB、4dDOSizeC、f2_G3IFabcD、WORDVoiddefine

15.C语言中最简单的数据类型包括_B_____。

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

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

16.下列选项中,合法的C语言关键字是__D____。

A、VARB、cherC、integerD、default

17.以下不能定义为用户标识符的是__D____。

A、MainB、_0C、_intD、sizeof

18下列叙述中正确的是_D_____。

A、C语言中既有逻辑类型也有集合类型B、C语言中没有逻辑类型但有集合类型

C、C语言中有逻辑类型但没有集合类型D、C语言中既没有逻辑类型也没有集合类型

19.设inta=12,则执行完语句a+=a-=a*a后,a的值是__D____。

A、552B、264C、144D、-264

20.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数字式子x/(y*z)的C语言表达式是___A___。

A、x/y*zB、x*(1/(y*z))C、x/y*1/zD、x/y/z

21.若有定义:

A、1.4B、1C、2.0D、2

22.设有定义:

floata=2,b=4,h=3;

以下C语言表达式与代数式1/2((a+b)h)计算结果不相符的是___B___。

A、(a+b)*h/2B、(1/2)*(a+b)*hC、(a+b)*h*1/2D、h/2*(a+b)

23.假定x和y为double型,表达式x=2,y=x+3/2的值是___D___。

A、3.500000B、3C、2.000000D、3.000000

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

A、1B、2C、2.000000D、2.500000

25.若有以下程序段

intc1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是___A___。

A、0B、0.5C、1D、2

26.设有intx=11;

则表达式(x++*1/3)的值是___A___。

A、3B、4C、11D、12

27.下列程序的输出结果是___C___。

main()

{

doubled=3.2;

intx,y;

x=1.2;

y=(x+3.8)/5.0;

printf("

%d\n"

d*y);

}

A、3B、3.2C、0D、3.07

28.请读程序片段:

inti=65536;

%d\n"

i);

上面程序片段的输出结果是___B___。

A、65536B、0C、有语法错误,无输出结果D、-1

29.若有以下定义和语句:

intu=010,v=0x10,w=10;

%d,%d,%d\n"

u,v,w);

则输出结果是:

__A____。

A、8,16,10B、10,10,10C、8,8,10D、8,10,10

30.在C语言中,不正确的int类型的常数是___A___。

A、32768B、0C、037D、0xAF

31.以下程序的输出结果是__D____。

main()

intk=17;

%d,%o,%x\n"

k,k,k);

A、17,021,0x11B、17,17,17C、17,0x11,021D、17,21,11

32.下面程序的输出是__C____。

unsigneda=32768;

a=%d\n"

a);

A、a=32768B、a=32767C、a=-32768D、a=-1

33.在C语言中,合法的长整型常数是___A___。

A、0LB、4962710C、324562&

D、216D

34.C语言中运算对象必须是整型的运算符是__A____。

A、%=B、/C、=D、<

=

35.以下选项中不属于C语言的类型名称是___D___。

A、signedshortintB、unsignedlongintC、unsignedintD、longshort

36.有以下程序

intm=0256,n=256;

%o%o\n"

m,n);

程序运行后的输出结果是___C___。

A、02560400B、0256256C、256400D、400400

37.若执下面程序时从键盘上输入5,

intx;

scanf("

%d"

&

x);

if(x++>

5)printf("

x);

elseprintf("

x--);

则输出是__B____。

A、7B、6C、5D、4

38.有以下程序

main()

chara1='

M'

a2='

m'

%c\n"

(a1,a2));

以下叙述中正确的是___B___。

A、程序输出大写字母MB、程序输出小写字母m

C、格式说明符不足,编译出错D、程序运行时产生出错信息

39.以下程序的输出结果是__B____。

inta;

(a=3*5,a*4,a+5));

A、65B、20C、15D、10

40.设有如下程序段

intx=2002,y=2003;

(x,y));

则以下叙述中正确的是__D____。

A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出

B、运行时产生错误信息

C、输出值为2002

D、输出值为2003

41有以下程序

intx,y,z;

x=y=1;

z=x++,y++,++y;

x,y,z);

A、2,3,3B、2,3,2C、2,3,1D、2,2,1

42.设有以下定义

inta=0;

doubleb=1.25;

charc='

#defined2

则下面语句中错误的是__D____。

A、a++;

B、b++;

C、c++;

D、d++;

43.以下程序的输出结果是___D___。

intx=10,y=10;

%d%d\n"

x--,--y);

A、1010B、99C、910D、109

44.若x和y都是int型变量,x=100、y=200,且有下面的程序片段

上面程序片段的输出结果是___A___。

A、200B、100C、100200D、输则格式符不够,输出不确定的值

45.设有如下定义:

intx=10,y=3,z;

则语句

z=(x%y,x/y));

的输出结果是___D___。

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

46.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是___A___。

if(x++>

5)

else

}

A、7和5B、6和3C、7和D、6和4

47.若t为double类型,表达式t=1,t+5,t++的值是___D___。

A、1B、6.0C、2.0D、1.0

48.以下程序的输出结果是__A____。

#include<

stdio.h>

inti=10,j=10;

%d,%d\n"

++i,j--);

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

49.有以下程序

inty=10;

while(y--);

y=%d\n"

y);

程序执行后的输出结果是__B___。

A、y=0B、y=-1C、y=1D、while构成无限循环

50.下列程序的输出结果是(B)。

{inta=7,b=5;

b=b/a);

A、5B、1C、0D、不确定值

51.以下选项中,不正确的C语言浮点型常量是(C)。

A.160B.0.12C.2e4.2D.0.0

52.以下选项中,(D)是不正确的C语言字符型常量。

A.'

a'

B.'

\x41'

C.'

\101'

D."

a"

53.在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。

A.原码B.反码C.ASCII码D.BCD码

54.若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)。

x=(i=4,j=16,k=32)

A.4B.16C.32D.52

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

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

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

56.若有代数式,则不正确的C语言表达式是(C)。

A.a/b/c*e*3B.3*a*e/b/c

C.3*a*e/b*cD.a*e/c/b*3

57.表达式!

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

A.!

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

(x||y)==b

C.!

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

x)||(a==b)

58.设整型变量m,n,a,b,c,d均为1,执行(m=a>

b)&

&

(n=c>

d)后,m,n的值是(A)。

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

59.设有语句inta=3;

,则执行了语句a+=a-=a*=a;

后,变量a的值是(B)。

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

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

A.*B.!

=C.+D.=

61.设整型变量i值为2,表达式(++i)+(++i)+(++i)的结果是(B)。

A.6B.12C.15D.表达式出错

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

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

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

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

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

a<

b?

a:

c<

d?

d的结果为(D)。

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

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

10<

15的C语言表达式是(A)。

A.10<

15B.a==11||a==12||a==13||a==14

C.a>

10&

a<

15D.!

(a<

=10)&

!

(a>

=15)

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

A.f=3.2,1.0B.f>

0,f<

10

C.f=2.0,f>

0D.f=(3.2,1.0)

67.表达式18/4*sqrt(4.0)/8值的数据类型是(C)。

A.intB.floatC.doubleD.不确定

68.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句

C2=’A’+’6’-‘3’;

后c2中的值是(A)。

A.DB.68C.不确定的值D.C

69.以下用户标识符中,合法的是(B)。

A.intB.nitC.123D.a+b

70.C语言中,要求运算对象只能为整数的运算符是(A)。

A.%B./C.>

D.*

71.若有说明语句:

\72'

则变量c在内存占用的字节数是(A)。

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

72.字符串"

ABC"

在内存占用的字节数是(B)。

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

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

A.chara="

3"

B.chara=’3’;

C.chara=%;

D.chara=*;

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

A.\\B.\'

C.074D.\0

2.2填空题

1、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表示的。

2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算表达式x%=(n%=2)后x的值为0。

3、设c='

w'

a=1,b=2,d=-5,则表达式'

x'

+1>

c,'

y'

!

=c+2,-a-5*b<

=d+1,b==a=2的值分别为1、0、1、1。

4、设floatx=2.5,y=4.7;

inta=7;

,表达式x+a%3*(int)(x+y)%2/4的值为2.5。

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

=0&

b!

=0。

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

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

8、数学式a/(b*c)的C语言表达式a/b/c。

9、若有语句

inti=-19,j=i%4;

j);

则输出结果是______。

答案:

-3

10、设y是int型变量,请写出判断y为奇数的关系表达式_y%2_____。

第三章CH3顺序程序设计

3.1选择题

1.如果inta=3,b=4;

则条件表达式"

a:

b"

的值是__A__。

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

表达式1?

表达式2:

表达式3

先计算表达式1,

若表达式1成立,则选择计算表达式2,并表达式2的值作为整个大表达式的值;

若表达式1不成立,则选择计算表达式3,并将表达式3的值作为整个大表达式的值

此题中的a<

b相当于表达式1,a相当于表达式2,b相当于表达式3.

a为3,b为4。

b表达式1成立,因此计算表达式2,并将表达式2的值即a中的值,并作为整个表达式的值,因此整个表达式的值为3

2.若intx=2,y=3,z=4则表达式x<

z?

y:

z的结果是(B).

A)4B)3C)2D)0E)1

3.C语言中,关系表达式和逻辑表达式的值是(B)。

A)0B)0或1C)1D)‘T’或’F’

4.下面(D)表达式的值为4.

A)11/3 

B)11.0/3

C)(float)11/3 

D)(int)(11.0/3+0.5)

(1)相同数据类型的元素进行数学运算(+、-、*、/)得到结果还保持原数据类型。

(2)不同数据类型的元素进行数学运算,先要统一数据类型,统一的标准是低精度类型转换为高精度的数据类型。

选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数部分全部舍掉,仅保留整数,因此11/3=3.

选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B11.0/3=3.666666

选项C,先将整数11强制类型转换,转换为实型11.0,因此选项C变为11.0/3,其后计算过程、结果与选项B同

选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到3.666

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

当前位置:首页 > 经管营销 > 企业管理

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

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