C语言程序设计复习题.docx

上传人:b****6 文档编号:8409288 上传时间:2023-01-31 格式:DOCX 页数:18 大小:26.57KB
下载 相关 举报
C语言程序设计复习题.docx_第1页
第1页 / 共18页
C语言程序设计复习题.docx_第2页
第2页 / 共18页
C语言程序设计复习题.docx_第3页
第3页 / 共18页
C语言程序设计复习题.docx_第4页
第4页 / 共18页
C语言程序设计复习题.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言程序设计复习题.docx

《C语言程序设计复习题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习题.docx(18页珍藏版)》请在冰豆网上搜索。

C语言程序设计复习题.docx

C语言程序设计复习题

一、选择题

1.正确的C语言标识符是_____。

A.¬_buy_2B.2_buyC.?

_buyD.buy?

2.以下是C语言提供的合法关键字的是_____。

A.FloatB.signedC.integerD.Char

3.以下不能定义为用户标示符的是_____。

A.scanfB.VoidC._3com_D.int

4.一个C程序是由_____。

A.一个主程序和若干子程序组成

B.一个或多个函数组成

C.若干过程组成

D.若干子程序组成

5.以下说法中正确的是_____。

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

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

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

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

6.以下选项中,合法的实型常数是_____。

A.5E2.0B.E-3C.2E0D.1.3E

7.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量’\101’是_____。

A.字符AB.字符aC.字符cD.非法的常量

8.以下选项中,合法转义字符的选项是_____。

A.’\\’B.’\018’C.’xab’D.’\abc’

9.若有代数式,则不正确的C语言表达式是_____。

A.a/c/d*b*3B.3*a*b/c/d

C.3*a*b/c*dD.a*b/d/c*3

10.已知字母A的ASCII码为十进制数65,且S为字符型,则执行语句S=’A’+’6’-’3’;后,S中的值为_____。

A.’D’B.68C.不确定的值D.’C’

11.在C语言中,要求运算数必须是整型的运算符是_____。

A./B.++C.*=D.%

12.在C语言中,char型数据在存中的存储形式是_____。

A.补码B.反码C.原码D.ASCII码

13.设以下变量均为int类型,则值不等于7的表达式是_____。

A.(m=n=6,m+n,m+1)

B.(m=n=6,m+n,n+1)

C.(m=6,m+1,n=6,m+n)

D.(m=6,m+1,n=m,n+1)

14.以下程序的执行结果是:

_____。

#include

main()

{intx=2,y=3;

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

}

A.x=%2,y=%3B.x=%%d,y=%%d

C.x=2,y=3D.x=%d,y=%d

15.阅读以下程序,当输入数据的形式为:

12,34,正确的输出结果为_____。

#include”stdio.h”

main()

{inta,b;

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

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

}

A.a+b=46B.有语法错误

C.a+b=12D.不确定值

16.为了避免嵌套的if-else语句的二义性,C语言规定else总是与_____组成配对关系。

A.缩排位置相同的if

B.在其之前未配对的if

C.在其之前未配对的最近的if

D.同一行上的if

17.已知inta=1,b=2,c=3;以下语句执行后a,b,c的值是_____。

if(a>b)

c=a;a=b;b=c;

A.a=1,b=2,c=3B.a=2,b=3,c=3

C.a=2,b=3,c=1D.a=2,b=3,c=2

18.以下程序的运行结果是_____。

#include

main()

{inta=1;

if(a++>1)printf(”%d\n”,a);

elseprintf(”%d\n”,a--);

}

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

19.若a、b、c、d、w均为int类型变量,则执行下面语句后的w值是_____。

a=1;b=2;c=3;d=4;

w=(a

a:

b;

w=(w

w:

c;

w=(w

w:

d;

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

20.执行下列程序,输入为3的数出结果是_____。

#include”stdio.h”

main()

{

intk;

scanf(”%d”,&k);

switch(k)

{case1:

printf(”%d\n”,k++);

case2:

printf(”%d\n”,k++);

case3:

printf(”%d\n”,k++);

case4:

printf(”%d\n”,k++);

break;

default:

printf(”Full!

\n”);

}

}

A.3B.4C.3D.4

21.以下不是C语言的特点的是_____。

A.语言简洁紧凑

B.能够编制出功能复杂的程序

C.C语言可以直接对硬件操作

D.C语言移植性好

22.下列字符序列中,不可用作C语言标识符的是_____。

A.abc123B.no.1C._123_D._ok

23.请选出可用作C语言用户标识符的一组标识符_____。

A.voidB.a3_b3C.ForD.2a

define_123-abcDO

WORDIFCasesizeof

24.下列符号中,不属于转义字符的是_____。

A.\\B.\0xAAC.\tD.\0

25.不属于C语言关键字的是_____。

A.intB.breakC.whileD.character

26.C语言程序的基本单位是_____。

A.程序行B.语句C.函数D.字符

27.下列说法中,错误的是_____。

A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号

B.每个函数都有一个函数头和一个函数体,主函数也不例外

C.主函数只能调用用户函数或系统函数,用户函数可以相互调用

D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数

28.以下选项中,正确的字符常量是_____。

A.”F”B.’\\’’C.’W’D.’’

29.下列变量定义中合法的是_____。

A.short_a=1-.le-1;B.doubleb=1+5e2.5;

C.longdo=0xfdaL;D.float2_and=1-e-3;

30.与数学式子

对应的C语言表达式是_____。

A.9*x^n/(2*x-1)B.9*x**n/(2*x-1)

C.9*pow(x,n)*(1/(2*x-1))D.9*pow(n,x)/(2*x-1)

31.以下符合C语言语法的赋值表达式是_____。

A.a=9+b+c=d+9B.a=(9+b,c=d+9)

C.a=9+b,b++,c+9D.a=9+b++=c+9

32.若有说明语句:

chars=’\72’;则变量s_____。

A.包含一个字符

B.包含两个字符

C.包含三个字符

D.说明不合法,s的值不确定

33.若有定义:

intm=7;floatx=2.5,y=4.7;则表达式x+m%3*(int)(x+y)%2/4的值是_____。

A.2.500000B.2.750000C.3.500000D.0.000000

34.有如下程序段,从键盘输入数据的正确形式应是_____。

(注:

└┘代表空格)

floatx,y,z;

scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);

A.123B.x=1,y=2,z=3

C.1,2,3D.x=1└┘y=2└┘z=3

35.以下关于运算符优先顺序的描述中正确的是_____。

A.关系运算符<算术运算符<赋值运算符<逻辑与运算符

B.逻辑与运算符<关系运算符<算术运算符<赋值运算符

C.赋值运算符<逻辑与运算符<关系运算符<算术运算符

D.算术运算符<关系运算符<赋值运算符<逻辑与运算符

36.选择出合法的if语句(设intx,a,b,c;)_____。

A.if(a=b)c++;

B.if(a=

C.if(a<>b)c++;

D.if(a=>b)c++;

37.当a=1,b=2,c=4,d=3时,执行完下面一段程序后x的值是_____。

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=4;

elsex=5;

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

38.执行以下程序段后,变量x,y,z的值分别为_____。

inta=1,b=0,x,y,z;

x=(--a==b++)?

--a:

++b;

y=a++;

z=b;

A.x=0,y=0,z=0B.x=-1,y=-1,z=1

C.x=0,y=1,z=0D.x=-1,y=2,z=1

39.执行以下语句后,y的值为_____。

intx,y,z;

x=y=z=0;

++x||++y&&++z;

A.0B.1C.2D.不确定值20

40.以下程序的输出结果是_____。

#include

main()

{

inta=5,b=4,c=6,d;

printf(”%d\n”,d=a>b?

a>c?

a:

c:

b);

}

A.5B.4C.6D.不确定

41.C编译程序是_____。

A.C程序的机器语言版本

B.一组机器语言指令

C.将C源程序编译成目标程序

D.由制造厂家提供的一套应用软件

42.以下选项中,合法的用户标识符是_____。

A.longB._2abcC.3dmaxD.A.dat

43.以下选项中可作为C语言合法整数的是_____。

A.10110BB.0386C.0XffaD.x2a2

44.表达式13/3*sqrt(16.0)/8的数据类型是_____。

A.intB.floatC.doubleD.不确定

45.假设所有变量均为整型,则表达式(x=2,y=5,y++,x+y)的值是_____。

A.7B.8C.6D.2

46.已知s是字符型变量,下面不正确的赋值语句是_____。

A.s=’\012’;B.s=’u+v’;

C.s=’1’+’2’;D.s=1+2;

47.putchar函数可以向终端输出一个_____。

A.整型变量表达式值。

B.字符串

C.实型变量值。

D.字符或字符型变量值。

48.有如下程序段:

intx1,x2;

chary1,y2;

scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);

若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是_____。

(注:

└┘代表空格)

A.10A└┘20BB.10└┘A20B

C.10└┘A└┘20└┘BD.10A20└┘B

49.已有定义inta=-2;和输出语句:

printf(”%8lx”,a);以下正确的叙述是_____。

A.整型变量的输出格式符只有%d一种

B.%x是格式符的一种,它可以适用于任何一种类型的数据

C.%x是格式符

D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度

50.能正确表示“当x的取值在[-58,-40]和[40,58]围为真,否则为假”的表达式是_____。

A.(x>=-58)&&(x<=-40)&&(x>=40)&&(x<=58)

B.(x>=-58)||(x<=-40)||(x>=40)||(x<=58)

C.(x>=-58)&&(x<=-40)||(x>=40)&&(x<=58)

D.(x>=-58)||(x<=-40)&&(x>=40)||(x<=58)

51.已知x=45,y=’a’,z=0;则表达式(x>=z&&y<’z’||!

y)的值是_____。

A.0B.语法错

C.1D.“假”

52.指出下列程序段所表示的逻辑关系是_____。

if(a

{if(c==d)

x=10;

}

else

x=-10;

A.

B.

C.

D.

53.以下程序的运行结果是_____。

#include

main()

{

inta=2,b=-1,c=2;

if(a

if(b<0)

c=0;

elsec++;

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

}

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

54.有以下程序,程序运行后的输出结果是_____。

#include

main()

{

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

switch(a%3)

{case0:

m++;break;

case1:

m++;

switch(b%2)

{default:

m++;

case0:

m++;break;

}

}

printf(”%d\n”,m);

}

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

55.以下程序的输出结果是_____。

main()

{intn=4;

while(n--)

printf(〞%d〞,--n);

}

A.20B.31C.321D.210

56.执行以下程序后输出的结果是_____。

main()

{inty=10;

do{y--;}

while(--y);

printf("%d\n",y--);

}

A.-1    B.1    C.8    D.0

57.若输入B,以下程序的运行结果为_____。

main()

{chargrade;scanf("%c",&grade);

switch(grade)

{case'A':

printf(">=85.");

case'B':

case'C':

printf(">=60.");

case'D':

printf("<60.");

default:

printf("error.");

}

}

A.>=85.B.>=60.C.>=60.<60.error.D.error.

58.在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应该为_____。

A.0B.1C.trueD.非0

59.C语言的if语句嵌套时,if与else的配对关系是_____。

A.每个else总是与它上面的最近的if配对

B.每个else总是与最外的if配对

C.每个else与if的配对是任意的

D.每个else总是与它上面的if配对

60.下列程序段的输出结果为_____。

main()

{intx=3;

do

{printf("%3d",x-=2);}

while(!

(--x));

}

A.1B.30C.1-2D.死循环

61、以下选项中属于C语言的数据类型是()

A.复数型B.逻辑型C.集合型D.双精度型

62、一个C程序的执行是从()

A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束

C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束

63、设有语句inta=3;则执行语句a+=a-=a*a;后,变量a的值是()

A.3B.0    C.-12     D.9

64、若有charc[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是()。

A.cd\0eB.'c''d'C.cdD.cde

65、已知:

inta[2][3]={1,2,3,4,5,6},(*p)[3]=a;则下列表达式不是4的是()。

A.*(*p+3)B.*p+3C.*(*(p+0)+3)D.a[0][3]

66、以下有宏替换不正确的叙述().

A.宏替换不占用运行时间B.宏名无类型

C.宏替换只是字符串替换D.宏名必须用大写字母表示

67、执行charstr[10]=”Ch\nina”;strlen(str)的值是()

A.5B.6C.7D.9

68、下面程序的输出结果是:

()

#definePOWER(x)(x*x)

main()

{inti=4;printf("%d",POWER(i-2));}

A.-9B.-7C.5D.-6

69、在定义inta[3][4][2];后,第10个元素是()

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

70、下列程序的输出结果是()。

main()

{inta=7,b=5;

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

}

A5B1C0D不确定值

71、.假设变量a,b均为整型,表达式(a=5,b=2,a>b?

a++:

b++,a+b)的值是()。

A7B8C9D2

72、设有如下程序段,下面描述中正确的是()。

intk=10;while(k=0)k=k-1;

A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次

73、以下程序的输出结果为()。

inti;

voidprt()

{for(i=5;i<8;i++)printf("%c",'*');

printf("\t");

}

main()

{for(i=5;i<=8;i++)prt();

}

A***B************C******D***

74、在C语言程序中,以下说确的是( )。

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

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

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

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

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

func((e1,e2),(e3,e4,e5));

A2B3C5D语法错误

二、填空题

1.C语言源程序的基本单位是________。

2.若a为整型变量,a=12,则表达式:

a+=4的值________。

3.通常一个字节包含________个二进制位。

4.一个C程序有且仅有一个________函数。

5.在C语言中,字符输入函数和字符输出函数分别是:

________和________。

6.在C语言中,最基本的数据类型只有四种,它们分别是:

int、________、________和double。

7.已知字符A的ACSII码值为65,以下语句的输出结果是________。

  charch=’B’;

  printf("%c%d\n",ch,ch);

8.’a’在存中占________个字节,”a”在存中占________个字节。

9.若有inta[3][2]={{1},{3,2},{4,5}};,则a[1][1]的值是________。

10.在循环语句中,break语句的作用是________,continue语句的作用是________。

11.一个C语言程序的语句至少应包含一个__________。

12.C语言源程序文件的扩展名是_______,经过编译、连接后,生成文件的扩展名是_______。

13.结构化程序由顺序结构、________和_________三种基本结构组成。

14.C语言的执行是从________开始执行的。

15.表达式10/3的结果是_________。

16.在C语言中,有三种逻辑运算符,它们分别是:

&&、________、_________。

17.if语句中的表达式可以是关系表达式、________、________。

18.C语言中基本的数据类型有:

整型、________、________。

19.整数-35在机的补码表示为_____________。

20.有如下语句:

char A[]={”Iamastudent”};该字符串的长度是________,A[3]=________。

21.C语言源程序的基本单位是______________。

22.表达式9%5的结果是______________。

23.C语言中普通整型变量的类型说明符为__________,在存中占__________字节。

24.符号”a”和’a’的区别是_______________。

25.C语言提供的预处理命令主要包括如下三种:

宏定义、____________、____________。

26.语句printf(“%%d%d”,123);将输出:

______________。

27.C语言中,int型数据在存中的存储形式是_______________。

28.在C语言中,格式输入库函数为_______________,格式输出库函数为_______________。

29.判断一个字符是否是字母或数字的逻辑判断语句是:

_______________。

30.有以下程序,执行后输出结果是_______________。

main()

{

intt=1,i=5;

   for(;i>=0;i--) t*=i;

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

}

31、字符串"A"在存中占用的字节数为_____________。

32、C语言中的标识符只能由字母、下划线和_____________组成。

33、若有定义语句“inta=25,b=14,c=19;",以下语句的执行结果是_____________

if(a++<=25&&b--<=2&&c++)printf("***a=%d,b=%d,c=%d\n",a,b,c);

elseprintf("###a=%d,b=%d,c=%d\n",a,b,c);

34、有如下定义a[]="B\172\\\'a%%";则执行语句printf("%d",strlen(a));的结果为_____________。

35、若有定义:

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

for(i=0;i<4;i++)p[i]=&a[i*3];则*(*(p+1)+2)的值为,*p[2]的值为

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

当前位置:首页 > 表格模板 > 合同协议

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

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