C机考复习题6.docx

上传人:b****5 文档编号:7161437 上传时间:2023-01-21 格式:DOCX 页数:27 大小:25.05KB
下载 相关 举报
C机考复习题6.docx_第1页
第1页 / 共27页
C机考复习题6.docx_第2页
第2页 / 共27页
C机考复习题6.docx_第3页
第3页 / 共27页
C机考复习题6.docx_第4页
第4页 / 共27页
C机考复习题6.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

C机考复习题6.docx

《C机考复习题6.docx》由会员分享,可在线阅读,更多相关《C机考复习题6.docx(27页珍藏版)》请在冰豆网上搜索。

C机考复习题6.docx

C机考复习题6

1.以下说法中正确的是()

A)C语言程序总是从第一个的函数开始执行

B)在C语言程序中,要调用的函数必须在main()函数中定义

C)C语言程序总是从main()函数开始执行

D)C语言程序中的main()函数必须放在程序的开始部分

2.下选项中不是C语句的是()。

A){inti;i++;printf(“%d\n”,i);}

B);

C)a=5,c=10

D){;}

3.以下选项中不能作为C语言合法常量的是()

A)'cd'

B)0.1e+6

C)"\a"

D)'\011'

4.若x,a,b和c均是int型变量,则执行表达式x=(a=1,b=2)后x的结果为()。

A)1

B)2

C)3

D)不确定

5.以下能正确定义整型变量a,b和c并为其赋初值1的语句是()。

A)inta=b=c=1;

B)inta,b,c=1;

C)a=b=c=1;

D)inta=1,b=1,c=1;

ysdbvd

6.字符串"\t\065\xff\n"中的字符数(不算’\0’)为()

A)5

B)14

C)8

D)4

7.对两个静态函数A和B进行如下初始化:

charA[]="ABCDEF";

charB[]={'A','B','C','D','E','F'};

则下列叙述正确的是()。

A)A和B完全相同

B)A和B只是长度相等

C)A和B不相同,A是指针数组

D)A数组长度比B数组长

8.若有以下定义:

chara;intb;

floatc;doubled;

则表达式a*b+d-c值的类型为()

A)float

B)int

C)char

D)double

9.在C语言中,运算对象必须是整型数的运算符是()

A)%

B)/

C)%和\

D)**

10.有以下程序

main()

{intx,y,z;

x=y=1;

z=x++,y++,++y;

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

}

程序运行后的输出结果是()

A)2,3,3

B)2,3,2

C)2,3,1

D)2,2,1

11.以下选项中,当x为大于1的奇数时,值为0的表达式是()

A)x%2==1

B)x/2

C)x%2!

=0

D)x%2==0

12.以下程序的输出结果是()。

main()

{

intx=10,y=3;

printf("%d\n",y=x/y);

}

A)0

B)1

C)3

D)不确定的值

13.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()

A)-3

B)9

C)-12

D)6

15.有以下程序

main()

{

chara='a',b;

printf("%c,",++a);

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

}

程序运行后的输出结果是()

A)b,b

B)b,c

C)a,b

D)a,c

16.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为()

A)0

B)1

C)2

D)3

17.设x、y、t均为int型变量,则执行语句:

x=y=3;t=++x||++y;后,y的值为()

A)不定值

B)4

C)3

D)1

18.有以下程序段

intk=0;

while(k=1)k++;

while循环执行的次数是()

A)无限次

B)有语法错,不能执行

C)一次也不执行

D)执行1次

19.能正确表示逻辑关系“a>=10或a<=0”的C语言表达式是()

A)a>=10ora=10

B)a>=0|a<=10

C)a>=10&&a<=0

D)a>=10||a<=0

20.表示关系x≤y≤z的c语言表达式为()

A)(x<=y)&&(y<=z)

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

C)(x<=y<=z)

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

21.设有:

inta=1,b=2,c=3,d=4,m=3,n=3;执行(m=a>b)||(n=c>d)后n的值为()。

A)0

B)1

C)2

D)3

22.以下关于逻辑运算符两侧运算对象的叙述中正确的是()

A)只能是整数0或1

B)只能是整数0或非0整数

C)可以是结构体类型的数据

D)可以是任意合法的表达式

23.若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

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

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

A)200

B)100

C)100200

D)输出格式符不够,输出不确定的值

24.以下程序的输出结果是()

main()

{intk=17;

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

}

A)17,021,0x11

B)17,17,17

C)17,0x11,021

D)17,21,11

25.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()。

A)INPUTx、y、z;

B)scanf("%d%d%d",&x,&y,&z);

C)scanf("%d%d%d",x,y,z);

D)read("%d%d%d",&x,&y;&z);

26.有以下程序

main()

{

inti;

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

switch(i)

{

case0:

prinft("%d",i);

case2:

prinft("%d",i);

default:

prinft("%d",i);

}

}

程序运行后的输出结果是()

A)022111

B)021021

C)000122

D)012

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

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

B)if、switch、break

C)for、while、do-while

D)if、for、continue

29.在嵌套使用if语句时,C语言规定else总是()

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

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

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

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

30.设有以下程序片段:

switch(X)

{

case'A':

printf("A");

case'B':

printf("B");

default:

printf("error");

}

假设X='A',程序输出结果是()

A)A

B)B

C)error

D)ABerror

31.读程序:

main()

{intnum=0;

while(num<=2)

{num++;printf("%d",num);}

}

上面程序的输出结果是()

A)1

B)22

C)123

D)1234

33.以下程序段的执行结果是()。

intx=5;

do{printf("%2d\n",x--);}

while(!

x);

A)5

B)无任何输出

C)4

D)陷入死循环

34.设变量已正确定义,则以下能正确计算f=n!

的程序段是()

A)f=0;

for(i=1;i<=n;i++)f*=i;

B)f=1;

for(i=1;i

C)f=1;

for(i=n;i>1;i++)f*=i;

D)f=1;

for(i=n;i>=2;i--)f*=i;

35.以下程序的输出结果是()。

main()

{

inta,b;

for(a=1,b=1;a<=100;a++)

{

if(b>=10)break;

if(b%3==1)

{

b+=3;

continue;

}

}

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

}

A)101

B)6

C)5

D)4

36.下列合法的数组定义是()。

A)inta[]="string";

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

C)chara="string";

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

37.以下定义语句中,错误的是()

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

B)char*a[3];

C)chars[10]="test";

D)intn=5,a[n];

38.以下正确的数组定义语句是()。

A)inty[1][4]={1,2,3,4,5};

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

C)longs[2][3]={{1},{1,2},{1,2,3}};

D)intm[1][4]={4};

39.以下程序的输出结果是()。

main()

{

inti,a[10];

for(i=9;i>=0;i--)

a[i]=10-i;

printf("%d%d%d",a[2],a[5],a[8]);

}

A)258

B)741

C)852

D)369

41.若有定义语句:

inta[3][6];,按在内存中的存放顺序,a数组的第10个元素是()

A)a[0][4]

B)a[1][3]

C)a[0][3]

D)a[1][4]

42.以下数组定义中不正确的是()

A)inta[2][3];

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

C)intc[100][100]={0};

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

43.以下程序的输出结果是()。

main()

{

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

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

}

A)0650

B)1470

C)5430

D)输出值不定

45.以下程序的输出结果是()

main()

{charcf[3][5]={"AAAA","BBB","CC"};

printf("\"%s\"\n",cf[1]);;

}

A)"AAAA"

B)"BBB"

C)"BBBCC"

D)"CC"

46.设有数组定义:

chararray[]="China";则数组array所占的空间为()

A)4个字节

B)5个字节

C)6个字节

D)7个字节

47.以下选项中,不能正确赋值的是()。

A)chars1[10];s1="Ctest";

B)chars2[]={'C','t','e','s','t'};

C)chars3[20]="Ctest";

D)char*s4="Ctest\n";

48.给出以下定义:

charx[]="abcdfeg";

chary[]={'a','b','c','d','e','f','g'};

则正确的叙述为()。

A)数组x和数组y等价

B)数组x和数组y长度相同

C)数组x的长度大于数组y的长度

D)数组x的长度小于数组y的长度

50.若要求从键盘读入含有空格字符的字符串,应使用函数()

A)getc()

B)gets()

C)getchar()

D)scanf()

51.有语句:

charstr1[10],str2[10]={"books"};

则能将字符串books赋给数组str1的正确语句是()。

A)str1={"Books"};

B)strcpy(str1,str2);

C)str1=str2;

D)strcpy(str2,str1);

52.以下语句的输出结果是()

printf("%d\n",strlen("\tc\065\xff\n"));

A)5

B)14

C)8

D)输出项不合法,无正常输出

53.若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。

A)a,point,*&a

B)&*a,&a,*point

C)*&point,*point,&a

D)&a,&*point,point

54.设已有定义:

floatx;,则以下对指针变量p进行定义且赋初值的语句中正确的是()

A)float*p=1024;

B)int*p=(float)x;

C)floatp=&x;

D)float*p=&x;

55.设有语句:

inta=1,b=2,*p1=&a,*p2=&b;以下可使指针p1指向变量b的赋值语句是()。

A)p1=*p2

B)*p1=p2

C)p1=p2

D)*p1=*p2

56.有以下程序

main()

{

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

for(p=a;p

printf("%d,",*p);

}

程序运行后的输出结果是()

A)1,2,3,4,5,6,7,8,9,0,

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

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

D)1,1,1,1,1,1,1,1,1,1,

57.若已定义chars[10];则在下面表达式中不能表示s[1]的地址的是()。

A)s+1

B)s++

C)&s[0]+1

D)&s[1]

58.在以下选项中,操作不合法的一组是()。

A)intx[6],*p;p=&x[0];

B)intx[6],*p;*p=x;

C)intx[6],*p;p=x;

D)intx[6],p;p=x[0];

59.有以下程序

main()

{chars[]="159",*p;

p=s;

printf("%c",*p++);

pritnf("%c",*p++);

}

程序运行后的输出结果是()

A)15

B)16

C)12

D)59

61.以下语句或语句组中,能正确进行字符串赋值的是()

A)char*sp;*sp="right!

";

B)chars[10];s="right!

";

C)chars[10];*s="right!

";

D)char*sp="right!

";

62.下面程序段的运行结果是()。

char*p="abcdefgh";

p+=2;

printf("%d\n",strlen(strcpy(p,"ABCD")));

A)6

B)12

C)4

D)7

63.下面程序段的运行结果是()。

charstr[]="ABC",*p=str;

printf("%d\n",*(p+3));

A)67

B)0

C)字符'C'的地址

D)字符'C'

64.以下程序运行后,输出结果是()

main()

{char*s="abcde";

s+=2;

printf("%d\n",s);}

A)cde

B)字符c的ASCII码值

C)字符c的地址

D)出错

66.有以下程序:

main()

{char*p[10]={"abc","aabdfg","dcdbe","abbd","cd"};

printf("%d\n",strlen(p[4]));

}

执行后输出结果是()

A)2

B)3

C)4

D)5

67.若有语句:

char*line[5];,以下叙述中正确的是()

A)定义line是一个数组,每个数组元素是一个基类型为char的指针变量

B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组

C)定义line是一个指针数组,语句中的*号称为间址运算符

D)定义line是一个指向字符型函数的指针

68.设有如下定义:

char*aa[2]={"abcd","ABCD"};则以下说法中正确的是()。

A)aa数组成元素的值分别是"abcd"和ABCD"

B)aa是指针变量,它指向含有两个数组元素的字符型一维数组

C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

D)aa数组的两个元素中各自存放了字符串"abcd"和"ABCD"的首地址

69.以下函数调用语句中含有()个实参。

fun((exp1,exp2),(exp3,exp4,exp5));

A)1

B)2

C)4

D)5

71.以下所列的各函数首部中,正确的是()

A)voidplay(vara:

integer,varb:

integer)

B)voidplay(inta,b)

C)voidplay(inta,intb)

D)Subplay(aasinteger,basinteger)

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

A)void

B)int

C)float

D)double

73.下面的函数调用语句中func函数的实参个数是()

func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));

A)3

B)4

C)5

D)8

74.有以下程序

fun(intx,inty)

{staticintm=0,i=2;

i+=m+1;m=i+x+y;returnm;

}

main()

{intj=1,m=1,k;

k=fun(j,m);printf("%d,",k);

k=fun(j,m);printf("%d\n",k);

}

执行后的输出结果是()

A)5,5

B)5,11

C)11,11

D)11,5

75.以下函数值的类型是()

fun(floatx)

{floaty;

y=3*x-4;

returny;

}

A)int

B)不确定

C)void

D)float

76.以下程序的输出结果是()

fun(intx,inty,intz)

{z=x*x+y*y;}

main()

{inta=31;

fun(5,2,a);

printf("%d",a);

}

A)0

B)2

C)31

D)无定值

77.有以下程序

voidf(intx,inty)

{intt;

if(x

}

main()

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

f(a,b);f(a,c);f(b,c);

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

}

执行后输出的结果是()

A)3,4,5

B)5,3,4

C)5,4,3

D)4,3,5

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

A)地址传递

B)单向值传递

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

D)传递方式由用户指定

79.有以下程序

voidf(intb[])

{inti;

for(i=2;i<6;i++)

b[i]*=2;

}

main()

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

f(a);

for(i=0;i<10;i++)

printf("%d,",a[i]);

}

程序运行后的输出结果是()

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

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

C)1,2,3,4,10,12,14,16,9,10,

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

80.在C语言中,函数返回值的类型最终取决于()

A)函数定义时在函数首部所说明的函数类型

B)return语句中表达式值的类型

C)调用函数时主调函数所传递的实参类型

D)函数定义时形参的类型

81.调用一个函数,此函数中没有return语句,下列说法正确的是:

该函数()。

A)没有返回值

B)返回若干个系统默认值

C)能返回一个用户所希望的函数值

D)返回一个不确定的值

83.若有以下调用语句,则不正确的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)

85.有以下程序

voidswap(char*x,char*y)

{chart;

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

}

main()

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

swap(s1,s2);printf("%s,%s\n",s1,s2);

}

程序执行后的输出结果是()

A)123,abc

B)abc,123

C)1bc,a23

D)321,cba

86.以下程序的输出结果()

#include

sub(intx,inty,int*z)

{

*z=y-x;

}

main()

{

 inta,b,c;

 sub(10,5,&a);

 sub(7,a,&b);

 sub(a,b,&c);

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

}

A)5,2,3

B)-5,-12,-7

C)-5,

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

当前位置:首页 > 工程科技 > 城乡园林规划

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

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