C语言复习资料6.docx

上传人:b****5 文档编号:5126874 上传时间:2022-12-13 格式:DOCX 页数:52 大小:56.18KB
下载 相关 举报
C语言复习资料6.docx_第1页
第1页 / 共52页
C语言复习资料6.docx_第2页
第2页 / 共52页
C语言复习资料6.docx_第3页
第3页 / 共52页
C语言复习资料6.docx_第4页
第4页 / 共52页
C语言复习资料6.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

C语言复习资料6.docx

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

C语言复习资料6.docx

C语言复习资料6

一、选择题

(1)概述

1.C程序由函数构成,函数则由函数的首体和()两部分组成。

A)复合语句B)结构体

C)联合体D)函数体

2.下列叙述正确的是()。

A)函数体的定界符只能用一对花括号“{}”

B)C源程序都是从main()函数开始执行,所以main()函数必须位于程序文件最前面

C)C源程序中每一行就是一条语句

D)注释部分只能单独占用一行,不能跟在一行语句的后面

3通常将程序设计语言划分为()。

A)自然语言、流程图和伪代码

B)机器语言、汇编语言和高级语言

C)汇编语言、高级语言和低级语言

D)高级语言、自然语言和伪代码

4.main()函数的位置()。

A)必须位于程序文件的最前面

B)必须位于C库函数的后面

C)必须位于用户自定义函数的前面

D)可位于用户自定义函数之前,也可位于用户自定义函数之后

5.下列叙述正确的是()。

A)分号是C语句之间的分隔符,并不表示一条语句的结束。

B)注释部分在C源程序可独占一行,也可跟在一行语句的后面

C)花括号“{}”只能用作复合语句的定界符

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

(2)基本计算

6下列不合法的字符常量是()

A)’b’B)’\n’C)’\t’D)”b”

7.下列合法的长整型常量是()。

A)Long32768

B)32768L

C)32768+Long

D)328Long

8.下列不合法的用户标示符是()。

A)proB)_countC)?

aD_6b

9.下列合法的常量是()。

A)’\n’B)’3a’C)E13D)’a’+3

10.下列不属于C语言数据类型的是()。

A)长复数类型B)整型

C)单精度型D)枚举类型

11.若已定义:

inta=2;则()是正确的赋值表达式。

A)a*3=4B)a+3=a

C)a-=(a*3)D)a=double(a/3)

12.若已定义:

inta=2;doublex=5.5;下列不正确的表达式是()。

A)(int)x%aB)(int)x/a

C)(int)(x%a)D)(int)(x/a)

13.若已定义:

inti=3,a;语句a=(i--)+(i--);执行后a的值是()。

A)4B)7C)5D)6

14.若已定义:

inta=5,b=7,x;语句x=(++a)+(++b);执行后x,a的值分别是()。

A)12,6B)14,6

C)12,5D)14,5

15.若已定义:

intx=2,y=4;则表达式(double)x/(y+1)的值是()。

A)0.5B)0C)0.4D)1

16.若已定义:

intx=2,y=3;下列表达式值为1的是()。

A)x&&(!

y)B)(!

x)&&y

C)x==(y!

=x)D)x||!

y

17.若已定义:

inta=7;floatx=2.5,y=5;则表达式x+(a/3*(int)(x+y))%4的值是()。

A)3.5B)5.5C)2.5D)4.5

18.逗号表达式a=12,b=8,a+b的值是()。

A)4B)8C)12D)20

19.若已定义:

inta=1,b=2,c=3;则表达式!

(a+b)+c-1的值是()。

A)5B)6C)2D)3

20.若已定义:

inta=5;floatx=5.3;则表达式a%3/2+x的值为()。

A)6B)5.3C)0D)6.3

21.若已定义:

inta=4,b=3,c=2;下列表达式为0的是()。

A)b+c

(c/a)

C)(b-a)&&(b-c)D)c%b&&b/a

22.若已定义:

inta=1,b=2,x=3,y=4;则表达式a>b?

a:

x

x:

y的值是()。

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

23.若已定义:

inta=2;语句a*=a-=a+=3;执行后,a的值是()。

A)0B)9C)3D)5

24.若已定义:

floatx,y,z;则表达式()与右侧所示代数式计算结果不相符。

A)1/3*(x+y)/(1+z)

B)(x+y)/(3*(1+z))

C)(x+y)/3/(1+z)

D)(x+y)/(1+z)/3

25.C语言要求运算对象必须是整型的算术运算符是()。

A)%B)+C)/D)-

26.若已定义:

intx;charc;则表达式c+10*x的结果类型是()。

A)doubleB)intC)charD)float

27.逻辑表达式()能正确判断变量a和b的值同时为正或同时为负。

A)(a+b>0)&&(a*b<0)

B)(a>0||b>0)&&(a<0||b<0)

C)(a>0&&b>0)||(a<0&&b<0)

D)(a>0&&b>0)&&(a<0&&b<0)

28.若已定义:

charca;判断变量ca值为大写字母的逻辑表达式是()。

A)‘A’<=ca<=’Z’

B)(ca>=’A’)&&(ca<=’Z’)

C)(‘A’>=ca)&&(‘Z’<=ca)D)(ca>=A)&&(ca<=Z)

29.若已定义:

charc;则()是正确的赋值表达式。

A)c=”e”+10.78B)c=”101”+10.78

C)c=101D)c=’101’

30.下列四个运算符,按优先级别由高到低排列的是()。

A)!

、*、+、=B)*、!

、+、=

C)!

、=、*、+D)!

、*、=、+

31.若已定义:

charca;要从键盘输入字符’B’给变量ca,应使用的语句是()。

A)putchar(ca)B)scanf(“%c”,ca);

C)getchar(ca);D)ca=getchar();

32.以下程序运行后,要使运行结果为:

36,正确的数据输入形式是()。

voidmain()

{inta,b;

scanf(“%d,%d”,&a,&b);

printf(“%d%d\n”,a,b);

}

A)36B)a=3,b=6

C)3,6D)6,3

33.要使下列程序的运行结果为123,123,12则()是正确的数据输入方式。

voidmain()

{inta,b,c;

scanf(“%d-%d-%d”,&a,&b,&c);

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

}

A)123,12312B)123,123,12

C)123-123-12D)12312312

34.若已定义:

intx=3,y=2;语句()可以实现输出结果为:

3*2=6.

A)printf(“x*y=%d”,x*y);

B)printf(“%d*%d=x*y”,x,y);

C)printf(“%d*%d=%d”,x,y,x*y);

D)printf(“x,y=x*y”);

35.若已定义:

intx,y;则()表达式无法正确表示数学关系式

A)(x-y)<-3&&(x-y)>3

B)abs(x-y)>3

C)(x-y)>3||(x-y)<-3

D)(x-y)*(x-y)>9

(3)选择、循环结构

36.若已定义intk,a,b,c;则语句()与k=a>b?

(b>c?

1:

0):

0语句的功能等价。

A)if(a<=b)

k=0;

elseif(b<=c)

k=1;

else

k=0;

B)if(a>b)

k=1;

elseif(b>c)

k=1;

C)if(a>b&&b>c)

k=1;

else

k=0;

D)if(a>b||b>c)

k=1;

37.下列()不能构成一条if语句。

A)if(x>0)a=1;elsea=2;

B)if(x>0);

C)if(x==0)a=1:

b=2;

D)if(x==0);elsea=2;

38.以下程序的运行结果是()。

voidmain()

{intk=1;

switch(++k)

{default:

printf(“%d”,k);

case1:

printf(“%d”,k);

break;

case2:

printf(“%d”,2*k);

case3:

printf(“%d”,3*k);

break;

}

}

A)4B)11C)1D)46

39.以下程序的运行结果是()。

intfun(intk)

{switch(k)

{case2:

k++;

case3:

case4:

k++;

default:

k++;

}

returnk;

}

voidmain()

{printf(“%d\n”,fun

(2));

}

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

40.下列程序的运行结果是()。

voidmain()

{inta=23;

switch(a%3)

{default:

printf(”DD”);

case1:

printf(“AA”);

break;

case2:

printf(“BB”);

case3:

printf(“CC”):

}

}

A)BBCCB)DDAA

C)CCD)AA

41.以下程序的运行结果的是()。

voidmain()

for(i=7;i>3;i--,i--)

printf(“A”);

}

A)AAAB)AC)AAAAD)AA

42.下列程序段运行后count的值为()。

inti=8,count=0;

while(i>=2)

{++count;

i-=2;

}

A)4B)10C)6D)8

43.设有下列程序段

inti=6;

while(i<=6)

i++;

下列叙述正确的是()。

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

B)循环体语句执行2次

C)循环体语句执行3次

D)循环体语句执行1次

44.continue语句在循环语句中的作用是()。

A)结束本次循环并跳出循环体

B)终止程序运行

C)继续执行continue语句后循环体各语句

D)终止本次循环并执行下一次循环

45.以下程序段运行后a的值为()。

inti=1,a=0;

while(i++<=6)

{a+=1;

if(i%2!

=0)

break;

a+=2;

}

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

(4)数组

46.若已定义:

inta[8];对数组a元素引用正确的是()。

A)a[5]B)a[-1]C)a(6)D)a[8]

47.下列程序段的运行结果是()。

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

while(i<=4)

{t=a[i];

a[i]=a[9-i];

a[9-i]=t;

i++;

}

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

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

A)9876543210B)2468013579

C)0123456789D)1357924680

48.以下程序的运行结果是()。

voidmain()

{inta[5]={1},i;

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

a[i+1]=a[i]+2*(i+1);

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

printf(“%d”,a[i]);

}

A)1261523

B)1371321

C)12345

D)13579

49.下列程序段的运行结果是()。

inta[5]={2,4,3,5,6},i,s=0;

for(i=1;i<4;i++)

s+=a[i-1];

printf(“%d\n”,s);

A)12B)14C)20D)9

50.对intx[5]={5,3,1};语句的功能描述正确的是()。

A)将3个初值依次赋给x[1]至x[3],且其他元素值均为0

B)将3个初值依次赋给x[0]至x[2],且其他元素值均为0

C)将3个初值依次赋给x[2]至x[4],且其他元素值均为0

D)将3个初值依次赋给x[3]至x[5],且其他元素值均为0

51.若已定义:

intarr[][3]={1,2,3,4,5,6};则数组a第一维长度是()。

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

52.能正确初始化二维数组arr的是()。

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

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

C)intarr[2][]={1,2,3,4,5};

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

53.C语言中,二维数组元素的存放顺序是()。

A)既可以按行优先,也可以按列优先

B)由用户自己定义

C)按行优先

D)按列优先

54.若已定义:

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

{6,7,8,9}},则a[2][2]的值为()。

A)9B)2C)4D)5

55.以下程序的运行结果是()。

voidmain()

{inta[3][3]={0},i,j;

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

a[i][0]=i+1;

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

{for(j=0;j<3;j++)

printf(“%d“,a[i][j]);

printf(“\n”);

}

}

A)100B)123

020000

003000

C)001D)100

020200

300300

56.下列正确描述字符数组的是()。

A)字符数组只能存放字符串,不能存放单个字符

B)字符串中可以含有‘\0’字符

C)C语言没有字符串类型变量,可用字符数组实现字符串操作

D)只能利用赋值语句实现字符数组的整体赋值

57.以下程序段的运行结果是()。

charstr1[]={‘Y’,’o’,’u’,’\0’,’a’,’r’,’e’,’\0’,

’w’,’e’,’l’};

charstr2[]={‘w’,’e’,’l’,’c’,’o’,’m’,’e’,’\0’,};

puts(strcat(str1,str2));

A)Youarewelwelcome

B)Youwelcome

C)Youarewelcome

D)Youwelcome

58.若已定义chars3[20],s1[10]=”Howare”,s2[10]=”you”;执行语句strcpy(s3,strcat(s1,s2));s3的值是()。

A)youHowareB)Howare

C)HowareyouD)s1s2

59.若已定义chats1[20],s2[20];能正确从键盘读入字符串的是()

A)getch(s1,s2);B)scanf(“%s%s”,s1,s2);

C)scanf(“%c%c”,s1[20],s2[20]);

D)gets(s1[20],s2[20]);

60.以下程序段的运行结果是()。

chars1[7]=”abcdef”,s2[4]=”12”;

strcpy(s1,s2);

printf(“%s%c”,s1,s1[5]);

A)abcdef12B)12f

C)12eD)12eff

(5)函数

61.若已定义:

doublex;函数()可用于求x的绝对值。

A)sqrt(x)B)abs(x)

C)fabs(x)D)log(x)

 

62.以下程序段中函数调用语句fun((a,b),m);的实参值是()。

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

fun((a,b),m);

A)3,3B)(1,2),3C)2,3D)1,3

63.下列叙述正确的是()。

A)函数的形参在被调用前是没有确定值的

B)函数的形参和对应的实参个数应相等,类型可以不兼容

C)形参是变量名时,实参也只能是变量名,不可以是表达式

D)函数至少要有一个返回值

64.函数调用中,若实参为数组名,则传递给对应形参的是()。

A)数组中每个元素的值

B)数组首元素的值

C)数组的首地址

D)数组的长度

65.下列程序的运行结果是()。

#include

intfun(intx,inty)

{intz;

z=x>y?

x:

y;

return(x+z);

}

main()

{inta=6,b=3;

printf(“%d\n”,fun(a,b));

}

A)12B)9C)7D)4

66.下列叙述错误的是()。

A)预处理命令”#defineN3”后不能加“;”

B)宏定义也是C语言的语句,可出现在源程序中任意位置

C)C源程序加入一些预处理命令是为了改进程序设计环境,提高编程效率

D)预处理命令都必须以#开头

67下列程序的运行结果是().

#defineK3

voidmain()

{inta=2,b=4;

printf(“%d\n”,a*(K+b));

}

A)11B)6C)14D)10

68.以下程序的运行结果是()。

#defineM3

#defineNM+5

voidmain()

{printf(“%d\n”,N*2);

}

A)11B)13C)16D)6

69.下列程序的运行结果是()

#defineM5

#defineNM+1

#defineNNN*M

voidmain()

{printf(“%d\n”,2*NN);

}

A)20B)60C)52D)15

70.下列程序中定义的一维数组a的长度是()。

#defineM3+1

voidmain()

{inta[2*M];

……

}

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

(6)指针

71.若已定义:

inta[5]={1,2,3,4,5};执行*p=a;后能表示a[1]地址的是()。

A)a++B)p[1]C)p++D)a[1]

72.若已定义:

inta[5]={1,2,3,4,5},*p=&a[2];则不能表示a[0]地址的是()。

A)aB)&a[0]C)p-2D)*p-2

73.若已定义:

inta[5]={1,2,3,4,5};int*p=&a[2];则下列值为3的是()。

A)*pB)p-a[0]C)a[3]D)p-a

74.若已定义:

inta[5]={1,2,3,4,5},*pa=a;下列叙述正确的是()。

A)pa[0]与a[0]的值相等

B)pa与a[0]的值相等

C)pa+2与a[2]的值相同

D)a++与pa++的作用相同

75.若已定义:

inta[6]={1,2,3,4,5,6},*p;下列赋值语句不合理的是()。

A)p=a;B)p=&a[0]+1

C)p=&a[0];D)p=a[0]

76.若已定义:

inta=2,*p=&a,b=5,*q=&b;下列运算无意义的是()。

A)q+pB)*q+*p

C)q-pD)*q-*p

77.若已定义:

inta=2,*p1=&a;floatb=5,*p2=&b;下列正确的赋值语句是()。

A)p1=*(a+1);B)p2=b;

C)*p2=*a;D)b=*p1+*p2;

78.以下程序的运行结果是()。

voidmain()

{inta=3,b=4,c;

int*p1,*p2;

p1=&a;

p2=&b;

p2=p1;

c=*p1+2*(*p2);

printf(“%d\n”,c);

}

A)7B)11C)15D)9

79.下列程序的运行结果是()。

voidmain()

{inta=1,b=2;

int*pa=&a,*pb=&b;

*pa=*pb;

*pb=*pa;

printf(“%d,%d\n”,a,b);

}

A)2,2B)1,1

C)2,1D)1,2

80.下列程序的运行结果是()。

voidfn(int*p,intn)

{intj;

for(j=0;j

*(p+j)+=1;

}

voidmain()

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

inti;

fn(a,3);

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

printf(“%d”,*(a+i));

}

A)334B)345

C)123D)234

81.以下程序的运行结果是()。

voidfn(intx,inty,int*p)

{*p=x+y;

}

voidmain()

{inta,b;

fn(1,2,&a);

fn(3,a,&b);

printf(“a=%d,b=%d\n”,a,b);

}

A)a=3,b=6;B)a=1,b=3

C)a=6,b=6D)a=3,b=3;

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

inta[2][2]={1,2,3,4},(*p)[2];

p=a;

printf(“%d\n”,(*p)[2]);

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

83.以下程序的运行结果是()。

voidmain()

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

inti,*p;

p=a;

for(p=a;p

printf(“%d”,*p);

printf(“\n”);

}

A)12345

B)123

C)123456

D)14253

(7)结构体、共用体、其它

84.若已定义:

structstudent

{intnum;

char*name;

floatscore;

}stu,*p=&stu;

不合法引用结构变量stu中成员的是()。

A)stu.nameB)stu.num

C)p->num

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

当前位置:首页 > 高等教育 > 艺术

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

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