




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全国计算机等级考试二级C语言第12 16章复习 笔试题解析 2010年8月 2 2020 3 21 1 有以下定义和语句structworkers intnum charname 20 charc struct intday intmont intyear s structworkersw pw pw w 能给w中year成员赋1980的语句是A pw year 1980 B w year 1980 C pw year 1980 D w s year 1980 解析 结构变量w共有4个成员 w num w name w c w s其中s又是一个无名结构型的成员项 它的3个成员为 s day s mont s year故访问year成员的形式应为 w s year D LOGO 3 2020 3 21 Yoursitehere 2 有以下程序 includemain inta 2 b 2 c 2 prntf d n a a 程序运行后的输出是A 0B 1C 2D 3 解析 A LOGO 4 2020 3 21 位逻辑运算符的运算优先级都不相同 高低除 单目运算符 第二优先级 外的位逻辑运算符的运算优先级都低于关系运算符 运算规则如下 移位运算符 的运算优先级相同 低于算术运算符 高于关系运算符 LOGO 5 2020 3 21 Yoursitehere 3 有以下程序 include definePT3 5 defineS x PT x x mian inta 1 b 2 printf 4 1f n S a b 程序运行后输出的结果是A 14 0B 31 5C 7 5D 程序有错无输出结果 解析 宏展开时只是简单的将宏名所代表的 文本 按原样替换宏名 而不管替换 文本 是什么形式 替换后由编译程序去解释其正确性 如本题中的 3 5 与 PT x x 后的分号将作为替换内容 3 5 a b a b D LOGO 6 2020 3 21 4 有以下程序 includestructord intx y dt 2 1 2 3 4 main structord p dt printf d p x printf d n p y 程序的运行结果是A 1 2B 2 3C 3 4D 4 1 这是一个整体 访问的是dt 0 x p x等价于 p x 解析 B LOGO 7 2020 3 21 includestructord intx y dt 2 1 2 3 4 main structord p dt printf d p x printf d n p y 先取p x的内容 然后再使p的内容加1 使其指向dt 1 解析 但若把上述题目改成为 程序的运行结果是 1 5 LOGO 8 2020 3 21 Yoursitehere 5 设有宏定义 includeIsDIV k n k n 1 1 0 且变量m已正确定义并赋值 则宏调用 IsDIV m 5 IsDIV m 7 为真时所要表达的是A 判断m是否能被5或者7整除B 判断m是否能被5和7整除C 判断m被5或者7整除是否余1D 判断m被5和7整除是否余1 m 5 1 1 0 m 7 1 1 0 替换成 解析 要使该表达式为真则 两边的表达式都必须为真 即m 5 1m 7 1都成立 D LOGO 9 2020 3 21 Yoursitehere 6 有以下程序 includemain inta 5 b 1 t t a 2 b printf d n t 程序运行后的输出结果是A 21B 11C 6D 1 解析 A LOGO 10 2020 3 21 Yoursitehere 7 有以下程序 includemain FILE f f fopen filea txt w fprintf f abc fclose f 若文本文件filea txt中原有内容为 hello 则运行上面的程序后 文件filea txt中的内容为A helloabcB abcloC abcD abchello 解析 以 w 存取方式打开文件时总是先删除指定文件 若文件存在 然后再建立该文件 空文件 打开后 文件读写位置指针被定位于文件的开始 C LOGO 11 2020 3 21 Yoursitehere 8 以下程序运行后的输出结果是 includemain intk 1 s 0 do if k skk 2 0010 00 00010 000010 00100 0010此时判断 k 2 0为真 执行continue 即直接去判断while后的循环条件 k 10 结果为假 结束循环 解析 S 1 LOGO 12 2020 3 21 Yoursitehere 9 以下程序用来判断指定文件是否能正常打开 请填空 includemain FILE fp if fp fopen test txt r printf 未能打开文件 n elseprintf 文件打开成功 n 解析 当文件成功打开 fopen函数将返回FILE型的指针 一定是一个非0值 当打开文件不成功时 fopen函数将返回NULL即0 NULL或0 LOGO 13 2020 3 21 Yoursitehere 10 下列程序的运行结果为 include includestructA inta charb 10 doublec voidf structA t main structAa 1001 ZhangDa 1098 0 f 1001 ChangRong 1098 0 解析 LOGO 14 2020 3 21 Yoursitehere 11 以下程序把三个NODETYPE型的变量链接成一个简单的链表 并在while循环中输出链表结点数据域中的数据 请填空 includestructnode intdata structnode next typedefstructnodeNODETYPE main NODETYPEa b c h p a data 10 b data 20 c data 30 h p p next 解析 LOGO 15 2020 3 21 Yoursitehere 12 有以下程序 include definef x x x xmain inta 3 s t s f a 1 t f a 1 printf d d s t 程序运行后的输出结果是A 10 64B 10 10C 64 10D 64 64 解析 s f a 1 s a 1 a 1 a 1 s 3 1 3 1 3 1 计算后s的内容为10 t f a 1 t a 1 a 1 a 1 t 3 1 3 1 3 1 计算后t的内容为64 A 替换成 替换成 LOGO 16 2020 3 21 Yoursitehere 13 下面结构体的定义语句中 错误的是A structord intx inty intz structorda B structord intx inty intz structorda C structord intx inty intz a D struct intx inty intz a 定义了structord类型及structord型变量a 定义了structord类型 但在定义结构类型的同时只要在最后的 给出及变量名 错误 定义了structord类型及structord型变量a 定义了无名结构类型及其结构型变量a B LOGO 17 2020 3 21 Yoursitehere 14 有以下程序 include includestructA inta charb 10 doublec structAf structAt main structAa 1001 ZhangDa 1098 0 a f a printf d s 6 1f n a a a b a c structAf structAt t a 1002 strcpy t b ChangRong t c 1200 0 returnt 程序运行后的输出结果是A 1001 ZhangDa 1098 0B 1002 ZhangDa 1200 0C 1001 ChangRong 1098 0D 1002 ChangRong 1200 0 D 解析 LOGO 18 2020 3 21 解析 f函数中形参t main函数中变量a 执行f函数后的形参t 接收f函数返值后的main函数中变量a LOGO 19 2020 3 21 B 文件由结构序列组成 可以构成二进制文件或文本文件ehere 15 下列关于C语言文件的叙述中正确的是 A 文件由一系列数据一次排列组成 只能构成二进制文件 C 文件由数据序列组成 可以构成二进制文本或文本文件 D 文件由字符序列组成 其类型只能是文本文件 还可以是文本文件 C语言文件是流式文件 是字符或字节的序列 组成时没有格式结构 还可以是二进制文件 正确的概念 C LOGO 20 2020 3 21 Yoursitehere 16 设有定义sturctperson intID charname 12 p 请将scanf d 语句补充完整 使其能够为结构体变量p的成员ID正确读入数据 p ID 但若把问题改成 请将scanf s 语句补充完整 将一个字符串读入到结构体变量p的成员name中 p name 若把问题再改成 请将scanf c 语句补充完整 将一个字符读入到结构体变量p的成员name 2 中 p name 2 LOGO 21 2020 3 21 Yoursitehere 17 有以下程序 includetypedefstruct intnum doubles REC voidfun1 RECx x num 23 x s 88 5 main RECa 16 90 5 fun1 a printf d n a num 程序运行后的输出结果是 两个函数间传递结构变量 被调函数中对结构型形参成员的任何修改都不会影响对应的实参成员的值 main中的a fun1中的x fun1对x修改 16 LOGO 22 2020 3 21 Yoursitehere 18 以下叙述中错误的是A 程序中凡是有 开始的语句行都是预处理命令行B 预处理命令行的最后不能以分号表示结束C defineMAX是合法的预处理命令行D C程序对预处理命令行的处理是在程序的执行过程中进行的 预处理命令行总是以 开始 正确 预处理命令行总是以回车换行结束 正确 宏名后可以为空 此时宏名表示一个空格 正确 预处理命令行是在编译前处理的 错误 D LOGO 23 2020 3 21 Yoursitehere 19 以下结构类型说明和变量定义中正确的是A typedefstruct intn charc REC RECt1 t2 B structREC intn charc C typedefstructREC intn 0 charc A t1 t2 D struct intn charc REC RECt1 t2 这里REC是类型名 可以用来定义变量 正确 这里 structREC 语法错 多了一个分号 错误 这里 typedefstructREC 语法错 多了一个分号 错误 这里REC是变量名 不可以用来定义变量 错误 A LOGO 24 2020 3 21 Yoursitehere 20 在C语言中只有在使用时才占用内存单元的变量 其存储类型是A auto和registerB extern和registerC auto和staticD static和register 解析 在C语言中 外部对象与static型的局部对象的存储空间分配是在编译阶段进行的 而auto和register型的对象 一定是局部对象 的存储存储空间分配是在运行阶段进行的 A LOGO 25 2020 3 21 Yoursitehere 21 若变量a中的数据用二进制表示的形式是01011101 变量b中的数据用二进制表示的形式是11110000 若要求将变量a的高4位取反 低4位不变 要执行的运算是A a bB a bC a bD a 4 A 解析 LOGO 26 2020 3 21 Yoursitehere 22 有以下程序 include includetypedefstruct charname 9 charsex floatscore 2 STU voidf STUa STUb zhao m 85 0 90 0 inti strcpy a name b name a sex b sex for i 0 i 2 i a score i b score i main STUc qian f 95 0 92 0 f c printf s c 2 0f 2 0f n c name c sex c score 0 c score 1 程序的输出结果是Qian f 95 92B Qian m 85 90C Zhao f 95 92D Zhao m 85 90 解析 当输出数据的宽度 2时 宽度指示无效 A LOGO 27 2020 3 21 解析 f函数中形参a main函数中变量c 执行f函数后的形参a f函数中变量b 执行f时b的成员赋给a LOGO 28 2020 3 21 Yoursitehere 23 有以下程序 includemain FILE fp inta 10 1 2 3 i n fp fopen d1 dat w for i 0 i 3 i fprintf fp d a i fprintf fp n fclose fp fp fopen d1 dat r fscanf fp d 程序的运行结果是A 12300B 123C 1D 321 解析 程序中的for循环语句连续向文件d1 dat中写了1 2 3三个数据 中间没有空格 最后写了一个 n d1 dat中的内容是 123 d1 dat文件 B LOGO 29 2020 3 21 24 以下程序从名为filea dat的文本文件中逐个读入字符并显示在屏幕上 请填空 includemain FILE fp charch fp fopen ch fgetc fp while feof fp putchar ch ch fgetc fp putchar n fclose fp 解析 按题义提供给fopen函数的两个实参应为 filea dat 文件名 r 存取方式 filea dat r LOGO 30 2020 3 21 常用的文件存取方式 LOGO 31 2020 3 21 25 以下关于宏的叙述中正确的是A 宏名必须用大写字母表示B 宏定义必须位于源程序中所有语句之前C 宏替换没有数据类型限制D 宏调用比函数调用耗费时间 宏名不必须大写 也可以小写和大小写混合 宏定义可以位于源程序中的任何行 只有参数个数 顺序 无数据类型的一致性问题 宏调用只有替换问题 无参数一致性检查 传递 保存 返回 程序控制转移问题 耗费时间 C LOGO 32 2020 3 21 26 有以下程序 include includeintfun intn int p p int malloc sizeof int p n return p main inta a fun 10 printf d n a fun 10 程序的运行结果是A 0B 10C 20D 出错 解析 fun中为p分配指向的存储空间是因为下面的 p n 要向p指向的位置存放数据n 而当p尚未指向一个对象时 当前指向的位置不定 不应利用它间接存取数据 C Malloc函数成功分配空间后 只返回无基类型的void型指针 因此需要强制转换 LOGO 33 2020 3 21 27 有以下程序 includestructst intx y data 2 1 10 2 20 main structst p data printf d p y printf d p x 程序的运行结果是A 10 1B 20 1C 10 2D 20 2 C 解析 外部数组 由程序的函数共享 p两边的括号指出先把p 1 若没有该括号 则是把p x的值 1 指针才可以用 访问成员 LOGO 34 2020 3 21 28 有以下程序 includemain structSTU charname 9 charsex doublescore 2 structSTUa zhao m 85 0 90 0 b qian f 95 0 92 0 b a printf s c 2 0f 2 0f n b name b sex b score 0 b score 1 程序的输出结果是A qian f 95 92B qian m 85 90C zhao f 95 92D zhao m 85 90 D 解析 结构变量b 结构变量a 结构变量b 执行b a 后 LOGO 35 2020 3 21 29 假定已建立以下的链表结构 且指针p和q已指向如图所示的结点 则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是A p next q next free p B p q next free q C p q free q D p next q next free q 解析 D LOGO 36 2020 3 21 解析 将q所指结点从链表中删除 只要将q next的值存储到p next 即执行 p next q next 然后再执行 tree q LOGO 37 2020 3 21 30 有以下程序 includemain chara 4 printf d n a a 1 程序的运行结果是A 40B 16C 8D 4 C 解析 LOGO 38 2020 3 21 31 有以下程序 includemain FILE pf char s1 China s2 Beijing pf fopen abc dat wb fwrite s2 7 1 pf rewind pf fwrite s1 5 1 pf fclose pf 以上程序执行后abc dat文件的内容是A ChinaB ChinangC ChinaBeijingD BeijingChina B wb 方式打开文件 数据以内存的存储形式写入文件 可读写 更新文件 从s2位置开始将1个数据 7个字节 写入文件pf 定位到文件开头 文件变化状态 LOGO 39 2020 3 21 文件的变化状态 开始时 执行fwrite s2 7 1 pf 后 执行rewind pf 后 执行fwrite s1 5 1 pf 后 LOGO 40 2020 3 21 32 若程序中有宏定义行 defineN100则以下叙述中正确的是A 宏定义行中定义了标识符N的值为整数100B 在编译程序对C源程序进行预处理时用100替换标识符NC 对C源程序进行编译时用100替换标识符ND 在运行时用100替换标识符N 宏名无值的概念 源程序中宏名是在预处理时被替换的 预处理在编译之前进行 预处理在编译之前进行 B LOGO 41 2020 3 21 33 以下关于typedef的叙述错误的是A 用typedef可以增加新类型B typedef只是将已存在的类型用一个新的名字来代表C 用typedef可以为各种类型说明一个新名 但不能用来为变量说明一个新名D 用typedef为类型说明一个新名 通常可以增加程序的可读性 typedef只用来为已有的类型取一个新名字 A LOGO 42 2020 3 21 34 有以下程序 includestructtt intx structtt y p structtta 4 20 a 1 15 a 2 30 a 3 17 a main inti p a for i 1 ix p p y 程序的运行结果是A 20 30 B 30 17 C 15 30 D 20 15 D LOGO 43 2020 3 21 35 设有以下定义uniondata intd1 floatd2 demo 则下面叙述中错误的是A 变量demo中各成员的地址相同B 变量demo和各成员的地址相同C 变量demo与成员d2所占的内存字节数相同D 若给demo d1赋99后 demo d2中的值是99 0 D C编译程序将把前两个字节按int型数解释 而把全部四个字节按float型数解释 解析 LOGO 44 2020 3 21 36 有以下程序 includemain inta 1 b 2 c 3 x x a b 程序的运行结果是A 0B 1C 2D 3 解析 D LOGO 45 2020 3 21 37 读取二进制文件的函数调用形式为 fread buffer size count fp 其中buffer代表的是A 一个文件指针 指向待读取的文件B 一个整型变量 代表待读取的数据的字节数C 一个内存块的首地址 代表读入数据存放的地址D 一个内存块的字节数 fread buffer size count fp 读文件指针 读数据项的个数 每个读入数据的长度 字节为单位 读入的数据存放处 地址量 解析 C LOGO 46 2020 3 21 38 有以下程序 includemain FILE fp inta 10 1 2 3 0 0 i fp fopen d2 dat wb fwrite a sizeof int 5 fp fwrite a sizeof int 5 fp fclose fp fp fopen d2 dat rb fread a sizeof int 10 fp fclose fp for i 0 i 10 i printf d a i 程序的运行结果是A 1 2 3 0 0 0 0 0 0 0 B 1 2 3 1 2 3 0 0 0 0 C 123 0 0 0 0 123 0 0 0 0 D 1 2 3 0 0 1 2 3 0 0 原始数组a 执行fread后的数组a 解析 D LOGO 47 2020 3 21 d2 dat文件的变化情况 执行fopen d2 dat wb 后 00000000000000010000000000000010000000000000001100000000000000000000000000000000 执行第二次fwrite a sizeof int 5 fp 写操作后 执行第一次fwrite a sizeof int 5 fp 写操作后 0000000000000001000000000000001000000000000000110000000000000000000000000000000000000000000000010000000000000010000000000000001100000000000000000000000000000000 执行fopen d2 dat rb 打开读操作后 0000000000000001000000000000001000000000000000110000000000000000000000000000000000000000000000010000000000000010000000000000001100000000000000000000000000000000 执行fread a sizeof int 10 fp 读操作后 0000000000000001000000000000001000000000000000110000000000000000000000000000000000000000000000010000000000000010000000000000001100000000000000000000000000000000 LOGO 48 2020 3 21 39 以下程序的输出结果是 include defineM5 defineNM Mmain intk k N N 5 printf d n k k N N 5 k M M M M 5 k 5 5 5 5 5 解析 55 LOGO 49 2020 3 21 40 若min函数的功能是在带头结点的单链表中查找数据域中值最小的结点 请填空 includestructnode intdata structnode next intmin structnode first first为链表头指针 structnode p intm p first m p data for p NULL p if p datadata returnm 若链表如下 LOGO 50 2020 3 21 41 有以下程序 include defineN5 defineMN 1 definef x x M main inti1 i2 i1 f 2 i2 f 1 1 printf d d n i1 i2 程序的输出结果是A 1212B 117C 1111D 127 i1 f 2 i1 2 M i1 2 5 1 i1 2 N 1 i2 f 1 1 i2 1 1 M i2 1 1 N 1 i2 1 1 5 1 B 解析 LOGO 51 2020 3 21 42 设有以下语句typedefstructTT charc inta 4 CIN 则下面叙述中正确的是A 可以用TT定义结构体变量B TT是struct类型的变量C 可以用CIN定义结构体变量D CIN是struct类型的变量 用typedef为一个类型取一个新名 在这之前原类型必须存在 CIN是结构类型名 而不是结构变量名 CIN相当于数据类型关键字 可用于定义变量 若TT先前已定义 则是结构名 而不是结构变量名 C LOGO 52 2020 3 21 43 有以下结构体说明 变量定义和赋值语句structSTD c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年策划融资合作实施协议范本
- 事业单位房屋资源共享的模式创新
- 筹资源支持提振消费未来展望及发展趋势
- 加强产业融合促进区域经济新动能
- 国庆节主题班会851
- 区域影视品牌建设与全球化视野下的机遇
- 生态环境与农村资源循环利用的平衡
- 创新驱动保险未来
- 主动脉瘤常规护理
- 硕士论文答辩攻略
- 浙江开放大学2025年《社区治理》终考测试答案
- 田亩转户协议书
- 2025年商业伦理与社会责任认识考试试卷及答案
- 资产委托购买协议书
- 汽车电工电子基础教学大纲
- 新版高中物理必做实验目录及器材-(电子版)
- 中国法律史-第二次平时作业-国开-参考资料
- 高分子材料成型加工基础添加剂及配方设计课件
- 建筑劳务挂靠协议2018参考
- Revit基础入门课件(PPT 126页)
- 剑桥国际少儿英语第一册文本kb1听力
评论
0/150
提交评论