C语言第一二三章习题

更新时间:2024-01-10 04:34:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

(一)判断题(用A表示正确,B表示错误)

说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。

1、函数是C程序的基本单位,每个C程序中允许有多个main函数。 ( ) 2、在C程序中允许1行有多个语句,一个语句分多行写。( ) 3、C语言是一门低级语言。( )

4、C程序中,注释说明语句只能位于一条语句的后面,不可以单独一行。( ) 5、在C程序中123.345E-4是一个正确的实型数据( ) 6、任何一个C语言源程序都能直接在计算机中运行。( ) 7、C语言中表示逻辑“真”值是用1来表示的。() 8、在C语言中,逗号运算符的优先级最低。( ) 9、0XAG、0XCF是十六进制整型常量。( )

10、在一个C源程序中,每个语句都是以;结束的。 11、3+4x、a*(10%3)都是正确的C语言的表达式。( ) 12、C语言是一门结构化程序设计语言。( )

13、 有以下定义“int b;”则说明了b 是整型变量,并且分配一个存储单元,该存储单元的内容

为b。( )

14、 字符型变量在输出时可以是字符型数据和整型数据。( ) 15、 语言的运算符优先级是指不同的运算符计算的先后顺序,比如,双目运算符比单目运算符优先。

( )

16、 C语言中的关键字不能当作变量名使用。( )

17、 C语言中没有单独的输入输出语句,输入输出功能由函数来完成。( ) 18、 在C语言中名字为NUM和num的标识符表示的是同一个变量。( ) 19、 在C程序的一行上可以出现多个有效的预处理命令行。( )

20、 一个C语言源程序经过编译后就能直接生成扩展名为.exe的文件。( )

21、在C语言中,所有外部设备都可以作为文件来对待,这样的文件称为设备文件。( ) 22、若a和b类型相同,在执行了赋值表达式a=b后b中的值将放入a中而b中的值不变。( ) 23、在C程序中,%运算符要求运算数必须是整型的运算符。( )

24、scanf函数的输入项可以为一实型常量,如scanf(“%f”,3.5);是正确的语句。( ) 25、已知ch是字符型变量,则赋值语句ch=‘a’+3是错误的。( )

26、一个C程序的执行是从本程序文件的第一个函数开始,到本程序main函数结束。( ) 27、若x是单精度实型变量,表达式 (x=10/4) 的值是2.5。( ) 28、表达式x/=5+6等价于x=x/5+6。( ) 29、运算符“=”和“&=”的优先级相同。( ) 30、'%f' 是不正确的字符常量。( ) 31、运算符“+”不能作为单目运算符。( )

32、如果运算符“*”和“/”都是右结合的,则表达式10 * 6 / 5 的值是10。( ) 33、s(s-a)(s-b)(s-c) 是合法的C语言表达式。( ) 34、表达式 !!6的值是6。( ) 35、表达式 ~(~2<<1)的值是5。( )

36、不同类型的变量在内存中占用存储空间的大小都是一样的。( ) 37、程序调试就是找出并改正C源程序中的语法错误。( ) 38、表示数学式3

39、程序设计语言必须具备数据表达和流程控制的功能。( ) 40、‘\\n’不是一个字符常量。( )

41、表达式 (1.23 << 2)符合C语言语法。( )

42、与float型数据相比,double型数据的精度高,取值范围大。( ) 43、在C语言中,表达式(010+2)的值是10。

44、结构化程序语言的三种基本控制结构是顺序、选择和循环。( ) 45、C 语言程序的三种基本结构是顺序、选择和嵌套。( ) 46、C语言是一门面向对象的程序设计语言。( ) 47、C语言可以有一个以上的主函数MAIN。( ) 48、C语言的注释部分用“/ /”表示。( )

49、经过编译后生成的目标程序是可以直接运行的。( ) 50、表达式(3.6%2)符合C语言语法。( )

51、在 C 程序中,用整数0表示逻辑值“假”。( ) 52、08是正确的整型常量。( )

53、若变量已正确定义,表达式 x=y=1符合C语言语法。( ) 54、表达式 !(x>0||y>0) 等价于!(x>0)&&!(y>0)。( )

55、用#define pi 3.1415926定义的符号常量pi的值在程序中是不能被改变的。( ) 56、C语言的注释部分用“/* */”表示。( )

57、不同类型的变量在内存中占用存储空间的大小是不一样的。( ) 58、表示数学式11 && X<10。( ) (二)单项选择题

1、下列定义中, 定义的变量可以存放 -123.4。

A、long a; C、int d;

B、unsigned b; D、float c;

2、若x是double型变量,n是int型变量,执行 ,并输入3 1.25后,x=1.25,n=3。

A、scanf(\

B、scanf(\D、scanf(\

C、scanf(\

3、若变量已经被正确定义,为表示“变量x和y都能被3整除”,应使用的C表达式是 。

A、(x%3 != 0) || (y%3 != 0) C、(x%3 == 0) || (y%3 == 0)

B、(x%3 != 0) && (y%3 != 0) D、(x%3 == 0) && (y%3 == 0)

4、以下所列的C语言常量中,错误的是 。

A、 0xFF B、 1.2e0.5 C)、202L D、 '\\72' 5、下面程序的输出是 。

A、0 B、1 C、3 D、不确定的值 main()

{int x=10,y=3;

printf(“%d\\n”,y=x/y);} 6、 不是C语言的运算符。 A、 && B、 & C、 * D、 $ 7、字节数最多的类型是 。

A、int B、 char C、 double D)、long 8、 在下列选项中, 不是赋值语句。

A、t=1,t=2; B、n1=(n2=(n3=0)); C、 k=i==j; D、a=bc=1; 9、 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:

scanf(“%d%f”,&i,&f); 为了把100和76.12分别赋给i和f,则正确的输入为 。 A、100 76.12 B、i=100,f=76.12 C、100,76.12 D、i=100 f=76.12 10、 能正确表示a和b同时为正或同时为负的逻辑表达式是 。 A、(a>=0||b>=0)&&(a<0||b<0) B、(a>=0&&b=0)&&(a<0&&b<0) C、(ab>0)&&(ab<=0) D、a*b>0

11、 为表示“a和b都不等于0”,应使用的C语言表达式是 。 A、(a!=0) || (b!=0) B、a || b C、!(a=0)&&(b!=0) D、a && b

12、若x是单精度实型变量,k是基本整型变量,以下正确的输入语句是 。 A、scanf (\、scanf (\C、scanf (\、scanf (\13、下列运算符中优先级最低的是 。 A、* B、% C、= D、->

14、已知字符 ‘c’ 的ASCII码为 99 ,语句printf (\为 。

A、99,c B、99,100

C、99,d D、语句不合法 15、以下选项中规范的指数形式 。 A、5E2.0 B、E-3 C、.2E0 D、1.3E+005 16、下列表达式的值为1的是 。 A、3﹪5 B、3/5.0 C、3/5 D、3<5

17、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 。 A、必须为字母 B、必须为下划线

C、必须为字母或下划线 D、可以是字母、数字和下划线中任一种字符 18、下列运算符中优先级最高的是 。 A、<

B、+

C、&&

D、!=

19、阅读以下程序:

若x、i、j和k都是int型变量,则执行下面表达式后x的值为 。 x=(i=4,j=16,k=32) A、4

B、16 C、32 D、52

20、若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是 。

A、A%2==1 B、!(A%2==0) C、!(A%2)

D、A%2

21、对于int i, j; char c; 当输入序列为1dc2 3 4时,执行语句

scanf(“Y%c%*d%*d%d”, &i, &c, &j); 后i, j, c的值分别为 。 A、 1 2 ‘d’ B、 1 2 ‘c’ C、 1 4 ‘d’ D、 1 4 ‘c’

22、若x是单精度实型变量,k是基本整型变量,以下正确的输入语句是 。 A、scanf (\、scanf (\C、scanf (\、scanf (\23.下面程序的输出结果是 。 main ( ) { int x=10;

printf(“%d\\n”,(x=5*6,x*4,x+5)); } (A)30 (B)125 (C)35 (D)120

24、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中相对应的正确输入语句是 。 A、scanf(\ B、scanf(\

C、scanf(\ D、scanf(\

25、 设c是一个字符变量,求解表达式 后,c的值不是1就是0。 A、c=getchar()!='\\n' C、c = '1'

B、(c=getchar())!='\\n'

D、c = EOF

26、下列叙述中错误的是 。 A、一个C语言程序只能实现一个算法。 B、C程序可以有多个程序文件组成。 C、C程序可以有一个或多个函数组成。

D、一个C函数可以单独作为一个C程序文件存在。 27、下列叙述中正确的是 。

A、每个C程序文件中都必须要有一个main()函数。 B、在C程序中mani()函数的位置是固定的。

C、C程序中所有函数之间都可以互相调用,与函数所在位置无关。 D、C程序只能有一个main()函数组成。 28、下列定义变量的语句中错误的是 。

A、int _int; B、double int_ ; C、char For; D、float US$; 29、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是 。 A、++x,y=x--; B、x+1=y; C、x=x+10=x+y; D、double(x)/10; 30、以下关于逻辑运算符两侧运算对象的叙述中正确的是 。 A、只能是整数0或1; B、只能是整数0或非0整数; C、可以是结构体类型的数据; D、可以是任意合法的表达式;

31、若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的(x-y)等价的是 。

A、(x-y>0) B、(x-y<0) C 、(x-y<0||x-y>0) D、(x-y==0) 32、有以下程序

main() {int x,y,z; x=y=1; z=x++,y++,++y;

printf(“%d,%d,%d”,x,y,z);} 程序运行后的输出结果是 。

72、以下选项中非法的表达式是______。

A、0<=x<100 B、i=j==0 C、(char)(65+3) D、x+1=x+1 73、有以下程序 main()

{ int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a); printf(\程序运行后的输出结果是______。

A、0,0 B、0,1 C、1,0 D、1,1

74、有定义语句:int x, y;,若值11,变量y得到数值12,下面四组输入要通过scanf(\语句使变量x得到数形式中,错误的是______。 A、11 12<回车> B、11, 12<回车> C、11,12<回车> D、11,<回车> 12<回车>

75、设有如下程序段: int x=2002, y=2003; printf(\则以下叙述中正确的是______。

A、输出语句中格式说明符的个数少于输出项的个数,不能正确输出 B、运行时产生出错信息 C、输出值为2002 D、输出值为2003

76、设变量x为float型且已赋值,,则以下语句中能将x的值第三位四舍五入后,使数值保留到小数点后两位的是______。

A、x=x*100+0.5/100.0; B、x=(x*100+0.5)/100.0; C、x=(int)(x*100+0.5)/100.0; D、x=(x/100+0.5)*100.0; 77、以下叙述正确的是______。 A、 C语言比其他语言高级

B)、C语言可以不用编译就能被计算机识别执行

C、 C语言以接近英语国家的自然语言和数学语言作为语言的表达形式

D)、C语言出现的最晚、具有其他语言的一切优点

78、C语言中用于结构化程序设计的三种基本结构是______。 A)、顺序结构、选择结构、循环结构 B)、if、switch、break C)、for、while、do-while D)、if、for、continue

79、在一个C语言程序中______。 A、main函数必须出现在所有函数之前 B、main函数可以在任何地方出现 C、main函数必须出现在所有函数之后 D、main函数必须出现在固定位置 80、下列叙述中正确的是______。 A)、C语言中既有逻辑类型也有集合类型 B、 C语言中没有逻辑类型但有集合类型 C、 C语言中有逻辑类型但没有集合类型 D、C语言中既没有逻辑类型也没有集合类型

81、下列关于C语言用户标识符的叙述中正确的是______。 A、 用户标识符中可以出现下划线和中划线(减号) B)、用户标识符中不可以出现中划线,但可以出现下划线

C、 用户标识符中可以出现下划线,但不可以放在用户标识符的开头 D、用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头 82、若有以下程序段(n所赋的是八进制数) int m=32767,n=032767; printf(\执行后输出结果是______。 A、32767,32767 B、32767,032767 C、32767,77777 D、32767,077777

83、下列关于单目运算符++、--的叙述中正确的是______。 A、它们的运算对象可以是任何变量和常量

B、它们的运算对象可以是char型变量和int型变量,但不能是float型变量

C、它们的运算对象可以是int型变量,但不能是double型变量和float型变量 D、它们的运算对象可以是char型变量、int型变量和float型变量 84、若有以下程序段 int m=0xabc,n=0xabc; m-=n;

printf(\执行后输出结果是______。

A、 0X0 B、0x0 C、 0 D、0XABC 85、有以下程序段

int m=0,n=0; char c='a'; scanf(\printf(\

若从键盘上输入:10A10<回车>,则输出结果是 ______。

A、 10,A,10 B、10,a,10 C、 10,a,0 D、 10,A,0 86、以下叙述中正确的是______。 A、构成C程序的基本单位是函数 B、可以在一个函数中定义另一个函数 C、 main()函数必须放在其它函数之前

D、所有被调用的函数一定要在调用之前进行定义 87、以下选项中合法的实型常数是______。

A、 5E2.0 B)、E-3 C、 .2E0 D、 1.3E 88、以下选项中合法的用户标识符是______。

A、 long B)、_2Test C)、3Dmax D、 A.dat

89、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\\101'是______。

A、字符A B)、字符a C、 字符e D)、非法的常量 90、以下非法的赋值语句是______。

A、n=(i=2,++i); B、 j++; C、 ++(i+1); D、 x=j>0;

91、设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是______。 A、6.500000 B、6 C、5.500000 D)、6.000000

92、已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。

A、scanf(\B、scanf(\C、scanf(\D、scanf(\

93、与数学式子3乘以x的n次方/(2x-1)对应的C语言表达式是______。 A、3*x^n/(2*x-1) B、3*x**n/(2*x-1)

C、3*pow(x,n)*(1/(2*x-1)) D、3*pow(n,x)/(2*x-1)

94、设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是______。 A、printf(\B、printf(\C、printf(\D、printf(\95、若有以下程序: main()

{int k=2,i=2,m;

m=(k+=i*=k); printf(\执行后的输出结果是______。

A、8,6 B、 8,3 C、 6,4 D、 7,4

96、已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是______。 A、 6 B)、0 C)、2 D、 1

97、下列哪个符号是函数体的开始和结束标志______。 A、( ) B、{ } C、/* */ D、〈 〉 98、以下程序输出结果是______。

main() {int x,y; x=y=10;

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

A、10 10 B、10 9 C、9 9 D、9 10 99、下列哪个是正确的C语言表达式______。

A、(a+b-4/2.0)*c B、sqrt(3ab)/4 C、a%2.0 D、[1+pow(a,5)]*x 100、下列运算符哪个优先级最高______。

A、 = B、 == C、 >= D、 %

本文来源:https://www.bwwdw.com/article/lvzo.html

Top