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

下载本文档

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

文档简介

试题说明

本套试题共包括1套试卷

答案和解析在每套试卷后

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

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

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

Inta=3;

Main()

{ints=0;

{inta=5;s+=a++;}

S+=a++;printf("%d∖n",s);

}

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

A)8

B)10

07

D)ll

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

Main()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

X++;

)

X++;

)

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

)

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

A)x=4

B)x=8

C)x=6

D)x=12

3.[单选题]以下不属于算法基本特征的是

A)有穷性

B)有效性

C)可靠性

D)有一个或多个输出

4.[单选题]若有说明:inti,j=7,*p=&i;则与i=j;等价的语句是

A)i=*p;

B)*p=*&j;

C)i=&j;

D)i=**p;

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

StructHAR

{intx,y;structHAR*p;}h[2];

Main()

{h[0].x=l;h[0].y=2;

HLlLx=3;h[l].y=4;

H[O].p=&h[l];h[l].p=h;

Printf("%d%d∖n",(h[θ].p)->x,(h[l].p)->y);

}

A)12

B)23

C)14

D)32

6.[单选题]若变量已正确定义,表达式(j=3,j++)的值是—

A)3

B)4

05

D)6

7.[单选题]若k为int型变量,则以下程序段的执行结果是OO

K=-8567;printf("I%06D∖n",k);

A)格式描述符不合法,输出无定值

B)输出为∣%06D∣

C)输出为10-85671

D)输出为|-8567

8.[单选题]以下数据中,不正确的数值或字符常量是Oo

A)c

B)66

C)Oxaa

D)50

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

ttinclude<stdio.h>

#include<string.h>

Typedefstruct{charname[9];charsex;floatscore[2];}STU;

Voidf(STUa)

{STUb={"Zhao",'m',85.0,90.0};

Inti;

Strcpy(,b.name);

Asex=b.sex;

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

Λscore[i]=b.scoreLi];

}

Main()

{STUc={"Qian",'f',95.0,92.0};

F(c);

Printf("%s,%c,%2.Of,%2.0f∖n",c.name,c.sex,c.score[0],c.score[1]);

)

程序的运行结果是_____O

Λ)Qian,f,95,92

B)Qian,m,85,90

C)Zhao,f,95,92

D)Zhao,m,85,90

10.[单选题]以下叙述中正确的是_

A)C程序中注释部分可以出现在程序中任意合适的地方

B)花括号"{"和只能作为函数体的定界符

C)构成C程序的基本单位是函数,所有函数名都可以由用户命名

D)分号是C语句之间的分隔符,不是语句的一部分

IL[单选题]请读程序片段(字符串内没有空格字符):

Printf("%d∖n",strlen("ATS∖nO12∖l∖∖"));

上面程序片段的输出结果是_____O

A)ll

B)10

09

D)8

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

F(intb[],intm,intn)

{inti,s=0;

For(i=m;i<∏;i=i+2)s=s+b[i];

Returns;

)

Main()

{intx,aE]={l,2,3,4,5,6,7,8,9};

X=f(a,3,7);

Printf(n%d∖nπ,x);

)

A)10

B)18

C)8

D)15

13.[单选题]若有定义:floatx=l.5;inta=l,b=3,c=2;则正确的SWitCh语句是

A)switch(x)

{case1.0:printf(π*∖nπ);

Case2.0:printf(π**∖πn);}

B)switch((int)x);

{case1:printf(h*∖nπ);

Case2:printf(,,**∖ΠH);}

C)switch(a+b)

(

Case1:printf(,,*∖nμ);

Case2+1:printf(,t**∖nπ);}

D)switch(a+b)

(

Case1:printf(,,*∖n");

Casec:printf(,,**∖n,f);}

14.[单选题]下列语句实现将s2所指字符数组中前n个字符复制到SI所指字符数组中,其中代码正确

的是。

A)*sl++=*s2++

B)si[n-l]=s2[n-l]

C)*(sl+n-l)=*(s2+n-l)

D)*(++si)=*(++s2)

15.[单选题]存在定义inta[10],x,*pa;,若Pa=下列的哪个选项和其他3个选项不是等价

的?

A)x=*pa;

B)X=*(a+l);

C)x=*(pa+l);

D)x=a[l];

16.[单选题]若有下列语句,则以下引用方式不合法的是()。structstudent{intnum;int

age;};structstudentstu[3]={{101,20},{102,19},{103,20}},*p=stu;

A)(p++)->num

B)p++

C)(*p).num

D)p=&stu.age

17.[单选题]有以下结构体说明和变量定义,如下图所示,指针p、q、r分别指向一个链表中的三个连

续结点。

Structnode

(intdata;

Structnode*next;

}*p,*q,*r;

现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是

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

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

C)p->next=r;q->next=r->next;r->next=q;

D)q->next=r->next;r->next=q;p->next=r;

18.[单选题]已定义以下函数

Fun(int*p)

{return*p;}

该函数的返回值是O

A)不确定的值

B)形参P中存放的值

C)形参P所指存储单元中的值

D)形参P的地址值

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

A)intx□[3]={{0},{l},{l,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]={l,2,3,4};

20.[单选题]若有以下说明和语句,则输出结果是()。

(StrIen(S)为求字符串S的长度的函数)

Charsp[]="∖t∖v∖∖∖0will∖n";

Printf("%d",strlen(sp));

A)14

B)3

C)9

D)字符串中有非法字符

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

Jtinclude<stdio.h>

Main()

{inti=5;

Do

{if(i%3==l)

If(i%5==2){printf("*%d",i);break;}

I++;

}while(i!=0);

Printf("∖n");

}

程序的运行结果是O

A)*7

B)*3*5

C)*5

D)*2*6

22.[单选题]以下叙述中错误的是o

A)计算机不能直接执行用C语言编写的源程序

B)C程序经C编译程序编译后,生成后缀为.Obj的文件是一个二进制文件

C)后缀为∙obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件

D)后缀为.obj和∙exe的二进制文件都可以直接运行

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

A)OL

B)4962710

O324562&

D)216D

24.[单选题]若X,y,Z均为整型常量,且a=100,则执行下列语句后的Z值为X=a++;y

a;z=x+y-a——;

A)IOO

B)400

C)200

D)300

25.[单选题]C源程序中不能表示的数制是o

A)二进制

B)八进制

C)十进制

D)十六进制

26.[单选题]以下程序的输出结果为()。

MainO

{inti=010,j=10;

printf("%d,%d∖n",++i,j-);

)

A)ll,10

B)9,10

0010,9

D)10,9

27.[单选题]设有如下程序段chars[20]="Beijing",*p;p=s;则执行p=s;语句后,以下叙述正确

的是。

A)可以用*p表示s[0]

B)S数组中元素个数和P所指字符串长度相等

C)S和P都是指针变量

D)数组S中的内容和指针变量P中的内容相同

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

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

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

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

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

29.[单选题]以下对结构体类型变量td的定义中,错误的是o

A)typedefstructaa{intn;Floatm;}AA;AAtd;

B)structaa{intn;Floatm;};Structaatd;

C)struct{intn;Floatm;}aa;Structaatd;

D)struct{intn;Floatm;}td;

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

Main()

{union{chari[2];

Intk;

}r;

R.i[0]=2;r.i[l]=0;

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

}

A)2

B)l

C)0

D)不确定

31.[单选题]以下能正确定义一维数组的选项是_

A)inta[5]={0,l,2,3,4,5};

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

C)chara={'A','B','C');

D)inta[5]="0123";

32.[单选题]表达式,0xl3&0xl7的值是O0

A)0xl7

B)0x13

C)0xf8

D)Oxec

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

ttinclude

Unionpw

(

Inti;

Charch[2];}m;

Main()

(

m.ch[0]=13;m.ch[l]=O;printf("%d∖n",πι.i);

程序的输出结果是

A)13

B)14

C)208

D)209

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

MainO

{inta;charc=10;

Floatf=100.0;doublex;

A=f∕=c*=(x=6.5);

Printf("%d%d%3.If%3.lf∖n",a,c,f,x);

程序运行后的输出结果是

A)16516.5

B)l651.56.5

Ol651.06.5

D)2651.56.5

35.[单选题]根据声明inta[10],*p=a;,下列表达式错误的是()。

A)a[9]

B)p[5]

C)a++

D)*p++

36.[单选题]在嵌套使用if语句时,C语言规定else总是_

A)和之前与其具有相同缩进位置的if配对

B)和之前与其最近的if配对

C)和之前与其最近的且不带else的if配对

D)和之前的第一个if配对

37.[单选题]对下语句(int*)px[10];下面正确的说法是。

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

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

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

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

38.[单选题]若各选项中所有变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项

中错误的程序是O

A)main(){.......x=fun(2,10);.......}Floatfun(intA,intb){........}

B)floatfun(intʌ,intb){....}Main(){.......x=fun(i,j);.......}

C)floatfun(intint);Main0{.......x=fun(2,10);.......}Floatfun(intA,intb){........}

D)main(){floatfun(inti,intj);.......x=fun(i,j);.......}Floatfun(intʌ,intb){........}

39.[单选题]若有定义:char*pl,*p2,*p3,*p4,ch;

则不能正确赋值的程序语句为OO

A)PI=&ch;scanf("%c",pl);

B)p2=(char*)malloc(1);scanf("%c",p2);

C)*p3=getchar();

D)p4=&ch;*p4=getchar();

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

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

Ol234

D)2112

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

Itinclude<stdio.h>

MainO

{inti=0,a=0;

While(i<20)

{for(;;)

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

Elsei-;

)

I+=l1;a+=i;

)

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

)

A)21

B)32

C)33

D)ll

42.[单选题]若有说明:inta□[4]={0,0};则下面不正确的叙述是Oŋ

A)数组a的每个元素都可得到初值O

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

C)因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1

D)有元素a[0][0]和a[O][l]可得到初值0,其余元素均得不到初值O

43.[单选题]假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的僮

是()。

A)7

B)8

09

D)2

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

MainO

{inti;

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

Switch(i)

{case1:printf("%d",i);

Case2:printf("%d",i);

Default:printf("%d",i);

执行后输出的结果是______O

A)Ol1122

B)012

C)012020

D)120

45.[单选题]以下程序执行后SUm的值是。main(){inti,sum;〃SUm未初始化for(i=l;i<6;

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

A)15

B)14

C)不确定

D)0

46.[单选题]已有定义:inti,aL10],*p;,则合法的赋值语句是。

A)p=100;

B)p=a[5];

C)p=a[2]+2;

D)p=a+2;

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

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

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

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

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

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

ttinclude<stdio.h>

structs

(

intx;

inty;

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

intmain()

structs*p=data+1;

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

return0;

)

A)10

B)11

C)20

D)21

49.[单选题]变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是

11110000o若要求将a的高4位取反,低4位不变,所要执行的运算是。

A)a^b

B)a∣b

Oafeb

D)a<<4

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

A)typedefvlint;

B)typedefv2=int;

C)typedefintv3;

D)typedefv4:int;

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

Main()

(

Chara[7]="a0∖0a0∖0";

Inti,j;

I=sizeof(a);

J=Strlen(a);

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

}

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

A)22

B)76

C)72

D)62

52.[单选题]Doublex;SCanf;不可以赋值给X变量的常量是()0

A)123

B)100000

OA'

D)"abc"

53.[单选题]若已定义了如下的共用体类型变量x,贝IIX所占用的内存字节数为ouniondata

{inti;charcha;doublef;}x;

A)7

B)8

Oil

D)10

54.[单选题]凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。(2分)

A)1.静态(static)

B)1.自动(auto)

C)1.外部(extern)

D)1.寄存器(register)

55.[单选题]若有定义:intw[3][5];,则以下不能正确表示该数组元素的表达方式是_

A)*(*w+3)

B)*(w+1)[4]

C)*(*(w+1))

D)*(few[0][0]+l)

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

MainO

{inta=4,b=5,c=0,d;

D=!aU!b∣!c;

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

)

A)l

B)0

C)非0的数

D)-l

57.[单选题]已知字母A的ASCll码为十进制数65,且c2为字符型,则执行语句:c2='A'+'6'-

'3';Printf("‰Λc2);后,屏幕输出内容为()。(2分)

A)D

B)68

01.不确定的值

D)C

58.[单选题]若fp是指向某文件的指针,且已读到文件末尾,则表达式feof(fp)的返回值是()。

(2分)

A)l.EOF

B)-l

01.非零值

D)l.NULL

59.[单选题]若fp是指向某文件的指针,且未读到此文件末尾,则库函数feof(fp)的返回值是—

A)E0F

B)0

C)非零值

D)l

60.[单选题]若有如下定义,structworker{charnameL17];intage;intscore;}x;且

SiZeof(int)=4,则变量X在内存中需要的字节数是()。(2分)

A)17

B)21

025

D)4

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

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

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

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

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

62.[单选题]运行下面的程序后,其输出结果是。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

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

Int*f(int*x,int*y)

{if(*x<*y)

Returnx;

Else

Returny;

)

Main()

{inta=7,b=8,*p,*q,*r;

P=&a;q=&b;

R=f(p,q);

Printf("%d,%d,%d∖n",*p,*q,*r);

)

执行后输出结果是。

A)7,8,8

B)7,8,7

08,7,7

D)8,7,8

64.[单选题]指针S所指字符串的长度为____o

Char*s="∖tINameWAddressXn";

A)19

B)15

018

D)说明不合法

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

Main()

{inta[]={l,2,3,4,5,6,7,8,9,0},*p;

P=a;

Printf("%d∖n",*(p+9));)

A)O

B)l

OlO

D)9

66.[单选题]以下描述中,正确的是Oo

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

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

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

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

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

Sinclude<stdio.h>

Main()

{FILE*fpl;

Fpl=fopen("fl.txt","w");

Fprintf(fpl,"abc");

Fclose(fpl);

}

若文本文件fl.txt中原有内容为:good,则运行以上程序后文件fl.txt中的内容为一

A)goodabc

B)abed

C)abc

D)abcgood

68.[单选题]有以下函数

Intaaa(char*s)

{char*t=s;

While(*t++);

T一;

Return(t-s);

)

以下关于aaa函数的功能叙述正确的是。

A)求字符串S的长度

B)比较两个串的大小

C)将串S复制到串t

D)求字符串S所占字节数

69.[单选题]在C语言中,为了结束由While语句构成的循环,WhiIe后一对圆括号

中表达式的值应该为OO

A)0

B)l

C)True

D)非O

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

A)011

B)lel

C)8.OEO.5

D)Oxabcd

71.[单选题]C语言源程序名的后缀是。

A).exe

B),C

C).obj

D),cp

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

Main()

{

Inta=5;

While(!(a—>5))

(

Switch(a)

Case1:a++;

Case4:a+=4;

Case5:a+=5;break;

Default:a-=5;}}

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

}

A)12

B)7

C)5

D)13

73.[单选题]题号:97

以下不正确的叙述是OO

A)在C程序中所用的变量必须先定义后使用

B)程序中,APH和aph是两个不同的变量

C)若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变

D)当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值

74.[单选题]有以下程序。INCLUDEPICTURE

main()

{intx[3j[2]={0},i;

fbr(i=O;i<3;i÷+)scanf(',%d,',⅛i]);

Printf("98d%3d%3d∖n∖J(0][0].x[0][1],x[l][0]):

〉若运行时输入:246〈回车》,则输出结果是。

A)200

B)204

0240

D)246

75.[单选题]设有如下定义:structsk{inta;floatb;}data,*p;

若要使P指向data中的a域,正确的赋值语句是Oo

A)p=(structsk*)ftdata.a;

B)p=(structsk*)data,a;

C)p=ftdata.a;

D)*p=data.a;

76.[单选题]以下运算符中,优先级最高的运算符是()。

A)∣∣

B)%

0!

D)==

77.[单选题]下列程序段的输出结果为。。

Floatk=0.8567;

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

A)0085.6%%

B)0085.7%

C)0085.6%

D).857

78.[单选题]以下合法的赋值语句是___ig

A)X=Y=IOO

B)D-;

OX+Y;

D)C=INT(A+B)

79.[单选题]以下叙述不正确的是()

A)一个C源程序必须包含一个main函数

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

C)C程序的基本组成单位是函数

D)在C程序中,注释说明只能位于一条语句的后

80.[单选题]以下的for循环:for(p=0,q=0;(q!=88)&&(p<8);p++);

A)是无限循环

B)循环次数不定

C)执行8次

D)执行3次

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

Main()

{inta=9;

While(a>7){a-;printf(',%d",a);)

)

该程序段的输出结果是O

A)98

B)87

0876

D)987

82.[单选题]在C语言中,if语句后的一对原括号中,用以决定分支的流程的表

达式OO

A)只能用逻辑表达式

B)只能用关系表达式

C)只能用逻辑表达式或关系表达式

D)可用任意表达式

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

Main()

{char*s="12134211";intv[4]={0,O,O,0},k,i;

For(k=0;s[k];k++)

{switch(s[k])

{case'Γ:i=0;

Case'2':i=l;

Case'3'=i=2;

Case'4':i=3;

}

V[i]++;

}

For(k=0;k<4;k++)printf("%d",v[k]);

}

A)4211

B)0008

C)4678

D)8888

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

#definef(x)(x*x)

Main()

{intil,i2;

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

Printf("%d,%ci∖n",il,i2);

}

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

A)64,28

B)4,4

04,3

D)64,64

85.[单选题]以下对二维数组a的正确说明是()。(2分)

A)1.inta[3][];

B)l.floata(3,4);

C)1.doublea[l][4];

D)l.floata(3)(4);

86.[单选题]下列定义数组的语句中正确的是Oo

A)ttdefinesize10charstrl[size],str2[size+2];

B)charstr[];

C)intnum[,101];

D)intnzz5;inta[n][n÷2];

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

#include<stdio.h>

MainO

{chara=4;

Printf(κ%d∖nπ,a=a<<l);

)

程序的运行结果是O

A)40

B)16

08

D)4

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

Intfl(intx,inty)

{returnx>y?x:y;}

Intf2(intx,inty)

{returnx>y?y:x;)

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

)

执行后输出的结果是O

A)3,4,5

B)5,3,4

C)5,4,3

D)3,5,4

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

MainO

{charh[]="america",*q;

Q=h+2;

Printf("%c",*q++);

Printf("%c",*q++);

)

A)me

B)er

C)ca

D)ri

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

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

A)scanf("‰≡‰Γ,&i,&j,&k);

B)scanf("%d,%d,%d",i,j,k);

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

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

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

Main()

{inti;

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

{if(i++%5==0)

lf(++i%8==0)printf("%d",i);

}

Printf("∖n");

)

执行后的输出结果是O

A)5

B)24

C)32

D)40

92.[单选题]当执行下面程序且输入:ABC时,输出的结果是o

#include<stdio.h>

#include<string.h>

Main()

{charss[10]="12345";

Strcat(ss,"6789");

Gets(ss);printf("%s∖n",ss);

)

A)ABC

B)ABC9

C)123456ΛBC

D)ABC456789

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

MainO

{intp[7]={ll,13,14,15,16,17,18},i=0,k=0;

While(i<7&&p[i]%2){k=k+p[i];i++;}

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

)

执行后输出的结果是_____O

A)58

B)56

045

D)24

94.[单选题]C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是()。(2分)

A)1.地址传递

B)l.由用户指定传递方式

01.双向值传递

D)l.单向值传递:实参的值传给形参

95.[单选题]若变量C为Char类型,能正确判断出C为小写字母的表达式是_

A)"a'<=c<='z'

B)(C>='a')[(c<='z')

C)("a'<=c)and('z'>=c)

D)(C>='a')&&(c<='z")

96.[单选题]下列语句中,能正确输出26个英文字母的是。

A)for(a='a";a<='z';printf("%c",++a));

B)for(a='a";a<='z';)printf("%c",a);

C)for(a='a"ιa<='z';printf("%c",a++));

D)for(a='a";a<='z';printf("%c",a));

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

Main()

{unsignedchara=2,b-4,c=5,d;

D=aIb;d&=c;printf("%d∖n",d);

}

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

A)3

B)4

C)5

D)6

98.[单选题]以下的for循环:for(x=0,y=0;(y!=100)&&(x<3);x++);

A)是无限循环

B)循环次数不定

C)执行3次

D)执行2次

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

Main()

{ints=0,a=l,n;

Scanf("%d",&n);

Do

{s+=l;a=a-2;}

While(a!=n);

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

)

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

A)-l

B)-3

0-5

D)0

100.[单选题]下面程序的输出结果是()。

ttinclude<stdio.h>

voidfun(int*x,int*y)

(

printf("%d%d",*x,*y);

*x=3;*y=4;

}

intmain(void)

(

intx=l,y=2;

fun(&x,&y);

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

return0;

)

A)2134

B)l212

Ol234

D)2112

IOL[单选题]有如下程序段

Int*p,a=6,b=2;

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

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

A)6

B)8

07

D)编译出错

102.[单选题]int*p的含义是___o

A)P是一个指针,用来存放一个整型数

B)P是一个指针,用来存放一个整型数据在内存中的地址

C)P是一个整型变量

D)以上都不对

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

Ch=(ch>='a'&&ch<='z')?(ch-32):ch

上面表达式的值是_____O

A)c

B)C

OZ

D)Z

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

是。

A)*p

B)x[5]

C)*(p+1)

D)*x

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

Main()

{unsignedchar

A,b;

A=4∣3;

B=4&3;

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

)

执行后输出结果是O

A)70

B)07

Ol1

D)43O

106.[单选题]以下程序中函数SCmP的功能是返回形参指针SI和s2所指字符串中较小字符串的首地址

O

#include<stdio.h>

^include<string.h>

Char*scmp(char*sl,char*s2)

{if(strcmp(si,s2)<0)

Return(si);

Elsereturn(s2);

)

Main()

{inti;charstring[20],str[3]C,20];

For(i=0;i<3;i++)gets(str[i]);

Strcpy(string,scmp(str[0],str[l]));∕*库函数StrCPy对字符串进行复制*/

Strcpy(string,scmp(string,Str[2]));

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

}

若运行时依次输入:abed、abba和abc三个字符串,则输出结果为。

A)abed

B)abba

C)abc

D)baca

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

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

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

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

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

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

Inta[10]={l,2,3,4,5,6,7,8,9,10},*p=&a[3],b;

B=p[5];

B中的值是o

A)5

B)6

08

D)9

109.[单选题]若变量已正确定义,有以下程序段

Inta=3,b=5,c=7;

If(a>b)

A=b;

C=a;

If(c!=a)c=b;

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

其输出结果是O

A)程序段有语法错

B)3,5,3

03,5,5

D)3,5,7

110.[单选题]凡在函数中未指定存储类别的变量,其隐含的存储类别是。

A)自动

B)静杰

C)外部

D)寄存器

IlL[单选题]应用缓冲文件系统对文件进行读写操作,打开文件的函数名为Oo

A)open

B)fopen

C)close

D)fclose

112.[单选题]main(intargc,char*argvL])

{while(-argc>0)printf("%s",argv[argc]);

Printf("∖n");

}

假定以上程序经编译和连接后生成可执行文件PROG∙EXE,如果在此可执行文件所在目录的DOS提示符

下键入:PROGABCDEFGHIJKL/,则输出结果为。

A)ΛBCDEFG

B)IJHL

c)ABCDEFGHIJKL

D)IJKLABCDEFGH

113.[单选题]下列关于C语言用户标识符的叙述中正确的是

A)用户标识符中可以出现下划线和中划线(减号)

B)用户标识符中不可以出现中划线,但可以出现下划线

C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头

D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

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

Intf()

{staticinti=0;

Ints=l;

S÷=i;i÷÷;

Returns;

)

Main()

{inti,a=0;

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

Printf(,,%d∖nπ,a);

)

A)20

B)24

C)25

D)15

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

#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(na=%d,b=%d∖nn,a,b);

)

A)a=2,b=l

B)a=l,b=l

C)a=l,b=O

D)a=2,b=2

116.[单选题]以下选项中,不能正确赋值的是。

A)charsl[10];sl=MCtestH;

B)chars2[]={rCl,,t,,fel,,s,,ft,};

C)chars3[20]=πCtest;

D)chars4[30];strcpy(s4,,,Ctestπ);

117.[单选题]设有以下定义和语句

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

P[O]=a[l];

则*(p[o]+D所代表的数组元素是o

A)a[0][l]

B)a[l][O]

C)a[l][l]

D)a[l]⑵

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

#include<stdio.h>

Intfun(chars口)

{intn=0;

While(*s<='9'&&*s>='0'){n=10*n+*s-'0';s++;}

Return(n);

)

Main()

{chars[10]={'6',,1','*','4','*','9','*','0','*'};

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

)

程序的运行结果是_____O

A)9

B)61490

C)61

D)5

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

A)l

B)2

02.0

D)2.5

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

不等价()。(2分)

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

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

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

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

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

Intn=0,p;

Do{scanf("%d",fep);n++;)whiIe(ρ!=12345&&n<3);

此处do-while循环的结束条件是_____。

A)P的值不等于12345并且n的值小于3

B)P的值等于12345并且n的值大于等于3

C)P的值不等于12345或者n的值小于3

D)P的值等于12345或者n的值大于等于3

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

MainO

{inta=15,b=21,m=0;

Switch(a%3)

{case0:m++;break;

Casel:m++;

Switch(b%2)

{default:m++;

Case0:m++;break;

)

}

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

}

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

A)l

B)2

C)3

D)4

123.[单选题]以下能正确定义二维数组的语句是()。(2分)

A)1.inta[][];

B)1.inta□[3];

C)1.inta[2][];

D)l.inta[2][3];

124.[单选题]c语言规定,在一个源程序中,main函数的位置()

A)必须在最开始

B)必须在系统调用库函数的后面

C)可以任意

D)必须在最后

125.[单选题]执行语句for(i=bi++<4;);后变量i的值是()。

A)3

B)4

05

D)不定

126.[单选题]下面的程序执行后,文件test,t中内容是o

ttinclude<stdio.h>

Voidfun(char*fname,char*st)

{FILE*myf;inti;

Myf=fopen(fname,,,WM);

For(i=0;i<strlen(st);i++)fputc(st[i],myf);

Fclose(myf);

)

Main()

{fun(,,test.t","newworldπ);fun(,,test.t,,,πhello,,,);)

A)hello,

B)newworldhello

C)newworld

D)hello,rid

127.[单选题]C语言中while和do-while循环的主要区别是()。

A)do-while的循环体至少无条件执行一次

B)WhiIe的循环控制条件比do-while的循环控制条件更严格

C)do-while允许从外部转到循环体内

D)do-while的循环体不能是复合语句

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

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

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

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

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

129.[单选题]若有以下说明和语句,请选出哪个是对C数组元素的正确引用

Intc[3][4],(*p)[4];

P=c;

A)p+1

B)*(p+2)

C)*(p+1)+3

D)*(*p+2)

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

MainO

{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=O

B)a=2,b=l

C)a=l,b=l

D)a=2,b=2

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

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

Printf("--");

A)无限

B)不定

05次

D)4次

132.[单选题]若有说明:inta[3][4];则数组a中各元素O0

A)可在程序的运行阶段得到初值O

B)可在程序的编译阶段得到初值O

C)不能得到确定的初值

D)可在程序的编译或运行阶段得到初值O

133.[单选题]已知inty,a,i=l;,则语句Printf("%d,%d",-i++,(y=a=3.6*3));的输出结果为

A)-l,10

B)-2,1.8

00,3

D)l,18

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

MainO

{intk=17;

Printf("%d,%o,%x∖n",k,k,k);

}

A)17,021,0x11

B)17,17,17

017,Oxll,021

D)17,21,11

135.[单选题]若变量已正确定义,要将a和b中的值进行交换,下面不正确的语句组是()。(2分)

A)1.a=a+b,b=a^b,a=a^b;

B)1.t=a,a=b,b=t;

C)1.t=b;b=a;a=t;

D)1.a=t;t=b;b=a;

136.[单选题]下面判断正确的是OO

A)char*a="china";等价于char*a;*a=,,chinaH;

B)charStr[10]={"china"};等价于Charstr[10];str[]={wchinaw};

C)char*s="china";等价于char*s;s=,,chinan;

D)charc[4]="abc",d[4]="abc";等价于charc[4]=d[4]=,,abcw;

137.[单选题]若有表达式(w)?(--x):G+y),则其中与W等价的表达式是____o

A)w==l

B)w==0

C)w!=l

D)w!=O

138.[单选题]若有以下数组说明,则数值最小的和最大的元素下标分别是()o

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

A)l,12

B)0,11

01,11

D)0,12

139.[单选题]以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是Oo

A)chars[10]=,,abcdefg,f;

B)chart[]=nabcdefgn,*s=t;

C)chars[10];s=,,abcdefgπ;

D)chars[10];StrCPy(S,"abcdefg");

140.[单选题]若有以下结构体类型定义,structworker{charname[16];structdate{int

year;intmonth;intday;}birthday;}x;则赋值语句正确的是()。(2分)

A)1.x.year=1999;

B)1.x.birthday,month=3;

C)1.x.name="黎明";

D)1.x.birthday=1999.9.9;

14L[单选题]假定int类型变量占用4个字节,若有定义:intx[10]={0,2,4};,则数组X在内存中所占

字节数是o

A)4

B)12

C)20

D)40

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

ttdefineP3

VoidF(intx){return(P*x*x);}

Main()

{printf("%d∖n",F(3+5));}

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

A)192

B)29

025

D)编译出错

143.[单选题]下列语句中,不正确的是Oo

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

B)staticinta[2]={'1','2');

C)staticchara[2]={'Γ,'2','3'};

D)staticchara[2]={'Γ};

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

ttdefineN2

ttdefiney(n)((N+l)*n)

则执行下列语句:

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

后的结果是。

A)语句有错误

B)Z值为68

C)Z值为60

D)Z值为180

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

)o(2分)

A)float

B)1.char

C)int

D)1.double

146.[单选题]下面描述中,不正确的是

A)C程序的函数体由一系列语句和注释组成

B)注释内容不能单独写在一行上

C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明

D)SCanf和Printf是标准库函数而不是输入和输出语句

147.[单选题]以下程序的运行结果是OO

MainO

(

inti=l,sum=0;

while(i<10)sum=sum+l;i++;

printf("i=%d,sum=%d",i,sum);

)

Λ)i=10,sum=9

B)i=9,sum=9

C)i=2,sum=l

D)运行出现错误

148.[单选题]有如下说明

Inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则数值为9的表达式是o

A)*p+9

B)*(p+8)

C)*p+=9

D)p+8

149.[单选题]以下不能正确进行字符串赋初值的语句是OO

A)charstr[51="good!";

B)charstr[]="good!";

Ochar*str="good!";

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

150.[单选题]按照C语言规定的用户标识符命名规则,不能出现在标识符中的是

A)大写字母

B)连接符

C)数字字符

D)下划线

151.[单选题]下面程序

MainO

Intx=32;

Printf("%d∖n",x=x<<l);

的输出是O

A)IOO

B)160

C)320

D)64

152.[单选题]在C语言中,下列错误的说法是。

A)函数可以递归调用

B)不允许在函数定义中再定义函数

C)递归程序不可能用非递归算法实现

D)对于ContinUe语句,可以通过改变程序的结构而不使用它

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

Voidswap(char*x,char*y)

{chart;

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

}

Main()

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

Swap(sl,s2);printf("%s,%s∖n",si,s2);

}

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

A)123,abc

B)abc,123

C)lbc,a23

D)321,cba

154.[单选题]有以下程序,其中函数f的功能是将多个字符串按字典顺序排序

#include<string.h>

Voidf(char*p口,intn)

{char*t;inti,j;

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

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

If(strcmp(p[i],pLj])>O){t=p[i];p[i]=p[j];p[j]=t;}

}

Main()

{char*pL5]={"abc","aabdfg","abbd","dcdbe","cd"};

F(p,5);

Printf("%d∖n",strlen(p[1]));

)

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

A)2

B)3

C)6

D)4

155.[单选题]题号:95

下列变量说明语句中,正确的是OO

A)char:abc;

B)chara;b;c;

C)intx;z;

D)intx,z;

156.[单选题]下面不正确的字符串赋值或赋初值的方式是()。

A)char*str;str="string";

B)charstr[7]=

C)charstr[10];strl="sring”;

D)charstrlL]="string",st2[]=⅛?12345678";

157.[单选题]执行下面程序段后,a的值为()oint*p,a=10,b=l;P=&a;a=*p+b;

A)12

B)ll

OlO

D)编译错误

158.[单选题]下列程序的输出为Oo

Main()

{inty=10;

while(y-);

printf("y=%d∖n",y);

}

A)y=0

B)WhiIe构成无限循环

C)y=l

D)y=-l

159.[单选题]以下定义语句中正确的是

A)inta=b=O;

B)charA=65+l,b='b';

C)floata=l,*b=fea,*c=feb;

D)doublea=0.0;b=l.1;

160.[单选题]在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是

A)地址传递

B)单向值传递

C)由实参传给形,再由形参传回实参

D)传递方式由用户指定

161.[单选题]若有定义:intaa[8];则以下表达式中不能代表数组元素aa[l]的地址的是

A)ftaa[0]+l

温馨提示

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

评论

0/150

提交评论