2022年C语言历年考题 .pdf

上传人:Che****ry 文档编号:27254828 上传时间:2022-07-23 格式:PDF 页数:24 大小:161.11KB
返回 下载 相关 举报
2022年C语言历年考题 .pdf_第1页
第1页 / 共24页
2022年C语言历年考题 .pdf_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《2022年C语言历年考题 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言历年考题 .pdf(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、c 语言基础练习题及答案一、单项选择题1. C 语言源程序文件经过C 编译程序编译连接之后生成一个后缀为_C_的文件。A、 ”.c” B、 “.obj”C、 “.exe” D、 “.bas”2. 以下选项中不正确的整型常量是_C_。A、12L B、-10 C、1,900 D、 123U 3. 表达式 _C_的值是 0。A、3%5 B 、3/5.0 C、3/5 D 、30|y0) 等价于 _D_。A、!x0|!y0 B 、 !(x0)|!(y0) C 、!x0&!y0 D、!(x0)&!(y0) 5. 若变量已正确定义并赋值,表达式_D_ 不符合 C 语言语法。A、4&3 B 、 +a C、a=

2、b=5 D 、int(3.14) 6. 若变量已正确定义,执行语句scanf(%d%d%d ,&k1,&k2,&k3);时, _B_是正确的输入。A、2030,40 B、20 30 40 C、20, 30 40 D、20, 30,40 7. 执行语句printf( ” _D_”, 2); 将得到出错信息。A、%d B 、%o C、%x D 、%f 8. 设变量定义为“int s =hellonworldn;” ,则数组s 中有 _B_个元素。A、12 B 、13 C、14 D、15 9. 设变量定义为“int a2=1,3, *p=&a0+1;” ,则 *p 的值是 _B_。A、2 B、3 C

3、、4 D、&a0+1 10. 若变量已正确定义并赋值,表达式-k+ 等价于 _A_。A、-(k+) B 、(-k)+ C 、-(k+1) D 、-(+k) 11. 在 C 语言程序中,在函数内部定义的变量称为_D_。A、全局变量B、全程变量C、外部变量D、内部变量12. 若 x 是整型变量,表达式(x=10.0/4.0) 的值是 _D_ 。A、2.5 B、2.0 C、 3 D、2 13. 对于以下的变量定义,表达式_A_是正确的。struct node char s10; int k; p4; A、p-k=2 B 、p0.s= “abc” C、p0-k=2 D 、p-s=a14. 下列运算符中

4、,优先级从高到低依次为_D_。A、& ,!,| B、 |,& ,! C、& ,|,! D 、 ! ,& ,| 15. 下列程序段的输出结果是_B_。int *p, *q, k = 1, j=10 ; p=&j; q = &k ; p = q ; (*p)+; printf(%d,*q); A、1 B、2 C、10 D、 11 16以下各选项企图说明一种新的类型名,其中正确的是水量(C)A) typedef v1 int; B) typedef v2=int; C) typedefv1 int v3; D) typedef v4: int; 17. 以下选项中,非法的字符常量是(C)名师资料总结

5、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 24 页 - - - - - - - - - A) tB) 17 C) “n” D) xaa18. 以下程序的输出结果是(C)main() int i, a10; for(i=9;i=0;i-) ai=10-i; printf( “%d%d%d ”,a2,a5,a8); A) 258 B) 741 C) 852 D) 369 19. 以下程序的输出结果是(B)main() char st20= “”; printf(%d %d n ”

6、,strlen(st),sizeof(st); A) 9 9 B) 5 20 C) 13 20 D) 20 20 20. 以下程序的输出结果是(D)main() int a, b; for(a=1, b=1; a=10) break; if (b%3= =1) b+=3; continue; printf( “%dn” ,a); A) 101 B) 6 C) 5 D) 4 21. 以下程序的输出结果是(D)union myun struct int x, y , z; u; int k; a; main() a.u.x=4; a.u.y=5; a.u.z=6; a.k=0; printf(%d

7、n ”,a.u.x); A) 4 B) 5 C) 6 D) 0 22. 以下程序段的输出结果是(A) char s=141141abct; printf (%dn,strlen(s); A) 9 B) 12 C) 13 D) 14 23. 以下程序的输出结果是(B) main() char ch35=AAAA,BBB,CC; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 24 页 - - - - - - - - - printf(%sn,ch1); A) AAAA B)

8、 BBB C) BBBCC D) CC 24. 不合法的 main 函数命令行参数表示形式是(C) A) main(int a,char *c) B) main(int arc,char *arv) C) main(int argc,char *argv) D) main(int argv,char *argc) 25. 有以下程序main() char *s=one,two,three,*p; p=s1; printf(%c,%sn,*(p+1),s0); 执行后输出结果是(C) A) n,two B) t,one C)w,one D) o,two 26. 设有如下说明typedef str

9、uct int n; char c; double x;STD; 则以下选项中,能正确定义结构体数组并赋初值的语句是(A) A) STD tt2=1,A,62,2, B,75; B) STD tt2=1,A,62,2, B,75; C) struct tt2=1,A,2, B; D)structtt2=1,A,62.5,2, B,75.0; 27. 若变量 c 为 char 类型,则能正确判断出c 为小写字母的表达式是(D ) 。A) a=c= a)|(c= z) C) (a=c) D) (c= a)&(c= A&ch,= Z)|(ch=a&ch0)y=1;else if(x=0)y=0;el

10、se y=-1;_。1 x0 y= 0 x=0 -1 x0 3. 表达式!5 的值是 _1_。4. 下列程序段的输出结果是_12_。printf(%xn, (0 x19 1) & 0 x17); 5. 下列程序段的输出结果是_ k=4 s=6_。int k, s; for(k=0, s=0; kk) break ; else s += k; printf(k=%d s=%d, k, s); 6. 下列程序段的输出结果是_15_。#define MIN(x,y) (x)(y)?(x) : (y) printf(%d,10*MIN(10,15); 名师资料总结 - - -精品资料欢迎下载 - -

11、- - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 24 页 - - - - - - - - - 7. 下列程序在运行时可能会出错,原因是_指针变量 s 未赋初值 _。# include void main( ) char *s; gets(s); puts(s); 8. 下列程序段的输出是_6 0_。# include int f(int m) static int k=0; int s=0; for(; k*s ) s=p; return(*s); main() int x5=12,21,13,6,18; printf(

12、%dn,findmax(x,5); 三、程序 (段)填空题1设变量x, y, z 已正确定义和赋值,请仔细阅读程序段,然后在程序段中填入正确的内容,使程序段和程序段有相同的功能。程序段 A 程序段 B x=x+y; y=x-y; x=x-y; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 24 页 - - - - - - - - - z=x+y; z=x ; x=y ; y=z; z=x+y; 2请仔细阅读函数f1,然后在函数f2 中填入正确的内容,使函数f1 和函数

13、f2 有相同的功能。char *f1(char s , char t) int k; for(k=0; tk!= ; k+) sk=tk; sk= ; return s; char *f2(char *s, char *t) char *p=s ; while( *p+ = *t+)!= ) ; return s ; = 一、单项选择题1. _D_ 是合法的用户自定义标识符。A、 b-b B、float C、 D、 _isw 2. 若变量已正确定义并赋值,表达式_B_不符合 C 语言语法。A、a*b/c; B 、 3.14%2 C、2, b D、a/b/c 3. _C_是不正确的字符常量。A、

14、n B、1 C、a D 、101 4. 在 C 程序中,用 _B_表示逻辑值“真” 。A、1 B、非0 的数C、非1 的数D、 大于0 的数5. _C_把 x、y 定义成 float 类型变量,并赋同一初值3.14。A、float x, y=3.14; B 、float x, y=2*3.14; C、float x=3.14, y=x=3.14; D、float x=y=3.14; 6. 若变量已正确定义,表达式_C_的值不是2。A、2&3 B 、1b) k=0; else k=1; ”和 _C_等价。A、k=(ab)?1:0; B 、k=ab; C、k=a=b; D 、apk B 、 *p.

15、pk C 、*p-pk D 、*x.pk 16. 有如下程序int runc(int a,int b) return(a+b); main0 int x=2,y=5,z=8,r; r=func(func(x,y),z); printf( “%dn”,r); 该程序的输出的结果是(D) A) 12 B) 13 C) 14 D) 15 17. 对于基类型相同的两个指针变量之间,不能进行的运算是(C) A) 2) return(fib(n-1)+fib(n-2); else return(2); main0 printf( “%dn”,fib(3); 该程序的输出结果是(B) A 2 B 4 C 6

16、 D 8 19. 有如下定义struct personchar name9; int age; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 24 页 - - - - - - - - - strict person class10= “Johu”, 17, “Paul”, 19 “Mary” , 18, “Adam 16,; 根据上述定义,能输出字母M 的语句是(D) A) prinft( “%cn ”,class3.mane); B) pfintf( “%cn ”,c

17、lass3.name1); C) prinft( “%cn”,class2.name1); D) printf( “%cn” ,class2.name0); 20. 以下所列的C 语言常量中,错误的是(B) A) 0 xFF B) 1.2e0.5 C) 2L D) 7221. 有以下程序段int k=0 while(k=1)k+; while 循环执行的次数是(A) A) 无限次B) 有语法错,不能执行C) 一次也不执行D) 执行 1 次22. 以下程序的输出结果是(C) A) 0 B) 29 C) 31 D) 无定值fun(int x, int y, int z) z=x*x+y*y; ma

18、in() int a=31; fun(5,2,a); printf( “%d”,a); 23. 下列程序段的输出结果是(A) A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2 void fun(int *x, int *y) printf( “%d %d”, *x, *y); *x=3; *y=4; main() int x=1,y=2; fun(&y,&x); printf( “%d %d”,x, y); 24. 当调用函数时,实参是一个数组名,则向函数传送的是(B) A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值2

19、5. 以下程序的输出结果是(A) A) 1 B) 2 C) 3 D) 4 long fun( int n) long s; if(n= =1 | n= =2) s=2; else s=n-fun(n-1); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 24 页 - - - - - - - - - return s; main() printf( “%ldn ”, fun(3); 26. 以下程序的输出结果是(B) A) 16 B) 2 C) 9 D) 1 #defin

20、e SQR(X) X*X main() int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf( “ dn”,a); 27. 以下函数返回a 所指数组中最小的值所在的下标值fun(int *a, int n) int i,j=0,p; p=j; for(i=j;iif(aireturn(p); 在下划线处应填入的是(D) A) i=p B) ap=ai C) p=j D) p=i 二、填空题1. 表示“ xyz”的 C 表达式是 _ x=y & y=z _。2. 下列程序段的输出是_1_。printf(%on, 01011); 3. 下列程序段的输出是

21、_6,90_。int k; float s; for (k=0, s=0; k 7; k +) s += k/2; printf(%d, %fn, k, s); 4. 下列程序段的输出是_5,25_。#define f(a, b, x) a*x+b printf(%d, %dn, f(3,2,1), f(6, 5, f(3, 2, 1); 5. 下列程序段的输出是_*#*#_ 。main() int k; for(k=1; k0) p=argvk; printf(%sn, p); 11. 下列程序调用swap 函数交换 a 和 b 的值,并输出交换后的a 和 b 的值。程序的输出结果是: Af

22、ter swap 5, 3 。void main( ) int a=3, b=5; swap( &a, &b ) ; printf(After swap %d, %d, a, b); swap( int *p, int *q ) int t; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 24 页 - - - - - - - - - t=*p; ; *p=*q ; *q=t ; 一、选择题((1)-(40) 题每题 1 分,(41)-(50) 题每题 2 分,共 60

23、分)下列各题A) 、 B)、C)、D) 四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1) 计算机的存储器完整的应包括A) 软盘、硬盘B) 磁盘、磁带、光盘C) 内存储器、外存储器D) RAM 、 ROM (2) 计算机中运算器的作用是A) 控制数据的输入/输出B) 控制主存与辅存间的数据交换C) 完成各种算术运算和逻辑运算D) 协调和指挥整个计算机系统的操作(3) 软磁盘处于写保护状态时,其中记录的信息A) 绝对不会丢失B) 不能被擦除,但能追加新信息C) 不能通过写磁盘操作被更新D) 不能以常规方式被删除,但可以通过操作系统的格式化功能被擦除(

24、4) 光盘根据基制造材料和记录信息的方式不同,一般可分为A) CD 、 VCD B) CD 、 VCD、DVD 、MP3 C) 只读光盘、可一次性写入光盘、可擦写光盘D) 数据盘、音频信息盘、视频信息盘(5) 在计算机系统中,可执行程序是A) 源代码B) 汇编语言代码C) 机器语言代码D) ASCII 码(6) 计算机软件系统包括A) 操作系统、网络软件B) 系统软件、应用软件C) 客户端应用软件、服务器端系统软件D) 操作系统、应用软件和网络软件(7) 目前,一台计算机要连入Internet,必须安装的硬件是A) 调制解调器或网卡B) 网络操作系统C) 网络查询工具D) WWW 浏览器(8)

25、 在多媒体计算机系统中,不能存储多媒体信息的是A) 光盘B) 磁盘C) 磁带D) 光缆(9) 要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是A) TYPE a*.* B) TYPE abc.exe C) TYPE pro.cPRN D) TYPE abc.txt (10) 下列更改文件名的命令中正确的是A) REN A:file1 C:F1 B) RENAME A: A:file1 C:F1 C) REN A:file1 F1 D) REN A:file1 SUBF1 (11) 已知 A 盘为 DOS 系统启动盘,只有A:DOS 下有自动批处理文件,其中内容为:CDDOS

26、MD USER CD USER 由 A 盘启动 DOS 系统后, A 盘的当前目录是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 24 页 - - - - - - - - - A) DOS B) DOSUSER C) D) USER (12) MS-DOS 是A) 分时操作系统B) 分布式操作系统C) 单用户、单任务操作系统D) 单用户、多任务操作系统(13) 在 Windows 操作系统中,不同文档之间互相复制信息需要借助于A) 剪切板B) 记事本C) 写字板D)

27、磁盘缓冲器(14) 在 Windows 操作系统中A) 同一时刻可以有多个活动窗口B) 同一时刻可以有多个应用程序在运行,但只有一个活动窗口C) 同一时刻只能有一个打开的窗口D) DOS 应用程序窗口与Windows 应用程序窗口不能同时打开着(15) 下列叙述中正确的是A) 所有 DOS 应用程序都可以在Windows 操作系统中正确运行B) 所有 DOS 应用程序都不能在Windows 操作系统中正确运行C) 大部分 DOS 应用程序可以在Windows 操作系统中正确运行D) 为 DOS5.0 以上版本操作系统编写的应用程序可以在Windows 操作系统中正确运行(16) 下列叙述中正确

28、的是A) C 语言编译时不检查语法B) C 语言的子程序有过程和函数两种C) C 语言的函数可以嵌套定义D) C 语言所有函数都是外部函数(17) 以下所列的C 语言常量中,错误的是A) 0 xFF B) 1.2e0.5 C) 2L D) 72 (18) 下列选项中,合法的C 语言关键字是A) VAR B) cher C) integer D) default (19) 以下变量x.、y、z 均为 double 类型且已正确赋值,不能正确表示数学式子的 C语言表达式是A) x/y*z B) x*(1/(y*z) C) x/y*1/z D) x/y/z (20) 若 a为 int 类型,且其值为

29、3,则执行完表达式a+=a-=a*a 后, a 的值是A) -3 B) 9 C) -12 D) 6 (21) 设 x、y、t 均为 int 型变量,则执行语句:x=y=3;t=+x|+y; 后, y 的值为A) 不定值B) 4 C) 3 D) 1 (22) 若变量已正确说明为float 类型,要通过语句scanf(%f %f %f ,&a,&b,&c);给 a 赋于 10.0,b 赋予 22.0,c 赋予 33.0,不正确的输入形式是:A) 10 B) 10.0,22.0,33.0 22 33 C) 10.0 D) 10 22 22.0 33.0 33 (23) 若执行以下程序时从键盘上输入9

30、,则输出结果是A) 11 B) 10 C) 9 D) 8 Main0 int n; scanf(%d,&n); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 24 页 - - - - - - - - - if(n+10) printf(%dn,n); else printf(%dn,n-); (24) 若 a、 b、c1、c2、x、y、均是整型变量,正确的switch 语句是A) swich(a+b); B) switch(a*a+b*b) case 1:y=a+b;

31、 break; case 3: case 0:y=a-b; break; case 1:y=a+b;break; case 3:y=b-a,break; C) switch a D) switch(a-b) case c1 :y=a-b; break default:y=a*b;break case c2: x=a*d; break case 3:case 4:x=a+b;break default:x=a+b; case 10:case 11:y=a-b;break; (25) 有以下程序段int k=0 while(k=1)k+; while 循环执行的次数是A) 无限次B) 有语法错,不

32、能执行C) 一次也不执行D) 执行 1 次(26) 以下程序执行后sum 的值是A)15 B)14 C) 不确定D)0 min() int i , sum; for(i=1;i6;i+) sum+=i; printf(%dn,sum); (27) 有以下程序段int x=3 do printf(%d,x-=2); while (!(-x); 其输出结果是A) 1 B) 3 0 C) 1 -2 D) 死循环(28) 若变量 c 为 char 类型,能正确判断出c 为小写字母的表达式是A) a=c= a)|(c= z) C) (a=c) D) (c= a)&(c= z) (29) 以下所列的各函数

33、首部中,正确的是A) void play(var :Integer,var b:Integer) B) void play(int a,b) C) void play(int a,int b) D) Sub play(a as integer,b as integer) (30) 以下程序的输出结果是A) 0 B) 29 C) 31 D) 无定值名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 24 页 - - - - - - - - - fun(int x, int y

34、, int z) z=x*x+y*y; main() int a=31; fun(5,2,a); printf(%d,a); (31) 下列程序段的输出结果是A) 2 1 4 3 B) 1 2 1 2 C) 1 2 3 4 D) 2 1 1 2 void fun(int *x, int *y) printf(%d %d, *x, *y); *x=3; *y=4; main() int x=1,y=2; fun(&y,&x); printf(%d %d,x, y); (32) 下列程序的输出结果是A) 非法B)a4的地址C)5 D)3 main() char a10=9,8,7,6,5,4,3,

35、2,1,0,*p=a+5; printf(%d,*-p); (33) 下列程序的运行结果是A) 6 3 B) 3 6 C) 编译出错D) 0 0 void fun(int *a, int *b) int *k; k=a; a=b; b=k; main() int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf(%d %d, a, b); (34) 下面程序的输出结果是A) 0 B) 1 C) 10 D) 9 main() int a =1,2,3,4,5,6,7,8,9,0,*p; p=a; printf(%dn,*p+9); (35) 当调用函数时,实参是一

36、个数组名,则向函数传送的是A) 数组的长度B) 数组的首地址C) 数组每一个元素的地址D) 数组每个元素中的值(36) 设有以下说明语句名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 24 页 - - - - - - - - - struct ex int x ; float y; char z ; example; 则下面的叙述中不正确的是A) struct 结构体类型的关键字B) example 是结构体类型名C) x,y,z 都是结构体成员名D) struct e

37、x 是结构体类型(37) 以下只有在使用时才为该类型变量分配内存的存储类说明是A) auto 和 static B) auto 和 register C) register 和 static D) extern 和 register (38) 若 fp 是指向某文件的指针,且已读到文件末尾,则库函数feof(fp) 的返回值是A) EOF B) 1 C) 非零值D) NULL (39) 以下程序的输出结果是A) 20 B) 21 C) 22 D )23 main() int i, k, a10, p3; k=5; for (i=0;i10;i+) ai =i; for (i=0;i3;i+)

38、pi =ai *(i+1); for (i=0;i3;i+) k+=pi *2; printf(%dn,k); (40) 以下程序的输出结果是A) 1,5,9 B) 1,4,7 C) 3,5,7 D )3,6,9 main() int i, x33=1,2,3,4,5,6,7,8,9; for(i=0;i3;i+) printf(%d,xi2-i); (41) 以下程序的输出结果是A) 18 B) 19 C) 20 D )21 main() int a33= 1,2,3,4,5,6 ,i,j,s=0; for(i=1;i3;i+) for(j=0;j=i;j+)s+=aij; printf(%

39、dn,s); (42) 以下程序的输出结果是A) ABCD B) ABCD C) EFG D) EFGH FGH EFG JK IJKL KL IJ O M main() char w10= ABCD,EFGH,IJKL,MNOP,k; for(k=1;k3;k+) printf(%sn,wk); (43) 当执行下面的程序时,如果输入ABC,则输出结果是名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 24 页 - - - - - - - - - A) ABC6789

40、B) ABC67 C) 12345ABC6 D) ABC456789 #include stdio.h #include string.h main() char ss10=1,2,3,4,5; gets(ss); strcat(ss, 6789); printf(%sn,ss); (44) 假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS 提示符下键入:PROG ABCDEFGH IJKL,则输出结果为A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGH main( int argc, char *a

41、rgv) while(-argc0) printf(%s,argvargc); printf(n); (45) 以下程序的输出结果是A) 1 B) 2 C) 3 D) 4 long fun( int n) long s; if(n= =1 | n= =2) s=2; else s=n-fun(n-1); return s; main() printf(%ldn, fun(3); (46) 以下程序的输出结果是A) 16 B) 2 C) 9 D) 1 #define SQR(X) X*X main() int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); print

42、f(dn,a); (47) 若定义了以下函数:void f( ,) ,*p=(double *)malloc( 10*sizeof( double); , p 是该函数的形参,要求通过p 把动态分配存储单元的地址传回主调函数,则形参p 的正确定义应当是A) double *p B) float *p C) double *p D) float *p (48) 以下程序的输出是A) 10 B) 11 C) 51 D) 60 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共

43、24 页 - - - - - - - - - struct st int x; int *y; *p; int dt4= 10,20,30,40 ; struct st aa4= 50,&dt0,60,&dt0,60,&dt0,60,&dt0,; main() p=aa; printf(%dn,+(p-x); (49) 假定建立了以下链表结构,指针p、q 分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是A) free(q); p-next=q-next; B) (*p).next=(*q).next; free(q); C) q=(*q).next; (*p).

44、next=q; free(q); D) q=q-next; p-next=q; p=p-next; free(p); (50) 以下程序的输出结果是A) 0 B) 1 C) 2 D) 3 main() int x=0.5; char z=a; printf(%dn, (x&1)&(zz) ); 二、填空题 (每空 2 分,共 40 分) 请将每一个空的正确答案写在答题卡【1】至【 20】序号的横线上,答在试卷上不得分。(1) 计算机机领域中,通常用英文单词Byte表示【】。(2) 在 DOS 环境下,自动批处理的文件名为【】。(3) 要将当前盘当前目录下所有扩展名为.TXT的文件内容在打印机上

45、打印输出,应使用的单条DOS 内部命令为【】。(4) 在 Windows 环境下,可以利用单击、双击、拖动这三种鼠标操作之一的【】操作实现窗口的移动。(5) 在 Windows 环境下,可以将窗口最小化为【】。(6) 以下程序的输出结果是【6】main() int a=1, b=2; a=a+b; b=a-b; a=a-b; printf(%d,%dn, a, b ); (7) 下列程序的输出结果是16.00,请填空。main() int a=9, b=2; float x= 【7】 , y=1.1,z; z=a/2+b*x/y+1/2; printf(%5.2fn, z ); (8) 用以下

46、语句调用库函数malloc,使字符指针st 指向具有11 个字节的动态存储空间,请填空。st=(char*) 【8】 ; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 24 页 - - - - - - - - - (9) 下列程序段的输出结果是【9】 。main() char b=Hello,you; b5=0; printf(%s n, b ); (10) 下列程序段的输出结果是【10】 。int n=c; switch(n+) default: printf(er

47、ror);break; case a:case A:case b:case B:printf(good);break;case c:case C:printf(pass); case d:case D:printf(warn); (11) 以下程序通过函数指针p 调用函数 fun,请在填空栏内,写出定义变量p 的语句。void fun(int *x,int *y) , main() int a=10,b=20; 【11】 ; /定义变 p */ p=fun; p(&a,&b); , (12) 下列程序的输出结果是【12】 。void fun(int *n) while( (*n)-); pri

48、ntf(%d,+(*n); main() int a=100; fun(&a); (13) 以下程序的输出结果是【13】 。main() int arr =30,25,20,15,10,5, *p=arr; p+; printf(%dn,*(p+3); (14) 以下程序用来输出结构体变量ex 所占存储单元的字节数,请填空。struct st char name20; double score; ; main() struct st ex; printf(ex size: %dn,sizeof( 【14】 ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - -

49、- - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 24 页 - - - - - - - - - (15) 下面程序把从终端读入的文本(用作为文本结束标志)输出到一个名为bi.dat的新文件中。请填空。#include stdio.h FILE *fp; char ch; if( (fp=fopen ( 【15】 ) )= = NULL)exit(0); while( (ch=getchar( ) !=) fputc (ch,fp); fclose(fp); (16) 若变量 n 中的值为24,则 prnt 函数共输出【16】 行,最后一行有【17】 个

50、数。void prnt(int n, int aa ) int i; for(i=1; i=n;i+) printf(%6d, aai); if( !(i%5) ) printf(n); printf(n); (17) 以下程序中, 主函数调用了LineMax 函数, 实现在 N 行 M 列的二维数组中,找出每一行上的最大值。请填空。#define N 3 #define M 4 void LineMax(int xNM) int i,j,p; for(i=0; i p=0; for(j=1; jif(xipprintf(The max value in line %d is %dn, i,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁