当前位置:文档之家› C语言单元测验

C语言单元测验

C 语言单元测验(满分100)学号:姓名: 成绩:一、选择题(每小题1分,共20分)1.不属于高级语言的计算机语言是( D )语言。

A .BASICB .C C .ALGOLD .符号 2.下列选项中,不是转移字符的是( C )。

A .\\B .\’C .074D .\0 3.下列说法中错误的是(C )。

A .主函数可以分成两部分:主函数头和主函数体。

B .主函数可以调用任何不是主函数的其它函数。

C .任何函数可以调用不是主函数的其它函数。

D .程序总是从排在程序前面的某个函数开始执行。

4.下列字符串常量中,占用内存字节数为2的字符串常量是( B )。

A .”12” B .”1” C .”1、0” D .”\n\n”5.设有宏定义“#define R 2+3”,则R*R 的宏替换结果正确的是( A )。

A .(2+3)*(2+3) B .2+3*2+3 C .5*5 D .5.0*5.0 6.设a ,b 和c 都是int 型变量,且a=3,b=4,C=5,则下面的表达式中值为0的是( D )。

A .’a’&&’b’ B .a<=b C .a||b+c&&b-c D .!((a<b)&&!c||1)7.设x 为整型变量,和表达式“!(!x )”值完全相同的表达式是( C )。

A .x==0 B .x==1 C .x!=0 D .x!=1 8.若定义了x=100;,则表达式x++>100?x+20:x+10的值是( C ) A. 110 B. 111 C. 120 D. 121 9.下列说法中错误的是(B )。

A .整型变量可以存放字符常量的值B .字符型变量可以存放任意整型常量的值C .变量必须先定义,后使用D .字符串的长度不等于它占用的字节数 10.下列不属于C 语言保留字的是( D ) A. charB. whileC. typedefD. look11.设float a=2,b=4,c=3;,以下C 语言表达式与代数式c b a )(21计算结果不一致的是( A )A. (a+b)=c/2B. (1/2)*(a+b)*cC. (a+b)*c*1/2D. c/2*(a+b)12.执行语句for(i=1;i++<4;);后i 的值是( D) A. 6 B. 4 C. 5 D.不确定 13.在位运算中,操作数左移一位,其结果相当于操作数( A ) A. 乘以2 B. 除以2 C. 乘以4 D. 除以414.使用语句scanf(“a=%f, b=%f ”,&a,&b);输人变量a,b 的值(口代表空格),正确的是( C )A. 1.25,2.4B.1.25口2.4C. a=1.25,b=2.4D. a=1.25口b=2.415. sizeof(double)是(B )A. 函数调用B. int型表达式C. double型表达式D.非法表达式16.设有以下程序段:int a=1,b=10,c=1,x;x=a&&b||+ c;printf(“%d,%d\n”,x,c);执行后输出的结果是( D)A. 0,0B. 0,1C. 1,0D. 1,117.设for(i=0, j=10; (j>0)&&(i<4);i++,j--);,该语句的循环次数是( C)A. 0B. 3C. 4D. 无限18.执行下列程序段后输出的结果是( A)int x,y,z=1;for(x=1,y=-1;x<y;x++,y--)z++;printf(“%d\n”,z);A. 1B. 2C. 5D. 619.下列给出的符号串中,可以作为C语言标识符的是(A )。

A.static B.do C.register D.GOTO20.在c语言中,合法的长整型常量是( A)。

A.0L B.4962 C.0.054838743 D.2.1869e10二、填空题(每空1.5分,共30分)1.执行语句:for(s=0,i=1;i<11;i++){ if(i==6)continue;s+=i;}后,s值为59 (1) 。

2.执行语句”n=1;if(n=5) n++;”后,变量n值为1 (2) 。

3.计算a,b,c中最小值的条件表达式为(3) min(a,b) 。

4.执行语句”a=5+(c=6);”后,变量a、c的值依次为6,6 (4) 。

5.用高级语言编写的程序称为(5) 程序,它可以通过(6) 程序翻译一句执行一句的方式执行,也可以通过(7) 程序一次翻译产生(8) 程序,然后执行。

6.C语言的标识符是由(9) 或(10) 开头的字母、数字、下划线组成的一串符号。

ANSI C规定标识符的长度≤(11) 个字符;而PC机上规定前(12) 个字符有效。

7.用十进制表示整型常量-017为(13) ,表示整型常量-0xf为(14) 。

8.在内存中存储”A”要占用(15) 个字节,存储’A’要占用(16) 字节。

9.表达式10<<3+1的值是(17) 。

10. C语言中,&作为双目运算符表示的运算是(18) 。

11.符号常量的定义方法是(19) 。

12.C语句的最后一定要有一个(20) 分号。

三、阅读程序题(15分)1.阅读下列程序,写出程序运行的输出结果。

(输出1行,3分) main(){ int x=100,a=10,b=20,ok1=5,ok2=0;if(a<b) if(b!=15)if(!ok1)x=1;else if(ok2)x=10;else x=-1;printf(”%d\n”,x);}2.阅读下列程序,写出程序运行的输出结果。

(输出1行,3分) main(){ int i;for(i=0;i<5;i++)switch(i%2){ case 0:printf(“1”);break;case 1:printf(“0”);}}3.阅读下列程序,写出程序运行的输出结果。

(输出1行,3分) void main(){ int m,n=0,i;m=n;i=4;do{ n+=1;i--;m-=n;}while(i>0);printf(“%d,%d,%d\n”,i,n,m);}4.阅读下列程序,写出程序运行的输出结果。

(输出1行,3分) main(){ int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n“,s);}5.阅读下列程序,写出程序运行的输出结果。

(输出2行,3分) main(){ int a=1,b=2,c=3;if(a<=c)if(b==c)printf(“a=%d\n”,a);else printf(“b=%d\n”,b);printf(“c=%d\n”,c);}四、完善程序题(每空3分,共15分)1.下列程序的功能是将变量x、y、z中大者存放到x中,请填写程序中缺少的语句。

void main(){int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if(x<y)x=y;______(1)_______;printf("%d\n",x);}2.有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?提示:可填在百位、十位、个位的数字都是1、2、3、4。

组成所有的排列后再去掉不满足条件的排列。

程序源代码如下:main(){int i,j,k;printf("\n");for(i=1;i<5;i++)/*以下为三重循环*/for(j=1; (2) ;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&& (3) ) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}3.下列程序的功能是求输入的4个实数之和并输出,请填写程序中缺少的语句成分。

void main(){ float a,x;int i;for(_____(4)______;i>=0;i (5) ){ scanf("%f",&x);s=s+x;}printf("%f\n",s);}五、编程题(每小题10分,共20分)1.判定2000—2500年中的每一年是否闰年,将结果输出。

提示:闰年的条件是:①能被4整除,但不能被100整除的年份都是闰年,如1996年,2004年是闰年;②能被100整除,又能被400整除的年份是闰年。

如1600年、2000年是闰年。

不符合这两个条件的年份不是闰年。

3.一个小于10000的整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?答题卡二、填空题(每空1.5分,共30分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10 (11)(12)(13)(14)(15)(16)(17)(18)(19)(20)三、阅读程序题(每小题3分,共15分)1.2.3.4.5.四、完善程序题(每空3分,共15分)(1)(2)(3)(4)(5)五、编程题(每小题10分,共20分)参考答案一、。

相关主题