C语言专升本考试练习题含答案_第1页
C语言专升本考试练习题含答案_第2页
C语言专升本考试练习题含答案_第3页
C语言专升本考试练习题含答案_第4页
C语言专升本考试练习题含答案_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

C语言专升本考试练习题及答案4

1.[单选题]若定义pf为指向float类型变量f的指针,下列语句中—是正确的。

A)floatf,*pf=f;

B)floatf,*pf=&f;

C)float*pf=&f,f;

D)floatf,*pf=0.0;

答案:B

解析:

2.[单选题]下面程序的输出是main。{inta=l,b=2;a=a+b;b=a-b;a=a-b;

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

A)l,2

02,2

D)2,l

答案:D

解析:

3.[单选题]经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在

微机上的值分别为()o

Charx=65;

Floaty=7.3;

Inta=100;

Doubleb=4.5;

A)2,2,2,4

B)l,2,2,4

01,4,2,8

D)2,4,2,8

答案:C

解析:

4.[单选题]若变量已正确定义为int型,要通过语句scanf(吗d,%d,%d",&a,&b,&c);给a赋值1、给b赋

值2、给c赋值3,以下输入形式中错误的是o(代表一个空格符)

A)l,2,3〈回车>

B)123〈回车〉

01,2,3〈回车〉

D)l,2,3〈回车>

答案:B

解析:知识点/选择题/C3顺序结构程序设计/输入函数T

5.[单选题]有以下程序:

Sinclude<stdio.h>

Unionpw

{inti;charch[2];

}a;

MainO

{ach[0]=13;

Ach[l]=0;

Printf("%d\n",a.i);

}

程序的输出结果是(注意:ch[0]在低字节,ch[l]在高字节)o

A)13

B)14

0208

D)209

答案:A

解析:知识点/选择题/C9结构体与共用体/共用体T

6.[单选题]已知下列说明语句:staticinta[]={2,4,6,8}staticint

*p[]={a,a+1,a+2,a+3};int**q;q=p;则表达式**(q+2)的值是_o

A)6

B)2

04

D)8

答案:A

解析:

7.[单选题]以下描述中,正确的是()o

A)预处理是指完成宏替换和文件包含中指定的文件的调用

B)预处理指令只能位于C源文件的开始

C)C源程序中凡是行首以#标识的控制行都是预处理指令

D)预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备

答案:C

解析:

8.[单选题]在下面的条件语句中(其中S1和S2表示c语言语句),哪一个在功能上与其他3个语句不

等价()。(2分)

A)1.if(a!=O)SI;elseS2;

B)1.if(a==0)SI;elseS2;

C)1.if(a)SI;elseS2;

D)l.if(a==0)S2;elseSI;

答案:B

解析:

9.[单选题]下列程序段执行后s的值为()。inti=5,s=0;while(i―)if(i%2)continue;

elses+=i;

A)15

B)10

C)9

D)6

答案:D

解析:

10.[单选题]设有说明:charw;intx;floaty;doublez;则表达式wx+z-y值的数据类型为(

)o(2分)

A)float

B)1.char

C)int

D)1.double

答案:D

解析:

11.[单选题]下面四个选项中,均是不合法的浮点数的选项是()。

A)160.0.12e3

B)1232e4.2.e5

0-18123e40.0

D)-e3.234le3

答案:B

解析:

12.[单选题]设有条件表达式:(EXP)?i++:j—,则以下表达式中与(EXP)完全等价的是。

A)(EXP==0)

B)(EXP!=0)

C)(EXP==1)

D)(EXP!=1)

答案:B

解析:知识点/选择题/C4选择结构程序设计/条件运算符T

13.[单选题]C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是0

A)void

B)int

C)float

D)double

答案:B

解析:知识点/选择题/C6函数与编译预处理/函数的基本概念

14.[单选题]有以下程序

voidswap(char*x,char*y)

(

chart;

t=*x;

*x=*y;

*y=t;

}

main()

(

char*sl="abc",*s2="123";

swap(si,s2);

printf("%s,%s\n",si,s2);

}

程序执行后的输出结果是o

A)123,abc

B)abc,123

C)lbc,a23

D)321,cba

答案:C

解析:

15.[单选题]在C语言中,合法的长整型常数是____。

A)OL

B)4962710

O324562&

D)216D

答案:A

解析:知识点/选择题/C2基本数据类型及表达式/常量T

16.[单选题]以下程序中,while循环的循环次数是ovoidmain(){inti=10;while(i一)

if(i==5)break;if(i<8)continue;i­;}...}

A)2

B)4

C)5

D)死循环,不能确定次数

答案:B

解析:

17.[单选题]若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。(2分)

A)1.a,point,*&a

B)1.&*a,&a,*point

C)1.*&point,*point,&a

D)1.&a,&*point,point

答案:D

解析:

18.[单选题]以下程序段若要使输出值为2,则应该从键盘给n输入的值是ints=0,a=1,

n;scanf("%d",&n);do{s+=1;a=a-2;}while(a!=n);printf("%d\n",s);

A)-l

B)-3

0-5

D)0

答案:B

解析:

19.[单选题]有如下程序:

Main()

{

Intn[5]={l,2,3},i,k=2;

For(i=0;i<=k;i++)

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

Printf("%d\n",n[i]);

}

该程序的输出结果是o

A)不确定的值

B)4

03

D)0

答案:D

解析:知识点/选择题/C7数组/一维数组应用T

20.[单选题]以下不能正确进行字符串赋初值的语句为b:

A)charstr[5]="good!";

B)charstr[]="good!";

C)charstr[6]="good!";

D)charstr[5]={'g'.'o'.'o'.'d');

答案:A

解析:知识点/选择题/C7数组/字符数组初始化T

21.[单选题]若int类型数据占两个字节,则下列语句的输出为()o

Intk=-l;printf("%d,%u\n",k,k);

B)-1,32767

0-1,32768

D)-1,65535

答案:D

解析:

22.[单选题]有以下程序:

Voidsum(int*a)

{a[0]=a[l];}

Main()

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

For(i=2;i>=0;i-)sum(&aaLi]);

Printf("%d\n",aa[0]);

)

执行后的输出结果是______o

A)4

B)3

C)2

D)1

答案:A

解析:知识点/选择题/C8指针/指针作函数参数T

23.[单选题]以下错误的定义语句是。

A)intx[][3]={{0},{1},{1,2,3));

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

Ointx[4][]-{{1,2,3},{1,2,3},{1,2,3}{1,2,3}};

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

答案:C

解析:知识点/选择题/C7数组/二维数组定义初始化及引用T

24.[单选题]以下各选项企图说明一种新的类型名,其中正确的是

A)typedefvlint;

B)typedefv2=int;

C)typedefintv3;

D)typedefv4:int

答案:C

解析:知识点/选择题/C9结构体与共用体/基本数据类型重定义T

25.[单选题]若二维数组a有m列,则在a[i][j]前的元素个数为()。(2分)

A)1.j*m+i

B)1.i*m+j

01.i*m+j-l

D)1.i*m+j+l

答案:B

解析:

26.[单选题]整型变量X和Y的值相等,且为非0值,则以下选项中结果为0的表达式是

A)X||Y

B)X|Y

OX&Y

D)X*Y

答案:D

解析:知识点/选择题/CIO位运算/位运算T

27.[单选题]设有以下定义

Uniondata

{chardl;floatd2;}demo;

则下面叙述中错误的是o

A)变量demo与成员d2所占的内存字节数相同

B)变量demo中各成员的地址相同

C)变量demo和各成员的地址相同

D)若给demo,d1赋99后,demo.d2中的值是99.0

答案:D

解析:知识点/选择题/C9结构体与共用体/共用体T

28.[单选题]下面程序

#include<stdio.h>

#include<string.h>

Main()

{char*p1=Kabc,*p2=,rABCn,str[50]=nxyz;

Strcpy(str+2,strcat(pl,p2));

Printf(,f%s\nM,str);

)

的输出是o

A)xyzabcABC

B)zabcABC

C)yzabcABC

D)xyabcABC

答案:D

解析:知识点/选择题/C8指针/指针与字符串处理函数T

29.[单选题]以下不合法的数值常量是____o

A)0U

B)lel

08.OEO.5

D)Oxabcd

答案:C

解析:没有定义

30.[单选题]请选出可用作C语言用户标识符的一组.标识符<

A)voiddefineWORD

B)a3_b3_123IF

C)For_abccase

D)2aDOsizeof

答案:B

解析:知识点/选择题/C2基本数据类型及表达式/S标识符T

31.[单选题]对于下面的for循环语句,可以断定它执行次循环。

For(x=0,y=0;(y!=67)&&(x<5);x++)

Printf("--");

A)无限

B)不定

C)5次

D)4次

答案:C

解析:

32.[单选题]任何一个C语言的可执行程序都是从一开始执行的.

A)程序中的第一个函数

B)main()函数的入口处

C)程序中的第一条语句

D)编译预处理语句

答案:B

解析:

33.[单选题]下列语句的输出结果是()。

Printf("%d\n",(int)(2.5+3.0)/3);

A)有语法错误不能通过编译

B)2

01

D)0

答案:C

解析:

34.[单选题]下面程序

Voidprtv(int*x)

{printf("%d\n",++*x);

MainO

{inta=25;

Prtv(&a);

)

的输出是_____o

A)23

B)24

025

D)26

答案:D

解析:知识点/选择题/C8指针/指针作函数参数T

35.[单选题]对于基本类型相同的两个指针变量之间,不能进行的运算是()。

AX

B)=

0+

D)-

答案:C

解析:

36.[单选题]已知:intx=l,y=2,z;执行:z=x>y?++x:++y;则z的值为—

A)1

B)2

C)3

D)4

答案:C

解析:

37.[单选题]Putchar函数可以向终端输出一个()0

A)整型变量表达式值

B)实型变量值

C)字符串

D)字符或字符型变量值

答案:D

解析:

38.[单选题]在C语言中,数字029是一个o

A)八进制数

B)十六进制数

C)十进制数

D)非法数

答案:D

解析:

39.[单选题]程序中对fun函数有如下说明

Void*fun();

此说明的含义是______O

A)fun函数无返回值

B)fun函数的返回值可以是任意的数据类型

C)fun函数的返回值是无值型的指针类型

D)指针fun指向一个函数,该函数无返回值

答案:C

解析:知识点/选择题/C6函数与编译预处理/函数的基本概念

40.[单选题]以下选项中合法的字符常量是____o

A)"B"

B)'\010'

068

D)D

答案:B

解析:知识点/选择题/C2基本数据类型及表达式/常量T

41.[单选题]下列程序段的输出结果是o

Voidfun(int*x,int*y)

{printf("%d%d",*x,*y);*x=3;*y=4;}

Main()

{intx=l,y=2;

Fun(&y,&x);

Printf("%d%d",x,y);

)

A)2143

B)1212

01234

D)2112

答案:A

解析:知识点/选择题/C8指针/指针作函数参数T

42.[单选题]数组名作为参数时,以下叙述正确的是()。(2分)

A)l.函数调用时是将实参数组的所有元素值传给形参。

B)l.函数调用时是将实参数组的第一个元素值传给形参。

01.函数调用时是将实参数组的首地址传给形参。

D)l.函数调用时是将实参数组的所有元素的地址传给形参。

答案:C

解析:

43.[单选题]在一个被调用函数中,关于return语句使用的描述,错误的是()

A)被调用函数中可以不用return语句

B)被调用函数中可以使用多个return语句

C)被调用函数中,如果有返回值,就一定要有return语句

D)被调用函数中,一个return语句可以返回多个值给调用函数

答案:D

解析:

44.[单选题]以下对结构体类型变量的定义中,不正确的是0

①typedefstructaa

{

Intn;

Floatm;

}AA;

AAtdl;

(g)#defineAAstructaa

AA{

Intn;

Floatm;

}tdl;

③struct

Intn;

Floatm;

}aa;

Structaatdl;

④struct

Intn;

Floatm;

}tdl;

A)①

B)②

C)③

D)@

答案:C

解析:知识点/选择题/C9结构体与共用体/结构体类型及变量定义T

45.[单选题]文件操作的一般步骤是()。(2分)

A)l.读/写文件一修改文件一关闭文件

B)l.打开文件一读/写文件一关闭文件

01.读/写文件一打开文件一关闭文件

D)l.读文件一写文件一关闭文件

答案:B

解析:

46.[单选题]下列程序的输出结果是。。

Main()

{intx=l,y=0,a=0,b=0;

switch(x)

(

case1:switch(y)

{

case0:a++;break;

case1:b++;break;

}

case2:a++;b++;break;

case3:a++;b++;break;

)

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

)

A)a=l,b=0

B)a=2,b=l

C)a=l,b=l

D)a=2,b=2

答案:B

解析:

47.[单选题]对于一维数组名作为函数实参,以下描述正确的是()。(2分)

A)l.实参数组类型与形参数组类型可以不一致。

B)l.必须在主调函数中说明此数组的大小。

01.函数调用时是将实参数组中的所有元素值复制到形参数组中。

D)l.实参数组名与形参数组名必须保持一致。

答案:B

解析:

48.[单选题]设有如下的程序段

Charstr[]="Hello";

Char*ptr;

Ptr=str;

执行完上面的程序段后,*(ptr+5)的值为。

A)'o'

B)'\0'

C)不确定的值

D)'o'的地址

答案:B

解析:知识点/选择题/C8指针/指针与字符数组T

49.[单选题]定义一个名为s的字符型数组,并且赋初值为字符串"abc"的错误语句是()

A)chars[]={,a',"b,,,c','\0,);

B)chars[]={"abc");

C)chars[]={"abc\n"):

D)chars[4]={'a','b','c'};

答案:C

解析:

50.[单选题]能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是()

A)(x>=l)&&(x<=10)&&(x>=200)&&(x<=210)

B)(x>=l)I|(x<=10)|!(x>=200)|[(x<=210)

C)(x>=l)&&(x<=10)|(x>=200)&&(x<=210)

D)(x>=l)i|(x<=10)&&(x>=200)|'(x<=210)

答案:C

解析:

51.[单选题]以下正确的函数定义形式是。。

A)doublefun(intx,inty)

B)doublefun(intx;inty)

C)doublefun(intx,inty);

D)doublefun(intx,y);

答案:A

解析:

52.[单选题]下列运算符中,不属于关系运算符的是()。

AX

B)>

0>=

D)!

答案:D

解析:

53.[单选题]Fscanf函数的正确调用形式是。。

A)fscanf(fp,格式字符串,输出表列);

B)fscanf(格式字符串,输出表列,fp);

Ofscanf(格式字符串,文件指针,输出表列);

D)fscanf(文件指针,格式字符串,输入表列);

答案:D

解析:

54.[单选题]有以下结构体说明和变量定义,如图所示:

Structnode

{intdata;structnode*next;}*p,*q,*r;

现要将q所指结点从链表中删除,同时要保持链表的连续,以下不能完成指定操作的语句是

A)p->next=q->next;

B)p->next=p->next->next;

C)p->next=r;

D)p=q->next;

答案:D

解析:知识点/选择题/C9结构体与共用体/链表T

55.[单选题]若已定义x和y为double类型,则表达式x=l,y=x+3/2的值是。

A)1

B)2

C)2.0

D)2.5

答案:C

解析:知识点/选择题/C2基本数据类型及表达式/简单表达式运算T

56.[单选题]请读程序:

^include<stdio.h>

Main()

(

Int

A,b;

For(a=1,b=1;a<=100;a++){

If(b>=20)break;

If(b%3==1){b+=3;continue;}

B-=5;

}

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

}

上面程序的输出结果是o

A)7

B)8

09

D)10

答案:B

解析:知识点/选择题/C5循环结构程序设计/break与continueT

57.[单选题]以下各选项试图说明一种新的类型名,其中正确的是。

A)typedefintegerint;

B)typedefinteger=int;

C)typedefintinteger;

D)typedefint=integer;

答案:C

解析:

58.[单选题]设intb=2;表达式(b»2)/(b»l)的值是()。

A)0

B)2

04

D)8

答案:A

解析:

59.[单选题]以下正确地定义了一维整型数组a的语句组是()

A)inta(10);

B)intn=10,a[n];

C)intn;scanf(“%d”,&n);inta[n];

D)#defineSIZE10inta[SIZE];

答案:D

解析:

60.[单选题]若有以下说明语句,structbirthday{intyear;intmonth;intday;}dayl;则下

面叙述正确的是()。(2分)

A)l.dayl为结构体类型名

B)1.structbirthday为结构体变量名

C)1.month为结构体变量名

D)l.dayl为结构体变量名

答案:D

解析:

61.[单选题]下列程序段的输出结果为()o

Floatk=0.8567;

Printf("%06.Id%%",k*100);

A)0085.6%%

B)0085.7%

C)0085.6%

0)857

答案:B

解析:

62.[单选题]设j和k都是int类型,则for循环语句。。

For(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",&k);

A)最多执行10次

B)最多执行9次

C)是无限循环

D)循环体一次也不执行

答案:A

解析:

63.[单选题]设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是

________________O

A)'a'&&'b'

B)a<=b

C)aI+c&&b­c

D)!((a<b)&&!c|1)

答案:D

解析:知识点/选择题/C4选择结构程序设计/表达式运算T

64.[单选题]判断i和j至少有一个值为非0的表达式是

A)i!=0&&j!=0

B)i+j!=O

Oi:|j

D)i&&j

答案:C

解析:

65.[单选题]设char型变量x中的值为10100H1,则表达式(2+x)«~3)的值是()0

A)10101001

B)10101000

O11111101

0)01010101

答案:D

解析:

66.[单选题]以下不属于算法的特征的是()。(2分)

A)无穷性

B)l.确切性

01.可行性

D)l.输出项

答案:A

解析:

67.[单选题]设有定义:doublex;,则以下能够正确输入变量x值的语句是

A)scanf("x=%f",&x);

B)scanf("x=%lf",&x);

Oscanf("x=%f",x);

D)scanf("x=%LF",&x);

答案:B

解析:知识点/选择题/C3顺序结构程序设计/格式字符T

68.[单选题]若有如下宏定义:

#defineN2

#definey(n)((N+l)*n)

则执行下列语句:

z=4*(N+y(5))

后的结果是。

A)语句有错误

B)z值为68

C)z值为60

D)z值为180

答案:B

解析:

69.[单选题]有如下程序:

Longfib(intn)

(

If(n>2)

Return(fib(n-1)+fib(n-2));

Else

Return(2);

}

Main()

(

Printf("%d\n",fib(3));

}

该程序的输出结果是o

A)2

B)4

06

D)8

答案:B

解析:知识点/选择题/C6函数与编译预处理/函数的递归调用T

70.[单选题]若有说明:int*pl,*p2,m=5,n;以下均是正确赋值语句的选项是()。

A)pl=&m;p2=&pl

B)pl=&m;p2=&n;*pl=*p2;

C)pl=&m;p2=pl;

D)pl=&m;*p2=*pl;

答案:C

解析:

71.[单选题]下列程序运行后的结果是。

#include<stdio.h>

main()

(

intx=l,y=O,a=O,b=O;

switch(x)

(

case1:

switch(y)

(

case0:a++;break;

case1:b++;break;

)

case2:a++;b++;

break;

)

printf(Ma=%d,b=%d\nw,a,b);

)

A)a=2,b=l

B)a=l,b=l

C)a=l,b=O

D)a=2,b=2

答案:A

解析:

72.[单选题]有以下程序:

Structs

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

MainO

{structs*p=data;

Printf("%d\n",++(p->x));

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

A)10

B)ll

020

D)21

答案:B

解析:知识点/选择题/C9结构体与共用体/指针与结构体数组T

73.[单选题]有如下程序main。{intx=23;do{printf("%d",x—);}while(!x);}该程序的执行

结果是。

A)321

B)23

C)不输出任何内容

D)陷入死循环

答案:B

解析:

74.[单选题]若有以下结构体类型定义,structworker{intx;floaty;}a;则赋值语句正确的

是()。(2分)

A)1.worker.x=10;

B)1.worker,a.x=10

C)1.a.x=10;

D)1.x.a=10;

答案:C

解析:

75.[单选题]下面的程序

MainO

{inta=2;

Do{

Printf("%d\n",a-=2);

}while(!(一a));

A)输出的是0

B)输出的是0和-3

C)输出的是3和0

D)是死循环

答案:A

解析:知识点/选择题/C5循环结构程序设计/DO-WHILE循环T

76.[单选题]以下可作为函数fopen中第一个参数的正确格式是()。

A)C>user\text.txt

B)C、\user\text.txt

C)"C、\user\text.txt"

D)"C、WuserWtext.txt

答案:D

解析:

77.[单选题]有以下程序:

^include<stdio.h>

Main()

{FILE*fp;

Inti,k=0,n=0;

Fp=fopen("dl.dat","w");

For(i=l;i<4;i++)fprintf(fp,"%d",i);

Fclose(fp);

Fp=fopen("dl.dat","r");

Fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);

Fclose(fp);

)

执行后输出结果是______o

A)12

B)1230

0123

D)00

答案:B

解析:知识点/选择题/Cll文件/格式化读写函数T

78.[单选题]以下哪个操作在程序不会被执行到

A)变量定义

B)输出结果

C)主函数

D)注释

答案:D

解析:

79.[单选题]有以下程序

Intf(intn)

{if(n==l)return1;

Elsereturnf(n-l)+l;

Main()

{inti,j=0;

For(i=l;i<3;i++)j+=f(i);

Printf("%d\n",j);

)

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

A)4

B)3

C)2

D)1

答案:B

解析:知识点/选择题/C6函数与编译预处理/函数的递归调用T

80.[单选题]若有定义语句:doublex[5]={l.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的

是。

A)*p

B)x⑸

C)*(p+1)

D)*x

答案:B

解析:知识点/选择题/C8指针/一维数组元素的指针表示T

81.[单选题]以下关于long、int和short类型数据占用内存大小的叙述中正确的是。

A)均占4个字节

B)根据数据的大小来决定所占内存的字节数

C)由用户自己定义

D)由C语言编译系统决定

答案:D

解析:知识点/选择题/C2基本数据类型及表达式/基本数据类型T

82.[单选题]如果所有的变量按照下面的程序进行定义和声明,那么在main。函数中所有可用的变量

为()ovoidfun(intx){staticinty;...return;}intz;voidmain(){int

a,b;fun(a);...}

A)x,y

B)x,y,z

C)a,b,z

D)a,b,x,y,z

答案:C

解析:

83.[单选题]以下正确的描述是。

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

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

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

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

答案:B

解析:

84.[单选题]已定义两个字符数组a和b,则以下正确的输入格式是()

A)scanf("%s%s",&a,&b);

B)gets(a,b);

C)scanf("%s%s",a,b);

D)gets("a");

答案:C

解析:

85.[单选题]设变量已正确定义,则以下能正确计算f=n!的程序段是—

A)f=0;for(i=l;i<=n;i++)f*=i;

B)f=l;for(i=l;i<n;i++)f*=i;

C)f=l;for(i=n;i>l;i++)f*=i;

D)f=l;for(i=n;i>=2;i—)f*=i;

答案:D

解析:知识点/选择题/C5循环结构程序设计/FOR循环结构T

86.[单选题]要判断char型变量m是否是数字字符,可以使用下列表达式

A)0<=m&&,m<=9

B)'O'<=m&&m<=,9'

C)'O'<=m&&m<=''9"

D)前面三个答案均是错误的

答案:B

解析:

87.[单选题]以下不构成无限循环的语句或语句组是

A)n=0;Do{++n;}while(n<=0);

B)n=0;While(1){n++;}

C)n=10;While(n);{n―;}

D)for(n=0,i=l;;i++)N+=i;

答案:A

解析:知识点/选择题/C5循环结构程序设计/循环条件判定T

88.[单选题]以下不能对二维数组a进行正确初始化的语句是()o

A)inta[2][3]={0};

B)inta[][3]={{l,2},{0}};

Ointa[2][3]={{1,2},{3,4},{516}};

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

答案:C

解析:

89.[单选题]以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子x/(y*z)的C语言

表达式是o

A)x/y*z

B)x*(l/(y*z))

C)x/y*l/z

D)x/y/z

答案:A

解析:知识点/选择题/C2基本数据类型及表达式/【

90.[单选题]引用数组元素时,数组元素下标不可以是。

A)整型变量

B)字符常量

C)算术表达式

D)字符串

答案:D

解析:

91.[单选题]结构化程序设计所规定的三种基本控制结构是____。

A)输入、处理、输出

B)树形、网形、环形

C)顺序、选择、循环

D)主程序、子程序、函数

答案:C

解析:知识点/选择题/C3顺序结构程序设计/C语句分类T

92.[单选题]若有定义:int*p[3];,则以下叙述中正确的是o

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

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

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

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

答案:B

解析:知识点/选择题/C8指针/指针数组基础知识T

93.[单选题]C语言结构体类型变量在程序执行期间

A)所有成员一直驻留在内存中

B)只有一个成员驻留在内存中

C)部分成员驻留在内存中

D)没有成员驻留在内存中

答案:A

解析:

94.[单选题]C语言中函数返回值的类型是由()决定的。

A)return语句中的表达式类型

B)调用该函数的主调函数的类型

C)调用函数时临时决定

D)定义函数时所指定的函数类型

答案:D

解析:

95.[单选题]下面的程序中____错误(每行程序前面的数字是行号)。

1#include<stdio.h>

2main()

3(

4floata[3]={0.0};

5inti;

6for(i=0;i<3;i++)scanf("%d",a[i]);

7for(i=l;i<3;i++)a[0]=a[0]+aLi];

8printf("%f\n",a[0]);

9)

A)没

B)第4行

C)第6行

D)第8行

答案:C

解析:知识点/选择题/C7数组/一维数组应用T

96.[单选题]若有说明语句:charc='\72';则变量c()。

A)包含1个字符

B)包含2个字符

C)包含3个字符

D)说明不合法,c的值不确定

答案:A

解析:

97.[单选题]以下选项中可作为C语言合法整数的是o

A)10110B

B)0386

OOXffa

D)x2a2

答案:C

解析:知识点/选择题/C2基本数据类型及表达式/常量T

98.[单选题]以下程序结果为:。

Voidpp()

(staticintn=5;

N—;

Printf("%d",n);)

Main()

{intm;

For(m=0;m<4;m++)

Pp();}

A)5555

B)4321

04444

D)5432

答案:B

解析:知识点/选择题/C6函数与编译预处理/S静态存储T

99.[单选题]如果charcc[]="12345",sizeof(cc)的值应为()0

A)2

B)5

06

D)1

答案:C

解析:指针章节综合测验

100.[单选题]设有以下语句

Chara=3,b=6,c;

C=a"b«2;

则C的二进制值是_____o

A)00011011

B)00010100

C)00011100

0)00011000

答案:A

解析:知识点/选择题/CIO位运算/位运算T

101.[单选题]关于return语句,下列正确的说法是()0

A)在主函数和其他函数中均可出现

B)必须在每个函数中出现

C)可以在同一个函数中出现多次

D)只能在除主函数之外的函数中出现一次

答案:c

解析:

102.[单选题]C语言中用于结构化程序设计的三种基本结构是____o

A)顺序结构、选择结构、循环结构

B)if、switch,break

C)for,while、do-while

D)if,for、continue

答案:A

解析:知识点/选择题/C3顺序结构程序设计/C语句分类T

103.[单选题]设有程序段:intk=10;while(k=0)k=k-l;这下面描述中正确的是()。(2分)

A)l.while循环执行10次

B)l.循环是无限循环

01.循环体语句一次也不执行

D)l.循环体语句执行一次

答案:C

解析:

104.[单选题]若有以下定义:intt[3][2];能正确表示t数组元素地址的表达式是一

A)&t[3][2]

B)t[3]

OtLl]

D)*t⑵

答案:C

解析:知识点/选择题/C8指针/二维数组元素及地址表示方法T

105.[单选题]语句for(表达式1;;表达式3)等价于?()

A)for(表达式1;0;表达式3)

B)for(表达式1;1;表达式3)

C)for(表达式1;表达式1;表达式3)

D)for(表达式1;表达式3;表达式3)

答案:B

解析:

106.[单选题]设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是_0

A)6.500000

B)6

C)5.500000

D)6.000000

答案:D

解析:知识点/选择题/C2基本数据类型及表达式/简单表达式运算T

107.[单选题]若有定义和语句:chars[10];s="abcd";printf("%s\n",s);则结果是。(以下

口表示空格)

A)输出abed

B)输出a

C)输出abed口□□□□

D)编译不通过

答案:D

解析:

108.[单选题]在C语言中以下正确的叙述是()。(2分)

A)l.函数的定义和函数的调用均可以嵌套。

B)l.函数的定义和函数的调用均不可以嵌套。

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

D)l.函数的定义不可以嵌套,但函数的调用可以嵌套。

答案:D

解析:

109.[单选题]若指针px为空指针,则。

A)px指向不定

B)px的值为零

C)px的目标为零

D)px的地址为零

答案:B

解析:

110.[单选题]若有定义:char*x="abcdefghi";,以下选项中正确运用了strepy函数的是。

A)chary[10];strepy(y,x[4]);

B)chary[10];strepy(++y,&x[ll);

C)chary[10],*s;strepy(s=y+5,x);

D)chary[10],*s;strepy(s=y+l,x+1);

答案:D

解析:知识点/选择题/C8指针/指针与字符串处理函数T

111.[单选题]以下正确的说法是()O

A)用户若需调用标准库函数,调用前必须重新定义

B)用户可以重新定义标准库函数,若如此,该函数将失去原有含义

C)系统根本不允许用户重新定义标准库函数

D)用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中

,系统自动去调

答案:B

解析:

112.[单选题]有以下程序

Main()

{intc;

While((c=getchar())!='\n'){

Switch(c-'2'){

Case0:case1:putchar(c+4);

Case2:putchar(c+4);break;

Case3:putchar(c+3);

Default:putchar(c+2);break;}

)

)

从第一列开始输入以下数据,/代表一个回车符。

2473/

程序的输出结果是O

A)668977

8)668966

066778777

D)6688766

答案:A

解析:知识点/选择题/C5循环结构程序设计/【

113.[单选题]执行下列语句后变量x和y的值是()o

Y=10;x=y++;

A)x=10,y=10

B)x=ll,y=ll

C)x=10,y=ll

D)x=ll,y=10

答案:C

解析:

114.[单选题]定义下列结构体(联合)数组:structst{charname[15];intage;)

aL10]={"ZHA0",14,"WANG",15,"LIU",16,"ZHANG",17);执行语句printf["%d,%c",a[2].age,

*(a[3].name+2))的输出结果为。

A)15,A

B)16,H

016,A

D)17,H

答案:C

解析:

115.[单选题]在C语言中,形参的缺省存储类是()。

A)auto

B)register

C)static

D)extern

答案:A

解析:

116.[单选题]表示关系l〈=x<=100的c语言表达式为()。(2分)

A)1.x>=l&x<=100

B)1.x>=landx<=100

C)l.K=x<=100

D)l.x>=l&&x<=100

答案:D

解析:

117.[单选题]数组名作为实参数传递给函数时,数组名被处理为()o

A)该数组的长度

B)该数组的元素个数

C)该数组的首地址

D)该数组中各元素的值

答案:C

解析:

118.[单选题]下面能正确进行字符串赋值操作的是

A)chars[5]=(“ABCDE”);

B)chars[5]={'A','B','C,'D','E"!;

C)char*s;s="ABCDE";

D)char*s;scanf("%s",s);

答案:C

解析:

119.[单选题]C程序的基本结构单位是

A)文件

B)语句

C)函数

D)表达式

答案:C

解析:

120.[单选题]下列程序输出结果是。

#include<stdio.h>

my()

staticintx=3;

x++;

return(x);

main()

(

inti,x;

for(i=0;i<=2;i++)x=my();

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

)

A)3

B)4

05

D)6

答案:D

解析:

121.[单选题]设有以下说明语句:

Structstu

(

Inta;floatb;}stuype;

则下面的叙述不正确的是()。

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

B)structstu是用户定义的结构体类型

Ostutype是用户定义的结构体类型名

D)a和b都是结构体成员名

答案:C

解析:

122.[单选题]若a是float型变量,b是unsigned型变量,以下输入语句中合法的是()。

A)scanf("%6.2f%d",&a,&b);

B)scanf("%f%n",&a,&b);

C)scanf("%f%3o",&a,&b);

D)scanf("%f%f",&a,&b);

答案:C

解析:

123.[单选题]表达式,0xl3&0xl7的值是()0

A)0x17

B)0xl3

C)0xf8

D)Oxec

答案:B

解析:

124.[单选题]设有定义:chars[12]="string";printf("%d\n",strlen(s));的输出是

A)6

B)7

Oil

D)12

答案:A

解析:

125.[单选题]有一个名为init.h的文件,内容如下:

#defineHDY(A,B)A/B

ttdefinePRINT(Y)printf("y=%d\n",Y)

有以下程序

ttinclude"init.h"

Main()

{inta=l,b=2,c=3,d=4,k;

K=HDY(a+c,b+d);

PRINT(k);

}

下面针对该程序的叙述正确的是O

A)编译出错

B)运行出错

C)运行结果为y=0

D)运行结果为y=6

答案:D

解析:知识点/选择题/C6函数与编译预处理/自定义头文件T

126.[单选题]设intx=l,y=l;表达式(!xI|y-)的值是()。

A)0

B)1

02

D)-l

答案:B

解析:

127.[单选题]从键盘上输入某字符串时,不可使用的函数是()o

A)getchar()

B)gets()

C)scanf()

D)fread()

答案:A

解析:

128.[单选题]以下程序段char*alp[]={"ABC","DEF","GHI"};intj;puts(alp[1]);

的输出结果是()o

A)A

B)B

C)D

D)DEF

答案:D

解析:

129.[单选题]已知字符0的ASCH码为十六进制的30,下面程序

Main()

(

Union{

Unsignedcharc;

Unsignedinti[4];

)z;

Z.i[01=0x39;

Z.i[l]=0x36;

Printf("%c\n",z.c);

}

的输出是o

A)6

B)9

C)0

D)3

答案:B

解析:知识点/选择题/C9结构体与共用体/共用体T

130.[单选题]若有定义语句:charsL10]="1234567\0\0";,则strlen(s)的值是____0

A)7

B)8

09

D)10

答案:A

解析:知识点/选择题/C7数组/字符数组内存分配及串长度T

131.[单选题]已知inti;floatf;正确的语句是

A)(intf)%i

B)int(f)%i

Oint(f%i)

D)(int)f%i

答案:D

解析:

132.[单选题]设a=5、b=6、c=7^d=8、m=2、n=2,执行

(m=a〉b)&&(n=c>d)后n的值为。

A)1

B)2

C)3

D)4

答案:B

解析:知识点/选择题/C4选择结构程序设计/S逻辑运算短路问题T

133.[单选题]以下错误的转义字符是____.

A)'\\,

B),〃”

C),\81'

D),0,

答案:D

解析:

134.[单选题]有以下程序

Main()

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

If(a>b>c)

Printf("%d\n",d);

Elseif((c-l>=d)==l)

Printf("%d\n",d+1);

Else

Printf("%d\n",d+2);

)

执行后输出的结果是_____o

A)2

B)3

04

D)编译时有错,无结果

答案:B

解析:知识点/选择题/C4选择结构程序设计/IF语句的嵌套T

135.[单选题]Enuma{sum=9,mon=-l,tue};

定义了()o

A)枚举变量

B)3个标识符

C)枚举数据类型

D)整数9和T

答案:C

解析:

136.[单选题]以下选项中不属于C语言类型的是____。

A)signedshortint

B)unsignedchar

C)singedlong

D)longshort

答案:D

解析:知识点/选择题/C2基本数据类型及表达式/基本数据类型T

137.[单选题]以下程序执行后sum的值是。

Main()

{inti,sum;

For(i=l;i<6;i++)sum+=i;

Printf("%d\n",sum);

}

A)15

B)14

C)不确定

D)0

答案:C

解析:知识点/选择题/C5循环结构程序设计/FOR循环结构T

138.[单选题]若有以下程序:

Main()

{intk=2,i=2,m;

M=(k+=i*=k);printf("%d,%d\n",m,i);

}

执行后的输出结果是o

A)8,6

B)8,3

06,4

D)7,4

答案:C

解析:知识点/选择题/C2基本数据类型及表达式/赋值表达式的求值规则T

139.[单选题]以下程序段的输出结果是:。

Chars[]="\\141\141abc\t";

Printf("%d\n",strlen(s));

A)9

B)12

013

D)14

答案:A

解析:知识点/选择题/C7数组/S字符串含转义字符T

140.[单选题]以下正确的程序段是()。(2分)

A)1.charstr[20];scanf("%s",&str);

B)1.char*p;scanf("%s",p);

C)1.charstr[20];scanf("%s",&str[2]);

D)1.charstr[20],*p=str;scanf("%s",p[2]);

答案:C

解析:

141.[单选题]下列有关C语言字符数组的叙述中,错误的是()

A)不可以用赋值语句给字符数组名赋字符串

B)可以用输入语句把字符串整体输入给字符数组

C)字符数组中的内容不一定是字符串

D)字符数组只能存放字符串

答案:D

解析:

142.[单选题]设以下变量均为int类型,则值不等于7的表达式是()o

A)(x=y=6,x+y,x+1)

B)(x=y=6,x+y,y+l)

C)(x=6,x+l,y=6,x+y)

D)(y=6,y+l,x=y,x+l)

答案:C

解析:

143.[单选题]运行下面的程序后,其输出结果是。main(){inta=6,b=2,c;c=f(a)/f(b);

printf("%d\n",c);}intf(intx){inty;y=x++*x++;returny;)

A)9

B)6

C)36

D)18

答案:A

解析:

144.[单选题]有以下程序

StructS{intn;inta[20];};

Voidf(structS*p)

{inti,j,t;

For(i=0;in-1;i++)

For(j=i+1;jn;j++)

If(p->a[i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}

)

Main()

{inti;

StructSs={10,{2,3,1.6,8,7,5,4,10,9}};

F(&s);

For(i=0;i<s.n;i++)printf("%d,",s.a[i]);

)

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

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

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

02,3,1,6,8,7,5,4,10,9,

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

答案:A

解析:知识点/选择题/C9结构体与共用体/【

145.[单选题]有如下函数调用语句:

Func(reel,rec2+rec3,(rec4,rec5));

该函数调用语句中,含有的实参个数是_____。

A)3

B)4

C)5

D)有语法错

答案:A

解析:知识点/选择题/C6函数与编译预处理/函数的基本概念

146.[单选题]如下说明语句:enumA{A0=l,A1=3,A2,A3,A4,A5};enumAB;执行B=A3;

printf("%d\n",B);输出是。

A)5

B)3

C)2

D)编译时出错

答案:A

解析:

147.[单选题]下列程序运行后的输出结果是。

voidmain()

{

intm=4,n=2,k;

k=fun(m,n);

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

k=fun(m,n);

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

)

intfun(intx,inty)

(

staticintn=3,i=2;

i+=n+l;

n=i+x+y;

return(n);

}

A)1212

B)1223

01225

D)1216

答案:C

解析:

148.[单选题]设int类型的数据长度为2个字节,则unsignedint类型数据的取值范围是

A)0~255

B)0^65535

C)256~255

D)32768~2767

答案:B

解析:

149.[单选题]在C语言中,函数的隐含存储类别是()。

A)auto

B)static

C)extern

D)无存储类别

答案:C

解析:

150.[单选题]以下程序段的输出结果是()o

Char*alp[]={"ABC","DEF","GHI"};intj;puts(alp[l]);

A)A

B)B

C)D

D)DEF

答案:D

解析:

151.[单选题]有以下程序

ttdefinef(x)(x*x)

Main()

{intil,i2;

Il=f(8)/f(4);i2=f(4+4)/f(2+2);

Printf("%d,%d\n",il,i2);

)

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

A)64,28

B)4,4

04.3

0)64,64

答案:C

解析:知识点/选择题/C6函数与编译预处理/带参数的宏定义T

152.[单选题]已知i、j、k为int型变量,若从键盘输入:1,2,3/,使i的值为1、j的值为2、k的值为

3,以下选项中正确的输入语句是0

A)scanf&k);

B)scanfi,j,k);

C)scanf("%d,%d,%d",&i,&j,&k);

D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);

答案:C

解析:知识点/选择题/C3顺序结构程序设计/输入函数T

153.[单选题]设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为()。

A)12

B)144

C)0

D)132

答案:C

解析:

154.[单选题]有以下程序:

Voidsort(inta[],intn)

{inti,j,t;

For(i=0;i<n-l;i+=2)

For(j=i+2;j<n;j+=2)

If(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}

)

MainO

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

Sort(aa,10);

For(i=0;i<10;i++)printf("%d,",aaLi]);

Printf("\n");

)

其输出结果是______o

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

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

09,2,7,4,5,6,3,8,1,10,

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

答案:C

解析:知识点/选择题/C7数组/【

155.[单选题]以下结构体类型说明和变量定义中正确的是_

A)typedefstruct{intn;charc;}REC;RECtl,t2;

B)structREC;{intn;charc;);RECtl,t2;

C)typedefstructREC;{intn=0;charc='A';}tl,t2;

D)struct{intn;charc;}REC;RECtl,t2;

答案:A

解析:知识点/选择题/C9结构体与共用体/结构体类型及变量定义T

156.[单选题]下列四组选项中,均不是C语言关键字的选项是()o

A)defineIFtype

B)getccharprintf

C)includescanfcase

D)whilegopow

答案:A

解析:

157.[单选题]当a=l,b=3,c=5,d=4时,执行下面一行程序后,x的值是

If(a

A)1

B)2

03

D)6

答案:B

解析:

158.[单选题]以下符合C语言语法的实型常量是。

A)1.2E0.5

B)3.14159E

C)5E-3

D)E15

答案:C

解析:知识点/选择题/C2基本数据类型及表达式/常量T

159.[单选题]若有说明:intn=2,p=&n,q=p;则以下非法的赋值为()。(2分)

A)1.p=q;

B)1.p=q;

C)1.n=*q;

D)1.p=n;

答案:D

解析:

160.[单选题]C语言能正确处理的指数是()。

A)8.5e4288

B)e-32

C)123000000000

D)4.5e-5.6

答案:C

解析:

161.[单选题]下列定义数组的语句中不正确的是(

温馨提示

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

评论

0/150

提交评论