《C语言基础测试题》由会员分享,可在线阅读,更多相关《C语言基础测试题(2页珍藏版)》请在金锄头文库上搜索。
1、C语言基础测试题一选择题(每题2分)1.C语言程序的基本单位是( A )。 A. 函数B. 过程 C. 语句D. 子程序2.对于while语句,错误的说法是( C )。 A.用条件控制循环体的执行次数 B.循环体至少要执行一次 C.循环体有可能一次也不执行 D.循环体中可以包含若干条语句3.定义语句inta=3;则执行语句a+=a-=a*a后,变量a的值是(C)。 A.3B.0C.9D.-124.关于局部变量和全局变量的叙述中,错误的是 (A)。 A.全局变量的重复赋值不会影响局部变量的使用。 B.主函数中定义的变量在整个程序中都是有效的 C.形式参数也是局部变量。 D.不论是局部变量还是全局
2、变量,都以最近的一次赋值为准。5. 已知:int a=13;那么:printf(%02d,a)结果是(A)。 A.13B.013C.01D.036.在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+5B. *a+1C. &a+1D. &a08. 若int k=
3、4,a=3,b=2,c=1;则ka?k:cb); A.1,3B. 1,4C. 2,3D. 2,4二填空题。(每空3分)1写一个宏MIN,这个宏输入两个参数并返回较小的一个_。2main函数中:for(int i=0; ib)c=a; a=b; b=c;语句执行后a,b,c的值是_。三判断题。(每题2分)1在C语言中,定义int a=b=c=5;是错的,而inta,b,c;a=b=c=5;是对的。( )2int x=3,y=2;则表达式(y+=-x)?y+:x+的值为3。()3若有定义:int a55,*p;则操作p=a;是合法操作。( )4两个字符串所包含的字符个数相同时才能比较字符串大小。(
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 a34; 则a34是对二维数组的正确访问。( )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分)