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

下载本文档

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

文档简介

试题说明

本套试题共包括1套试卷

答案和解析在每套试卷后

C语言专升本考试练习题及答案1(500题)

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

L[单选题]以下选项中合法的用户标识符是_____o

A)int

B)_2Test

C)3Dmax

D)A.dat

2.[单选题]假定所有变量均已正确定义,下列程序段运行后X的值是Oo

Kl=I;

K2=2;

K3=3;

X=15;

If(!kl)X一;

Elseif(k2)x=4;

elsex=3;

A)14

B)4

C)15

D)3

3.[单选题]以下叙述中错误的是。

A)在程序中凡是以开始的语句行都是预处理命令行

B)预处理命令行的最后不能以分号表示结束

OUdefineMAX是合法的宏定义命令行

D)C程序对预处理命令行的处理是在程序执行的过程中进行的

4.[单选题]系统的标准输入文件是指Oo

A)键盘

B)显示器

C)软盘

D)硬盘

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

A)八进制数

B)十六进制数

C)十进制数

D)非法数

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

Structstu

{charnum[10];floatscore[3];};

Main()

{structstus[3]={{"20021",90,95,85},

{"20022",95,80,75),

("20023",100,95,90}},*p;

Inti;floatsum=0;

P=s+2;

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

Sum=sum+p->score[i];

Printf("%6.2f∖n",sum);}

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

A)250.00

B)250

C)285.00

D)285

7.[单选题]题号:87

C语言源程序的基本单位是Oo

A)过程

B)函数

C)子程序

D)标识符

8.[单选题]为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A)缩排位置相同的if

B)在其之前未配对的if

C)在其之前未配对的最近的if

D)同一行上的if

9.[单选题]以下程序的输出结果是___o

MainO

{charchL3][5]={"AAAA","BBB","CC");

Printf("%s∖n",ch[l]);

}

A)"AAAA"

B)"BBB"

C)"BBBCC"

D)"CC"

10.[单选题]若有条件表达式(exp)?a++:b-,则以下表达式中能完全等价于

表达式(exp)的是()。

A)(exp==0)

B)(exp!=O)

C)(exp==l)

D)(exp!=l)

IL[单选题]有以下程序

Intf(inta)

{returna%2;}

Main()

{ints[8]≡{l,3,5,2,4,6},i,d=O;

For(i=0;f(s[i]);i++)d+=s[i];

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

}

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

A)9

B)ll

019

D)21

12.[单选题]以下程序调用findmaX函数返回数组中的最大值。

Findmax(int*a,intn)

{int*p,*s;

For(p=a,s=a;p-a<n;p++)

If()s=p;

Return(*s);

}

Main()

{intx[5]={12,21,13,6,18);

Printf("%d∖n",findmax(x,5)):

)

在下划线处应填入的是.O

A)p>s

B)*p>*s

C)a[p]>a[s]

D)p-a>p-s

13.[单选题]有如下函数调用语句:func(reel,rec2+rec3,(rec4,rec5));则该函数调用语

句中,含有的实参个数是()。

A)3

B)4

05

D)有语法错

14.[单选题]为表示关系x2y2z,应使用C语言表达式()。

A)(x>=y)⅛fe(y>=z)

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

C)(x>=y>=z)

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

15.[单选题]下列关于函数的描述错误的是()。(2分)

A)l.C程序是由函数组成的。

B)l.C程序中的函数是各自独立的。

C)1.main函数可以调用其他的函数。

D)l.在main函数中可以嵌套定义别的函数。

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

MainO

{intx=102,y=012;

Printf("%2d,%2d∖n",x,y);

)

执行后输出结果是O

A)10,01

B)02,12

0102,10

D)02,10

17.[单选题]以下正确的说法是Oo

A)定义函数时,形参的类型说明可以放在函数体内

B)return后边的值不能为表达式

C)如果函数值的类型与返回值类型不一致,以函数值类型为准

D)如果形参与实参类型不一致,以实参类型为准

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

Typedefstruct

{intn;

Charch[8];

)PER;

则下面叙述中正确的是

A)PER是结构体变量名

B)PER是结构体类型名

C)typedefStrUCt是结构体类型

D)StrUCt是结构体类型名

19.[单选题]若已定义a为int型变量,则是对指针变量P的正确说明和初始化。

A)intp=&a;

B)int*p=a;

C)int*p=*a;

D)int*p=&a;

20.[单选题]在C语言中,要求运算数必须是整型的运算符是Oo

A尸

B)%

O!

D)>

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

#include<stdio.h>

Sinclude<string.h>

Voidfun(chars[][10],intn)

{chart;inti,j;

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

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

∕*比较字符串的首字符大小,并交换字符串的首字符*/

If(s[i][O]>s[j][0]){t=s[i][0];s[i][O]=s[j][O];s[j][0]=t;}

)

Main()

MHHn,,π,,π,,,,

{charss[5][10]={bcc,bbcc,xyfaaaacc,aabcc);

Fun(ss,5);printf(M%S,%S∖ΠH,SS[0],SS[4]);

)

程序的运行结果是O

A)xy,aaaacc

B)aaaacc,xy

C)xcc,aabcc

D)acc,xabcc

22.[单选题]说明语句如下,则正确的叙述是ouniondata{intx;chary;floatz;

)a;

A)data和a均是共用体类型变量

B)a所占内存长度等于其成员x、y、Z各在内存所占长度之和

C)任何情况下,均不能对a作整体赋值

D)a的地址和它的各成员地址都是同一地址

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

A)'a'&&'b'

B)a<=b

C)a∣+cfe&b-c

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

24.[单选题]以下描述错误的是()。(2分)

A)l.实参数可以与形参个数不一致。

B)C程序中,函数可以直接或间接地调用自己。

C)函数调用时,函数名必须与所调用的函数名字完全一致

D)函数声明语句中的类型必须与函数返回值得类型一致。

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

A)X∣Y

B)X∣Y

OX&Y

D)X^Y

26.[单选题]若函数定义如下,intfun(floata){floatb=a+3;returnb;)假设将常数3.6传给

a,则函数的返回值是()。(2分)

A)3

B)6.6

05

D)6

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

A)inta(10);

B)intn=10,a[n];

C)intn;SCanf("%d”,&n);inta[n];

D)UdefineSIZE10inta[SIZE];

28.[单选题]以下4组用户定义标识符中,全部合法的一组是___o

①②③④

_mainIftxtint

Enclude-maxREALk_2

Sinturbo3C0M_001

A)①

B)②

C)③

D)@

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

A)chardefineWORD

B)c3123IF

C)For_abccase

D)2adosizeof

30.[单选题]有以下程序段

TypedefstructNODE

{intnum;structNODE*next;

}0LD;

以下叙述中正确的是O

A)以上的说明形式非法

B)NODE是一个结构体类型

C)OLD是一个结构体类型

D)OLD是一个结构体变量

31.[单选题]若有以下说明和定义:

Fun(int*c){…}

MainO

(

Int(*a)()=fun,*b(),w[10],c;

在必要的赋值后,对fun函数的正确调用语句是

A)a=a(w);

B)a(&c);

C)b=*b(W);

D)fun(b);

32.[单选题]C语言中,Char类型数据占O0

A)I个字节

B)2个字节

04个字节

D)8个字节

33.[单选题]有如下程序

MainO

(

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

For(i=0;i<k;i++)n[i]=n[i]+1;

Printf("%d∖n",n[k]);

该程序的输出结果是O

A)不确定的值

B)2

Ol

D)0

34.[单选题]C语言的注释定界符是()。

A){)

B)[]

C)\**\

D)/**/

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

#defineN20

Voidfun(inta口,intn,intm)

{inti;

For(i=m;i>=n;i­)

A[i+l]=a[i];}

Main()

{inti,a[N]={l,2,3,4,5,6,7,8,9,10);

Fun(a,2,9);

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

Printf("%d",aLi]);}

A)10234

B)12344

C)12334

D)12234

36.[单选题]C语言源程序的基本单位是()。

A)过程

B)函数

C)子程序

D)标识符

37.[单选题]相同结构体类型的变量之间,可以。。

A)相加

B)赋值

C)比较大小

D)地址相同

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

#include<string.h>

MainO

{charstr[][20]={"Hello","Beijing"),*p=str;

Printf("%d∖n",Strlen(p+20));

)

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

A)0

B)5

07

D)20

39.[单选题]C语言执行程序的开始执行点是Oo

A)程序中第一条可以执行语言

B)程序中第一个函数

C)程序中的main函数

D)包含文件中的第一个函数

40.[单选题]以下程序的结果是。

Intal=100,bl=200;

Voidfun()

{al=7;bl=5;}

Main()

{intal=5,bl=7;

FunO;

Printf("%d%d∖n",al,bl);

)

A)100200

B)57

C)200100

D)75

41.[单选题]以下不能正确定义二维数组的选项是o

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

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

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

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

42.[单选题]题号:89

以下标识符中,不能作为合法的C用户定义标识符的是Oo

A)a3_b3

B)void

C)_123

D)IF

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

Intfl(intx,inty){returnx>y?x:y;)

Intf2(intx,inty){returnx>y?y:x;}

Main()

(

Inta=4,b=3,c=5,d=2,e,f,g;

E=f2(fl(a,b),fl(c,d));

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

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

Printf("%d,%d,%d∖n",e,f,g);

}

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

A)4,3,7

B)3,4,7

C)5,2,7

D)2,5,7

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

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

B)(x>=l)iI(x<=10)I:(x>=200)Ii(x<=210)

C)(x>=l)⅛fe(x<=10)I(x>=200)U(x<=210)

D)(x>=l)II(x<=10)&&(x>=200)II(x<=210)

45.[单选题]Fseek函数的正确调用形式是O0

A)fseek(文件类型指针,起始点,位移量)

B)fseek(fp,位移量,起始点)

C)fseek(位移量,起始点,fp)

D)fseek(起始点,位移量,文件类型指针)

46.[单选题]不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以什么的

形式存在磁盘上OO

A)内存

B)缓冲区

C)文件

D)寄存器

47.[单选题]设有说明int(*ptr)[M];其中标识符Ptr是()0

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

B)指向M个整型变量的函数指针

C)一个指向具有M个整型元素的一维数组的指针

D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量

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

Inta=2;

Intf(intn)

{staticinta=3;

Intt=0;

If(n%2){staticinta=4;t+=a++;}

Else{staticinta=5;t+=a++;}

Returnt+a++;

)

Main()

{ints=a,i;

For(i=0;i<3;i++)s+=f(i);

Printf(κ%d∖nπ,s);

)

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

A)26

B)28

C)29

D)24

49.[单选题]以下关于SWitCh语句和break语句的描述中正确的是()

A)在SWitCh语句中必须使用break语句

B)break语句只能用于SWitCh语句体中

C)break语句只能用于循环语句中

D)在SWitCh语句中可以不使用break语句

50.[单选题]若有定义achara;intb;floatc;doubled;",则表达式aa*b+d-c,,值的类型为

A)float

B)int

C)char

D)double

51.[单选题]以下程序的输出是o

Structst

{intx;int*y;}*p;

Intdt[4]={10,20,30,40);

Structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};

Main()

{p=aa;

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

)

A)10

B)11

C)51

D)60

52.[单选题]若有定义:inta[5],*p=a:则!对a数组元素的正确引用是(

A)*fea[5]

B)a+2

C)*(p+5)

D)*(a+2)

53.[单选题]以下所列的各函数声明中,正确的是____。

A)voidplay(vara:Integer,varb:Integer);

B)voidplay(intʌ,b);

C)voidplay(intA,intb);

D)Subplay(aasinteger,basinteger);

54.[单选题]执行下面程序后,输出结果是。。

MainO

{a=45,b=27,c=0;

c=max(a,b);

printf("%d∖n",c);

}

Intmax(x,y)

intx,y;

{intz;

if(x>y)z=x;

elsez=y;

return(z);

)

A)45

B)27

C)18

D)72

55.[单选题]下列叙述中正确的是。

A)C语言编译时不检查语法

B)C语言的子程序有过程和函数两种

C)C语言的函数可以嵌套定义

D)C语言的函数可以嵌套调用

56.[单选题]以下循环体的执行次数是omainO{inti,j;for(i=0,j=l;i<=j+l;i+=2,j—)

printf("%d∖n",i);}

A)3

B)2

01

D)0

57.[单选题]下列运算符中优先级最高的是Oo

AX

B)+

C)&&

D)!=

58.[单选题]当执行以下程序时,

Inta=l;

Do{a=a*a;}while(!a);

A)循环体将执行1次

B)循环体将执行2次

C)循环体将执行无限次

D)系统将提示有语法错误

59.[单选题]C语言中,定义结构体的保留字是Oo

A)union

B)struct

C)enum

D)typedef

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

Main()

(

printf("%d∖n",null);

}

A)0

B)变量无定义

0-1

D)l

61.[单选题]以下程序的执行结果是:。VOidmain(){inta,y;a=10;y=0;do{a=a+2;

y=y+a;printf("a=%dy=%d∖n",a,y);if(y>20)break;}while(a=14);}

A)a=12y=12a=14y=16a=16y=20a=18y=24

B)a=12y=12a=16y=28

C)a=12y=12

D)a=12y=12a=14y=26a=14y=44

62.[单选题]C语言中的文件类型只有Oo

A)索引文件和文本文件两种

B)ASeH文件和二进制文件两种

C)文本文件一种

D)二进制文件一种

63.[单选题]以下程序的输出结果是

^defineN10

Voidfun(inta[],intn,intm)

{inti;

For(i=m;i>=n;i­)

A[i+l]=a[i];}

Main()

{inti,a[N]={4,5,6,7,8,9,10};

Fun(a,2,6);

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

Printf(n%dπ,a[i]);}

A)5667

B)4566

C)7889

D)4556

64.[单选题]以下程序的输出结果是Oo

MainO

{inti,j,k,a=3,b=2;

1=(-a==b++)?-A、++b;

J=a++;k=b;

Printf(κi=%d,j=%d,k=%d∖n,r,i,j,k);

)

A)i=2,j=l,k=3

B)i=l,j=l,k=2

C)i=4,j=2,k=4

D)i=l,j=l,k=3

65.[单选题]下面程序的输出是。

Intm=13;

Intfun2(intx,inty)

{intm=3;

Return(x*y-m);

)

Main()

{inta=7,b=5;

Printf("%d∖n",fun2(a,b)∕m);}

A)l

B)2

C)7

D)10

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

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

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

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

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

67.[单选题]设有如下说明

TypedefstructST

{longa;intb;charc[2];}NEW;

则下面叙述中正确的是_____O

A)以上的说明形式非法

B)ST是一个结构体类型

C)NEW是一个结构体类型

D)NEW是一个结构体变量

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

Intf(intn)

{if(n==l)return1;

Elsereturnf(∏-1)+1;

}

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)l

69.[单选题]在C语言中,一维数组的定义方式为:类型说明符数组名()。

A)[整型常量表达式]

B)[整型表达式]

C)[整型常量]或[整型表达式]

D)[整型变量]

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

Voidf(intb口)

{inti;

For(i=2;i<6;i++)b[i]*=2;

}

Main()

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

F(a);

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

)

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

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

B)l,2,6,8,10,12,7,8,9,10,

01,2,3,4,10,12,14,16,9,10,

D)l,2,6,8,10,12,14,16,9,10,

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

Fun(int

A,intb)

{if(a>b)return(a);

Elsereturn(b);

)

Main()

{intx=3,y=8,z=6,r;

R=fun(fun(x,y),2*z);

Printf("%d∖n",r);

}

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

A)3

B)6

C)8

D)12

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

A)typedefvlint;

B)typedefv2=int;

C)typedefintv3;

D)typedefv4:int

73.[单选题]在C语言中,调用函数除函数名外,还必须有Oo

A)函数预说明

B)实际参数

0()

D)函数返回值

74.[单选题]Int(*p)[6];它的含义为()。

A)具有6个元素的一维数组

B)定义了一个指向具有6个元素的一维数组的指针变量

C)指向整型指针变量

D)指向6个整数中的一个的地址

75.[单选题]以下正确的程序段是()。(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]);

76.[单选题]当执行以下程序段时ointa=l;do{a=a*a;}while(!a);

A)循环体将执行1次

B)循环体将执行2次

C)循环体将执行无限次

D)系统将提示有语法错误

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

Void*fun();

此说明的含义是O

A)fun函数无返回值

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

Ofun函数的返回值是无值型的指针类型

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

78.[单选题]以下程序企图把从终端输入的字符输出到名为abc.txt的文件中,直到从终端读入字符

#号时结束输入和输出操作,但程序有错。

#include<stdio.h>

MainO

{FILE*fout;charch;

Fout=fopen('abc.txt','w');

Ch=fgetc(stdin);

While(ch!='#')

{fputc(ch,fout);

Ch=fgetc(stdin);

)

Fclose(fout);

)

出错的原因是______O

A)函数fopen调用形式有误

B)输入文件没有关闭

C)函数fgetc调用形式有误

D)文件指针Stdin没有定义

79.[单选题]设有如下说明

Typedefstruct

(intn;charc;doublex;}ST;

则以下选项中,能正确定义结构体数组并赋初值的语句是o

A)STtt[2]={{3,'m',48},{5,'k',66}};

B)STtt[2>{l,"A",32,2,"",85);

C)structtt[2]={l,'A',2,'B');

D)structtt[2>{{l,"A",62.5},{2,"B",75.0}};

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

MainO

{inti,j;

For(i=l;i<4;i++)

{for(j=i;j<4;j++)

Printf("%d*%d=%d",i,j,i*j);

Printf("∖n");

)

)

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

A)1*1=11*2=21*3=32*1=22*2=43*1=3

B)1*1=11*2=21*3=32*2=42*3=63*3=9

C)1*1=11*2=22*2=41*3=32*3=63*3=9

D)1*1=12*1=22*2=43*1=33*2=63*3=9

81.[单选题]有定义语句:intx,y;。若要通过SCanf("%d,%d",&x,&y);语句使变量X得到数值11,变量

y得到数值12,下面四组输入形式中,错误的是。

A)ll12/

B)ll,12/

Oil,12/

D)ll,/12/

82.[单选题]若x=2,y=3则x&y的结果是O0

A)0

B)2

03

D)5

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

Main()

{intx=3;

Do{

Printf("%d∖n",χ-=2);

}while(!(一x));

A)输出的是1

B)输出的是1和-2

C)输出的是3和O

D)是死循环

84.[单选题]以下4个数组定义中,()是错误的。

A)inta[7];

B)ttdefineN51ongb[N];

C)charc[5];

D)intn,d[n];

85.[单选题]当调用函数时,实参是一个数组名,则向函数传送的是

A)数组的长度

B)数组的首地址

C)数组每一个元素的地址

D)数组每个元素中的值

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

ttinclude<stdio.h>

intabc(intu,intv)

{intw;

while(v){w=u%v;u=v;v=w;}

returnu;

}

main()

inta=24,b=16,c;

c=abc(a,b);

printf("%d∖n",c);

}

A)8

B)6

C)5

D)4

87.[单选题]以下正确的说法是:在C语言中Oo

A)实参和与其对应的形参各占用独立的存储单元

B)实参和与其对应的形参共占用一个存储单元

C)只有当实参和与其对应的形参同名时才共占用存储单元

D)形参是虚拟的,不占用存储单元

88.[单选题]以下程序结果为:____o

Voidpp()

{staticintn=5;

N-;

Printf("%d",n);}

Main()

(intm;

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

Pp();)

A)5555

B)4321

C)4444

D)5432

89.[单选题]有如下程序VOidmain(){intn=9;while(n>6){n—;printf("%d",n);}}该程序的

输出结果是。

A)987

B)876

08765

D)9876

90.[单选题]以下选项中非法的表达式是o

A)0<=x<100

B)i=j==O

C)(char)(65+3)

D)x+l=x+l

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

#include<string.h>

Main(intargc,char*argv[1)

{inti,len=O;

For(i=l;i<argc;i++)len+=strlen(argv[i]);

Printf(',%d∖n",len);

)

程序编译连接后生成的可执行文件是exl.exe,若运行时输入带参数的命令行是:

Exlabedefg10/

则运行的结果是_____O

A)22

B)17

012

D)9

92.[单选题]下列关于C语言数据文件的叙述中正确的是OO

A)文件由ASCil码字符序列组成,C语言只能读写文本文件

B)文件由二进制数据序列组成,C语言只能读写二进制文件

C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件

D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

93.[单选题]以下不能正确定义二维数组的选项是Oo

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

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

Ointa[2][2]={{1},2,3}:

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

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

^include<stdio.h>

Main()

(

Intnum=0;

While(num<=2){

Num++;printf("%d∖n",num);

)

}

上面程序的输出结果是O

①1②1③1④1

222

33

4

A)①

B)②

C)③

D)④

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

MainO

{chark;inti;

For(i=hi<3ji+÷)

{scanf(,,%cn,&k);

Switch(k)

{case'0':printf(πanother∖nn);

Case,1,:printf(,,number∖nπ);

)

)

)

程序运行时,从键盘输入:01/,程序执行后的输出结果是一

A)anotherNumber

B)anotherNumberAnother

C)anotherNUnIberNUmber

D)numberNumber

96.[单选题]设有:inta=l,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c〉d)后n的值为()。(2分)

A)l

B)2

03

D)4

97.[单选题]若有以下结构体类型定义,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;

98.[单选题]以下read函数的调用形式中,参数类型正确的是Oɑ

A)read(intfd,char*buf,intcount)

B)read(int*buf,intfd,intcount)

C)read(intfd,intcount,char*buf)

D)read(intcount,char*buf,intfd)

99.[单选题]以下对二维数组a的正确说明是Oo

A)inta[3][]

B)floata(3,4)

C)doublea[l][4]

D)floata(3)(4)

100∙[单选题]下列四个选项中,均是C语言关键字的选项是。。

A)autoenuminclude

B)switchtypedefcontinue

C)signedunionscanf

D)ifstructtype

IOL[单选题]表达式a>>3b的计算顺序是()。(2分)

A)l.先执行左移,后执行或运算

B)l.先执行或运算,再执行左移

01.先执行或运算,再执行右移

D)l.先执行右移,再执行或运算

102.[单选题]以下程序执行后SUIn的值是

Main()

{inti,sum;

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

Printf("%dln",sum);

)

A)15

B)14

C)不确定

D)0

103.[单选题]下面程序的输出结果是_

Fl(intx)

{inty;

Y=x+x;

Return(y);}

F2(inta,intb)

(intz;

Z=f1(a*b);

Return(z);}

Main()

{inta=2,b=5,c;

C=f2(a,b);

Printf("%d",c);}

A)20

B)7

04

D)10

104.[单选题]在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则

A)称为函数的直接递归调用

B)称为函数的间接递归调用

C)称为函数的循环调用

D)C语言中不允许这样的递归调用

105.[单选题]下列数组说明中,正确的是Oo

A)staticcharstr[]="China";

B)staticcharstr[];str="China";

C)staticcharstrl[5],str2[]={"China"};strl=str2;

D)staticcharstrl[],str2[];str2={"China"};strcpy(strl,str2);

106.[单选题]设Ch是Char型变量,其值为C,且有下面的表达式

Ch=(ch>='A'&&ch<='Z')?(ch+32):ch

上面表达式的值是O

A)C

B)c

OZ

D)z

107.[单选题]以下程序的功能是:给r输入数据后计算半径为r的圆面积s,程序在编译时出错。

Main()

∕*Beginning*/

{intr;floats;

Scanf("%d",⅛r);

S=∏*r*r;printf("s=%f∖n",s);

)

出错的原因是O

A)注释语句书写位置错误

B)存放圆半径的变量r不应该定义为整型

C)输出语句中格式描述符非法

D)计算圆面积的赋值语句中使用了非法变量

108.[单选题]以下常量中,能够代表逻辑“真”值的常量是OO

ʌ)\0'

B)0

C)0'

D)NULL

109.[单选题]若已定义:inta[9],*p=a;并在以后的语句中未改变P的值,不能表示a[l]地址的表达式

是o

A)p+1

B)a+1

C)a++

D)++p

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

Voidf(int*x,int*y)

(

Intt;

T=*x;*x=*y;*y=t;

)

Main()

(

Inta[8]={l,2,3,4,5,6,7,8},i,*p,*q;

P=a;q=⅛a[7];

While(p<q)

{f(p,q);p++;q—;}

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

)

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

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

B)5,6,7,8,l,2,3,4,

C)l,2,3,4,5,6,7,8,

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

111.[单选题]下列可以正确表示字符型常数的是.

A),a,

B)'∖t,

C)“n"

D)297

112.[单选题]以下4个选项,不能看作一条语句的是ŋ

A){;}

B)a=0,b=0,c=0;

C)if(a>0);

D)if(b==0)m=l;n=2;

∏3.[单选题]已知inti;则执行语句i=2.6;后,i的值为

A)2

B)3

02.6

D)不确定

114.[单选题]以下叙述中正确的是o

A)C语言的源程序不必通过编译就可以直接运行

B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C)C语言程序经编译形成的二进制代码可以直接运行

D)C语言中的函数不可以单独进行编译

115.[单选题]设有程序段''intm=20;while(m=0)m=m++;"能执行

A)while

B)循环是无限循环

C)循环体语句一次也不执行

D)循环体语句执行一次

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

Uniondata

{chardl;floatd2;}demo;

则下面叙述中错误的是_____O

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

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

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

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

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

MainO

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

Inti,j,k=2;

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

{printf("%d",m[k][i]);}

}

执行后输出结果是O

A)456

B)258

0369

D)789

118.[单选题]若有以下程序段:inta=3,b=4;a=a~b;b=b~a;a=a~b;则执行以上

语句后,a和b的值分别是()。

A)a=3,b=4

B)a=4,b=3

C)a=4,b=4

D)a=3,b=3

119.[单选题]设a=5、b=6、C=I0、d=8、m=2、n=5,执行

(m=a>b)fe⅛(n=c>d)后n的值为。

A)l

B)5

03

D)4

120.[单选题]若执行以下程序时从键盘上输入9,则输出结果是_

Main()

{intn;

Scanf("%d",&n);

If(n++<10)printf("%d∖n",n);

Elseprintf("%d∖n",n-);

)

A)11

B)10

C)9

D)8

121.[单选题]若有以下说明,则数值为4的表达式是()。

Inta[12]={l,2,3,4,5,6,7,8,9,10,11,12};

Charc='a',d,g;

A)a[g-c]

B)a[4]

C)a[d-]

D)a[d-c]

122.[单选题]当执行下面的程序时,如果输入ABC,则输出结果是

#include"stdio.h"

ttinclude"string,h"

Main()

{charss[10]⅛"12345";

Gets(ss);strcat(ss,"6789");

Printf("%s∖n",ss);

}

Λ)ABC6789

B)ABC67

C)12345ΛBC6

D)ABC456789

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

Jtinclude<stdio.h>

Structtt

{intx;structtt*y;}*p;

Structtta[4]={20,a+1,15,a+2,30,a+3,17,a};

Main()

{inti;

P=a;

For(i=l;i<=2;i++){printf("%d,",p->x);p=p->y;}

)

程序的运行结果是O

A)20,30,

B)30,17,

C)15,30,

D)20,15,

124.[单选题]设有说明int(*ptr)[M];,其中的标识符Ptr是_

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

B)指向M个整型变量的函数指针

C)一个指向具有M个整型元素的一维数组的指针

D)具有M个指针元素的一维指针数组,每个元素都只能指向整型变量

125.[单选题]以下程序中函数f的功能是:当flag为1时,进行由小到大排序;当flag为0时,进行由大到

小排序。

Voidf(intb[],intn,intflag)

{inti,j,t;

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

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

If(flag?b[i]>b[j]:b[i]<b[j])

{t=b[i];b[i]=b[j];b[j]=t;}

}

Main()

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

F(&a[2],5,0);

F(a,5,l);

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

}

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

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

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

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

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

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

Main()

{intnum[4][4]={{l,2,3,4},{5,6,7,8},{9,10,ll,12},{13,14,15,16}},i,j;

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

{for(j=O;j<=i;j++)printf("%4c",'');

For(j=_____;j<4;j++)printf("%4d",num[i][j]);

Printf("∖n");

}

)

若要按以下形式输出数组右上半三角

1234

678

1112

16

则在程序下划线处应填入的是_____O

A)i-1

B)i

C)i+1

D)4-i

127.[单选题]以下程序运行后的输出结果是()。

MainO

(

IntX,y,z;

X=y=2;z=3;

Y=x++-1;

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

Y=++χ-l;

Prinf("%d%d∖n",x,y);

Y=z----I;

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

Y=­z-1;

Printf("%d%d∖n",z,x);

A)31432414

B)31332422

031432412

D)21321312

128.[单选题]以下选项中合法的用户标识符是_____良

A)long

B)_2Test

C)3Dmax

D)A.dat

129.[单选题]设int型占2个字节,且inti=-2;,则语句Printf("‰ι",i);的输出结果为

A)0

B)-2

065534

D)65535

130.[单选题]下列叙述中正确的是Oo

A)do-while语句构成的循环不能用其他语句构成的循环来代替

B)do-while语句构成的循环只能用break语句退出

C)用do-while语句构成的循环,在While后的表达式为非零时结束循环

D)用do-while语句构成的循环,在While后的表达式为零时结束循环

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

Longfun(intn)

{longs;

If(n==lIIn==2)s=2;

Elses=∏-fun(n-l);

Returns;

)

Main()

{printf("%ld∖n",fun(3));}

A)l

B)2

C)3

D)4

132.[单选题]以下程序运行后的输出结果是

Main()

Inta=2,b=-l,c=2;

If(a<b)

If(b<O)c=0;

Elsec++;

Printf("%d∖n",c);

A)0

B)l

C)2

D)3

133.[单选题]以下选项中,值为1的表达式是____o

A)l-'0'

B)1-'∖O'

C)'Γ-O

D)'∖O'-'O'

134.[单选题]整型变量X和y的值相等、且为非0值,则以下选项中,结果为零的

表达式是C)O

A)χ11y

B)χy

C)x&y

D)x^y

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

(Dtypedefstructaa

(

Intn;

Floatm;

}ΛA;

AAtdl;

②#defineAAstructaa

AA(

Intn;

Floatm;

}tdl;

③StrUCt

(

Intn;

Floatm;

}aa;

Structaatdl;

©struct

{

Intn;

Floatm;

}tdl;

A)①

B)②

C)③

D)@

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

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

B)'0'9,

C)*0,<=m½fem<=''9"

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

137.[单选题]C语言允许函数类型缺省定义,此时函数值隐含的类型是Oo

A)float

B)int

C)long

D)double

138.[单选题]若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达

式的值为"假",则以下不能满足要求的表达式是Oo

A)A%2==1

B)!(A%2==0)

C)!(A%2)

D)Λ%2

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

Main()

{chars[]="∖nl23∖∖";

Printf(',%d,%d∖n",strlen(s),sizeof(s));

)

执行后输出结果是______O

A)赋初值的字符串有错

B)6,7

05,6

D)6,6

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

MainO

{inti=l,j=l,k=2;

If((j++I|k++)&&i++)printf("%d,%d,%d∖n",i,j,k);

}

执行后输出的结果是O

A)l,l,2

B)2,2,1

02,2,2

D)2,2,3

141.[单选题]在C语言中,一维数组的定义方式为:类型说明符数组名Oo

A)[常量表达式]

B)[整型表达式]

C)[整型常量]或[整型表达式]

D)[整型常量]

142.[单选题]设有定义:int

A,*pa=&a;以下SCanf语句中能正确为变量a读入数据的是_____。

A)scanf("%d",pa);

B)scanf("%d",a);

C)scanf("%d",fepa);

D)scanf("%d",*pa);

143.[单选题]设Char型变量X中的值为IOIOOl11,则表达式(2+x)«~3)的值是O。

A)10101001

B)10101000

OIIIIIIOI

D)01010101

144.[单选题]下列叙述中正确的是OO

A)C语言编译时不检查语法

B)C语言的子程序有过程和函数两种

C)C语言的函数可以嵌套定义

D)C语言所有函数都是外部函数

145.[单选题]应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为OO

A)fclose()

B)close()

C)fread()

D)fwrite

146.[单选题]以下程序的输出结果是o

MainO

{intb[3][3]≈{0,1,2,0,1,2,0,1,2),i,j,t=l;

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

For(j=i;j<=i;j++)t=t+b[i][j];

Printf("%d∖n",t);

}

A)3

B)4

Ol

D)9

147.[单选题]数组名作为实参数传递给函数时,数组名被处理为OO

A)该数组的长度

B)该数组的元素个数

C)该数组的首地址

D)该数组中各元素的值

148.[单选题]有以下程序段

Typedefstructnode{intdata;structnode*next;}*N0DE;

NODEp;

以下叙述中正确的是O

A)P是指向Structnode结构变量的指针的指针

B)NODEp;语句出错

C)P是指向StrUCtnode结构变量的指针

D)P是StrUCtnode结构变量

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

MainO

{charstr[]=πxyz,f,*ps=str;

While(*ps)ps++;

For(PS-;ps-str>=0;ps-)puts(PS);)

执行后输出结果是o

Λ)yzXyz

B)zYz

C)zYzXyz

D)xXyXyz

150.[单选题]在C语言中,函数的隐含存储类别是Oo

ʌ)auto

B)static

C)extern

D)无存储类别

151.[单选题]有如下定义:structStudent{charname[10];intage;chargender;}std[3],

*P=std;则以下各输入语句中错误的是:。

A)scanf(μ%dπ,fe(*p).age);

B)scanf(,,%cn,⅛std[0].gender);

C)scanf(,,%c”,&(p->gender));

D)scanf(,,%sn,&std.name);

152.[单选题]凡是函数中未指定存储类别的局部变量,其隐含的存储类别是—o

A)auto

B)register

C)extern

D)static

153.[单选题]以下程序运行后的输出结果是

Main()

{intxl=l,x2=0,x3=0;

If(xl=x2+x3)print("****");

Elseprintf(##");

}

A)****

B)有语法错误

C)####

D)无输出结果

154.[单选题]以下叙述中不正确的是OO

A)C语言中的文本文件以ASCn码形式存储数据

B)C语言中对二进制文件的访问速度比文本文件快

C)C语言中,随机读写方式不适用于文本文件

D)C语言中,顺序读写方式不适用于二进制文件

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

^include<stdio.h>

MainO

(

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

C)9

D)10

156.[单选题]以下程序中,while循环的循环次数是

Main()

{inti=0;

while(i<10)

{(i<l)continue;

If(i==5)break;

I++;}

A)l

B)10

C)6

D)死循环

157.[单选题]以下不能将变量m清零的表达式是()。(2分)

A)1.m=m&~m

B)1.m=m&0

C)1.m=mm

D)1.m=m^m

158.[单选题]关于函数声明,以下不正确的说法是。

A)如果函数定义出现在函数调用之前,可以不必加函数原型声明

B)如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明

C)函数再调用之前,一定要声明函数原型,保证编译系统进行全面的调用检查

D)标准库不需要函数原型声明

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

ttinclude<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

C)5

D)6

160.[单选题]有如下程序

Main()

{inty=3,x=3,z=l;

Printf("%d%d∖n",(++x,y++),z+2);

}

运行该程序的输出结果是O

A)34

B)42

043

D)33

161.[单选题]C语言在C89标准中允许函数定义时缺省函数类型,此时隐含的函数的类型是()。

(2分)

A)1.long

B)1.float

C)int

D)1.double

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

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;

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

Main()

(

Inti,sum;

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

Printf("%dln",sum);

)

A)6

B)3

C)死循环

D)0

164.[单选题]以下不能正确计算代数式值的C语言表达式是o

A)l∕3*sin(l∕2)*sin(l∕2)

B)sin(0.5)*sin(0.5)/3

C)pow(sin(0.5),2)/3

D)1/3.0*pow(sin(1.0/2),2)

165.[单选题]若有以下结构体,则正确的定义或引用的是()。structTest

M<

(intx;

Inty;}vl;

A)Test.x=10;

B)Testv2;v2,x=10;

C)structv2;v2.x=10;

D)structTest2={10};

166.[单选题]有如下程序段

Int*p,a=10,b=l;

P=&a;a=*p+b;

执行该程序段后,a的值为_____o

A)12

B)ll

OlO

D)编译出错

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

A)均占4个字节

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

C)由用户自己定义

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

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

#include<stdio.h>

Structst

{intx,y;}data[2]={l,10,2,20};

Main()

{structst*p=data;

Printf("%d,",p->y);

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

}

程序的运行结果是

温馨提示

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

评论

0/150

提交评论