当前位置:文档之家› 补充试题库答案

补充试题库答案

补充试题库答案
补充试题库答案

1.二维数组a有m行n列,则在a[i][j]之前的元素个数为()。

A.j*n+i√

B.i*n+j

C.i*n+j-1

D.i*n+j+1

2.#include

#include

main()

{

printf("%d\n",strlen("IBM\n012\t\"\\\0"));

}

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

√A)10B)11C)16D)12

3.有如下程序片段:

inti=0;

while(i++<=2);

printf("%d",i);

则正确的执行结果是:

A)2B)3√C)4D)程序陷入死循环

4.下面哪个定义是合法的。

A)chara[8]="language";

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

√C)char*a="string";

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

5.若有定义int(*p)[4],则标识符p是一个。

A)指向整型变量的指针变量

B)指向函数的指针变量

√C)指向有四个整型元素的一维数组的指针变量

D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针

6.下列对字符串的定义中,错误的是:。

√A)charstr[7]="FORTRAN";

B)charstr[]="FORTRAN";

C)char*str="FORTRAN";

D)charstr[]={'F','O','R','T','R','A','N',0};

7.针对下面程序段,下面哪些说法是正确的?

#include

voidSwap(int*x,int*y);

main()

{

inta,b;

a=5;

b=9;

Swap(&a,&b);

printf("a=%d,b=%d",a,b);

}

voidSwap(int*x,int*y)

{

int*pTemp;

*pTemp=*x;

*x=*y;

*y=*pTemp;

}

A)程序运行结果为乱码;

B)程序运行后将导致程序崩溃;

C)程序编译时出错导致程序无法运行;

√D)程序执行了危险的操作;

8.要使下面程序的输出1,2,34,则从键盘输入的数据格式应为。

#include

main()

{

chara,b;

intc;

scanf("%c%c%d",&a,&b,&c);

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

}

A)1234B)1,2,34

C)’1’,’2’,34√D)1234

9.对于一个正常运行和正常退出的C程序,以下叙述正确的是。

√A)程序是从main函数第一条可执行语句开始执行,在main函数结束

B)程序的执行总是从程序的第一个函数开始,在main函数结束

C)程序的执行总是从main函数开始,在最后一个函数中结束

D)从程序的第一个函数开始,在程序的最后一个函数中结束

10.对于以下程序片段,描述正确的是。

intx=-1;

do

{

x=x*x;

}while(!x);

A)是死循环

B)循环执行两次

√C)循环执行一次

D)有语法错误

11.一个指针数组的定义为。

A)int(*ptr)[5];√B)int*ptr[5];

C)int*(ptr[5]);D)intptr[5];

一、单项选择题:(10分,每题2分,评分标准:正确得2分,错误扣2分)12.以下不能对二维数组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};

13.有以下程序片断

floatfun(intx,inty)

{

return(x+y);

}

main(){

inta=2,b=5,c=8;

printf("%3.0f\n",fun((int)fun(a+c,b),a-c));

}

程序运行后的输出结果是:

A)编译出错√B)9

C)21 D)9.0

14.若有以下调用语句,则不正确的fun函数的函数原型是

main()

{…

inta[50],n;

fun(n,&a[9]);

}

A)voidfun(intm,intx[]);

B)voidfun(ints,inth[41]);

C)voidfun(intp,int*s);

√D)voidfun(intn,inta);

15.下面程序片段的执行结果是:

#defineMAX10

inta[MAX],i;

main()

{

printf("\n");

sub1();

sub3(a);

sub2();

sub3(a);

}

sub2()

{

inta[MAX],i,max=5;

for(i=0;i

}

sub1()

{

for(i=0;i

}

sub3(inta[])

{

inti;

for(i=0;i

printf("\n");

}

A)024681012141618

012341012141618

B)01234

024681012141618

C)0123456789

01234

√D)024681012141618

024681012141618

16.下列程序执行后的输出结果是

#include

main()

{

inta[3][3],*p,i;

p=&a[0][0];

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

{

p[i]=i+1;

}

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

}

A)3

√B)6

C)9

D)随机数

1.一个C语言程序是从___开始执行的。

A.程序中第一个函数B.名为main的函数

C.包含文件(头文件)的第一个函数D.程序中的第一个语句

2.设a和b均为int型变量,则执行以下语句后的输出为___。

inta=20;intb=3;printf("%d\n",a+=(b%=2));

A.20B.21 C.0D.23

3.设a、b和c都是int型变量,且a=3,b=0,c=5,则以下值为0的表达式是___。

A.'a'&&'b'B.a&&b||cC.a&&b&&cD.a||b&&c

4.下列叙述中正确的是___。

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

B在switch语句中必须使用default

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

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

5.以下程序的执行结果是___。

main(){intn=9;

while(n>6){n--;printf("%d",n);}}

该程序的输出结果是

A.987B.876 C.8765D.9876

6.对于下面的for循环语句,可以断定它执行___次循环。

for(x=0,y=0;(y!=67)&&(x<5);x++)printf("----");

A.无限B.不定C.5次D.4次

7.若有定义(说明)inta[10];,则对数组a的元素正确引用的是___。

A.a[10]B.a[3.5]C.a(5)D.a[10-10]

8.执行下面程序段后,变量k的值是___。

intk=3,s[2];

s[0]=k;k=s[1]*10;

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

9.以下对一维整型数组a初始化的语句中正确的是___。

A.inta[10]=(0,0,0,0,0);B.inta[10]=();

C.intx=2,a[10]={10*x};D.inta[10]={0};

10.以下对二维数组a的正确定义(说明)的是___。

A.inta[3][];B.floata(3,4);C.doublea[1][4];D.floata(3)(4);

11.以下不能对二维数组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};

12.若调用一个函数,且此函数中没有return语句,则正确的说法是___。

A.该函数没有返回值B.该函数返回若干个系统默认值

C.能返回一个用户所希望的函数值D.返回一个不确定的值

13.以下正确的描述是___。

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B函数的定义不可以嵌套,但函数的调用可以嵌套

C.函数的定义和函数的调用均不可以嵌套

D.函数的定义和函数的调用均可以嵌套

14.若用数组名作为函数调用的实参,传递给形参的是___。

A.数组的首地址B.数组中第一个元素的值

C.数组中的全部元素的值D.数组元素的个数

15.调用函数的实参与被调用函数的形参应有如下关系___。

A.只要求实参与形参个数相等B.只要求实参与形参顺序相同

C.只要求实参与形参数据类型相同D.上述三点均需具备

16.凡在函数中未指定存储类别的变量,其隐含的存储类别是___。

A.自动B.静态C.外部D.寄存器

17.若已定义a为int型变量,则___是对指针变量p的正确说明和初始化。

A.intp=&a;B.int*p=a;C.int*p=*a;D.int*p=&a;

18.下面是一个初始化指针的语句:int*px=&a;,其中指针变量的名字应该___。

A.*pxB.aC.pxD.&a

19.对下语句int*px[10];,下面正确的说法是___。

A.px是一个指针,指向一个数组,数组的元素是整数型。

B.px是一个数组,其数组的每一个元素是指向整数的指针。

C.A.和B均错,但它是C语言的正确语句。

D.C语言不允许这样的语句。

20.结构体成员的数据类型___。

A.相同B.可以不同也可以相同

C.长度一样D.是结构体变量

1

A、2

B、4

C、1

D、5

2.C语言中,正确的字符串表示是;

A、“123”

B、‘123’

C、‘AB’

D、‘\101’

3.若a是int型变量,b是float型变量,以下输入语句合法的是;

A、scanf(“%f%f”,&a,&b)

B、scanf(“%c%d”,&a,&b)

C、scanf(“%d%f”,&a,&b)

D、scanf(“%d%f”,a,b)

4.C语言中,char类型和long类型数据在内存中分别占个字节;

A、2,4

B、1,4

C、1,2

D、2,2

5.intr=0xab;其中0xab表示是数;

A、十进制;

B、错误数据;

C、十六进制;

D、八进制

6.如果x=25,执行if(x)x=5;语句时,该x为;

A、“真”

B、“假”

C、25

D、5

7.如果j=a[1]=3;执行a[3]=++a[1];a[3]+=a[3]+j;a[3]的值是;

A、8

B、10

C、9

D、11

8.设inta,b,c;且a=10;b=4;a/=b;则表达式(a%b?B、a)之值是;

A、4

B、-4;

C、2;

D、-2

9.设intx,a,b,c;计算表达式x=(a=4,b=16,c=32)后,x的值是;

A、4

B、16

C、32

D、52

10.For(;x=3;);代表的意义是;

A、死循环

B、不循环

C、循环3次

D、语法错误

11.对于表达式53/2&&!0和!(15>3||5<6-8)的逻辑值,分别是;

A、0,1

B、1,0

C、0,0;

D、1,1

12.在C语言中,下面运算符优先级最高的是

A、++

B、/

C、+

D、=

13.设charw;intx;floaty;表达式有由于y=(w*x-15)中的y值的数据类型为A、charB、intC、floatD、double

14.在C语言中,intx=4;执行x=5>2&&x<2语句,其x的值为________

A、1

B、0

C、5

D、2

15.charc=‘a’;intn=2;

switch(c+2)

{case‘a’:n=n+1;

case‘b’:n=n*2;

case‘c’:n=n-2;

case‘d’:n=n+3;break;

default:n=n/2;

}

n的正确结果值是________

A、2

B、3

C、4

D、5

相关主题
文本预览
相关文档 最新文档