C语言复习题09年160题Word下载.docx

上传人:b****6 文档编号:20047309 上传时间:2023-01-16 格式:DOCX 页数:32 大小:45.39KB
下载 相关 举报
C语言复习题09年160题Word下载.docx_第1页
第1页 / 共32页
C语言复习题09年160题Word下载.docx_第2页
第2页 / 共32页
C语言复习题09年160题Word下载.docx_第3页
第3页 / 共32页
C语言复习题09年160题Word下载.docx_第4页
第4页 / 共32页
C语言复习题09年160题Word下载.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

C语言复习题09年160题Word下载.docx

《C语言复习题09年160题Word下载.docx》由会员分享,可在线阅读,更多相关《C语言复习题09年160题Word下载.docx(32页珍藏版)》请在冰豆网上搜索。

C语言复习题09年160题Word下载.docx

C)无确定结果D)把x和y按从大到小排列

10.以下选项中非法的表达式是

A)0<

=x<

100B)i=j==0C)(char)(65+3)D)x+1=x+1

11.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<

10的是:

A)abs(x-y)<

10B)x-y>

-10&

x-y<

10C)(x-y)<

-10||!

(y-x)>

10D)(x-y)*(x-y)<

100

12.若执行以下程序段:

inta=1,b=2,m=2,n=2;

(m=a>

b)&

++n;

则n的值是:

A)1B)2C)3D)4

13.若有表达式(w)?

(-x):

(++y),则其中与w等价的表达式是:

A)w==1B)w==0C)w!

=1D)w!

=0

14.设已有定义inta=5,b=6,c=7,d=8,m=2,n=2;

则逻辑表达式(m=a>

b)&

(n=c>

d)运算后,n的值为:

A)0B)1C)2D)3

15.已有定义:

charc;

,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是:

A)isupper(c)B)’A’<

=c<

=’Z’C)’A’<

=c&

c<

=’Z’D)c<

=(‘z’-32)&

(‘a’-32)<

=c

第3章语句和控制结构

16.以下叙述中错误的是

A)C语言是一种结构化程序设计语言

B)结构化程序有顺序、分支、循环三种基本结构组成

C)使用三种基本结构构成的程序只能解决简单问题

D)结构化程序设计提倡模块化的设计方法

17.有以下程序段

intm=0,n=0;

charc='

a'

;

scanf("

%d%c%d"

&

m,&

c,&

n);

printf("

%d,%c,%d\n"

m,c,n);

若从键盘上输入:

10A10<

回车>

,则输出结果是:

A)10,A,10B)10,a,10C)10,a,0D)10,A,0

18.若有说明语句:

inta,b,c,*d=&

c;

,则能正确从键盘读入三个整数分别赋给a、b、c的语句是:

A)scanf("

%d%d%d"

a,b,*d);

B)scanf("

a,&

b,&

d);

C)scanf("

a,b,d);

D)scanf("

&

b,d)

19.若在定义语句:

inta,b,c,*p=&

之后,接着执行以下选项中的语句,则能正确执行的语句是:

A)scanf("

%d"

a,b,c);

B)scanf("

%d%d%d"

C)scanf("

p);

p);

20.有定义语句:

intx,y;

,若要通过scanf("

%d,%d"

x,&

y);

语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是:

A)1112<

B)11,12<

C)11,12<

D)11,<

12<

21.若变量已正确定义为int型,要通过语句scanf(”%d,%d,%d”,&

c);

给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是:

(□代表一个空格符)

A)□□□1,2,3<

B)1□2□3<

C)1,□□□2,□□□3<

D)1,2,3<

22.有以下程序段

intj;

floaty;

charname[50];

scanf("

%2d%f%s"

j,&

y,name);

当执行上述程序段,从键盘上输入555667777abc后,y的值为:

A)55566.0B)566.0C)7777.0D)566777.0

23.当用户要求输入的字符串中含有空格时,应使用的输入函数是:

A)scanf()B)getchar()C)gets()D)getc()

24.C语言中用于结构化程序设计的三种基本结构是:

A)顺序、选择、循环B)if、switch、breakC)for、while、do-whileD)if、for、continue

25.要使以下程序中t的输出结果为4,则输入a和b应满足的条件是:

main()

{ints=1,t=1,a,b;

%d%d"

b);

if(a>

0)s+=1;

if(a>

b)t=s+t;

elseif(a==b)t=5;

elset=2*s;

printf("

%d\n"

t);

}

A)a>

0并且a<

bB)a<

bC)a>

0并且a>

bD)a<

b

26.有以下程序段

intn,t=1,s=0;

%d"

do{s=s+t;

t=t-2;

}while(t!

=n);

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

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

27.在循环语句的循环体中,continue语句的作用是:

A)立即终止整个循环B)继续执行continue语句之后的循环体各语句

C)结束本次循环D)结束本次循环并跳出循环

28.若变量已正确定义,有以下程序段,其输出结果是:

i=0;

doprintf("

%d,"

i);

while(i++);

%d\n"

i);

A)0,0B)0,1C)1,1D)程序进入无限循环

29.若定义inti;

,则循环语句:

for(i=2;

i==0;

)printf("

i--);

执行次数是:

A)无限次B)2次C)1次D)0次

30.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)

for(s=a,b=1;

b<

=c;

b++)s=s+1;

则与上述程序段功能等价的赋值语句是:

A)s=a+b;

B)s=a+c;

C)s=s+c;

D)s=b+c;

第4章函数与程序结构

31.对于一个正常运行的C程序,以下叙述中正确的是:

A)程序的执行总是从main函数开始,在main函数结束

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

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

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

32.以下正确的叙述是:

A)在C语言中,main函数必须位于文件的开头

B)C语言的每行中只能写一条语句

C)C语言本身没有输入、输出语句

D)main函数可以在任何地方出现

33.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是:

A)voidB)intC)floatD)double

34.下面的函数调用语句中func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));

,函数的实参个数是:

A)3B)4C)5D)8

35.以下叙述中错误的是

A)用户自定义的函数中可以没有return语句

B)用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值

C)用户自定义的函数中若没有return语句,则应当定义函数为void类型

D)函数的return语句中可以没有表达式

36.若程序中定义了以下函数

doublemyadd(doublea,doubleb)

{return(a+b);

}

并将其放在调用语句之后,则在调用之前应该对函数进行说明,以下错误的说明是:

A)doublemyadd(doublea,b);

B)doublemyadd(double,double);

C)doublemyadd(doubleb,doublea);

D)doublemyadd(doublex,doubley);

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

A)地址传递B)双向值传递C)单向值传递D)传递方式由用户指定

38.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是:

A)函数的实参和其对应的形参共占同一存储单元

B)形参只是形式上的存在,不占用具体存储单元

C)同名的实参和形参占同一存储单元

D)函数的形参和实参分别占用不同的存储单元

39.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是:

A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参

C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参

40.凡在函数内未指定的存储类型变量,其隐含的存储类型为:

A)registerB)staticC)externD)auto

41.以下叙述中正确的是:

A)未在定义语句中赋初值的变量初值都是随机值B)全局变量的作用域一定比局部变量大

C)static类别变量的生存期贯穿于整个程序的运行期间D)函数的形参都属于全局变量

42.在一个C语言源程序文件中所定义的全局变量,其作用域为:

A)所在文件的全部范围B)所在程序的全部范围

C)所在函数的全部范围D)由具体定义位置和extern说明来决定范围

第6章数组

43.若在main()中有定义inta[5];

则数组a中所有元素的初值为:

A)不确定B)0C)1D)-1

44.若有以下定义语句:

intm[]={5,4,3,2,1},i=4;

则下面对m数组元素的引用中错误的是:

A)m[--i]B)m[2*2]C)m[m[0]]D)m[m[i]]

45.若定义a[][2]={1,2,3,4,5,6,7};

则a数组中行的大小是:

A)2B)3C)4D)无确定值

46.若有定义语句:

inta[3][6];

,按在内存中的存放顺序,a数组的第10个元素是

A)a[0][4]B)a[1][3]C)a[0][3]D)a[1][4]

47.以下能正确定义数组并正确赋初值的语句是:

A)intN=5,b[N][N];

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

C)intc[2][]={{1,2},{3,4}}D)intd[3][2]={{1,2},{3,4}};

48.以下能正确定义二维数组的是:

A)inta[][3];

B)inta[][3]=2{2*3};

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

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

49.若定义a[][3]={1,2,3,4,5,6,7,8};

,则数组a中行的大小是:

50.在以下定义中,正确的说明语句为:

A)inta['

]B)inta[3,4]C)inta[][]D)int*a[10];

51.用数组名作为函数参数时,它传递给函数是:

A)数组首地址B)整个数组C)数组的第一个值D)数组的全部地址

52.以下能正确定义一维数组的选项是:

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

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

C)chara={'

A'

'

B'

C'

};

D)inta[3]="

012"

53.若有定义语句:

chars[10]="

1234567\0\0"

;

,则strlen(s)的值是:

A)7B)8C)9D)10

第7章指针

54.设有定义:

intn1=0,n2,*p=&

n2,*q=&

n1;

,以下赋值语句中与n2=n1;

语句等价的是:

A)*p=*q;

B)p=q;

C)*p=&

D)p=*q;

55.若有定义:

intx=0,*p=&

x;

,则语句printf("

*p);

的输出结果是:

A)随机值B)0C)x的地址D)p的地址

56.设有定义:

charp[]={’1’,’2’,’3’},*q=p;

不能计算出一个char型数据所占字节数的表达式是:

A)sizeof(p)B)sizeof(char)C)sizeof(*q)D)sizeof(p[0])

57.有如下说明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;

则数值为9的表达式是:

A)*p+9B)*(p+8)C)*p+=9D)p+8

58.有以下定义和语句:

inta[3][2]={1,2,3,4,5,6,},*p[3];

p[0]=a[1];

则*p[0]+1所代表的数组元素是:

A)a[0][1]B)a[1][0]C)a[1][1]D)a[1][2]

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

p=c;

能正确引用c数组元素的是:

A)p+1B)*(p+3)C)*(p+1)+3D)*(p[0]+2)

60.若有定义语句:

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

,则以下语句中正确的是:

A)p=a;

B)p[0]=a;

C)p[0]=&

a[1][2];

D)p[1]=&

a;

61.若有定义inta[3][5],i,j;

(且0<

i<

3,0<

j<

5),则地址&

a[i][j]对应元素的不正确表示是:

A)*(a+i*5+j)B)*(a[i]+j)C)*(a+i)+jD)*(*(a+i)+j);

62.以下各语句或语句组中,正确的操作是:

A)chars[5]="

abcde"

B)char*s;

gets(s);

C)chars[5];

gets(&

s);

D)char*s="

63.把字符串"

OK!

"

赋值给变量不正确的语句或语句组是:

A)chara[]="

B)chara[8]={'

O'

'

K'

!

'

\0'

};

C)char*p;

p="

D)charp;

strcpy(p,"

);

64.定义compare(char*s1,char*s2)函数,以实现比较两个字符串大小的功能。

以下程序运行结果为-32,选择正确答案填空。

main()

{printf(”%d\n”,compare(”abCd”,”abc”));

compare(char*s1,char*s2)

{while(*s1&

*s2&

){s1++;

s2++;

return*s1-*s2;

A)*s1!

=*s2B)*s1==*s2C)*s1=*s2D)s1!

=s2

65.有以下函数,关于aaa函数的功能叙述正确的是:

intaaa(char*s)

{char*t=s;

while(*t++);

t--;

return(t-s);

}

A)求串s的长度B)比较两串的大小C)将串s复制到串tD)求串s所占字节数

66.设有定义:

intn=0,*p=&

n,**q=&

p;

,则以下选项中,正确的赋值语句是:

A)p=1;

B)*q=2;

C)q=p;

D)*p=5;

67.若有定义char*language[]={"

FORTRAN"

"

BASIC"

"

PASCAL"

C"

则language[2]的值是:

A)一个字符B)一个地址C)一个字符串D)不定

68.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是:

A)p=2*(int*)malloc(sizeof(int));

B)p=(int*)malloc(2*sizeof(int));

C)p=(int*)malloc(2*2);

D)p=(int*)calloc(2,sizeof(int));

第8章结构及其地数据类型

69.若要说明一个类型名STP,使得定义语句STPs;

等价于char*s;

,以下选项中正确的是:

A)typedefSTPchar*s;

B)typedef*charSTP;

C)typedefSTP*char;

D)typedefchar*STP

70.若有定义typedefcharSTR[5][20];

STRs;

,则s是:

A)字符指针数组变量B)字符数组变量C)字符变量D)字符指针变量

71.有以上程序段:

typedefstructNODE{intnum;

structNODE*next;

}OLD;

以下正确的叙述是:

A)以上的说明形式非法B)NODE是一个结构体类型

C)OLD是一个结构体类型D)OLD是一个结构体变量

72.设有以下说明语句typedefstruct{intn;

charch[8];

}PER;

,则下面叙述中正确的是:

A)PER是结构体变量名B)PER是结构体类型名

C)typedefstruct是结构体类型D)struct是结构体类型名

73.根据下面的定义,能打印出字母M的语句是:

structperson{charname[9];

intage;

}class[10]={"

John"

17,"

Paul"

19,"

Mary"

18,"

Adam"

16};

A)printf("

%c\n"

class[3].name);

B)printf("

class[3].name[1]);

C)printf("

class[2].name[1]);

D)printf("

class[2].name[0]);

74.设有说明如下,则能正确定义结构体数组并赋初值的语句是:

typedefstruct{intn;

charc;

doublex;

}STD;

A)structSTDtt[2]={{1,'

6},{2,'

7}};

B)structtt[2]={{1,'

},{2,'

}};

C)STDtt[2]={{1,'

6},{2,'

7}};

D)STDtt[2]={1,"

A"

6,2,"

"

7};

75.若定义:

structss{charname[

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

当前位置:首页 > 经管营销 > 经济市场

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

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