c语言复习题期末考试用得着.docx

上传人:b****6 文档编号:14136877 上传时间:2023-06-20 格式:DOCX 页数:66 大小:45.90KB
下载 相关 举报
c语言复习题期末考试用得着.docx_第1页
第1页 / 共66页
c语言复习题期末考试用得着.docx_第2页
第2页 / 共66页
c语言复习题期末考试用得着.docx_第3页
第3页 / 共66页
c语言复习题期末考试用得着.docx_第4页
第4页 / 共66页
c语言复习题期末考试用得着.docx_第5页
第5页 / 共66页
c语言复习题期末考试用得着.docx_第6页
第6页 / 共66页
c语言复习题期末考试用得着.docx_第7页
第7页 / 共66页
c语言复习题期末考试用得着.docx_第8页
第8页 / 共66页
c语言复习题期末考试用得着.docx_第9页
第9页 / 共66页
c语言复习题期末考试用得着.docx_第10页
第10页 / 共66页
c语言复习题期末考试用得着.docx_第11页
第11页 / 共66页
c语言复习题期末考试用得着.docx_第12页
第12页 / 共66页
c语言复习题期末考试用得着.docx_第13页
第13页 / 共66页
c语言复习题期末考试用得着.docx_第14页
第14页 / 共66页
c语言复习题期末考试用得着.docx_第15页
第15页 / 共66页
c语言复习题期末考试用得着.docx_第16页
第16页 / 共66页
c语言复习题期末考试用得着.docx_第17页
第17页 / 共66页
c语言复习题期末考试用得着.docx_第18页
第18页 / 共66页
c语言复习题期末考试用得着.docx_第19页
第19页 / 共66页
c语言复习题期末考试用得着.docx_第20页
第20页 / 共66页
亲,该文档总共66页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c语言复习题期末考试用得着.docx

《c语言复习题期末考试用得着.docx》由会员分享,可在线阅读,更多相关《c语言复习题期末考试用得着.docx(66页珍藏版)》请在冰点文库上搜索。

c语言复习题期末考试用得着.docx

c语言复习题期末考试用得着

第1章

1.1单选题

1.一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是(B)。

A.有零个或多个输入B.有零个或多个输出

C.有穷性D.可行性

2.以下叙述中正确的是(B)。

A.C语言的源程序不必通过编译就可以直接运行

B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C.C语言源程序经编译形成的二进制代码可以直接运行

D.C语言中的函数不可以单独进行编译

3.用C语言编写的代码程序(B)。

A.可立即执行B.是一个源程序

C.经过编译即可执行D.经过编译解释才能执行

4.结构化程序由三种基本结构组成,三种基本结构组成的算法(A)。

A.可以完成任何复杂的任务

B.只能完成部分复杂的任务

C.只能完成符合结构化的任务

D.只能完成一些简单的任务

5.以下叙述中正确的是(C)。

A.用C程序实现的算法必须要有输入和输出操作

B.用C程序实现的算法可以没有输出但必须要有输入

C.用C程序实现的算法可以没有输入但必须要有输出

D.用C程序实现的算法可以既没有输入也没有输出

第2章

13.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式

的表达式是(D)。

A.1/a*b*cB.1/(a*b*c)

C.1/a/b/(float)cD.1.0/a/b/c

14.以下能正确定义且赋初值的语句是(B)

A.intn1=n2=10;B.charc=32;

C.floatf=f+1.1;D.doublex=12.3E2.5;

15.以下不能定义为用户标识符的是(D)

A.scanfB.VoidC._3com_D.int

16.设x、y、z和k都是int型变量,则执行表达式:

x=(y=4,z=16,k=32+z)后,x的值为(C)

A.4B.16C.48D.32

17.设有intx=11,则表达式(x++*1/3)的值是(A)。

A.3B.4C.11D.12

18.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子

的C语言表达式是(A)。

A.x/y*zB.x*(1/(y*z))

C.x/y*1/zD.x/y/z

19.有以下程序

main()

{chara1='M',a2='m';

printf("%c\n",(a1,a2));}

以下叙述中正确的是(B)

A.程序输出大写字母MB.程序输出小写字母m

C.格式说明符不足,编译出错

D.程序运行时产生出错信息

20.以下程序运行后的输出结果是(C).

main()

{charp[]={'a','b','c'},q[]="abc";

printf("%d%d\n",sizeof(p),sizeof(q));

};

A.44B.33C.34D.43

21.以下叙述中错误的是(A)

A.用户所定义的标识符允许使用关键字

B.用户所定义的标识符应尽量做到“见名知意”

C.用户所定义的标识符必须以字母或下划线开头

D.用户定义的标识符中,大、小写字母代表不同标识

22.在C语言中,下列属于构造类型的是(D)

A.整型B字符型C实型D.数组类型

23.下列字符串属于标识符的是(A)

A.INTB.5_studentC.2ongD.!

DF

24.C语言中能用来表示整常数的进制是(A)

A.十进制、八进制、十六进制

B.十二进制、十进制

C.六进制、八进制D.二进制、十进制

25.在C语言中,回车换行符是(A)

A.\nB.\tC.\vD.\b

26.在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码(A)。

A)大32B)大64C)小32D)小64

27.设d为字符变量,下列表达式不正确的是(C)。

A)d=97B)d=’a’C)d=”a”D)d=’g’

28.设d为字符变量,下列表达式正确的是(B)。

A)d=678B)d=’a’C)d=”d”D)d=’gjkl’

29.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为A。

main()

{charx,y;

x=’0’;y=’9’;

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

}

A)因输出格式不合法,输出错误信息

B)B)48,57C)0,9D)48,58

30.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为。

main()

{charc=’A’;inti=10;

c=c+10;

i=c%i;

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

}

A)75,7B)75,5

C)K,5D)因存在非图形字符,无法直接显示出来

31.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为B。

main()

{charc1=’B’,c2=’Y’;

printf(“%d,%d\n”,++c1,--c2);

}

A)输出格式不合法,输出错误信息B)67,88

C)66,89D)C,X

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

A)%B)\C)%和\D)**

33..下列常数中,合法的C常量是(D)。

A)-0.B)’105’C)’AB’)”35”

34.下列常数中,合法的C常量是(D)。

A)”x-y”B)’105’C)’Be’D)7ff

35.下列常数中,合法的C常量是(A)。

A)’\n’B)e-310C)’DEF’D)’1234’

36.下列常数中,不合法的C常量是(B)。

A)-0x2aB)lg3C)’[’D]”CHINA”

37.下列常数中,不合法的C常量是(B)。

A)-0x3bB)123e+2.3C)’}’D)6e+7

38.下列符号中,可以作为变量名的是(C)。

A)+aB)12345eC)a3BD)5e+0

39.下列符号中,可以作为变量名的是(C)。

A)+cB)*XC)_DAYD)nextday

40.若已定义X和Y为double类型,则表达式:

x=1,y=x+3/2的值为(C)。

A)1B)2C)2.0D)2.5

41.下列程序的执行结果是(B)。

#include

#definesum10+20

main()

{intb=0,c=0;

b=5;

c=sum*b;

printf("%d",c);

}

A)100B)110C)70D)150

42..下列程序的执行结果是(D)。

#include

#definesum(10+20)

mian()

{inta=0,b=0,c=0;

a=sum;

b=5;

c=sum*b;

printf("%d",c);

}

A)100B)110C)70D)150

43.表达式(int)2.1416的值为(A)。

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

44.表达式(double)(20/3)的值为(B)。

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

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

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

46.C语言规定标识符由(A)等字符组成.

A)字母 数字 下划线 B)中划线 字母 数字

C)字母 数字 逗号  D)字母下划线中划线

47.已知ch是字符型变量,下面不正确的赋值语句是(B)。

A)ch=‘\0’B)ch=‘a+b’C)ch=‘7’+‘9’D)ch=7+9

48.若x和y都为float型变量,且x=3.6,y=5.8执行下列语句后输出结果为:

(B)。

printf(“%f”,(x,y));

A)3.600000B)5.800000C)3.600000,5.800000

D)输出符号不够,输出不正确值

49.设整型变量a值为9,则下列表达式中使b的值不为4的表达式:

B。

A)b=a/2B)b=a%2

C)b=8-(3,a-5)D)b=a>5?

4:

2

2.2填空题

9.写出下列程序段的执行结果

inta,b,c;

a=b=c=5;

a=++b+(c--);

变量a,b,c的值为1164

10.若有如下程序段:

inta=10,b=9,c=8;

c=(a-=(b-5));

c=(a%11)+(b=5);

顺序执行上述语句后,变量b的值为5

11.设有以下变量定义,并已赋确定的值

charw;intx;floaty;doublez;

则表达式:

w*x+z-y所求得的数据类型为double。

12.C语言基本数据类型包括整型、字符型、实型、枚举类型。

13.C语言在定义变量的同时说明变量的,系统在编译时就能根据变量定义及其为它分配相应数量的存储空间。

14.在C语言中,标识符只能由、和三种字符组成,且第一个字符必须或。

15.实型变量分为和,即float和double型。

16.C语言中规定,在变量定义的同时也可以给变量赋初值,叫做。

17.C的字符串常量是用括起来的字符序列。

18.在C语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”即,以便系统据此数据判断字符串是否结束。

19.下面的程序

mian(

{floatx;inti;

x=3.6;i=(int)x;

printf("x=%f,i=%d",x,i);

}

运行结果为。

第3章

3.1单选题

13.设x为int型变量,则执行以下语句后,x的值为(B)。

x=10;x+=x-=x-x;

A.10B.20C.40D.30

14.下列可作为C语言赋值语句的是(C)。

A.x=3,y=5B.a=b=6

C.i--;D.y=int(x);

15.设x,y,z,t均为int型变量,则执行以下语句后,t的值为(C)。

x=y=z=1;

t=++x||++y&&++z;

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

16.若以下选项中的变量已正确定义,则正确的赋值语句是(C)。

A.x1=26.8%3B.1+2=x2

C.x3=0x12;D.x4=1+2=3;

17.设有以下定义

inta=0;

doubleb=1.25;

charc='A';

#defined2

则下面语句中错误的是(D)。

A.a++;B.b++;C.c++;D.d++;

18.有以下程序

main()

{intx=102,y=012;

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

执行后输出的结果是(C)。

A.10,01B.02,12C.102,10D.02,10

19.有以下程序

  main()

  {intm=3,n=4,x;

  x=-m++;

  x=x+8/++n;

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

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

A.3B.5C.-1D.-2

20.有以下程序

  main()

  {chara='a',b;

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

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

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

A.b,bB.b,cC.a,bD.a,c

21.有以下程序

  main()

{intm=0256,n=256;

 printf("%o%o\n",m,n); }

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

  A.02560400B.0256256

C.256400D.400400

22.有以下程序

  main()

 {chara,b,c,d;

  scanf("%c,%c,%d,%d",&a,&b,&c,&d);

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

若运行时从键盘上输入:

6,5,65,66。

则输出结果是(A)。

A.6,5,A,BB.6,5,65,66

C.6,5,6,5D.6,5,6,6

23.数字字符0的ASCII值为48,若有以下程序

main()

{chara='1',b='2';

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

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

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

A.3,2B.50,2C.2,2D.2,50

24.有以下程序

main()

{intm=12,n=34;

printf("%d%d",m++,++n);

printf("%d%d\n",n++,++m);

}

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

A.12353514B.12353513

C.12343514D.12343513

25.有以下程序

main()

{intm,n,p;

scanf("m=%dn=%dp=%d",&m,&n,&p);

……

}

若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是(A)。

A.m=123n=456p=789B.m=123n=456p=789

C.m=123,n=456,p=789D.123456789

26.有以下程序

main()

{inta,b,d=25;

a=d/10%9;

b=a-1;

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

}

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

A.6,1B.2,1C.6,0D.2,0

27.以下叙述中错误的是(C)。

A.C语句必须以分号结束

B.复合语句在语法上被看作一条语句

C.空语句出现在任何位置都不会影响程序运行

D.赋值表达式末尾加分号就构成赋值语句

28.以下叙述中正确的是(B)。

A.调用printf函数时,必须要有输出项

B.使用putchar函数时,必须在之前包含头文件stdio.h

C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出

D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

29.有以下程序

 #include“stdio.h” 

 main()

 { char c1=’1’,c2=’2’;

c1=getchar(); c2=getchar(); 

putchar(c1); putchar(c2); }

当运行时输入:

a<回车> 后,以下叙述正确的是(A)。

A.变量c1被赋予字符a,c2被赋予回车符

B.程序将等待用户输入第2个字符

C.变量c1被赋予字符a,c2中仍是原有字符2 

D.变量c1被赋予字符a,c2中将无确定值

3.2填空题

11.已知字符A的ASCII码值为65,以下语句的输出结果是3。

charch='B';

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

12.有以下语句段:

intn1=10,n2=20;

printf("",n1,n2);

要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。

n1=10

n2=20

13.有以下程序:

#include“stdio.h”

main()

{charch1,ch2;intn1,n2;

ch1=getchar();ch2=getchar();

n1=ch1-'0';n2=n1*10+(ch2-'0');

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

}

程序运行时输入:

12<回车>,执行后的输出结果是。

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

  inti=9;

  printf("%o\n",i);

15.以下程序运行后的输出结果是_______。

  main()

  {inta,b,c;

  a=25;

  b=025;

  c=0x25;

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

16.以下程序运行时,若从键盘输入:

102030<回车>,输出的结果是_______。

#include“stdio.h”

main()

{inti=0,j=0,k=0;

scanf("%d%*d%d",&i,&k);

printf("%d%d%d\n",i,j,k);}

17.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:

B33<回车>,则输出结果是_______。

#include“stdio.h”

main()

{chara,b;

a=getchar();scanf("%d",&b);

a=a-'A'+'0';b=b*2;

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

}

18.以下程序运行后的输出结果是_______ 。

 main()

 { int x=0210; printf("%x\n",x);

 }

19.以下程序运行后的输出结果是_______ 。

 main()

 {char c; int n=100;

 float f=10; double x;

 x=f*=n/=(c=50);

 printf("%d %f\n",n,x); }

20.已知字母A的ASCII码为65。

以下程序运行后的输出结果是 _______ 。

 main()

 {char a, b;

 a=’A’+’5’-’3’; b=a+’6’-’2’ ;

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

 }

习题4

13.若变量c为char类型,能正确判断出c为小写字母的表达式是(D)

  A.'a'<=c<='z'    B.(c>='a')||(c<='z')

C.('a'<=c)and('z'>=c) D.(c>='a')&&(c<='z')

14.设有定义:

inta=2,b=3,c=4;,则以下选项中值为0的表达式是(A)

A.(!

a==1)&&(!

b==0)B.(a

c||1C.a&&bD.a||(b+b)&&(c-a)

15.能正确表示逻辑关系“a≥=10或a≤0”的C语言表达式是(D)。

A.a>=10ora<=0B.a>=0|a<=10

C.a>=10&&a<=0D.a>=10‖a<=0

16.下列运算符中优先级最高的是B。

A)>B)+C)&&D)!

=

17.以下关于运算符优先级的描述中,正确的是A。

A)!

(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算

B)&&(逻辑与)>算术运算>关系运算>赋值运算

C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算

D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)

18.逻辑运算符的运算对象的数据类型D。

A)只能是0或1B)只能是.T.或.F.

C)只能是整型或字符型D)任何类型的数据

19.以下程序的运行结果是B。

main()

{intc,x,y;

x=1;

y=1;

c=0;

c=x++||y++;

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

A)110B)211C)011D)001

20.以下程序的运行结果是A。

main()

{

intc,x,y;

x=0;

y=0;

c=0;

c=x++&&y++;

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

}

A)100B)211C)011D)001

21.判断字符型变量ch为大写字母的表达式是C。

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

C)(ch>=’A’)&&(ch<=’Z’)

D)(ch>=’A’)AND(ch<=’Z’)

22.判断字符型变量ch为小写字母的表达式是D。

A)’a’<=ch<=’z’B)(ch>=a)&&(ch<=z)

C)(ch>=’a’)||(ch<=’z’)D)(ch>=’a’)&&(ch<=’z’)

23.以下if语句书写正确的是B。

A)if(x=0;)B)if(x>0)

printf(”%f”,x);{x=x+1;printf(”%f”,x);}

elseprintf(”%f”,-x);elseprintf(”%f”,-x);

C)if(x>0);D)if(x>0)

{x=x+1;printf(”%f”,x);}{x=x+1;printf(”%f”,x)}

elseprintf(”%f”,-x);elseprintf(”%f”,-x);

24.分析以下程序:

main()

{intx=5,a=0,b=0;

if(x=a+b)printf(“****\n”);

elseprintf(“####\n”);

以上程序D。

A)有语法错,不能通过编译

B)通过编译,但不能连接

C)输出****D)输出####

25.写出下面程序的执行结果D。

main()

{intx,y=1;

if(y!

=0)x=5;

printf(“%d\t”,x);

if(y==0)x=3;

elsex=5;

printf(“%d\t\n”,x);}

A)13B)15C)53D)55

26.若有以下变量定义:

floatx;inta,b;

则正确的switch语句是D。

A)switch(x)

{case1.0:

printf("*\n");

case2.0:

printf("**\n");

}

B)switch

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

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2