C语言基本概念练习题s.docx

上传人:b****5 文档编号:6102338 上传时间:2023-01-03 格式:DOCX 页数:22 大小:26.67KB
下载 相关 举报
C语言基本概念练习题s.docx_第1页
第1页 / 共22页
C语言基本概念练习题s.docx_第2页
第2页 / 共22页
C语言基本概念练习题s.docx_第3页
第3页 / 共22页
C语言基本概念练习题s.docx_第4页
第4页 / 共22页
C语言基本概念练习题s.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

C语言基本概念练习题s.docx

《C语言基本概念练习题s.docx》由会员分享,可在线阅读,更多相关《C语言基本概念练习题s.docx(22页珍藏版)》请在冰豆网上搜索。

C语言基本概念练习题s.docx

C语言基本概念练习题s

Lelewaswrittenin2021

 

C语言基本概念练习题s

第一单元(1-5章)基本概念练习题

一、单选选择(直接在正确的选项上打勾,每题)

1、下面关于C语言特点的描述,不正确的是()。

D

A、C语言兼有高级语言和低级语言的双重特点,执行效率高

B、C语言既可以用来编写应用程序,又可以用来编写系统软件

C、C语言是一种结构式模块化程序设计语言

D、C语言的可移植性较差

2、C语言规定,在一个源程序中,main函数的位置()。

B

A、必须在最开始B、可以任意

C、必须在最后D、必须在系统调用的库函数的后面

3、下列说法中正确的是()。

C

A、C程序书写时,不区分大小写字母

B、C程序书写时,一行只能写一个语句

C、C程序书写时,一个语句可分成几行书写

D、C程序书写时每行必须有行号

4、C语言编译程序的首要工作是()。

A

A、检查C语言程序的语法错误B、检查C语言程序的逻辑错误

C、检查程序的完整性D、生成目标文件

5、C语言程序经过连接以后生成的文件名的后缀为()。

C

A、.cB、.objC、.exeD、.cpp

6、以下关于算法的说法中,错误的是()。

D

A、一个算法应包含有限个步骤

B、在计算机上实现的算法是用来处理数据对象的

C、算法的目的是为了求解

D、算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现

7、算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性之一的是()。

C

A、确定性B、有穷性C、零个或多个输出D、零个或多个输入

8、以下不属于结构化程序设计三种基本结构之一的是()。

B

A、顺序B、递归C、循环D、选择

9、下列数据中,不合法的C语言实型数据是()。

C

A、0.123B、123e3C、2.1e3.5D、789.0

10、若变量a、i已正确定义,且i已正确赋值,以下属于合法的C语句是()。

A、a==1B、++i;C、a=a++=5;D、a=int(i);

11、已有定义inta=6;则执行语句a+=a-=a*a;后,a的值为()。

D

A、36B、0C、-24D、-60

12、若有以下程序段,其输出结果是()。

B

inta=0,b=0,c=0;

c=(a-=a-5),(a-=3,++b);

printf(“%d,%d,%d\n”,a,b,c);

A、0,0,-10B、2,1,5C、-10,-3,-10D、3,3,-10

13、有以下定义:

inti=10,j=1;执行语句printf("%d,%d\n",i--,++j);后输出结果是()。

B

A、9,2B、10,2C、9,1D、10,1

14、字符串"\t\"\065\xff\n"的长度为()。

A

A、5B、14

C、8D、输出项不合法,无正常输出

15、已有定义:

charc;执行赋值语句c=('z'-'a')/2+'A';后,变量c的值为()。

A

A、MB、NC、OD、Q

16、以下4个选项中,不能看做一条语句的是()。

D

A、;B、a=5,b=2.5,c=3.6;C、if(a<5);D、if(b!

=5)x=2;y=6;

17、设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是()。

D

A、a&&bB、a<=bC、a||b+c&&b-cD、!

((a

c||1)

18、若有定义语句inta,b;doublex;则下列选项中没有错误的是()。

C

A、switch(x%2)B、switch((int)x/2.0)

  {case0:

a++;break;{case0:

a++;break;

  case1:

b++;break;case1:

b++;break;

  default:

a++;b++;default:

a++;b++;

  }}

 C、switch((int)x%2)D、switch((int)(x)%2)

  {case0:

a++;break;{case0.0:

a++;break;

  case1:

b++;break;case1.0:

b++;break;

  default:

a++;b++;default:

a++;b++;

  }}

19、以下程序段的输出结果是()。

D

main()

{intx,y,z;

x=0;y=2;z=3;

switch(x)

{case0:

switch(y==2)

{case1:

printf("*");break;

case2:

printf("%");break;

}

case1:

switch(z)

{case1:

printf("$");

case2:

printf("*");break;

default:

printf("#");

}

}

}

A、*B、%C、$*D、*#

20、以下程序的输出结果是()。

C

main()

{inta=45,b=40,c=50,d;

d=a>=30?

b:

c;

switch(d)

{case30:

printf("%d",a);

case40:

printf("%d",b);

case50:

printf("%d",c);break;

default:

printf("#");

}

}

A、304050#B、304050C、4050D、#

21、以下程序的输出结果是()。

B

main()

{inta,b,c,x=35;

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

if(!

a)

x--;

elseif(b);

if(c)

x=3;

else

x=4;

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

}

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

22、当c的值不为0时,能正确将c的值赋给变量a和b的选项是()。

C

A、c=b=aB、(a=c)||(b=c)C、(a=c)&&(b=c)D、a=c=b

23、若变量已定义为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是()。

B

A、10<回车>22<回车>33<回车>B、10.0,22.0,33.0<回车>

C、10.0<空格>22.0<空格>33.0<回车>D、102233<回车>

24、下面程序段的输出结果是()。

A

intx=1,y=10;

if(x=y)printf("AAA");

elseprintf("BBB");

A、AAAB、BBBC、AAABBBD、不确定

25、下面程序段的输出结果是()。

A

for(x=9;x>0;x--)

if(x%3!

=0)

{printf("%d",--x);

continue;

}

A、741B、852C、963D、875421

26、对以下循环:

for(a=0,b=0;(b!

=123)&&(a<=4);a++);说法正确的是()。

D

A、无限循环B、循环次数不定C、执行4次D、执行5次

27、在下列程序中,while循环的循环次数是()。

D

main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(i==5)break;

i++;

}

......

}

A、1B、10C、6D、死循环、不能确定次数

28、以下程序的输出结果是()。

B

main()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)

break;

elsei--;

}

i+=11;

a+=i;

}

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

}

A、21B、32C、33D、11

29、当输入为"quert"时,下面程序的执行结果是()。

C

main()

{while(putchar(getchar())!

='

');}

A、quertB、RvfsuC、quert?

D、rvfsu?

30、以下能正确计算1×2×3×…×10的程序段是()。

A、do{i=1;s=1;s=s*i;i++;}while(i<=10);

B、do{i=1;s=0;s=s*i;i++;}while(i<=10);

C、i=1;s=1;do{s=s*i;i++;}while(i<=10);

D、i=1;s=0;do{s=s*i;i++;}while(i<=10);

二、绘制NS算法流程图

(1)输入10个数,求其中的最大值。

(2)输入2个数,求它们的最大公约数。

第6章-数组基本概念练习题

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

A、floatB、intC、doubleD、任何类型

答案:

B

2、以下对一维整型数组a的正确定义是()。

A、inta(10);B、intn=10,a[n];C、intn;scanf(“%d”,&n);inta[n];D、#defineSIZE10

inta[SIZE];

答案:

D

3、以下能对一维数组a进行正确初始化的语句是()。

A、inta[10]=(0,0,0,0,0);B、inta[10]={};C、inta[]={0};D、inta[10]="abcdefg";

答案:

C

4、不能给数组的首元素赋值的语句是()。

A、inta[2]={1};B、inta[2]={1*2};C、inta[2];scanf(“%d”,a);D、inta[2];a[1]=1;

答案:

D

5、下面程序的运行结果是()。

main()

{inta[6],i;

for(i=1;i<6;i++)

{a[i]=9*(i-2+4*(i>3))%5;printf("%2d",a[i]);}

}

A、-40404B、-40403C、-40443D、-40440

答案:

C

6、下列定义正确的是()。

A、inta[4]={1,2,3,4,5};B、intb[]={2,5};C、inta(10);D、int4e[4];

答案:

B

7、若有说明inta[][4]={0,0};则下列叙述不正确的是()。

A、数组a的每个元素都可以得到初值0。

B、二维数组a的第一维的大小为1。

C、数组a的行数为1,但是有4个元素。

D、只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值

答案:

D

8、设有charstr[10];下列语句正确的是()。

A、scanf("%s",&str);B、printf("%c",str);C、printf("%s",str[0]);D、printf("%s",str);

答案:

D

9、下列说法正确的是()。

A、在C语言中,可以定义元素个数可变的数组。

B、在C语言中,数组元素的个数可以不确定,允许随机变动。

C、在C语言中,数组元素的数据类型可以不一致。

D、在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数。

答案:

D

10、假设array是一个有10个元素的整型数组,则下列写法中正确的是()。

A、array[0]=10;B、array=0;C、array[10]=0;D、array[-1]=0;

答案:

A

11、分析下列程序运行后,输出的结果是()。

main()

{intn[3],i,j,k;

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

n[i]=0;

k=2;

for(i=0;i

for(j=0;j

n[j]=n[i]+1;

printf("%d\n",n[1]);

}

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

答案:

D

12、若有以下定义:

inta[5]={5,4,3,2,1};

charb=‘a’,c,d,e;

则下面表达式中数值为2的是()。

A、a[3]B、a[e–c]C、a[d-b]D、a[e-b]

答案:

A

13、下面几个字符串处理表达式中能用来把字符串str2连接到字符串str1后的一个是()。

A、strcat(str1,str2);B、strcat(str2,str1);C、strcpy(str1,str2);D、strcmp(str1,str2);

答案:

A

14、设有两字符串“Beijing”、“China”分别存放在字符数组str1[20],str2[20]中,下面语句中能把“China”连接到“Beijing”之后的为()。

A、strcpy(str1,str2);B、strcpy(str1,“China”);

C、strcat(str1,“China”);D、strcat(“Beijing”,str2);

答案:

C

15、若有如下定义:

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

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

for(i=0;i<=2;i++)printf(“%d”,a[i][2-i]);

A、357B、369C、159D、147

答案:

A

16、下列字符串赋值语句中,不能正确把字符串Cprogram赋给数组的语句是()。

A、chara[]={‘C’,‘’,‘p’,‘r’,‘o’,‘g’,‘r’,‘a’,‘m’};

B、chara[10];strcpy(a,“Cprogram”);

C、chara[10];a=“Cprogram”;

D、chara[10]={“Cprogram”};

答案:

C

17、以下不能对二维数组a进行正确初始化的语句是()。

A、inta[2][3]={0};B、inta[][3]={{1,2},{0}};

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

答案:

C

18、下面程序段的运行结果是()。

charc[5]={‘a’,‘b’,‘\0’,‘c’,‘\0’};

printf(“%s”,c);}

A、‘a’‘b’B、ab\0c\0C、abcD、ab

答案:

D

19、判断字符串a和b是否相等,应当使用()。

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

答案:

D

20、有字符数组a[80]和b[80],则正确的输出语句是()。

A、puts(a,b);B、printf(“%s,%s”,a[],b[]);C、putchar(a,b);D、puts(a);puts(b);

答案:

D

21、若有如下定义和语句,则输出结果是()。

chars[12]=“abook!

”;

printf(“%d”,strlen(s));

A、12B、8C、7D、6

答案:

C

22、以下能对二维数组a进行正确说明和初始化的语句是()。

A、inta()(3)={(1,0,1),(2,4,5)};B、inta[2][]={{3,2,1},{5,6,7}};

C、inta[][3]={{3,2,1},{5,6,7}};D、inta

(2)()={(1,0,1),(2,4,5)};

答案:

C

23、若有说明:

inta[3][4]={0};则下面正确的叙述是()。

A、只有元素a[0][0]可以得到初值0B、此说明语句不正确;

C、数组a中每个元素均可得到初值0D、数组a每个元素均可得到初值,但不一定为0

答案:

C

第7章-函数基本概念练习题

1.有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是。

A

A)3B)4C)5D)有语法错

2.有如下程序,该程序的输出的结果是。

intrunc(inta,intb)

{return(a+b);}

main()

{intx=2,y=5,z=8,r;

r=func(func(x,y),z);

printf(“%\d\n”,r);}

A)12B)13C)14D)15

3.有如下程序,该程序的输出结果是。

longfib(intn)

{if(n>2)return(fib(n-1)+fib(n-2));

elsereturn

(2);}

main()

{printf(“%d\n”,fib(3));}

A}2B}4C}6D}8

4.有以下程序,执行后输出的结果是。

voidf(intx,inty)

{intt;

if(x

main()

{inta=4,b=3,c=5;

f(a,b);f(a,c);f(b,c);

printf("%d,%d,%d\n",a,b,c);}

A)3,4,5B)5,3,4C)5,4,3D)4,3,5

5.以下函数的功能是:

通过键盘输入数据,为数组中的所有元素赋值。

在下划线处应填入的是。

#defineN10

voidarrin(intx[N])

{inti=0;

while(i

scanf("%d",_________);}

A)x+iB)&x[i+1]C)x+(i++)D)&x[++i]

6.有以下程序,执行后输出结果是。

main()

{chars[]="\n123\\";

printf("%d,%d\n",strlen(s),sizeof(s));}

A)赋初值的字符串有错B)6,7C)5,6D)6,6

7.以下叙述中正确的是。

A)全局变量的作用域一定比局部变量的作用域范围大

B)静态(static)类别变量的生存期贯穿于整个程序的运行期间

C)函数的形参都属于全局变量

D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值

8.以下程序执行后输出的结果是。

main()

{inta=4,b=3,c=5,d,e,f;

d=f1(a,b);d=f1(d,c);

e=f2(a,b);e=f2(e,c);

f=a+b+c-d-e;

printf("%d,%d,%d\n",d,f,e);}

f1(intx,inty)

{intz;z=(x>y)

x:

y;return(z);}

f2(intx,inty)

{intz;z=(x

x:

y;return(z);}

A)3,4,5B)5,3,4C)5,4,3D)3,5,4

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

intf(void)

{staticinti=0;

ints=1;

s+=i;

i++;

return(s);}

main()

{inti,a=0;

for(i=0;i<5;i++)a+=f();

printf(“%d\n”,a);}

A)1B)0C)非0的数D)–1

10.以下C语言中,对函数不正确的描述是。

A)当用数组名作形参时,形参数组改变可使实参数组随之改变

B)允许函数递归调用

C)函数形参的作用范围只是局限于所定义的函数内

D)函数说明必须在主调函数之前

11.以下所列的各函数首部中,正确的是。

A)voidplay(var:

Integer,varb:

Integer)B)voidplay(inta,b)

C)voidplay(inta,intb)D)Subplay(aasinteger,basinteger)

12.以下叙述中不正确的是。

A)在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。

B)在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。

C)在C中,外部变量的隐含类别是自动存储类别。

D)在C中,函数形参可以说明为register变量。

13.以下对C语言函数的有关描述中,正确的是。

A)在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参

B)C函数既可以嵌套定义又可以递归调用

C)函数必须有返回值,否则不能使用函数

D)C程序中有调用关系的所有函数必须放在同一个源程序文件中

14.一个数据类型为void的函数中可以没有return语句,那么函数的被调用时。

A)没有返回值B)返回一个系统默认值C)返回值由用户临时决定D)返回一个不确定的值

15.在下面的函数声明中,存在着语法错误的是。

A)BC(inta,int);B)BC(int,int);C)DC(int,int=5);D)BC(intx,inty);

16.以下函数值的类型是。

fun(floatx)

{floaty;

y=3*x-4;

returny;

}

A)intB)不确定C)voidD)float

17.下

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

当前位置:首页 > PPT模板 > 其它模板

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

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