2023年C语言基础题_第1页
2023年C语言基础题_第2页
2023年C语言基础题_第3页
2023年C语言基础题_第4页
2023年C语言基础题_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一单元C语言概述

一、选择题

1、C语言中主函数的个数为()个。

A)1B)2

C)无穷个D)任意个

2、以下关于C语言描述错误的是()。

A)一个C程序总是从main函数开始执行

B)每个语句和数据声明的最后必须有一个分号

C)C语言的注释符是以“/*”开始并以“*/”结束的

D)一个C程序可以包含多个main函数

3、C语言源程序文献后缀为()。

A).EXEB).OBJC).CD).ASM

4、C语言是由()组成的。

A)子程序B)主程序与子程序C)函数D)过程

5、C语言属于()语言

A)机器语言B)汇编语言C)高级语言D)面向对象语言

第二单元C语言基础

一、选择题

1、C语言中普通整型变量int在内存中占()字节。

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

2、下列不是C语言基本数据类型的是()o

A)字符型B)整型

C)浮点型D)结构体

3、有关自增、自减运算,以下只有()是对的的。

A)—fB)++78C)a—b++D)d++

4、已知A=7.5,B=2,C=3.6,表达式(A〉B&&C>A)||(A<B&&!C>B)的值是

)o

A)0B)10C)1D)5

5、若有x=l,y=2,z=3,则表达式(x<y?x:y)==z的值是()。

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

6,判断char型变量ch是否为大写字母的对的表达式是()。

A)'A'<=ch<='Z'B)(ch>='A')&(ch<='Z')

C)(ch>='A')&&(ch<='Z')D)('A'<=ch)AND('Z'>=ch)

7、判断整型变量digit是否为数字的对的表达式是()。

A)'O'<=ch<='9'B)(ch>='O')&(ch<='9')

C)(ch>='O')&&(ch<='9')D)('O'<=ch)AND('9'>=ch)

8,一个C程序的执行是从()o

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

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

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

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

9、在以下标记符中,合法的是()

A)ifB)OxyC)_xyD)case

10、C语言中各种类型的数据其实决定了占用内存的字节数。float占()。

A)一字节B)二字节C)四字节D)八字节

11、下列各选项中,()是有效的标记符。

A)abB)3dayC)day-3D)#abc

12、以下叙述对的的是()o

A)在C程序中,每行只能写一条语句

B)若a是实型变量,C程序中不允许a=10这种赋值。

C)在C程序中,%是只能用于整数运算的运算符

D)在C程序中,无论是整数还是实数,没有什么区别

13、有输入语句:scanfCa=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,

b的值为3,c的值为2,则对的的数据输入方式是()。

A)132/B)1,3,2/

C)a=lb=3c=2/D)a=l,b=3,c=2/

14、设整型变量a为5,使b不为2的表达式是()o

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

15、以下程序的输出结果是()o

intx=10,y=10;

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

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

16、选出下列标记符中不是合法的标记符的是()。

A)hot_doB)catlC)_priD)2ab

17、设有如下定义:intx=10,y=3,z;

则语句printf("%d\n",z=x%y);的输出结果是()。

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

18、各种基本数据类型的存贮空间对的的长度排列为()。

A)int<char<float<doubleB)double<float<int<char

C)char<int<float<doubleD)float<int<char<double

19、下面的变量说明中()是对的的。

A)char:a,b,c;B)chara;b;c;C)chara,b,c;D)chara,b,Co

20、转义字符“反斜杠线”的表达方法对的的是()。

A)\B)\\C)D)"\”

21、若x=5,y=3则y*=x+5;y的值为()。

A)10B)20C)15D)30

22、能对的表达a和b同时为正或同时为负的逻辑表达式是()。

A)(a>=0||b>=0)&&(a<0||b<0)B)(a>=0&&b>=0)&&(a<0&&b<0)

C)(a+b>0)&&(a+b<=0)D)a*b>0

23、C语言中,合法的字符型常数是()°

A)'A,B)"A”C)65D)A

24、下列程序段的输出结果是()o

charc1,c2;

cl=65;

c2=65+32+l;

printf("%c,%c”,cl,c2);

A)a,BB)a,bC)A,bD)A,B

25、下列语句不具有赋值功能的是(

A)a*=bB)x=lC)a+bD)a++

26、在C语言中,存储一个整型、字符型、双精度实型变量所需的字节()□

A)2、1、8B)4、1、4

C)4、1、4D)2、2、8

27、下列程序段输出结果是()。

intj=2,i=l;

j/=i*j;

printf("%d”,j);

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

28、不是C语言提供的合法关键字是()o

A)switchB)charC)caseD)this

29、在C语言中,规定参与运算的数必须时整数的运算符是()0

A)/B)*C)%D)

30、若已定义x和y为double类型,且x=l;则表达式y=x+3/2的值是()。

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

31、设a为整型变量,不能对的表达数学关系:10<a<15的C语言表达式是

()。

A)10<a<15B)a==ll||a==12||a==13||a==14

C)a>10&&a<15D)!(a<=10)&&!(a〉=15)

32、表达式“10!=9"的值是()o

A)trueB)非零值C)0D)1

33、设a,b为字符型变量,执行scanf("a=%c,b=%c”,&a,&b)后使a为‘A',

b为‘B',从键盘上的对的输入是()0

A)'A''B'B)'A'B'C)A=A,B=BD)a=A,b=B

34、设有单精度变量f,其值为13.8。执行语句“n=((int)f)%3;”后,n的值

是()°

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

35、普通整形int可以解决的数据范围是()

A)-32767〜32767B)-32768〜32768

C)-32767〜32768D)-32768~32767

36、若定义x为double型变量,则能对的输入x值的语句是。

A)scanf("%f',x);B)scanf("%F',&x);

C)scanf("%lf',&x);D)scanfr%5.1F',&x)

37、执行x=(6*7%8+9)/5;后,x的值为()

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

38、若有代数式3ae/bc,则不对的的c语言表达式是()

A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/b/c*3

39、设有变量说明:floatx=4.0,y=4.0,下面使x为10.0的表达式是()

A)x-=y*2.5B)x/=y+9C)x*=y-6D)x+=y+2

40、以下能对的定义整型变量z、b、c并为其赋初值5的语句是()

A)inta=b=c=5;B)inta,c,c=5;

C)a=5,b=5,c=5;D)a=b=c=5;

41、C语言中双精度浮点型变量double在内存中占()字节。

A)1B)2C)4D)8

42、以下哪个数学函数的作用是求某数的平方根()0

A)sqrt()B)fabs()C)pow()D)exp()

43、两次运营下面的程序,假如从键盘上分别输入6和3,则输出结果是()o

intx;

scanf("%d",&x);

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

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

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

44、执行语句"x=(a=3,b=a--)"后,x,a,b的值依次为()。

A)3,3,2B)3,2,2C)3,2,3D)2,3,2

45、读出以下语句的输出结果是()o

intx=10,y=10;

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

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

46、C语言中,合法的字符串型常数是()。

A)'A'B)"A"C)‘abed'D)abed

47>为表达关系x2y2z,应使用C语言表达式()。

A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)

C)(x>=y>=z)D)(x>=z)&(y>=z)

48、C语言的输入与输出操作是由()完毕的。

A)输入语句B)输出语句

C)输入与输出函数D)输入与输出语句

49、设有intx=ll;则表达式(x+1/3)的值是()0

A)11.3B)11.333333C)11D)12

50、若已定义x和y为double类型,则表达式x=l,y=x+3/2的值是()

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

二、判断题

()1、“A”是一个字符常量。X

()2.、在程序运营过程中其值可以改变的量称为变量。V

()3、在C语言中,变量可以先使用再定义。X

()4、在C语言中,所有算术运算符的优先级都相同。X

()5、程序中若要使用数学函数就必须包含头文献”math.h”。V

()6、程序中若要使用printf()函数就必须引用头文献"stdio.h”。V

()7、在标准C中,是判断两个数是否相等。X

()8、在标准C中,使用所有输入输出函数必须包含“stdio.h”文献。X

()9、在C语言中输出数据时可以指定数据的精度,即小数点后保存几

位。V

()10、C语言中的基本数据类型有字符型、整型和浮点型。V

()11、所有的C语言程序都必须有一个名为main的主函数。V

()12、/运算符规定运算数必须是整数。X

()13、Int,#al5,char都是合法的标记符。X

()14、b和"b"是不同的两种常量。V

()15、C语言自身没有输入输出语句,要实现输入输出必须调用相应的

输入输出函数。V

第三单元算法

一、判断题

()1、算法简而言之就是基于某种计算机语言,运用数据结构来解决

具体问题的思绪和方法。V

()2、描述算法的图形化方法之一就是程序流程图。V

()3、描述算法可以用自然语言、传统流程图、N-S流程图来描述。V

()4、算法要有一定的逻辑性和健壮性。V

()5、算法的特点之一是无穷性。X

第四单元顺序结构

一、选择题

1、下列标记符中合法的标记符是()

A)int2B)ifC)2twoD)a#b

2、选出下列标记符中不是合法的标记符的是()

A)hot_doB)cat@l13C)INTD)_2ab

3.、以下选项中属于C语言的数据类型是()

A)字符串型B)双精度型C)逻辑型D)布尔型

4、设有如下定义:intx=10,y=3,z;

则语句printf("%d\n",z=x%y);的输出结果是()

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

5、设整型变量n的值为2,执行语句"n+=n;"后,n的值是()

A)0B)4C)-4D)2

二、判断题

()1、结构化程序设计的三种结构是顺序结构、选择结构和循环结构。

V

()2、可以用printf("%d",123);语句输出一个十六进制整数。X

()3、可以用scanf("%x”,&da);语句从键盘接受一个八进制整数给变量

daoX

()4、语句scanf("%5.2f”,&a);是对的的。X

()5、假如a是一维字符数组名,则语句scanf("%s",&a);是对的的。

X

第五单元选择结构

一、选择题

1、有以下程序段

inta;

if(3&&2)

a=l;

else

a=2;

执行后a=()»

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

2,表达式:10!=9的值是()□

A)trueB)非零值C)0D)1

3、设intx=l,y=l;表达式(!x++||y-)的值是_()。

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

4、设整型变量s,cl,c2的值均为2,则执行语句(s=(cl==c2))后,s的值

为:()。

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

5、设整型变量a,b的值分别为1,0,那么a&&b的结果是()o

A)0B)1C)2D)都不对

6、设整型变量a,b的值分别为1,0,那么a||b的结果是()o

A)0B)1C)2D)都不对

7、设整型变量a,b的值分别为1,0,那么2!=1)的结果是()。

A)0B)1C)2D)都不对

8、设整型变量a,b的值分别为1,0,那么a||(b++)的结果是()。

A)0B)1C)2D)都不对

9、设整型变量a,b的值分别为1,0,那么a&&(++b)的结果是()o

A)0B)1C)2D)都不对

10、设整型变量a,b的值分别为1,2,那么表达式a>b?a+b:a-b的结果是

)o

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

11、下边程序段

inta=2,b=3,c=4;

if(c=a+b)printf(“OK!”)

elseprintf("NO!”);

输出结果是()。

A)OK!B)NOC)程序错误D)以上都不对

12、设整型变量a,b的值分别为1,0,那么a==b的结果是()o

A)0B)1C)2D)都不对

13、设整型变量a,b的值分别为1,0,那么!(a==b)的结果是()o

A)0B)1C)2D)都不对

14、设整型变量a,b的值分别为1,2,那么!a&&b的结果是()o

A)0B)1C)2D)都不对

15、设x为非零,则下列描述错误的是)。

A)!(x==0)B)x!=0C)3*x!=0D)x>0

16、下列表达式的值中哪个表达为逻辑假()。

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

17、设整型变量a,b的值分别为6,2,那么a%b!=0的结果是()o

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

18、下列属于分支结构的是()。

A)whileB)switchC)forD)以上都不是

19、设整型变量a,b的值分别为1,0,那么a||(++b)的结果是()。

A)0B)1C)2D)都不对

20、设整型变量a,b的值分别为1,0,那么a&&(b++)的结果是()。

A)0B)1C)2D)都不对

二、判断题

()1、在分支结构switch中,case后面跟的一定是常量。V

()2、逻辑运算符优先级高于关系运算符的优先级。X

()3、关系运算符中,==的优先级要高于>=的优先级。X

()4、关系运算符中,>的优先级要高于>=的优先级。X

()5、在条件表达式中,-3代表为真。V

()6、在条件表达式中,非0代表为真。V

()7、条件运算符?:是2目运算符。X

()8、在switch语句中,有没有break的情况都是相同的。X

()9、判断a,b两个数是否相等,用a=b。X

()10、判断a,b两个数是否相等,用a==b。V

第六单元for循环结构

一、选择题

1、对下边for循环,循环体体执行次数是()。

for(i=l;i<=10;i=i+2)

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

2、对下边for循环,循环体执行次数是()。

for(i=5;i>1;i-)

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

3、下边循环执行完后,a为()o

for(a=l;a<5;a++)

a=2*a;

A)5B)4C)7D)8

4,下边循环执行完后,s为()o

for(a=1;a<5;a++)

for(b=s=0:b<a;b++,s=s+a)

A)6B)4C)7D)无答案

5、下边程序执行完后,a,b的值是()。

for(a=1;a<=10;a++)

for(b=10;b>=1;b—)

if(a>=b))exit(0);

A)1,1B)5,5C)6,6D)均不对

6、下边程序执行后s的值是()o

for(s=i=1;i<100;i++)s=s+1/i;

A)0B)2C)1D)难以拟定

7、下边程序段输出结果是()o

inti,a=0;

for(i=0;i<10;i++)

a++,i++;

printf("%d",a);

A)5B)6C)9D)10

8、以下for循环的次数为()。

for(x=0,y=0;(y=123)&&(x<4);x++)

A)不循环B)无限次C)3D)4

9、从循环体内某一层跳出,继续执行循环外的语句是:()。

A)break语句B)return语句C)continue语句D)空语句

10、for(k=0;k<5;++k)

(

if(k==3)continue;

printf("%d",k);

)

的输出结果为()。

A)012B)0124C)01234D)没有输出结果

11、循环语句for(x=0,y=0;(y!=123)||(x<4);x++);的循环执行次数为()。

A)无限次B)不循环C)4次D)3次

12、设i,j,k均为int型变量,k初值为0,执行完下面的for循环后,k的值

为()。

for(i=0,j=10;i<=j;i++,j-)k=i+j;

A)10B)9C)8D)7

13、以下程序段的循环次数是()o

for(i=2;i=0;)

printf("%d”,i-);

A)无限次B)0次C)1次D)2次

14、下边程序段循环执行的次数是()。

inta=0,j=10;

for(;j>3;j-)

a++;

if(a>3)break;

A)3B、4C、5D)6

15、for循环中,表达式1的作用是()o

A)循环变量赋初值B)循环条件

C)改变循环变量的值D)什么作用都没有

16、for循环中,表达式2的作用是()o

A)循环变量赋初值B)循环条件

C)改变循环变量的值D)什么作用都没有

17、for循环中,表达式3的作用是()0

A)循环变量赋初值B)循环条件

C)改变循环变量的值D)什么作用都没有

18、for循环中,能省略的表达式有()o

A)表达式1B)表达式2C)表达式3D)3个都可以

19、下面程序中a++总共被执行多少次()。

for(i=0;i<3;i++)

for(j=0;j<3;j++)

a++;

A)3次B)2次C)6次D)9次

20、下面循环体被执行的次数是()。

for(i=0;i<3;i++)

A)0次B)1次C)2次D)3次

21、定义变量inti=-l;则以下不是无限循环的是:()。

A.for(i=0;i=l;i++);B.for(i=0;;i-);

C.for(;i>-10;i—);D.for(;i<0;);

22、定义变量inti=2;则以下是无限循环的是:()o

A.for(i=0;i==l;i++);B.for(i=0;i<0;)-i;

C.for(;i>10;i++);D.for(;i;++i);

23、以下for循环语句,循环体的执行次数是:()。

for(i=l;i<=5;i+=2);

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

24、以下for循环语句,循环体的执行次数是:()。

for(i=5;i>l;i—);

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

25、下面的循环体执行完后,a的值是:()o

for(a=2;a<8;a++)a*=2;

A.10B.9C.12D.11

二、判断题

()1、continue语句只能用于循环语句中。V

()2、在for循环中允许使用嵌套循环,但只能是嵌套while循环。X

()3、break语句只能用于循环语句中。X

()4、for循环也许一次都不执行。V

()5、break语句是结束本层循环。V

()6、break语句是结束本次循环。X

()7、continue语句是结束本层循环。X

()8、continue语句是结束本次循环。V

()9、在循环过程中,使用break语句和continue语句的作用是同样的。

X

)10、for(;;)这写书写for循环是合法的,即for三个表达式都是可以

省略的。V

三、程序阅读

1、以下程序运营完后的输出数据是:—aaaaaaaaa.

main()

|

inta=10;

for(;a;)

(

a-;

if(a==0)break;

printf("a");

)

)

2、以下程序运营完后a的值是:_1一

main()

{

inti,a=0;

for(i=0;i<10;i++)

i++;a++;

printf("%d",a);

)

3、以下程序运营完后a的值是:_5.

main()

inti,a=0;

for(i=0;i<10;i++)

a++,i++;

printf("%d",a);

)

4、以下程序运营完后的结果是:_#*#*_

main()

(

intk;

for(k=l;k<5;k++)

(

if(k%2!=0)

printf("#");

else

printfC'*");

}

)

5、以下程序运营完后s的值是:」.0_

main()

(

intn;

floats=1.0;

fbr(n=10;n>l;n-)

s=s+l/n;

printf(,,%6.1f\n,,,s);

第七单元while与do-while循环

一、选择题

1、break语句的对的的用法是()。

A)无论在任何情况下,都中断程序的执行,退出程序。

B)在多重循环中,只能退出最靠近的那一层循环语句。

C)跳出多重循环。

D)只能修改控制变量。

2>inti=0;while(i++<5);循环结束后i的值是()。

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

3、语句while(E);括号中的表达式E等价于()。

A)E==0B)E!=lC)E!=0D)E==l

4、inti=l;while(-i);循环次数是()。

A)无限次B)0C)2D)1

5、下述程序段的运营结果是。

inta=l,b=2,c=3,t;

while(a<b<c)

{t=a;a=b;b=t;c—;}

printf("%d,%d,%d”,a,b,c);

A)1,2,0B)2,1,0C)程序错误D)2,1,1

6、程序运营的结果是()o

main()

intx;

x=3;

do

printf("%dn,x-);

}while(x);

}

A)0B)无限循环C)3D)2

7、do-while语句的循环体()°

A)也许一次都不执行B)至少要执行一次

C)由循环条件决定循环次数D)BC均对的

8,对下面的while语句,循环体执行次数是()次。

a=30;

while(a—);

A)30B)31C)39D)都不对

9、在C语言中,下列说法中对的的是()o

A)不能使用"do…while"的循环。

B)"dowhile"的循环必须使用break语句退出循环。

C)"dowhile"的循环中,当条件为0时将结束循环。

D)"dowhile”的循环中,当条件为非。时将结束循环。

10、下面的循环执行完后,循环次数是()次。

while(k=10)

k-;

A)9B)10C)11D)无穷次

二、判断题

()1、while适合控制循环次数不拟定的循环。(V)

()2、无论循环条件是否满足,do...while循环的循环体至少执行一次。

(V)

)3、while('a');是一个死循环。(V)

()4、在实际编程中,do-while循环完全可以用for循环替换。(V)

()5、continue;语句和break;语句有同样的作用。(X)

第八单元数组

一、选择题

1、下列描述中不对的的是()o

A)字符型数组中也许存放字符串。

B)可以对字符型数组进行整体输入、输出。

C)字符串函数声明在包ctype.h中。

D)字符串的结束符是'(T。

2、定义如下变量和数组:inti;intx[6]={1,2,3,4,5,6);

则语句for(i=0;i<3;i++)printf("%d",x[5-i]);的输出结果是()。

A)123B)1350246D)654

3、以下对二维数组a进行对的初始化的是()。

A)inta[2][3]={{l,2},{3,4},{5,6}};B)inta[][3]={1,2,3,4,5,6);

C)inta[2][]={1,2,3,4,5,6};D)inta[2][]={{1,2},{3,4});

4、下列程序的输出结果是()o

chara[]="abcd",b[]="ABCD",str[50]="xyz";

strcpy(str,strcat(a,b));

printf("%s",str);

A)xyabcABB)abcABzC)ABabczD)abcdABCD

5、不能把字符串:Hello!赋给数组b的语句是()。

A)charb[10]={,H',,e',T,T,,o','!');B)charb[5]="Hello!";

C)charb[10];strcpy(b,"Hello!");D)charb[10]="Hello!";

6、下列对数组定义不对的的语句是()o

A)intm[5];B)charb[]={'h'e');

C)inta[10]={1,6,8,4};D)charp[];

7、以下对二维数组a的对的定义是()

A)inta[3][];B)floata(3,4);

C)doublea[2][4];D)floata(3)(4);

8、给出以下定义:

charx[]=Mabcdefg";

chary[]={za'b'c'd'e'f'g'};

以下对的的叙述是()o

A)数组x和数组y等价

B)数组x和数组y长度相等

C)数组x的长度大于数组y的长度,由于还存储了一个结束符

D)数组x的长度小于数组y的长度,由于还存储了一个结束符

9、在H皿][3]={{1},{3,2},{4,5,6},{0}};中皿2][2]的值是()。

A)0B)5C)6D)2

10、下列初始化对的的是()。

A)charsi[]="abed";B)chars2[3]="zxy";

C)char*p=1000;D)chars4[2][3]={{"xyz"},{"mnp"}};

11、设有定义:chars[12]="string";则printf("%d\n",strlen(s));的输出是

()o

A)6B)7C)11D)12

12、函数调用strcat(strcpy(strl,str2),str3)的功能是()。

A)将字符串str2复制到字符串strl中后再将字符串str3连接到字符串strl

之后

B)将字符串strl复制到字符串str2中后再连接到字符串str3之后

C)将字符串strl复制到字符串str2中后再复制到字符串str3之后

D)将字符串str2连接到字符串strl中后再将字符串strl复制到字符串str3

13、使用随机函数需要包含的头文献有()。

A)#include<stdlib.h>B)#include<time.h>

C)#include<conio.h>D)A和B

14、若有说明inta[3][4]={0};下列叙述对的的是()。

A)只有元素a[0]网可得到初值0

B)此说明语句不对的

C)数组a中各元素都可得到初值,但其值不一定为0

D)数组a中每个元素均可得到初值0

15、执行下面的程序段后,变量k的值为()0

intk=3,s[2];

s[O]=k;

k=s[0]*10;

A)不定值B)33C)30D)10

16、以下定义数组的语句中对的的是()。

A)inta(10)

B)charstr[];

C)intn=5;inta[4][n];

D)#defineN10

charstr[N];

17、定义如下变量和数组:

intk;

inta[3][3]={9,8,7,6,5,4,3,2,l};

则下列语句的输出结果是()o

for(k=0;k<3;k++)printf("%d”,a[k][k]);

A)753B)951C)963D)741

18、下列描述对的的是()。

A)两个字符串所包含的字符个数相同时,才干比较字符串

B)字符个数多的字符串比字符个数少的字符串大

C)字符串“STOP”与“STOP”相等

D)字符串“That”与字符串“ThaT”不相等

19、若二维数组a有n行n歹U,则副对角线元素是()。(假设a[0]⑼位

于数组的第一个位置上,且i£[0,n))

A)a[i][i]

B)a[i][n-i]

C)a[n-i][i]

D)a[i][n-l-i]

20、对以下说明语句的对的理解是()。

inta[10]={6,7,8,9,10};

A)将5个初值依次赋给a[l]至a[5]。

B)将5个初值依次赋给a[0]至a[4]o

C)将5个初值依次赋给a[6]至a[10]o

D)由于数组长度与初值的个数不相同,所以此语句不对的

21、判断字符串a和b是否相等,应使用()o

A)if(a==b)B)if(a=b)C)if(strcpy(a,b))D)if(strcmp(a,b)==0)

22、判断字符串si的长度是否大于字符串s2的长度,应使用()0

A)if(sl>s2)B)if(strcmp(sl,s2))

C)if(strlen(sl)>strlen(s2))D)if(strcat(s1)>strcat(s2))

23、下列程序段的运营结果()。

charc[15]={,a,;b,;\0','c','\0');

printf("%s”,c);

A)'a','b'B)abC)abcD)a,b

24、假设有两个字符数组a,b,则以下对的的输入语句是()。

A)puts(a,b);B)scanf("%s%s”,a,b);

C)scanf("%s%s”,&a,&b);D)gets("a");gets("b");

25、若有说明inta口[3]={1,2,3,4,5,6,7,8,9};则a数组行数的大小为()。

A)2B)3C)4D)无拟定值

26.若有定义doublex[3][5];则x数组中行标的下限为(),列标的

上限为()o

A)13B)35C)05D)04

27、若有说明a网⑷;则数组a中的各元素()。

A)可在程序的运营阶段得到初始值0

B)可在程序的编译阶段得到初始值0

C)不能得到拟定的初始值

D)可在程序的编译或运营阶段得到初始值

28、若有下列程序段

charx[80];

scanf("%s",x);

printf(“%s”,x);

从键盘上输入字符串“zhangsan”,则输出结果为()。

A)zhangB)zhangsanC)zhangsanD)san

29、在C语言中,引用数组元素时,其数组下标的数据类型允许为()

A)整型常量B)整型表达式

C)整型常量或整型表达式D)任何类型的表达式

30、设有如下形式的字符数组定义:

charstr[]=,,welcome,';

则执行下列语句后的输出结果()。

printf("%d\n",strlen(strcpy(str,"Hello")));

A)7B)5C)8D)9

31、若有inta[3][5]={2,2},{2,6},{2,6,2}},则数组a共有()个

元素。

A)8B)5C)3D)15

32、设有如下定义:inta[100];则数组下标区间为:()。

A)0~99B)1~99C)0-100D)1-100

33、若有定义:inta[3][4],则对数组a中某元素的对的引用是()。

A)a[2][4]B)a[l][3]C)a(5)D)a[10-10]

34、以下对一维整型数组a的对的说明是()。

A)inta(10);B)intn=10,a[n];

C)intn;D)#defineSIZE10

scanf("%d",&n);inta[SIZE];

nta[n];

35、若要使用字符函数,需要引入的头文献是()。

A)string.hB)ctype.hC)stdlib.hD)stdio.h

二、判断题

()1、在定义一维数组时,可以将该数组的长度省略V

()2、数组的下标从0开始。V

()3、数组的下标从1开始。X

()4,数组名代表数组的首地址。V

()5、在C语言中,数组元素在内存中的存放顺序是按顺序存放的。V

()6、字符数组可以存放字符串。V

()7、字符串函数strupr(str),可将串中大写字母变成小写字母。X

()8、字符串函数strrev(str),可将str串字符颠倒过来。V

()9、字符串的结束符不是'(T。X

()10、可如此定义a数组:floata[3]={12.5,‘z',"school”};X

()11、数组边定义边赋值时,大括号内数据项的数目可以大于或等于数

组的长度。X

()12、数组边定义边赋值时,大括号内数据项的数目可以小于或等于数

组的长度。V

()13、字符串函数strcat(strl,str2)的作用是将字符串str2连接在字符串

strl后。V

()14、定义字符型一维数组chara[80];可用gets(a[0])给a[0]赋值。X

()15、数组定义inta[10];也可以写成inta(10);0X

三、程序阅读题

1、下面程序的输出结果是-650

main()

(

charch[7]={"65ab21"};

inti;

for(i=0;ch[i]>='0'&&ch[i]<='9';i++)

printf("%c",ch[i]);

}

2、下面程序执行后,sl=_15.0,s2=_2.7o

floatb[l={0.5,1.6,2.7,3.8,4.9,5,6.1,6.2,7.3,8.4},sl,s2;

inti;

for(i=0,sl=s2=0;i<9;i++)

(

if(i%2)si+=(int)b[i];

if(i%3)s2+=b[i]-(int)b[i];

3、将程序补充完整,实现功能:输出斐氏数列的前20项,菲波纳契额数列具

有这样的性质:F(0)=lF(l)=2F(N)=F(N-l)+F(N-2)

#include"stdio.h"

voidmain()

{inti;

longf[20]={1,2};

for(i=2;i<20;i++)

fli]=ffi-2]+f[i-l];

for(i=0;i<20;i++)

printf("%ld\t",f[i]);

)

4、将程序补充完整,实现功能:输入2个字符串,判断两个串是否相同,相

同输出yes,不同输出nOo

#include"stdio.h"

#include"string.h"

voidmain()

{charx[80],y[80];

gets(x);

gets(y);

if(strcmp(x,y)==0)

puts("yes");

else

puts("no");

5、设有以下代码:

#include"stdio.h"

voidmain()

(

inta[3][3],s=0;

inti,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf("%d",&a[i][

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论