对口升学-职高计算机类一年级C语言期末试卷(共3页).doc
精选优质文档-倾情为你奉上靖州职业中专一年级2017年1月C语言期末考试题(总分150分)班级:_ 姓名:_一、单选题(每小题3分,共45分)1. C语言程序经过编译以后生成的文件名的后缀为( ) A).c B).obj C).exe D).cpp2. 整形数据在内存中是以( )形式存储。 A)十进制 B)二进制原码 C)二进制反码 D)二进制补码3. 下面4组常量,合法的一组C语言常量是( )A) 0x10 2E+9 'a' "123" B) 10 10L E1 'a' '0' C) 0.01 """ '123' 't' 't' D) 0.1 3E+0 "" 'tt' 0184. 下列可用做用户标识符的是( ) A)char B)_xyz C)2a D)&kk5. 表达式!x|a=b 等效于 。 A) !(x|a)=b) B) !(x|y)=b C) !(x|(a=b) D) (!x)|(a=b) 6. a是int 类型变量,c是字符变量,下列输入语句中哪一个是错误的( )A)scanf(“%3d%2c”,&a,&c); B)scanf(“%d,%c”,a,c);C)scanf(“%d%c”,&a,&c); D)scanf(“d=%d,c=%c”,&a,&c);7. 以下叙述中正确的是( )A) 输入项可以是一个实型常量,如 scanf("%f ",3.5); B) 只有格式控制,没有输入项,也能正确输入数据到内存,如: scanf("a=%d,b=%d");C) 当输入一个实型数据时,格式控制可以规定小数点后的位数,如:scanf("%4.2f",f); D) 当输入数据时,必须指明变量地址,例如: scanf("%f",&f);8. 下面合法的实型常量是( ) A)-1.4eL B)13 C)1.90E-8 D)2.4u9. 设a 为整型变量,不能正确表达数学关系:10<a<15的 C 语言表达式是( ) 。 A) 10<a<15 B) a= =11| a= =12 | a= =13 | a= =14 C) a>10 && a<15 D) !(a<=10) && !(a>=15) 10. 字符串"ABx44C"在内存占用的字节数是( )。 A) 3 B) 4 C) 5 D) 6 11. 在以下一组运算符中,优先级最低的运算符是( ) 。 A) * B) != C) + D) =12. 设int类型的数据长度为2个字节,unsigned int 类型数据的取值范围是( ) A) -3276832767 B) 0255 C) 065535 D) -12812713. 设有以下定义#defind d 2int a=0; double b=1.25; char c=A; 则下面表达式中错误的是( ) A) a+ B) b+ C) c+ D) d+ 14.以下程序的输出结果是( ) main() int x=6,y=10; x+=y;y+=x;printf(“%d %dn”,x,y);A) 16 26 B) 6 10 C) 16 16 D) 10 615. 设ch是 char型变量,其值为 'A',则下面表达式的值是 ( ) 。 ch=(ch>='A'&& ch<='Z')? (ch+32):ch A) A B) a C) Z D) Z 二、填空题(每空3分,共45分)1. 在C语言中,标识符只能由 、 下划线种字符组成,且第一个字符必须 或下划线。2. 已知int x=10;执行x+=x-=x+x;后,x的值为 。3. 在C语言中,八进制整型常量以_做前缀,十六进制整型常量以_做前缀。4. C语言中,用关键字int定义基本整型变量,用关键字 定义双精度实型变量,用关键字 定义字符型变量。5. 执行语句x=(a=3,b=a-)后,x,a,b的值依次是 。6. 如果int i=3,则printf("%d",-i+)执行后输出是 ,i的结果是 。7. 判断变量 a、b 的值均不为 0 的逻辑表达式为 。8. 输出数据时,对不同类型的数据有不同的格式字符。例如: 格式字符是用来输出有符号十进制整数, 格式字符是用来输出一个字符, 格式字符是用来输出一个指数形式的实数。三、阅读程序,写出程序运行结果(每小题5分,共20分)1、若从键盘上输入23456.45<回车>,则输出结果为 #include<stdio.h>void main()int x;double n=0; char c; scanf(“%3d%4lf%c”,&x,&n&c);printf(“x=%5d,n=%-8.3f,c=%3cn”,x,n,c);2、若从键盘上输入ab<回车>de<回车>,则输出结果为 #include<stdio.h>void main()char c1,c2,c3,c4; scanf(“%c%c”,&c1,&c2); c3=getchar(); c4=getchar();printf(“*c1=%c*c2=%-3cn”,c1,c2);printf(“*c3=%3c*c4=%c”, c3,c4); 3、以下程序运行结果为 #include<stdio.h>main()int x=0xf2,y=12,z;z=xy;y=x;printf("z=%x,y=%xn",z,y);4、以下程序运行结果为 #include<stdio.h>main()int x=0733,y=0xcfef,z=24;printf("x=%d,y=%o,z=%x",x,y,z);四、程序填空(每小题5分,共25分)1、编写程序:输入一矩形的长和宽,计算该矩形的面积。 #include <stdio.h>void main() float longer,wide,area; scanf(“%f%f”, );area=wide*longer;printf("area=%f",area);2、编程:输入的圆球的半径r,求圆球的表面积、体积,公式:mj=4r2 , tj=4/3r3。#include<stdio.h>#define PI 3.1415void main() float r,mj,tj; ; mj=4*PI*r*r; tj= ;printf(“圆球的表面积为%.2ft圆球的体积为%.2fn”,mj,tj);3、编程:输入一个四位整数x(9999=>x>=1000),将其分解出千位、百位、十位、各位,并求出各位之和。 #include <stdio.h>void main() int x,g,s,b,q; int sum;scanf(“%4d”,&x);q=x/1000; b= ; s=x%100/10; g= ; sum=q+b+s+g; printf(“sum=%dn”,sum);五、阅读程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题卡中指出错误代码所在的行号,并给出该行修改后的程序代码。(每处5分,共10分)编写一个程序,输入a、b、c三个值,输出其中最大值。程序有三处错误。(L1:表示行号)L1: #include<stdio.h>L2: void main()L3: int a,b,c,max;L4: scanf(“%f%f%f”,&a,&b,&c);L5: max=a<b?a:b;L6: max=max<c?c:max;L7: printf(“max=%dn”,max)L8: 专心-专注-专业