C语言基础测试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言基础测试题

一选择题(每题2分)

1. C语言程序的基本单位是( A )。

A. 函数

B. 过程

C. 语句

D. 子程序

2. 对于whil e语句,错误的说法是( C )。

A.用条件控制循环体的执行次数

B.循环体至少要执行一次

C.循环体有可能一次也不执行

D.循环体中可以包含若干条语句

3. 定义语句int a=3;则执行语句a+=a-=a*a后,变量a的值是(C)。

A.3

B.0

C.9

D.-12

4. 关于局部变量和全局变量的叙述中,错误的是(A)。

A.全局变量的重复赋值不会影响局部变量的使用。

B.主函数中定义的变量在整个程序中都是有效的

C.形式参数也是局部变量。

D.不论是局部变量还是全局变量,都以最近的一次赋值为准。

5. 已知:int a=13;那么:printf("%02d",a)结果是(A)。

A.13

B.013

C.01

D.03

6. 在main函数中调用scanf给变量a赋值的方法是错误的,原因是()。

int *p,a; p=&a;

printf("input a:");

scanf("%d",*p);

A. *p表示的是指针变量p的地址

B. *p表示的是变量a 的值,而不是变量a的地址

C. *p表示的是指针变量p的值

D. *p只能用来说明p是一个指针变量

7.若有以下定义,则对a数组元素地址的正确引用是()。

A.a+5

B.*a+1

C.&a+1

D.&a[0]

8. 若int k=4,a=3,b=2,c=1;则k

A.4

B.3

C.2

D. 1

9. 关于数组,以下说法正确的是()。

A. 数组的下标可以是任何类型的表达式

B. 数组的下标只能是常量或者常量表达式

C. 二维数组必须完成初始化

D. 指针不可以操作数组里面元素的值

10. 设int a=11,b=2;执行下述程序段后,变量a和b的值分别是( )。

do{a/=b++;}

while(a>b);

A. 1,3

B. 1,4

C. 2,3

D. 2,4

二.填空题。(每空3分)

1.写一个宏MIN,这个宏输入两个参数并返回较小的一个_________。2.main函数中:for(int i=0; i<3; i++){printf("%d",i);}输出结果是_________。3.设int a=9,b=20;则printf("%d,%d",a--,--b);的输出结果是_________。

4.设int a[2][4]={{1,3,5,7},{2,4,6,8}};则*(*a+1)的值为_________。

5.定义一个指向含有十个数字的数组的指针_________。

6.已知int a=1,b=2,c=3; if(a>b)c=a; a=b; b=c;语句执行后a,b,c的值是_________。

三.判断题。(每题2分)

1.在C语言中,定义int a=b=c=5;是错的,而int a,b,c;a=b=c=5;是对的。()

2.int x=3,y=2;则表达式(y++==--x)?y++:x++的值为3。()

3.若有定义:int a[5][5],*p;则操作p=a;是合法操作。()

4.两个字符串所包含的字符个数相同时才能比较字符串大小。()

5.宏定义可以实现嵌套定义。()

6.若变量均为整型,且num=sum=7,则计算表达式sum=num++,sum++,++num后sum的值为8。()7.若有int i=10,j=0;则执行完语句if(j=0)i++; else i--;后i的值为11。()

8.若有int a[3][4]; 则a[3][4]是对二维数组的正确访问。()

9.初始化值列表中的初始化值个数多于数组元素的个数是错误的。()

10.如果在一个函数中的复合语句中定义了一个变量,则该变量在该函数中都有效。()

11.用语句a=a+b,b=a-b,a=a-b;可以交换a,b两个变量的值。()

四.简答题。

1.简述形参和实参的区别。(3分)

2.回答break和continue的异同点。(2分)

3.简述指针的概念。(2分)

4.请叙述你对面向对象和面向过程的理解。(3分)

五.编程题。

1.已知一个数组array,里面有五个数:12,25,8,9,16;把数组里面的数按照从小到大的顺序排列。(15分)

2.写一个程序,可以输入若干个数,直到输入0时结束,然后实现求这些数的平均值。(15分)

相关文档
最新文档