版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第一部分 C语言基础一、 单项选择1以下不是C语言的特点的是( )。(A) C语言简洁、紧凑 (B)能够编制出功能复杂的程序(C) C语言可以直接对硬件进行操作 (D)C语言移植性好2下列浮点数的表示中正确的有( )。(A)223 (B).719E22 (C ) e23 (D) 12e2.03字符型常量在内存中存放的是( )。(A)ASCII代码 (B)BCD代码 (C)内部码 (D)十进制码4 “BBn123r”在内存中占的字节数是( ),此字符串的长度为( )。(A)6 (B)7 (C)8 (D)9 (E)10 (F)115对于语句scanf (“%f%f,z=%f”,&x,&y,&z
2、); ,其合法的输入形式为( )。(A)14.72.015.3 (B)14.7,2.0,15(C)14.72.0,15.3 (D)14.72.0,z=156下列运算符中,结合方向为自左向右的是( )。(A) (B) , (C) (D)7若有int x ; 则sizeof(x)和sizeof(int )两种描述( ) 。 (A)都正确 (B)值不一样 (C)前者正确 (D)后者正确8.整型变量x=1,y=3,经下列计算后,x的值不等于6的是( ) 。 (A)x=(x=1+2,x*2) (B)x=y2?6:5 (C)x=9 - (- -y) - (- -y) (D)x=y*4.2/29.单精度变量
3、x=3.0, y=4.0,下列表达式中y的值为9.0的是( ) 。 (A)y/=x*27/4 (B)y+=x+2.0 (C)y- =x+8.0 (D)y*=x-3.010.若整型变量i=3,j=4,作运算j=i+ + + j + i后,i的值为( ),j 的值为( ) 。 (A)10 (B)4 (C)3 (D)1111.设有整型变量x=10,表达式(x&1535)&(x|55&100)的值为( ) 。 (A)0 (B)1 (C)10 (D)1112.设有整型变量x,其值为25,则表达式:(x&201)|(x10|7&x33)的值为( ) 。 (A)35 (B)41 (C)11 (D)313有整
4、型变量x,单精度变量y=5.5,表达式:x=(float)(y*3+(int)y)%4)执行后, x的值为 ( ) 。 (A)17 (B)17.500000 (C)17.5 (D)1614.表达式:0?2:0,3/2,0= =3=2?55:6.0,4%3的值为( ) 。 (A)1.3333333 (B)1 (C)6.0 (D)1.515.以下选项中属于C语言中数据类型的是( ) 。 (A) 复数型 (B) 逻辑型 (C)双精度型 (D) 集合型16.在C语言中,不正确的int 类型的常数是( ) 。 (A) 32768 (B)0 (C)037 (D)0xAF17.语句: printf( “ %
5、dn”,(a = 2 ) & ( b = - 2 ); 的输出结果是( ) 。 (A) 无输出 (B) 结果不确定 (C)-1 (D) 1 18.当c 的值为0 时,在下列选项中能正确将c的值赋给变量a,b 的是( ) 。 (A) c = b = a ; B) ( a = c )| (b = c ); (C) ( a = c ) & ( b = c ); (D) a = c = b ;19下列程序的输出结果是( ) 。 (A)3 (B)3.2 (C)0 (D)3.07main( ) double d = 3.2; int x, y; x = 1.2; y= ( x + 3.8 ) /5.0;
6、printf ( “%d n “, d * y );20下列变量定义中合法的是( )。 (A) short _a= 1 - .1e-1; (B) double b = 1+ 5e 2.5 ; (C ) long do = 0xfdaL; (D) float 2_and = 1 e 3;21设 int x = 1, y = 1 ; 表达式( ! x | y - ) 值是 (A) 0 (B) 1 (C) 2 (D) -122下列程序执行后的输出结果是( )。 (A) G (B) H (C) I (D)J main( ) int x = f ; printf ( “ % c n “, A + ( x
7、 a + 1 ) ; 23. 下列程序执行后的输出结果是( )。 (A) -32767 (B)FFFE (C)-1 (D) -32768 main( ) char x = 0xFFFF ; printf( “ %d n “ , x -) ; 24.设有如下定义: int i = 8 , k , a , b ; unsinged long w = 5; double x = 1.42 , y = 5.2 ; 则以下符合C语言语法的表达式是: (A) a + = a - = ( b = 4 )* ( a = 3 ) (B) x% ( - 3 ) (C) a = a * 3 = 2 (D) y =
8、float ( i ) 25.以下程序的执行结果是( )。 int a=2,c=5; printf(“a=%d,b=%dn”,a,c);(A) a=%2,b=%5 (B) a=2,b=5(C) a=%d,b=%d (D) a=%d,b=%d26.在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是( )。(A) a=20000+20000; (B) a=4000*10;(C) a=30000+10000; (D) a=4000L*10L;27.以下叙述正确的是 (A) 可以把define和if定义为用户标识符。 (B) 可以把define定义为用户标识符,但不能把if
9、定义为用户标识符。 (C) 可以把if定义为用户标识符,但不能把define定义为用户标识符。 (D) define和if都不能定义为用户标识符。28. 以下程序的输出结果是 main() int a=3; printf(%dn,a+(a-=a*a) ); (A) -6 (B)12 (C) 0 (D) 1229.下列程序执行后的输出结果是(小数点后只写一位) (A) 6 6 6.0 6.0 (B) 6 6 6.7 6.7 (C) 6 6 6.0 6.7 (D) 6 6 6.7 6.0 main() double d; float f; long l; int i; i=f=1=d=20/3;
10、printf(%d %ld %f %f n, i,l,f,d); 30. 已定义x为float型变量。 X=213.82631; printf(%-4.2fn,x); 则以上程序运行结果为( )。 (A).输出为-213.82 (B).输出为213.83 (C).输出为213.82 (D).输出格式描述符的域宽不够,不能输出 二、填空1C语言规定,标识符只能由_ ,_ , _三种字符组成,而且,第一个字符必须是_或_.2. 一个C程序一般由若干函数构成的,程序中有且只有一个_.3. 一个C函数是由_和_两部分组成的。4.一个C程序总是从_开始执行的.5.C语言的基本数据类型有_._._和实型数
11、据,其中实型数据又分为_和_.6.在内存中占据16位的无符号整型变量的范围是_到_.7.在C语言中,八进制整常量以_开头,十六进制整常量以_开头.8.十进制数7转化为八进制为_,十进制数 2248转化为十六进制为_.9.在C语言中,&运算符用作_运算和_运算,而 * 运算符用作_和_运算.10.将下列运算符按优先级从高到低顺序排列: = ! = ! +&( )| | % & 是_.11.x在内存中占_字节,”x”在内存中占_字节,”101”在内存中占_字节.12.若x为整型变量,执行语句x= b - A;后,x的值为_.13.浮点单精度变量x,执行表达式语句x =8.7 +123.7 * 6
12、a%7;后,x的值为_.14.整型变量i和j,i的初值为3,执行表达式语句j=(i+)+(i+)+(i+);后,变量i的值为_,变量j的值为_.15.整型变量a, b ,c它们的初值都是0,运行表达式:+ +a & b+ + & + + c后,a.b.c的值分别为:_,_,_.若在同样的初值的条件下,运行表达式: + +a | | b+ + | | + + c后,a ,b ,c的值分别为:_, _,_.16.输出语句printf(“%-8.4s, %5.3f, %4d”, ”MAYAPP”, ”35.1753”, 12346);的输出结果为_. 17.若x为单精度型变量,y为字符型变量,z为整
13、型变量,执行如下的输入语句:scanf(%f%c%d”, &x,&y, &z);后,从键盘输入12.77A79A86.此时,变量x, y, z的值分别为_, _, _.18.欲将一个16位二进制的整型变量的高8位清零,而只保留低8位,可用的方法是_.19.已知有a.b两个数,执行x=b; b=a; a=x操作后,执行的效果是_.20.位运算符_(填能或不能)用于浮点数.21.将下列数学式改写成C语言的表达式.(1) ax3+bx2+cx+d写成_. (2) 写成 22分析下面的程序的运行结果. main( ) int x=0, y=0, z=0; x= + +y+ (+ +z); print(
14、“%d, %d,%d*”,x,y,z); x=y+ + +z+ +; printf(“%d,%d,%d*”,x,y,z); x= - -y + z - -; printf(“%d,%d,%d*”,x,y,z); 程序结果为:_.23由C语言编成的程序文件FILE1.C经编译后的文件名是 。24程序文件中若有语句getchar ( );该程序文件头应有予编译命令 。25若有说明语句 float x=8; int a2; 则表达式sizeof (x) = = sizeof (a)的值 是 。26整型变量a = 5, b = 7 ; 表达式 b/a * 100的值是 。27以下程序段运行的结果是 。
15、 int a = 5, b = 3; printf ( “ a+b = % 4d , ”, a+=b+= a+b); printf ( “ a b=% 4d n”, a- =b- = a- b);28设有以下变量定义,并已赋确定的值 char w; int x ; float y ; double z ; 则表达式:w* x + z y 所求得值的数据类型为 。29写出与代数式 (x+2)e x+2对应的C语言表达式:。30写出“若char 类型变量ch是大写英文字母,改变ch为对应小写字母”的表达式: 三、判断正误1 C语言程序设计是一种面向过程的结构化设计语言。2 C语言程序是由函数构成的
16、。3 任何C语言编写的文件必须至少包含一个main()函数。4 一个C语言程序可以在不同的文件中。5 C语言程序不允许直接访问物理地址。6 函数的过程体实际是一个复合语句。7 用宏定义的符号型常量必须是用大写字母来表示。8 void型数据类型是指数据不存在。9 C语言中变量必须先定义,后使用。10 C语言中,scanf与Scanf等同。11 当有如下定义unsigned int I ; 时,做如下赋 值 I =-1;是不允许的。12 有如下定义float x=1.2345;执行printf(“%f”,x) ; 结果输出为1.2345。13 如下定义 char c1=a,c2=b,c3=c1-c
17、2;执行printf(“%c”,c3);结果为无任何显示。14 可以有如下定义:int a=b=c=0;15 int x=4,y=5;float z=x/y;则z的值为0.8;16 int i=4;x=(i+,i+);后,x的值为5;17 空语句没有任何意义,所以在C程序中不应该出现空语句。18 要求出某一变量占用内存空间的长度可以用函数sizeof(变量)实现。19 要判断x,y,z的大小顺序可以用如下表达式xyz;20 在do while(P);结构中,当条件P成立时,结束循环。21 Switch结构中必须要有defau l t 项。22 在main()函数中若加入return语句,则编译
18、出错。23 for循环语句中括号内至少必须要有一个表达式。24 各种循环结构可以相互替代。25 if (i=1) i+;编译时不能通过。26 以下定义是否正确:int a = 120, b+=a ;27 以下语句是否正确:float a10 ; int i = 0 ; while ( i+ =f2)&(m2=f30&y=y); 8#include “stdio.h” main() unsigned int b=65535; printf(“%d”,b); 9#include “stdio.h” main() int x=10,y=9; int a,b,c; a=(-x = = y+) ? -
19、x: +y; b=x+ ; c=y ; printf(“a=%d , b=%d , c=%dn” , a , b, c) ; 10#include “stdio.h” main() int x=0,y=0,z=0; x=+y+(+z); printf(“%d,%d,%d*”,x,y,z); x=y+z+; printf(“%d,%d,%d*”,x,y,z); x=-y+z-; printf(“%d,%d,%d*”,x,y,z); 11# include “stdio.h” main() short i=-1; printf(“%d,%o,%x,%un”,i,i,i,i); 12# includ
20、e “stdio.h” main() short i=1; printf(“%d,%o,%x,%un”,i,i,i,i); 13# include “stdio.h”main() char c=A; printf(“%d,%o,%x,%cn”,c,c,c,c); 14# include “stdio.h” main() float f=3.1415927; printf(“%f,%5.4f,%3.3fn”,f,f,f); 15# include “stdio.h” main() float f=3.5; printf(“%f,%gn”,f,f); 16# include “stdio.h” m
21、ain() float f=31.41592; printf(“%f,%en”,f,f); 17# include “stdio.h” main() char c=A+10; printf(“%cn”, c); 18# include “stdio.h” main() int a,c; char b; scanf(“%d%c%d”,&a,&b,&c); printf(“%d,%c,%d n”, a,b,c); 19以下程序输入123456后的执行结果是: # include “stdio.h” main() int a,b; char b; scanf(“%2d %3d”,&a,&b); pr
22、intf(“%d, %d n”, a,b,); 20以下程序输入ABC后的执行结果是: # include “stdio.h” main() char c; scanf(“%3c”,&c); printf(“%c n”,c); 21以下程序输入100后的执行结果是: # include “stdio.h” main() int n; scanf(“%o”,&n); printf(“%dn”,n); 22以下程序输入x=1.23,y=50后的执行结果是: # include “stdio.h” main() float x,y; scanf(“x=%f,y=%f”,&x,&y); printf(
23、“x=%7.2f,y=%7.2f”, x, y); 五、编写程序1 编写一个程序从键盘输入圆锥体的半径r和高度h,并计算其体积。2 输入一个三位数n (例如672)把他倒着输出(如:输出276)。3 用两个不同的程序,实现变量a与变量b之间值的交换。第一部分 参考答案一、单项选择1.B 2.B 3.A 4.BA 5.D 6.B 7.A 8.C 9.B 10.BA 11.A 12. B 13.A 14. B 15.C 16.A 17.D 18.B 19 . C 20.A 21.B22.A 23.C 24.A 25.D 26.D 27.D 28.D 29.C 30.B二、填空1.字母,数字,下划线
24、, 下划线, 字母 2. main函数 3. 函数,函数体 4. main函数5.整型,字符型,实型,float,double 6. 0,216-1 7. 0,0x 8. 7,9.按位与,取地址,乘,取值 10. ()、! 、% 、+ 、& 、 、 、 11. 1,2,2 12. 33 13. 744.9 14. 6,9 15. 1,1,0 1,0,0 16. MAYA ,35.175,1234617. 12.77,A,79 18. 与0x00ff按位与 19. 交换a,b的值 20. 不能 21. (1) a*x*x*x+b*x*x+c*x+a (2)sqrt ( (a*a+b*b) / (
25、a*b) 22. 2,1,1*2,2,2*3,1,1* 23.FILE1.OBJ 24. #include 25. 1 26 . 100 27. a+b=16 , a-b =1028. double 29.(x+2)*exp(x+2) 30. tolower(ch)三、判断正误1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30四、阅读程序, 写出运行结果1、2,1 2、6,8,6,7 3、n=1 4、n=-4 5、 x=3,a=2,b=3 6、0 7、1:0*2:0*3:0* 4:1
26、8、 1 9、a=8,b=8,c=10 10、2,1,1*2,2,2*3,1,1*11、 -1,177777,ffff,65535 12、1,1,1,1 13、 65,41,101,A 14、 3.141593,3.1416,3.142 15、 3.500000,3.5 16、 31.415920,3.14159e+0117、 K 18、1, ,2 19、 12,345 20、 A 21、 64 22、 x= 1.23, y= 50.00五编程1、 include “stdio.hmain( ) float r,h,pi=3.14.1,v printf(“圆锥半径,高度:”); scanf(“
27、%f,%f”,&r,&h); v=pi*r*r*h/3; printf(“圆锥体积%gn”,v);2、main( ) int n; int a,b,c; printf(“输入一个三位数:”); scanf(“%d”,&n); a= n/100; b=n/10 %10; c=n%10; printf(“%d%d%d”,c,b,a);3、方法一、 main( ) int a,b,t; a=10; b=20; t=a; a=b ; b=t; 方法二、 main( ) int a,b; a=10; b=20; a=a+b; b=a-b; a=a-b; 第二部分 算法一、 单项选择1一个程序应包括以下两
28、方面内容:一是对数据的描述,即指定数据类型和组织形式;二是对操作的描述,即操作步骤,也就是 。 A 算法 B 数据结构 C 排序 D 模块化2传统流程图中 框的作用是对一个给定的条件进行判断,根据条件是否成立决定其后的操作,他有一个入口和两个出口。 A B C D 3伪代码是用介于自然语言和 之间的文字和符号来描述算法。 A 英语 B 计算机语言 C 传统流程图 D N-S流程图 4采用以下方法可保证得到结构化的程序: 自顶向下; ; 模块化设计; 结构化编码。 A 自下而上 B 逐步积累 C 逐步细化 D 整体规划5一个结构化的算法是由一些 结构顺序组成的;在它们之间不存在向前或向后的跳转,
29、流程的转移只存在于一个基本结构范围之内。 A 顺序 B 选择 C 循环 D 基本6在传统流程图中,表示输入输出应该使用 框。 A B C D 7三种基本结构的特点之一是:每种基本结构 。 A 有多个入口和出口 B 有一个入口多个出口 C 各有两个入口和出口 D 只有一个入口和出口8对于某一个问题,它的算法 。 A 只有1种 B 有2种 C有3种 D 不唯一二、 判断正误1 计算机算法可分为两大类:数值运算算法和非数值运算算法。2 一个算法所包含的操作步骤可以是有限的,也可以是无限的。3 一个算法中的某一步可以是不确定的,含义可以不唯一。4 一个算法可以有多个输入或没有输入,但不能没有输出。5
30、当型循环和直到型循环都是先判断给定的条件是否成立,成立时执行循环体,不成立时退出循环结构。6 三种基本结构(顺序、选择、循环)的共同特点之一是:结构内的每一部分都有机会被执行到。7 三种基本结构中的选择结构有一个入口多个出口。8 若某一个问题可以用直到型循环解决,那么它一定能用当型循环解决。9 若一个算法不能分解为若干个基本结构,则它必然不是一个结构化的算法。10 用传统流程图表示的算法一定是一个结构化的算法。11 用N-S图表示的算法一定是一个结构化的算法。三、 用传统流程图表示求解以下问题的算法1 输入两个不同的数分别赋给A和B(若相同则重新输入),若AB 则输出A和B,若AB S3600
31、 否 否是交换A、B 否 是输出S 输出A、B结束结束开始开始3. 4.S=0 ; N=1;K=K+1;K=100;输入AK整除3和7 S=S+A; N=N+1; 否 是N10输出K 否 是 S=S/10; 输出SK200 否 是结束结束 四、 用N-S结构化流程图表示的算法1 2.S=0 N=1 输入A、B 直到A不等于B AB S=S+N 是 否 N=N+1 交换A、B 输出A、B 直到 S3600输出S3 4.S=0 且 N=1 K=100 K整除3和7 N=10 且K0 (D)a=02.C语言中,逻辑”真”等价于( )。 ()大于零的数 ()大于零的整数 ()非零的数 ()非零的整数3
32、.语言中, switch后的括号内表达式的值可以是( )。 ()只能为整型 ()只能为整型,字符型,枚举型 ()只能为整型和字符型 ()任何类型.语言的switch语句中case后( )。 ()只能为常量 ()只能为常量或常量表达式 ()可为常量及表达式或有确定值的变量及表达式 ()可为任何量或表达式.语言的if语句中,用作判断的表达式为( )。 ()任意表达式 ()逻辑表达式 ()关系表达式 ()算术表达式.在如下程序段中,若输入,则printf语句( )。int x; scanf(“%dn”, &x); printf (x%2= =0? “even number %d”,x,x); (A)
33、输出odd number3 (B)输出even number3 (B)输出even number3odd number3 (D)格式不正确.有字符型变量str,判断str为大写字母或小写字母?如下方式能正确表达题意的是( )。() str =65&str =97&str =65&str =97&str =122)() 65 =str =90| |97 =str =122() ! (str90&str122)() ! (str65| |90str122)() (str =65| |str =97| |str 0 ? 1 : x 0 ) y = 1 ; (B) if ( x ) else if (
34、 x 0 ) y = 1 ; else y = 0 ; else if ( x = 0) if ( x 0 ) y = 1; if ( x 0) y = 1; else if ( x = = 0) y = 0; else y = - 1 ; else y = - 1 ;11.语句printf ( “abrehiyboun“);的输出结果是( )。(A)abrehiybou (B) abrehiybou(C) rehiyou (D) abrehiybou12.以下程序的输出结果是( )。 (A)17,021,0x11 (B)17,17,17 (C)17,0x11,021 (D)17,21,11 main() int x=17; printf(“%d, %o, %x”,x ,x, x); 13.以下程序的输出结果是( )。 (A)-1 1 (B)0 1 (C) 1 0 (D) 0 0 main() int a = -1 ,b = 1 , k ;if ( ( + a 0 ) & ! ( b - - = 0 ) ) printf ( “ % d %d n “ , a ,b ) ;else printf ( “ %d %d n” , b , a ) ; 14.以下程序段中求较大数和较小数,语法、逻辑都正确的是( )。 (A)if (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 云数据库选择指南及比较分析
- 炬申股份布局海外市场盈利有望高增长
- 固定收益:3年内2%以上票息资产
- 新春开工办公安全与秩序维护指南
- 农业产业技术创新发展手册
- 辩论赛上的精彩时刻写事作文(9篇)
- 农村集体土地合作开发管理协议
- 社区老年助餐服务与社区社区治理模式创新与优化结合的2025年可行性研究报告
- 2026年多光谱成像技术报告
- 2026年新能源行业发展规划报告及储能技术突破报告
- 2025年乡村规划师职业水平测试大纲试题及答案
- 2026年东营职业学院单招综合素质笔试参考题库含详细答案解析
- 如懿传十级测试题及答案
- IPC7711C7721C-2017(CN)电子组件的返工修改和维修(完整版)
- 人教版新教材高中英语选择性必修一单词表(打印文档)
- 春季安全考试题及答案
- 智能图书馆与人工智能技术融合-洞察阐释
- 儿童康复悬吊课件
- 2025年安阳职业技术学院单招职业倾向性测试题库学生专用
- 四川省泸州市2024-2025学年高一上学期期末统考物理试卷(含答案)
- 2025中考复习必背初中英语单词1600打印版(上)
评论
0/150
提交评论