四川农业大学C语言机考复习题docx.docx

上传人:b****7 文档编号:10435183 上传时间:2023-02-11 格式:DOCX 页数:39 大小:28.99KB
下载 相关 举报
四川农业大学C语言机考复习题docx.docx_第1页
第1页 / 共39页
四川农业大学C语言机考复习题docx.docx_第2页
第2页 / 共39页
四川农业大学C语言机考复习题docx.docx_第3页
第3页 / 共39页
四川农业大学C语言机考复习题docx.docx_第4页
第4页 / 共39页
四川农业大学C语言机考复习题docx.docx_第5页
第5页 / 共39页
点击查看更多>>
下载资源
资源描述

四川农业大学C语言机考复习题docx.docx

《四川农业大学C语言机考复习题docx.docx》由会员分享,可在线阅读,更多相关《四川农业大学C语言机考复习题docx.docx(39页珍藏版)》请在冰豆网上搜索。

四川农业大学C语言机考复习题docx.docx

四川农业大学C语言机考复习题docx

C语言机考复习题(2014年6月)

一、单选

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

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

B)在C语言程序屮,要调用的函数必须在mainO函数屮定义

0C语言程序总是从mainO函数开始执行

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

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

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

B);

C)a=5,c二10

D){;}

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

(A)

A)'cd'

B)0.le+6

C)〃\『

D)'\011'

的结果为

)。

4•若x,a,b和c均是int型变量则执行表达式x二(a二l,b二2)后

(B)o

A)1

B)2

C)3

D)不确定

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

A)inta二b二c二1;

B)inta,b,c二1;

C)a=b=c=l;

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

6•字符串〃\t\065\xff\n〃中的字符数(不算'\0')为(D)

A)5

B)14

C)8

D)47.对两个静态函数A和B进行如下初始化charA□二〃ABCDEF〃;

charB[]二

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

A)A和B完全相同

B)A和B只是t度相等

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

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

&若冇以下定义

chara;intb;

floatc;doubled;

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

A)float

B)int

C)char

D)double

9•在C语言中运算对彖必须是整型数的运算符是(A)

A)%

B)/

C)%和\

D)**

10.有以下程序

main()

{intx,y,z;

x二y二1;

z二x++,y++,++y;

printf(〃%d,%d,%d\rT,x,y,z);

}

程序运行后的输出结果是

(C)

A)2,3,3

B)2,3,2

C)2,3,1

D)2,2,1

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

A)x%2=l

B)x/2

C)x%2!

二0

D)x%2==0

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

main()

intx=10,y=3;

printf(〃%d\rT,y=x/y);

A)0

B)1

C)3

D)不确定的值

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

A)-3

B)9

C)-12

D)6

14.已知字符A的ASCII码为十进制的65下而程序的输岀是(A)main()11

{

charchi,ch2;

chi二'A'+'5'-'3';

ch2二'A'+'6,—'3,;

printf("%d,%c\n〃,chi,ch2);

}

A)67,D

B)B,C

C)C,D

D)不确定的值

15.有以下程序

main()

{

chara=,aJ,b;

printf(〃%c,“,++a);

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

}

程序运行后的输出结果是

(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、ni二2、n=2则逻辑表达式(m=a>b)&&(n=c>d)运算后n的值为(C)

A)0

B)1

C)2

D)3

17•设x、y、t均为int型变量则执行语句x二y二3;t二++x||++y;后y的值为(C)

A)不定值

B)4

C)3

D)1

1&冇以下程序段

intk=0;

while(k=l)k++;

while循环执行的次数是(A)

A)无限次

B)有语法错不能执行

C)一次也不执行

D)执行1次

19•能正确表示逻辑关系“小二10或丛二0”的C语言表达式是(D)

A)a>=10ora=10

B)a>=0|a<=10

C)a>二10&&M二0

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

20.表示关系xWyWz的c语言表达式为(A)

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

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

C)(x<=y<=z)

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

21•设有inta=l,b=2,c=3,d=4,m=3,n=3;执彳亍(m=a>b)||(n=c>d)后n的值为(A)o

A)0

B)1

C)2

D)3

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

(D)

A)只能是整数0或1

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

0可以是结构体类型的数据

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

23.若x和y都是int型变量x二100y二200且冇下而的程序片段printf(〃%d〃,(x,y));

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

A)200

B)100

C)100200

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

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

main()

{intk二17

printf(,z%d%o%x\n〃kkk)

}

A)170210x11

B)171717

C)170x11021

D)172111

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

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(z,%dz,,i);

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

A)022111

B)021021

C)000122

D)012

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

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

B)if、switch>break

C)for、whi1e>do-whi1e

D)if>for>continue

28.若执行下面的程序时从键盘上输入5则输出是(B)

main()

{intx;

scanf(〃%d〃,&x);

if(x++>5)printf(〃%d\rT,x);

elseprintf(〃%d\n〃,x--);}

A)7

B)6

C)5

D)4

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

(C)

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

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

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

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

30.设有以下程序片段:

switch(X)

{

case'A':

printf("A");

case'B':

printf("B");

default:

printf("error");

}

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

A)A

B)B

C)error

D)ABcrror

31•读程序

main()

{intnum=0;

while(num<=2)

{num++;printf("%dnum);}

}

上面程序的输出结杲是(C)

A)1

B)22

0123

D)1234

32.下述语句执行后变量k的值是(B)ointk=l;

wh订e(k++<10);

A)10

B)11

C)9

D)此为无限循环值不定

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

intx=5;

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

while(!

x);

A)5

B)无任何输出

C)4

D)陷入死循环

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

的程序段是(D)

A)f=0;

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

B)f=l;

for(i=l;i

0f二1;

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

D)f二1;

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

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

main()

inta,b;

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

if(b>=10)break;

if(b%3==l)

{

b+二3;continue;

}

}

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

}

A)101

B)6

05

D)4

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

A)inta[]二〃string";

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

C)chara二"string〃;

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

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

A)inta□二{1,2};

B)char*a[3];

C)chars[10]二〃test";

D)intn二5,a[n];

3&以下正确的数组定义语句是(D)o

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

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

0longs[2][3]={{1},{1,2},{1,2,3}};

D)intm[l][4]二{4};

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

main()

{

inti,a[10];for(i=9;i>=0;i—)a[i]=10-i;

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

A)258

B)741

C)852

D)369

40.下面的程序中(C)有错误(每行程序前面的数字是行号)o

#ineludemain()

2

3

4

5

6

7

8

floats[5];inti,sz=0;

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

scanf("%d〃,s[i]);

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

sz+二s[i];

9printf(〃\n%f〃,(float)sz);

10}

A)没有错误

B)第4行错误

0第6行错误

D)第9行错误

41.若有定义语句int且[3][6];按在内存中的存放顺序a数组的第10个元素是(B)

A)a[0][4]

B)a[l][3]

C)a[0][3]

D)a[l][4]

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

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.以下程序的输出结果是(A)o

main()

{

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

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

A)0650

B)1470

C)5430

D)输出值不定

44.若二维数组a冇ni列则在a[i][j]前的元素个数为(B

A)j*m+i

B)i*m+j

C)i*m+j-1

D)i*m+j+1

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

(B)

main()

{charcf[3][5]二{〃AAAA〃,〃CC〃};

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

}

A)〃AAAA〃

B)〃BBB〃

C)〃BBBCC〃

D)〃CC〃

46.设有数组定义:

chararray[]二〃China";则数纽.array所占的空间为(C)

A)4个字节

B)5个字节

06个字节

D)7个字节

47•以下选项屮不能正确赋值的是(A)o

A)charsi[10];si二〃Ctest〃;

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

C)chars3[20]二〃Ctest";

D)char*s4二〃Ctcst\rT;

48•给出以下定义

charx[]二"abcdfeg";

charyLJ={a,b,c,d,e,f,g};

则正确的叙述为(C)o

A)数组x和数组y等价

B)数组x和数组yK度相同

0数组x的K度大于数组y的氏度

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

49.设有charstr[]二〃Beijing";则执行

printfstrlen(strcpy(str,"China")));

后的输出结果为(A)。

A)5

B)7

C)12

D)14

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

(B)

A)getc()

B)gets()

C)getchar()

D)scanf()

51.有语句

charstrl[10],str2[10]二{"books"};

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

A)strl二{"Books"};

B)strcpy(stri,str2);

C)strl=str2;

D)strcpy(str2,strl);

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

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

A)5

B)14

C)8

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

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

A)a,point,*&a

B)&*a,&a,*point

C)*&point,*point,

D)&a,&*point,point

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

A)float*p二1024;

B)int*p=(float)x;

C)floatp二&x;

D)float*p=&x;

55•设有语句inta=l,b=2,*pl=&a,*p2=&b;以下可使指针pl指向变量b的赋值语句是(C)o

A)pl=*p2

B)*pl=p2

C)pl=p2

D)*pl二*p2

56•有以下程序

main()

{

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

for(p二a;p〈a+10;p++)

printfC%d,〃,*p);

}

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

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

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

00,1,2,3,4,5,6,7,&9,

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

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

A)s+1

B)s++

C)&s[0]+l

D)&s[l]

5&在以下选项中操作不合法的一组是(B)。

A)

int

x[6],

*p;p二&x[0];

B)

int

x[6],

*p;*p=x;

0

int

x[6],

*P;P=X;

D)

int

x[6],

P;P=x[O];

59•有以下程序main()

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

P=s;

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

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

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

A)15

B)16

C)12

D)59

60.以下程序运行后,如果从键盘上输入:

book〈回车〉

book〈空格>〈回车〉则输出的结果是(B)#includemain()

{charal[80],a2[80],*sl=al,*s2=a2;gets(sl);

gets(s2);

if(!

strcmp(sl,s2))printf(〃*〃);

elseprintf(〃#〃);printf(〃%d\n〃,strlen(strcat(si,s2)));

}

A)*8

B)#9

C)#6

D)*9

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

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

〃;

B)chars[10];s二〃right!

";

C)chars[10];*s二〃right!

";

D)char*sp二〃right!

〃;

62•下面程序段的运行结果是(A)ochar*p="abcdcfgh";

p+=2;

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

A)6

B)12

C)4

D)7

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

charst讥]=〃ABC〃,*p=str;

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

A)67

B)0

0字符'C'的地址

D)字符'C'

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

main()

{char*s二〃abcde";

s+二2;printf(〃%d\n〃s);}

A)cde

B)字符c的ASCII码值

0字符c的地址

D)出错

65•下面程序的运行结杲是(B)o

#inelude

#inelude

main()

{char*sl二“AbDeG”;

char*s2二“AbdEg”;

sl+二2;s2+二2;

printf(“%d\n”,strcmp(sl,s2));

}

A)正数

B)负数

C)零

D)不确定的值

66•有以下程序

main()

{char*p[10]={〃abc〃,"aabdfg","dedbe","abbd","cd"};printf(z,%d\nz,,strlen(p[4]));

}

执行后输出结果是(A)

A)2

B)3

C)4

D)5

67•若有语句char*line[5]以下叙述中正确的是(A)

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

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

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

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

68.设有如下定义:

char*aa[2]={,zabcd,z,"ABCD"}贝U以下说法中正确的是

(B)o

A)aa数组成元素的值分别是〃3bcd〃和ABCD〃

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

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

D)aa数组的两个元素中各口存放了字符串,zabcdz/和〃ABCD〃的首地址

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

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

A)1

B)2

C)4

D)570•下列函数定义中会出现编译错误的是(B)

A)max(intx,inty,int*z){*z二x>y?

x:

y;}

B)intmax(intx,y)

{

intz;

z=x>y?

x:

y;

returnz;

}

C)max(intx,inty)

{

intz;

z=x>y?

x:

y;

return(z);

}

D)intmax(intx,inty)

{return(x>y?

x:

y);}

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

A)voidplay(vara:

integer,varb:

integer)

B)voidplay(inta,b)

C)voidplay(inta,intb)

D)Subplay(aasinteger,basinteger)

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

A)void

B)int

C)float

D)double

73.b*面的函数调用语句中func函数的实参个数是

(A)

func(f2(vl,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=l,m=l,k;

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

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

}

执行后的输出结杲是

(B)

A)5,5

B)5,11

C)11,11

D)11,5

75.以下函数值的类型是

(A)

fun(floatx)

{floaty;

y二3*x-4;

returny;

}

A)int

B)不确定

C)void

D)float

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

(C)

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

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

当前位置:首页 > 高等教育 > 军事

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

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