大一c语言习题练习及答案.docx

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

大一c语言习题练习及答案.docx

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

大一c语言习题练习及答案.docx

大一c语言习题练习及答案

第一章程序设计与C语言

1.1选择题

考点:

标识符的命名规则

(1)只能由字母、数字、下划线构成

(2)数字不能作为标识符的开头

(3)关键字不能作为标识符

选项A中的“-”,选项B中“[”与“]”不满足

(1);选项D中的int为关键字,不满足(3)

1.下列正确的标识符是(C )。

A.-a1B.a[i]C.a2_iD.intt

2.下列C语言用户标识符中合法的是(B)。

A)3axB)xC)caseD)-e2E)union

选项A中的标识符以数字开头不满足

(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足

(1);

3.下列四组选项中,正确的C语言标识符是(C)。

A)%xB)a+bC)a123D)123

选项A中的“%”,选项B中“+”不满足

(1);选项D中的标识符以数字开头不满足

(2)

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

A、print_3ddb8aBcB、I\amone_halfstart$it3pai

C、str_1CpppowwhileD、PxqMy->bookline#His.age

选项B中的“\”,”$”,选项D中“>”,”#”,”.”,”-”不满足

(1);选项C中的while为关键字,不满足(3)

知识点:

简单C语言程序的构成和格式

5.在一个C程序中___B___。

A、main函数必须出现在所有函数之前B、main函数可以在任何地方出现

C、main函数必须出现在所有函数之后D、main函数必须出现在固定位置

6.以下说法中正确的是__D____。

A、#define和printf都是C语句B、#define是C语句,而printf不是

C、printf是C语句,但#define不是D、#define和printf都不是C语句

7.一个C程序的执行是从(A)。

A本程序的main函数开始,到main函数结束

B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C本程序的main函数开始,到本程序文件的最后一个函数结束

D本程序文件的第一个函数开始,到本程序main函数结束

8.在C语言中,每个语句必须以(D)结束。

A.回车符B.冒号C.逗号D.分号

9.C语言规定:

在一个源程序中,main函数的位置(C)。

A.必须在最开始B.必须在系统调用的库函数的后面

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=&a;

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.若有定义:

inta=8,b=5,c;,执行语句c=a/b+0.4;后,c的值是__B____。

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;

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

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

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

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

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

printf("%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;

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

}

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

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

main()

{

unsigneda=32768;

printf("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.有以下程序

main()

{

intm=0256,n=256;

printf("%o%o\n",m,n);

}

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

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

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

main()

{

intx;

scanf("%d",&x);

if(x++>5)printf("%d\n",x);

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

}

则输出是__B____。

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

38.有以下程序

main()

{

chara1='M',a2='m';

printf("%c\n",(a1,a2));

}

以下叙述中正确的是___B___。

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

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

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

main()

{

inta;

printf("%d\n",(a=3*5,a*4,a+5));

}

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

40.设有如下程序段

intx=2002,y=2003;

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

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

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

B、运行时产生错误信息

C、输出值为2002

D、输出值为2003

41有以下程序

main()

{

intx,y,z;

x=y=1;

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

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

}

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

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

42.设有以下定义

inta=0;

doubleb=1.25;

charc='A';

#defined2

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

A、a++;B、b++;C、c++;D、d++;

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

main()

{

intx=10,y=10;

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

}

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

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

printf("%d",(x,y));

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

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

45.设有如下定义:

intx=10,y=3,z;

则语句

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

的输出结果是___D___。

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

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

main()

{

intx;

scanf("%d",&x);

if(x++>5)

printf("%d",x);

else

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

}

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

main()

{

inti=10,j=10;

printf("%d,%d\n",++i,j--);

}

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

49.有以下程序

main()

{

inty=10;

while(y--);

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

}

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

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

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

main()

{inta=7,b=5;

printf("%d\n",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

a:

c

a:

d的结果为(D)。

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

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

10

A.10

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.若有说明语句:

charc='\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;

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

则输出结果是______。

答案:

-3

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

第三章CH3顺序程序设计

3.1选择题

1.如果inta=3,b=4;则条件表达式"a

a:

b"的值是__A__。

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

表达式1?

表达式2:

表达式3

先计算表达式1,

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

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

此题中的a

a为3,b为4。

a

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

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