C语言题库全Word文档下载推荐.docx

上传人:b****8 文档编号:22657355 上传时间:2023-02-05 格式:DOCX 页数:116 大小:70.02KB
下载 相关 举报
C语言题库全Word文档下载推荐.docx_第1页
第1页 / 共116页
C语言题库全Word文档下载推荐.docx_第2页
第2页 / 共116页
C语言题库全Word文档下载推荐.docx_第3页
第3页 / 共116页
C语言题库全Word文档下载推荐.docx_第4页
第4页 / 共116页
C语言题库全Word文档下载推荐.docx_第5页
第5页 / 共116页
点击查看更多>>
下载资源
资源描述

C语言题库全Word文档下载推荐.docx

《C语言题库全Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言题库全Word文档下载推荐.docx(116页珍藏版)》请在冰豆网上搜索。

C语言题库全Word文档下载推荐.docx

4.有以下程序

  voidfun(char*a,char*b)

  {a=b;

(*a)++;

  main()

  {charc1='

A'

c2='

*p1,*p2;

  p1=&

c1;

p2=&

c2;

fun(p1,p2);

%c%c\n"

c1,c2);

  }

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

 A)Ab

 B)aa

 C)Aa

 D)Bb

5.以下不能正确定义二维数组的选项是( )。

 A)inta[2][2]={{1},{2}};

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

 C)inta[2][2]={{1},2,3};

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

6.若有定义:

int*p[3];

,则以下叙述中正确的是( )。

 A)定义了一个基类型为int的指针变量p,该变量具有三个指针

 B)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针

 C)定义了一个名为*p的整型数组,该数组含有三个int类型元素

 D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素

7.下列条件语句中,功能与其他语句不同的是( )。

A)if(a)printf("

elseprintf("

y);

B)if(a==0)printf("

C)if(a!

=0)printf("

D)if(a==0)printf("

8.以下叙述中错误的是( )。

  A)C语句必须以分号结束

  B)复合语句在语法上被看作一条语句

  C)空语句出现在任何位置都不会影响程序运行

  D)赋值表达式末尾加分号就构成赋值语句

9.有以下程序段

  intn,t=1,s=0;

  scanf("

&

n);

  do{s=s+t;

t=t-2;

}while(t!

=n);

为使此程序段不陷入死循环,从键盘输入的数据应该是( )。

A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数

10.设变量已正确定义,则以下程序不能正确计算f=n!

的程序段是( )。

A)f=1;

  for(i=1;

=n;

i++)

f*=i;

B)f=0;

i--)

 f*=i;

C)f=1;

         

 for(i=n;

i>

1;

f=f*i;

D)f=1;

for(i=n;

=2;

i--)

f=f*i

11.以下叙述中错误的是

 A)可以通过typedef增加新的类型

 B)可以用typedef将已存在的类型用一个新的名字来代表

 C)用typedef定义新的类型名后,原有类型名仍有效

 D)用typedef可以为各种类型起别名,但不能为变量起别名

12.下列叙述中错误的是________。

 A)一个C语言程序只能实现一种算法

 B)C程序可以由多个程序文件组成

 C)C程序可以由一个或多个函数组成

 D)一个C函数可以单独作为一个C程序文件存在

13.若有以下定义和语句

 uniondata

 {inti;

charc;

floatf;

}x;

 inty;

则以下语句正确的是________。

  A)x=10.5;

 B)x.c=101;

 C)y=x;

 D)printf("

14.有以下程序

#include"

stdio.h"

{charb,c;

b='

c='

for(i=0;

6;

{if(i%2)putchar(i+b);

elseputchar(i+c);

}printf("

\n"

);

程序运行后的输出结果是

A)ABCDEF

B)AbCdEf

C)aBcDeF

D)abcdef

15.有以下程序

structS

{inta,b;

}data[2]={10,100,20,200};

{structSp=data[1];

printf("

++(p.a));

A)10

B)11

C)20

D)21

16.下列定义数组的语句中,正确的是

A)intN=10;

intx[N];

B)#defineN10

C)intx[0..10];

D)intx[];

17.有以下程序

#include<

stdio.h>

{shortc=124;

c=c____;

c);

若要使程序的运行结果为248,应在下划线处填入的是

A)>

>

2

B)|248

C)&

248

D)<

<

1

18.有以下程序

#include<

main()

{

chara,b,c,d;

scanf("

%c%c"

a,&

b);

c=getchar();

d=getchar();

%c%c%c%c\n"

a,b,c,d);

}

当执行程序时,按下列方式输入数据(从第1列开始,<

CR>

代表回车,注意:

回车也是一个字符)

12<

34<

则输出结果是()。

A)1234B)12

C)12D)12

334

19.有以下程序:

{inti,j,m=1;

3;

i++)

{for(j=3;

j>

0;

j--)

{if(i*j>

3)break;

m*=i*j;

m=%d\n"

m);

程序运行后的输出结果是()

A)m=6B)m=2

C)m=4D)m=5

20.以下关于return语句的叙述中正确的是()。

A)一个自定义函数中必须有一条return语句

B)一个自定义函数中可以根据不同情况设置多条return语句

C)定义成void类型的函数中可以有带返回值的return语句

D)没有return语句的自定义函数在执行结束时不能返回到调用处

二、填空题

1.当调用函数时,实参是一个数组名,则向函数传递的是()。

,正确常答案是:

数组的首地址或数组首地址, ×

2.以下程序的输出结果是()。

inta=1234;

printf("

%2d\n"

,a);

,正确答案是:

1234, ×

3.下列程序的功能是:

求出ss所指字符串中指定字符的个数,并返回此值。

给程序填空。

例如,若输入字符串123412132,输入字符1,则输出3,请填空。

#include<

conio.h>

#defineM81

intfun(char*ss,charc)

{inti=0;

for(;

_____________;

ss++)

if(*ss==c)i++;

returni;

{chara[M],ch;

clrscr();

\nPleaseenterastring:

"

gets(a);

\nPleaseenterachar."

ch=getchar();

\nThenumberofthecharis:

fun(a,ch));

*ss!

='

\0'

, ×

4.设有如下宏定义

#defineMYSWAP(z,x,y)

{z=x;

x=y;

y=z;

以下程序段通过宏调用实现变量a,b内容交换,请填空。

floata=5,b=16,c;

MYSWAP(_______,a,b);

c, ×

5.在计算机中,字符的比较是对它们的()进行比较。

ASCII码或ASCII, ×

6.以下程序的输出结果是()。

unsignedfun6(unsignednum)

{unsignedk=1;

do

{

k*=num%10;

num/=10;

}while(num);

returnk;

{unsignedn=26;

%d\n"

fun6(n));

12, ×

7.以下程序的输出结果是

{inta=1,b=2;

a=a+b;

b=a-b;

a=a-b;

%d,%d\n"

a,b);

2,1, ×

8.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。

st=(char*)【】;

malloc(11)或malloc(sizeof(char)*11), ×

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

{intarr[]={30,25,20,15,10,5},*p=arr;

p++;

*(p+3));

10, ×

10.以下程序运行后的输出结果是【】。

  structNODE

  {intnum;

structNODE*next;

  };

  main()

  {structNODEs[3]={{1,'

},{2,'

},{3,'

}},*p,*q,*r;

  intsum=0;

  s[0].next=s+1;

s[1].next=s+2;

s[2].next=s;

  p=s;

q=p->

next;

r=q->

  sum+=q->

next->

num;

sum+=r->

1.设有以下说明语句

structex

{intx;

floaty;

charz;

}example;

则下面的叙述中不正确的是

A)struct结构体类型的关键字

B)example是结构体类型名

C)x,y,z都是结构体成员名

D)structex是结构体类型

2.以下程序的输出结果是

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

for(i=0;

i++)printf("

%d,"

x[i][2-i]);

A)1,5,9

B)1,4,7

C)3,5,7

D)3,6,9

3.以下程序的输出结果是

#defineM(x,y,z)x*y+z

{inta=1,b=2,c=3;

M(a+b,b+c,c+a));

A)19

B)17

C)15

D)12

4.有以下程序段

  intm=0,n=0;

charc='

%d%c%d"

m,&

c,&

  printf("

%d,%c,%d\n"

m,c,n);

  若从键盘上输入:

10A10<

回车>

,则输出结果是:

( )。

 A)10,A,10

 B)10,a,10

 C)10,a,0

 D)10,A,0

5.有以下程序

  {ints=0,a=1,n;

  scanf("

  do

  {s+=1;

a=a-2;

  while(a!

s);

若要使程序的输出值为2,则应该从键盘给n输入的值是( )。

 A)-1

 B)-3

 C)-5

 D)0

6.用C语言编写的代码程序( )。

A)可立即执行

B)是一个源程序

C)经过编译即可执行

D)经过编译解释才能执行

7.若有以下说明和语句,intc[4][5],(*p)[5];

p=c;

能正确引用c数组元素的是( )。

A)p+1

B)*(p+3)

C)*(p+1)+3

D)*(p[0]+2])  

8.以下能正确定义且赋初值的语句是( )。

  A)intn1=n2=10;

      B)charc=32;

  C)floatf=f+1.1;

      D)doublex=12.3E2.5;

9.有以下程序

  voidsort(inta[],intn)

  {inti,j,t;

  for(i=0;

i  for(j=i+1;

j  if(a[i]  }

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

  sort(aa+2,5);

i<

10;

i++)printf("

aa[i]);

  }

  A)1,2,3,4,5,6,7,8,9,10,  B)1,2,7,6,3,4,5,8,9,10,

  C)1,2,7,6,5,4,3,8,9,10,  D)1,2,9,8,7,6,5,4,3,10,

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

 A)j2_KEY

 B)Double

 C)4d

 D)_8_

11.有以下程序

main()

{

inti,j,x=0;

2;

{x++;

for(j=0;

j<

=3;

j++)

if(j%2)continue;

x++;

}

x=%d\n"

程序执行后的输出结果是

 A)x=4

 B)x=8

 C)x=6

 D)x=12

12.下列叙述中正确的是________。

 A)break语句只能用于switch语句

 B)在switch语句中必须使用default

 C)break语句必须与switch语句中的case配对使用

 D)在switch语句中,不一定使用break语句

13.有以下程序

fun(intx,inty)

{staticintm=0,i=2;

i+=m+1;

m=i+x+y;

returnm;

{intj=1,m=1,k;

k=fun(j,m);

k);

执行后的输出结果是________。

  A)5,5 B)5,11 C)11,11 D)11,5

intfun(intx,inty)

{if(x!

=y)return((x+y)/2);

elsereturn(x);

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

fun(2*a,fun(b,c)));

A)3

B)6

C)8

D)12

structord

{intx,y;

}dt[2]={1,2,3,4};

structord*p=dt;

++(p->

x));

y));

A)1,2

B)4,1

C)3,4

D)2,3

16.)以下程序段完全正确的是

A)int*p;

&p);

B)int*p;

p);

C)intk,*p=&

k;

D)intk,*p:

*p=&

17.若要定义一个具有5个元素的整型数组,以下错误的定义语句是

A)inta[5]=﹛0﹜;

B)intb[]={0,0,0,0,0};

C)intc[2+3];

D)inti=5,d[i];

18.以下C语言用户标识符中,不合法的是()。

A)_1B)AaBc

C)a_bD)a--b

{inta=1,b=2;

for(;

a<

8;

a++){b+=a;

a+=2;

a,b);

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

A)9,18B)8,11

C)7,1lD)10,14

20.有以下程序:

intf(intt[],intn);

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

s=f(a,4);

intf(intt[],intn)

{if(n>

0)returnt[n-1]+f(t,n-1);

elsereturn0;

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

A)4B)10

C)14D)6

1.以下程序的输出结果是().

intfun(intx,inty)

{staticintm=0,i=2;

i+=m+1;

returnm;

{intj=4,m=1,k;

k=fun(j,m);

8,17, ×

2.下面程序的输出结果是

charb[]="

ABCD"

{char*chp;

for(chp=b;

*chp;

chp+=2)

%s"

chp);

ABCDCD, ×

3.C语言程序的注释可以出现在程序中的任何地方,一个注释以()作为开始,以*/作为结束。

/*, ×

4.以下程序段中,错误的是第()行。

①#include<

②main()

③{charstr[14];

str[]={"

IloveChina"

};

④printf("

str);

⑤}

3, ×

5.以下程序的输出结果是()。

k*=num%10

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

当前位置:首页 > 职业教育 > 职高对口

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

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