C语言期末复习资料.docx

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

C语言期末复习资料.docx

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

C语言期末复习资料.docx

C语言期末复习资料

单项选择题

1.char*p[10];该语句声明了一个:

C。

A)指向含有10个元素的一维字符型数组的指针变量p

B)指向长度不超过10的字符串的指针变量p

C)有10个元素的指针数组p,每个元素可以指向一个字符串

D)有10个元素的指针数组p,每个元素存放一个字符串

2.在while(!

x)语句中的x与下面条件表达式等价的是:

D。

A)x!

=0B)x==1C)x!

=1D)x==0

3.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为:

C。

A)*(a+j*n+i)B)*(a+i*n+j)

C)*(*(a+i)+j)D)*(*a+i)+j

4union

{

doublek;

charc;

floata;

}test;

则sizeof(test)的值是:

A。

A)8B)1C)4D)13

5、下面程序的输出是____D_____ 

#include 

void main() 

int k=11;   

printf("k=%d,k=%o,k=%x\n",k,k,k);(%o为8进制输出,%x为16进制输出) 

A) k=11,k=12,k=11         B) k=11,k=13,k=13 

C) k=11,k=013,k=0xb         D) k=11,k=13,k=B 

6、在下列选项中,不正确的赋值语句是____D____.

(在变量说明中,不允许连续给多个变量赋初值,而赋值语句允许连续赋值。

如下述说明是错误的:

) 

A) ++t;       B) n1=(n2=(n3=0));   

C) k=i=j;     D) a=b+c=1;  

7、下面合法的C语言字符常量是_____A_____. 

A) '\t'     B) "A"      C) 65  D) A 

8、表达式:

 10!

=9的值是______D_____. 

A) true B)非零值       

C) 0        D) 1 

9、C语言提供的合法的数据类型关键字是

_____B___. 

A) Double(应该为double)   

B) short

C) integer(应该为int)   

D) Char(应该为char) 

10、字符(char)型数据在微机内存中的存储形式是__D__.

 A) 反码   B) 补码   

C) EBCDIC码   D) ASCII码 

11、C语言程序的基本单位是_____C______. 

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

12、设 int a=12,则执行完语句a+=a-=a*a后,a的值是

_____D__ 

A) 552  B) 264 C) 144   D) -264  

13、执行下面程序中的输出语句后,输出结果是

__B____. 

#include 

void main()

 {int a;  printf("%d\n",(a=3*5,a*4,a+5)); } 

A) 65   B) 20  C) 15   D) 10  

14、下面程序的输出是__B________. 

#include 

void main() 

{int x=023;(八进制)  

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

A) 17 B) 18  C) 23       D) 24 

15下面程序的输出的是___C______. 

#include 

void main() 

{int x=10,y=3; 

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

A) 0    B) 1  C) 3   D) 不确定的值 

 

16、已知字母A的ASCII码为十进制的65,下面程序的输出是_______A____. 

#include 

void main() 

{char ch1,ch2;  

ch1='A'+'5'-'3';  

ch2='A'+'6'-'3'; 

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

 }

A) 67,D   B) B,C  C) C,D   D) 不确定的值 

17、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为_D_____. 

A) a<>0   B) !

a  C) a=0   D) a 

18、以下程序的输出结果是__D______. 

#include 

void main() 

{ int x=10,y=10;  

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

A) 10 10  B) 9 9  C) 9 10      D) 10 9 

19、设有如下定义:

 

  int x=10,y=3,z; 

则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是_D_______. 

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

20、为表示关系x≥y≥z,应使用C语言表达式

____A__. 

A) (x>=y)&&(y>=z)      B) (x>=y)AND(y>=z) 

C) (x>=y>=z)          D) (x>=y) & (y>=z)

21、C语言中非空的基本数据类型包括__B______.(基本数据类型有整型,字符型,浮点型,枚举类型) 

A) 整型,实型,逻辑型     B) 整型,实型,字符型 

C) 整型,字符型,逻辑型    D) 整型,实型,逻辑型,字符型 

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

 

  printf("%d",(x,y)); 上面程序片段的输出结果是___A____. 

A) 200         B) 100 

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

23、阅读下面的程序 

#include 

void main() 

char ch; 

scanf("%3c",&ch);(%3c表示输入三个字符)

 printf("%c",ch); (表示输出一个字符)

如果从键盘上输入abc<回车> 

则程序的运行结果是__A____. 

A) a   B) b   C) c    D) 程序语法出错 

 

24、阅读下面的程序 

#include 

void main() 

  int i,j;   i=010;   j=9; 

  printf("%d,%d",i-j,i+j);  } 

则程序的运行结果是___D_____. 

A) 1,19   B) -1,19   C) 1,17    D) -1,17 

 

25、阅读下面的程序 

#include 

void main()  

  int i,j,m,n;   i=8;j=10;   m=++i;   n=j++; 

  printf("%d,%d,%d,%d",i,j,m,n); 

} 程序的运行结果是____C___;

A) 8,10,8,10          B) 9,11,8,10 

 C) 9,11,9,10            D) 9,10,9,11 

 

26、已知a=12,则表达式a+=a-=a*=a的结果是__A_____. 

A) 0  B) 144   C) 12     D) -264 

27、若已定义int a,则表达式a=10,a+10,a++的值是_B__. 

A) 20    B) 10     C) 21     D) 11 

 

28、阅读下面的程序 

#include

 void main() 

int i,j; 

scanf("%3d%2d",&i,&j);  printf("i=%d,j=%d\n",i,j); } 

如果从键盘上输入1234567<回车>,则程序的运行结果是____D____. 

A) i=123,j=4567   B) i=1234,j=567   

C) i=1,j=2      D) i=123,j=45  

29、下面程序的输出结果是___D_____. 

#include 

void  main()  

 int a=-1, b=4, k; 

 k=(++a<=0)&&(b--<=0);(如果&&前面部分为假则&&后面的部分就不被执行,如果前面部分为真则&&后面部分需要被执行) 

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

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

30、下面叙述错误的是___D___

A)一个由数据申明部分和执行语句组成。

B)任何表达式都可以加上分好而成为语句。

C))break语句只能用于循环语句和switch语句。

D)二维数组的第二维可以省略。

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

A)缩排位置相同的if

B)在其之前未配对的if

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

D)同一行上的if

32、对于for(表达式1;;表达式3)可理解为______B____.

A)for(表达式1;0;表达式3)

B)for(表达式1;1;表达式3)

C)for(表达式1;表达式1;表达式3)

D)for(表达式1;表达式3;表达式3)

33、若i为整型变量,则以下循环语句的循环次数是_B_.

for(i=2;i==0;)

printf("%d",i--);

A)无限次B)0次

C)1次D)2次

34、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.

A)5.5B)5C)3D)4.0

35、以下程序的输出结果是____D____.

#include

voidmain()

{

inta=12,b=12;

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

}

A)10,10B)12,12

C)11,10D)11,13

36、若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.

A)0B)1C)12D)6

37、若有定义intx=3,y=2和floata=2.5,b=3.5,则表达式:

(x+y)%2+(int)a/(int)b的值是__D__.

A)0B)2C)1.5D)1

38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.

A)必须为字母

B)必须为下划线

C)必须为字母或下划线

D)可以是字母,数字或下划线中的任意一种

39、设有说明:

charw;intx;floaty;doublez;则表达式:

w*x+z-y值的数据类型是___D____.

A)floatB)char

C)intD)double

40、设a为整型变量,不能正确表达数学关系10

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

当前位置:首页 > 求职职场 > 面试

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

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