C语言复习题.docx

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

C语言复习题.docx

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

C语言复习题.docx

C语言复习题

C语言复习(修订版)

一、判断题:

1.’\x72’、’\n’、’\\’都是字符常量。

(y)。

2.若有说明intc;则while(c=getchar());是正确的C语句。

(y)

3.int*p=&a,a=0;是正确的C变量定义语句。

(n)

4.C语言程序从main函数开始执行,所以main函数必须写在其他被调用的函数之前。

(n)

5.表达式7=3+4不正确。

(y)

6.字符数组charstr[]="abcd";有5个数组元素(y)

7.while1i,j;一定是错误的C语句。

(y)

8.for(;;){……..};构成的循环必执行无穷多次。

(n)

9.用字符型指针变量p作为函数voidfa(char*pa)的实际参数时,应采用以下的命令格式fa(*p);(n)

10.sub()和Sub()是不同的函数(y)

11.在C程序中,函数中所定义的局部变量与全局变量同名时,局部变量屏蔽全局变量。

(y)

12.全局外部变量定义命令必须写在函数之外。

(y)

13.指针变量算术运算只能可作+、—运算。

(y)

14.如有定义floata[10];可定义表达式a=a+1。

(n)

15.在逻辑表达式的计算中,必须所有的逻辑远算符都被执行后,才会结束表达式的计算(n)

16.数组名作为函数实际参数,传送的是地址(y)

17.若变量pointer是指针变量,命令pointer=0x2000;是正确的赋值命令.(n)

18.intc[2][]={{1,2},{3,4}};是正确的二维数组定义命令。

(n)

19.printf("%5.3f\n",123456.12345);输出为23456.123(n)。

20.变量定义char*(pa)[4];说明pa是用于二维数组处理的指针。

(n)

21.用命令scanf("%s",name);对字符数组进行输入操作,当键入“IamaStudent”时,数组的内容为“I”。

(y)

22.表达式‘B’+a’-‘A’的结果是’b’(y)

23.while(){;}表示无限循环(n)

24.switch(j){……..}语句中的变量j可以是浮点型变量(n)

25.全局变量的不加存储方式修饰符时,说明其存储类型为auto(n)

26.指针变量本身没有指针(n)

27.用关键字“struct”定义的内容是数据类型(n)

二、单项选择题:

(1)若有定义数组命令“intb[][3]={{1,2,3},{4,5},{6,7}}”,则b数组第1维的长度是()

A)2B)3C)4D)无确定值

b[2][2]的值是()

A)0B)1C)7D)无确定值

(2)C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。

A)必须为字母或下划线。

B)必须为下划线。

C)必须为字母D)可以是字母、数字和下划线中的任一种字符。

(3)下面四个选项中,均是正确的八进制数或十六进制数的选项是。

A)-100x8f-011B)010-0x110xf1

C)0abc-0170xcD)0a12-0x123-0xa

(4)以下选项中非法的表达式是()

A)0<6x<100B)i3=j3==0

C)(char)(65+3)D)x+y==x+z

 

(5)若有定义:

inta=7;floax=2.5,y=4.7;则表达式

x+a%3*(int)(x+y)%2/4的值是()。

A)2.750000B)0.00000C)3.500000D)2.500000

(6)已有定义:

inta=8,则以下表达式中b的值不等于2的是:

()

A)b=a/3B)b=10-(a++)C)b=a%2D)b=a>3?

2:

1

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

A)ch=5+9;B)ch='a+b';C)ch='\0';D)ch='7'+'6';

(8)设x,y和int型变量,且x=3,y=4,z=5则下面表达式中使x值为0的是()。

A)!

((z

C)(z-y)||(!

(x-=3))D)y||z&&(x-=3)

(9)设有程序段

intk=10;

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

以下描述正确的是()。

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

B)循环是无限循环。

C)while循环语句执行十次。

D)循环体语句执行一次。

(10)设有定义“chars[12]={“abcdef”};”则命令“printf(“%d\n”,strlen(s));”的输出结果为()

A)随机值B)7C)6D)12

(11)当a=1,b=3,c=5d=4时,则执行完下面一段程序后,x的值是()。

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7;

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

(12)下面程序的运行结果是。

#include"stdio.h"

voidmain()

{inta=1,b=10

do

{b-=a;a++;}

while(b--<0);

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

A)a=3,b=11B)a=4,b=9

C)a=1,b=-1D)a=2,b=8

(13)调用函数时,若实参是一个数组名,则向函数对应的形参传送的是()

A)数组长度B)数组的首地址

C)数组第一个元素的值D)整个数组元素的值

(14)若有说明:

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

A)a[10]B)a[10-10]C)a(5)D)a[3.5]

(15)根据定义和数据的输入方式,输入语句的正确形式为。

已有定义:

floatf1,f2;

数据输入方式:

4.25,3.5

A)scanf("%f%f",&f1,&f2);B)scanf("%f,%f",&f1,&f2);

C)scanf("%3.2f%2.1f",&f1,&f2);D)scanf("%2.1f%3.2f",&f1,&f2);

(16)有以下程序

voidmain()

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

intm,(*p)[3]=a;

m=(*(*p))*(*(*(p+1)+2));

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

}

执行后输出的结果是()

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

(17)以下if语句语法正确的是。

A)if(x>0)B)if(x>0)printf("%f",-x)

{x=x+y;printf("%f",x);}elseprintf("%f",-x);

elseprintf("%f",-x);

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

{x=x+y;printf("%f",x);};{x=x+y;peintf("%f",x)}

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

(18)下列程序的输出结果是()

voidmain()

{inti;

for(i=’A’;i<’I’;i++,++i)printf(“%c”,i+32);

printf(“\n”);

}

A)编译不通过,无输出B)acegC)acegiD)abcdefghi

(19)下列程序的输出结果是()

voidmain()

{inta=2,*p=&a;

printf("%d%d",(*p)++,*p;)

A)23B)22C)2D)21

(20)逻辑运算符两侧运算对象的数据类型。

A)只能是0或1B)可以是整型、字符型或实型数据

C)只可以是整型或字符型数据D)只能是0或非0正数

(21)以下for循环的执行次数是。

for(x=0,y=0;(y=123)&&(x<4);x++);

A)无限次。

B)4次。

C)0次。

D)3次。

(22)下面的程序段。

for(t=1;t<=100,t++)

{scanf("%d",&x);

if(x<0)continue;

printf("%3d",t);

}

A)当x<0时整个循环结束B)当x>=0时什么也不输出

C)printf函数永远也不执行D)最多允许输出100个非负整数

(23)若有说明intm[5],*p;将键入数据保存于数组第一个元素m[0],以下正确的语句段是()。

A)p=m;B)p=&m;

scanf("%d",*p);scanf("%d",p);

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

scanf("%d",*p)sacnf(“%d”,p); 

(24)下面程序的运行结果是。

a=1;b=2;c=2;

while(a

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

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

(25)若有说明:

inta[3][4];则对数组元素的非法引用是。

A)a[0][2*1]B)a[0][4]C)a[4-2][0]D)a[1][3]

(26)对以下说明的正确理解是:

inta[10]={6,7,8,9,10};

A)将5个初值依此赋给a[1]至a[5]B)将5个初值依此赋给a[0]至a[4]

C)将5个初值依此赋给a[6]至a[10]D)因长度与初值个数不同,故语句错误

(27)若二维数组a有m列,则在a[i][j]前的元素个数为

A)i*m+jB)j*m+iC)i*m+j-1D)i*m+j+1

(28)已定义以下函数

voidfun(char*p2,char*p1)

{while((*p2=*p1)!

='\0')

{p1++;p2++;}}

函数的功能是()

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

当前位置:首页 > 小学教育 > 语文

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

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