欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOCX文档下载
 

二级C笔试考试题库(2011

  • 资源ID:220208792       资源大小:34.35KB        全文页数:12页
  • 资源格式: DOCX        下载积分:12积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要12积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

二级C笔试考试题库(2011

列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对【解析】栈是限定在一端进行插入与删除的特殊线性表。允许进行插入和删除操作的一端称 为栈顶(t op),另一端为栈底(bo tt om);栈底固定,而栈顶浮动。栈按照后进先出的原则存 储数据,先进入的数据被压入栈底,最后进入的数据在栈顶,需要读数据时从栈顶开始弹出 数据(最后一个进入数据被第一个读出来)。所以栈顶的元素最先被删除,本题答案为A)。 下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构【解析】线性结构指的是数据元素之间存在着"一对一"线性关系的数据结构,这样的结构中 只有一个根结点,如循环链表和双向链表;非线性结构指的是数据元素之间存在着"一对多" 非线性关系的数据结构,这样的结构中可能有一个根结点,如树形结构,也可能有多个根结 点,如网状结构。故本题答案为B)。某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4C)6D)7【解析】叶子结点个数=度为2的结点个数+1,在此题中叶子结点个数为1,说明度为2的结 点数为0,即二叉树中不存在度为2的结点,只有度为1的结点和叶子结点,那么此二叉树就 是一棵单支树,树中结点个数即为树的深度,所以答案为D)。在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书【解析】软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的的重要文档,故 本题答案为D)。结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构【解析】结构化程序设计方法主要由以下三种逻辑结构组成:1)顺序结构:顺序结构是一种 线性、有序的结构,它依次执行各语句模块; 2)循环(重复)结构:循环结构是重复执行一 个或几个模块,直到满足某一条件为止; 3)选择(分支)结构:选择结构是根据条件成立与 否选择程序执行的通路。故本题答案为B)。下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具【解析】系统总体结构支持软件系统的概要设计,其他选项均正确。故本题答案选A)。 负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言【解析】数据库中有三种主要程序设计语言类别的语句:数据定义语言DDL),数据操作语 言(DML)及数据控制语言(DCL)。其中数据操作语言主要负责数据的插入、删除、查询、修 改等操作,故答案为c。一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是A)l:l联系 B)l:m联系C)m:l联系 D)m:n联系【解析】两个实体间的联系可分为3种类型:一对一联系、一对多联系、多对多联系。在本 题中一位教师可讲授多门课程,一门课程可由多位教师讲授,属于多对多联系。故本题答案 为D)。有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并【解析】在关系代数中,除法运算可理解为笛卡尔积的逆运算。设被除关系R为m元关系, 除关系S为n元关系,那么它们的商为m-n元关系,记为RFS。商的构成原则是:将被除关系 R中的m-n列,按其值分成若干组,检查每一组的n列值的集合是否包含除关系S,若包含则 取m-n列的值作为商的一个元组,否则不取。故本题答案为C)。定义无符号整数类为Uln t,下面可以作为类Uln t实例化值的是A)-369 B)369C)0.369D)整数集合1,2,3,4,5【解析】无符号整型unsigned int,占16位,范围是065535。故本题答案为B)。 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对【解析】解释程序是将源程序(如BASIC )作为输入,解释一句后就提交计算机执行一句,并 不形成目标程序。编译程序是把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为 输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机执行这个目标程序,得 到计算结果。以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件【解析】C语言的可执行程序是由一系列机器指令组成的,用C语言编写的源程序必须经过编译生成二进制目标代码,再经过连接才能运行,并且可以脱离:语言集成开发环境。故答案为D)。以下选项中不能用作C程序合法常量的是A) 1,234B) '123'C)123D)"x7G"【解析】常量是在程序运行过程中,其值不能被改变的量。常量类型包括:整型常量、实例 常量、字符常量、字符串常量和符号常量。B)选项为字符常量,表示八进制数123代表的 ASCII字符;C)选项为整型常量;D)选项为字符串常量。以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2 C)E9D)9.12E【解析】浮点型常量有十进制小数形式和指数形式。指数形式要求字母e (或者E)之前必 须有数字,且e后面的指数必须为整数。B)、C)、D)都是不合法的指数形式,故答案为A)。 若有定义语句:int a=3,b=2, c=l;,以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+1; C)a=(b=4)+c;D)a=1+(b=c=4);【解析】在A)选项中,赋值语句b=4先把4赋值给整型变量b,之后执行(b=4)=3是把常量3 赋值给常量4,但是由于C语言规定赋值运算符的左侧只能是变量,不能是常量或者表达式, 因此A)选项错误。有以下程序段char name20; int num;scanf("name=%s num=%d", name, &num);当执行上述程序段,并从键盘输入:name=Lili num=1001回车后,name的值为A)LiliB)name=LiliC)Lili num= D)name=Lili num=1001解析】scanf ()函数规定,如果在格式控制字串中除了格式说明以外还有其他字符,则在 输入数据时应输入与这些字符相同的字符,如题干中的"name二"和"n um="。在输入过程中遇 到空格、回车或跳格键时认为输入结束,这些字符称为"间隔符"。if语句的基本形式是:if(表达式)语句,以下关于表达式值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值【解析】if语句中的表达式可以是逻辑值也可以是任意合法的数值,表达式的运算结果为非 0(真)或者0(假)。有以下程序#includestdio.hmain() int x=011; printf("%dn", +x);程序运行后的输出结果是A)12B)11C)10D)9【解析】x=011表示把八进制的11赋值给变量X,因此x的值为十进制的9,程序运行的结果输 出变量x自加运算后的十进制值,即10。有以下程序#includestdio.hmain() int s;scanf("%d", &s);while(s>0) switch(s) case 1: printf("%d", s+5);case 2:printf("%d",s+4);break;case 3:printf("%d",s+3); default:printf("%d",s+1);break; scanf("%d",&s);运行时,若输入123450<回车>,则输出结果是A)6566456 B)66656 C)66666 D)6666656【解析switch语句执行完一个case后面的语句后,流程控制转移到下一个case语句继续执行, 遇到break会跳出本次循环。本题中输入1时会输出65,输入2时会输出6,输入3时会输出64, 输入4时会输出5,输入5时会输出6,在输入0时不满足循环条件,程序执行结束。有以下程序段int i, n;for(i=0;i<8;i+) n=rand()%5;switch(n) case 1:case 3:printf("%dn", n);break;case 2:case 4:printf("%dn", n);continue;case 0: exit(0);printf("%dn", n);以下关于程序段执行情况的叙述,正确的是A) for循环语句固定执行8次B) 当产生的随机数n为4时结束循环操作C) 当产生的随机数n为1和2时不做任何操作D) 当产生的随机数n为0时结束程序运行【解析】当产生的随机数n为1或2时,由于没有遇至Obreak,因此程序将分别顺序执行case 3 与case 4;当n为3时,程序输出n的值后跳出switch语句;当n为4时,程序输出n的值后将继 续执行下一次循环;当n为0时,程序执行exit函数结束运行。有以下程序#include<stdio.h>main() char s="012xy08s34f4w2";int i, n=0;for(i=0; si!=0; i+)if(si>='0'&& si<='9')n+;printf("%dn", n) ;程序运行后的输出结果是A)0 B)3 C)7 D)8【解析】本题的程序是要统计字符串s中数字的个数,其中前三个字符满足选择条件,此时! 为3,然后遇到字符0',这个转义字符表示值为0的空字符NULL,此时循环条件不满足,因 此循环结束。若i和k都是int类型变量,有以下for语句for(i=0, k=-1;k=1;k+)printf("*n"); 下面关于语句执行情况的叙述中正确的是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环【解析】本题程序中,for循环的循环条件是k=l,这个语句是赋值语句总是正确的,因此循 环条件将一直满足,构成一个无限循环。有以下程序#include<stdio.h>main() char b, c; int i ;b='a'; c='A';for(i=0;i<6;i+) if(i%2)putchar(i+b);else putchar(i+c); printf("n");程序运行后的输出结果是A)ABCDEFB)AbCdEfC)aBcDeFD)abcdef【解析】本题中当变量i取值为0、2、4时,i可以被2整除,程序执行putchar(i+c),分别输 出ACE;当变量i取值为1、3、5时,2除i的余数不为0,因此程序执行putchar(i+b),分别输 出bdf。所以最终输出AbCdEf。设有定义:double x 10, *p=x;,以下能给数组x下标为6的元素读入数据的正确语句是 A)scanf("%f", &x6);B)scanf("%lf", *(x+6);C)scanf("%lf", p+6);D)scanf("%lf", p6 );【解析】本题中定义了数组x和指向数组首元素的指针p,因此可以用x 6的地址或者p指 针偏移6个单位来定位数组下标为6的元素。另外,由于数组x的元素类型为double型,因此 输入的格式控制符应为lf。有以下程序(说明:字母A的ASCI l码值是65)#include<stdio.h>void fun(char *s) while(*s) if(*s%2)printf("%c", *s);s+;main() char a ="BYTE";fun(a);printf("n"); 程序运行后的输出结果是 A)BY B)BT C)YT D)YE【解析】本题中调用函数fun(),可以输出字符串中ASCII码值为奇数的字符,字符串"BYTE" 中各字符的ASCII码分别为66、89、84和69,因此最终输出YE。有以下程序段#include<stdio.h>main()while(getchar()!='n'); 以下叙述中正确的是A) 此while语句将无限循环B) ge tchar ()不可以出现在while语句的条件表达式中C) 当执行此while语句时,只有按回车键程序才能继续执行D) 当执行此while语句时,按任意键程序就能继续执行【解析】本题中while循环条件为getchar()!='n',如果不按下回车键,则循环条件getchar()!='n' 一直成立,形成一个空循环;如果按下回车键,则循环条件不成立使循环结束,程序继续执 行。有以下程序#include<stdio.h>main() int x=1, y=0; if(!x)y+; else if(x=0)if(x)y+=2;else y+=3; printf("%dn", y);程序运行后的输出结果是A)3B)2C)1D)0【解析】根据在if-else语句中,else总是和最近的if配对的原则,本题中层次关系是:if (!x) 与else if(x=0)是一组,在最外层。而if(x)与else是一组,位于else if(x=0)条件的内层。据此 所有条件均不成立,所以y未进行任何操作,仍为0。若有定义语句:char s 3 10, (*k) 3, *p;,则以下赋值语句正确的是A)p=s;B)p=k;C)p=s0;D)k=s;【解析】A)选项中p=s将二维数组赋值给指向字符的指针;B)选项中p=k将指向一维数组 的指针赋值给指向字符的指针;D)选项中k=s将二维数组赋值给一维数组,因此上述赋值 语句均不正确。C)选项p=s 0是把一维数组的首地址赋值给p指针。有以下程序#include<stdio.h>void fun(char *c) while(*c) if(*c>='a ' &&*c<='z ') *c=*c-('a'- 'A '); c+;main() char s 81;gets(s); fun(s);puts(s);当执行程序时从键盘上输入Hello Beijing回车> 则程序的输出结果是A)hello BeijingB)Hello BeijingC)HELLO BEIJINGD)hELLO Beijing【解析】本题中调用gets()函数输入字符串,然后调用fun()函数,用*c=*c-('a'-'A')实现把输入 字符串中的小写字母转化为对应大写字母,最后调用puts()函数输出字符串。 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。#includestdio.h>#define N 10void fun(int xN) int i=0;while(iN)scanf("%d", );在程序中下划线处应填入的是A)x+iB)&xi+1C)x+(i+)D)&x+i 【解析】本题中A)选项x+i只能为x 0赋值,B)选项&x i+1只能为x 1赋值,两者 均不能为数组中的元素循环赋值;D)选项可以实现循环赋值,但是不能为x 0赋值。 有以下程序#includestdio.h>main() char a30, b30;scanf("%s", a);gets(b);printf("%sn%sn", a,b);程序运行时若输入:how are you? I am fine 回车> 则输出结果是A) how are you?I am fineB) howare you? I am fineC) how are you? I am fineD) how are you?解析】scanf函数会把空格字符作为输入的字符串之间的分隔符,因此字符串a为"how"。gets() 函数读取字符串时,直至接受到换行符或EOF时才停止,并将读取的结果存放在指针所指向 的字符数组中,因此其余输入的内容赋值给b。设有如下函数定义int fun(int k) if(k<1) return 0;else if(k=1)return 1;else return fun(k-1)+1;若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是A)2B)3C)4D)5【解析】执行fun(3)语句时会返回fun(3-l)+l,即fun(2)+l;执行fun时会返回fun(2-l)+l, 即fun(l)+l;执行fun(l)时会返回1,所以一共执行fun函数为3次。有以下程序#include<stdio.h>int fun(int x, int y) if(x!=y) return(x+y)/2) ;else return(x) ;main() int a=4, b=5, c=6;printf("%dn", fun(2*a, fun(b, c) ;程序运行后的输出结果是A)3B)6C)8D)12【解析】本题中对函数fun()进行了嵌套的调用。首先调用fun(5,6),返回值为5, 2*a的值为8, 然后调用fun(8,5),最终输出值为6。有以下程序#include<stdio.h>int fun() static int x=1;x*=2;return x;main() int i, s=1;for(i=1; i<=3; i+) s*=fun() ;printf("%dn", s) ;程序运行后的输出结果是A)0B)10C)30D)64【解析】静态局部变量只在定义它的函数内有效,程序仅为其分配一次内存,调用函数返回 后,该变量仍然保存上次的结果值。本题中第一次for循环后x值为2, s值为2;第二次循环 后x值为4, s值为8;第三次循环后x值为8, s值为64。有以下程序#include<stdio.h>#define S(x) 4*(x)*x+1main() int k=5, j=2;printf("%dn",S(k+3);程序运行后的输出结果是A)197 B)143 C)33 D)28【解析】宏定义又称为宏代换,格式为#define标识符字符串,其中的标识符就是所谓 的符号常量,也称为"宏名",宏的预处理工作也叫做宏展开,即将宏名替换为字符串。本题 中把S(k+j)替换成4*(k+j)*k+j+l,计算结果为143。设有定义:struct char mark 12; int numl; double num2; t 1, t2;, 若变量均已正确 赋初值,则以下语句中错误的是A)t1=t2;B)t2.num1=t1.num1;C)t2.mark=t1.mark;D)t2num2=t1.num2;【解析】字符串赋值不能通过指针来简单赋值。结构体可以进行整体的赋值。有以下程序#include<stdio.h>struct ord int x, y; dt2 =1, 2, 3, 4;main()struct ord*p=dt;printf("%d,",+(p->x); printf("%dn",+(p->y);程序运行后的输出结果是A)1,2B)4,lC)3,4D)2,3【解析】本题中定义了一个结构体数组dt 2,其中dt 0 .x=1, dt 0 .y=2, dt 1 .x=3, dt 1 .y=4。在main函数中指针p指向了结构体数组的第一个元素,因此p->x值为1, p->y 值为2,自加运算的结果分别为2和3。有以下程序#include<stdio.h>struct S int a, b; data2 =10,100,20,200;main() struct S p=data1;printf("%dn", +(p.a);程序运行后的输出结果是A)10 B)11 C)20 D)21【解析】本题中定义了一个结构体数组data 2,其中data 0 .a=10, data 0 .b=100, data 1 .a=20, data 1 .b=200。在main函数中结构体数组的第2个元素data 1赋值给p, 即p指向结构体数组的第2个元素,因此p.a的值为20,进行自加运算后结果为21。有以下程序#include<stdio.h>main() unsigned char a=8,c ;c=a>>3;printf("%dn",c);程序运行后的输出结果是A)32 B)16 C)1 D)0【解析】本题中将8赋值给字符变量a,贝Ija的二进制为"00001000", a>>3的位运算是把a向右 移动三位,结果为"00000001",输出其十进制的值1。设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项 中正确的是A)写操作结束后可以从头开始读B)只能写不能读C) 可以在原有内容后追加写D) 可以随意读和写【解析】本题中用w方式打开文件,只能向文件写数据。如果原来不存在该文件,则新创 建一个以指定名字命名的文件;如果已存在该文件,贝把原文件删除后重新建立一个新文件, 而不是把内容追加到原文件后。有序线性表能进行二分查找的前提是该线性表必须是存储的。【解析】能使用二分法查找的线性表必须满足两个条件:1)用顺序存储结构;2)线性表是有 序的。一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为【2】。【解析】依据前序遍历序列可确定根结点为A,再依据中序遍历序列可知其左子树由DBE构 成,右子树为FC;由A的左子树的前序遍历序列可知其根结点为B,由中序遍历序列可知其 左子树为D,右子树为E;由A的右子树的前序遍历序列可知其根结点为C,由中序遍历序列 可知其左子树为F,右子树为空。因此此二叉树的后序遍历序列为DEBFCA。对软件设计的最小单位(模块或程序单元)进行的测试通常称为测试。【解析】软件测试的过程一般按4个步骤进行,即单元测试、集成测试、验收测试(确认测 试)和系统测试。单元测试又称模块测试,是针对软件设计的最小单位程序模块进行正 确性检验的测试工作。实体完整性约束要求关系数据库中元组的【4】属性值不能为空。【解析】实体完整性规则是针对基本关系而言,即针对现实世界的一个实体集,而现实世界 中的实体是可区分的。该规则的目的是利用关系模式中的主码或主属性来区分现实世界中的 实体集中的实体,所以不能取空值。在关系A(S, SN, D)和关系B(D, CN, NM)中,A的主关键字是S, B的主关键字是D,则称【5】是关系A的外码。【解析】参照完整性用于约定两个关系之间的联系,理论上规定:若M是关系S中的一属性 组,且M是另一关系Z的主关键字,则称M为关系S对应关系Z的外关键字。若M是关系S的外 关键字,贝岭中每一个元组在M上的值必须是空值或是对应关系Z中某个元组的主关键字值。 以下程序运行后的输出结果是【6】。#include<stdio.h>main() int a;a=(int)(double)(3/2)+0.5+(int)1.99*2) printf("%dn",a);【解析】本题中3/2=1, (double)(3/2)=l, (int)1.99*2=l*2=2,因此(int)(l+0.5+2)=(int)3.5=3。 有以下程序#include<stdio.h>main() int x;scanf("%d", &x);if(x>15)printf("%d", x-5);if(x>10)printf("%d", x); if(x>5)printf("%dn", x+5);若程序运行时从键盘输入12v回车>,则输出结果为【7】。【解析】本题中输入12时,第一条f的条件x>15不满足因此不执行,第二条if的条件x>10满 足因此输出12,第三条if的条件x>5满足因此输出17。有以下程序(说明:字符0的ASCI l码值为48)#include<stdio.h>main() char c1, c2;scanf("%d", &c1) ;c2=c1+9;printf("%c%cn", c1, c2) ;若程序运行时从键盘输入48<回车>,则输岀结果为【8】。【解析】本题中通过ASCII码对字符变量赋值,由于字符0的ASCII码是48,因此字符变量c1 为0, c2的ASCII码比c1大9,因此c2为9。有以下函数void prt(char ch, int n) int i;for(i=1;i<=n;i+)printf(i%6!=0 ? "%c":"%cn",ch) ;执行调用语句pr t('*',24);后,函数共输出了【9】行*号。【解析】本题中输出*并换行的条件是i能被6整除,否则输出*不换行。因此只有在i为6、12、 18和24时*的输出才会换行,最终输出4行*。以下程序运行后的输岀结果是【10】。#include<stdio.h>main() int x=10, y=20, t=0;if(x=y)t=x;x=y;y=t; printf("%d%dn", x, y) ;【解析】本题中if选择的条件x=y不满足,因此直接执行后面的x=y和丫=t,贝的值为20, y 的值为0。已知a所指的数组中有N个元素。函数fu n的功能是,将下标k(kO)开始的后续元素全部向前 移动一个位置。请填空。void fun(int aN, int k) int i;for(i=k; iN; i+) a【11】l =a i;【解析】本题中要将数组元素向前移动一个位置,就要使a i赋值给前一个元素a i-1。 有以下程序,请在【12】处填写正确语句,使程序可正常编译运行。#includestdio.h【12】:main() double x, y, (*p)() ;scanf("%lf%lf", &x, &y) ;p=avg;printf("%fn", (*p)(x, y) ;double avg(double a, double b) return(a+b)/2) ; 【解析】c语言编译器对于源代码的编译是顺序编译的,当任意一个函数中调用某个函数的 时候,这个函数的原型必须在调用之前声明,否则就会出现编译错误。本题中需要在main 函数调用avg之前对其进行声明。以下程序运行后的输岀结果是【13】。#include stdio.hmain() int i,n 5 =0 ;for(i=1; i=4; i+) ni =ni-1 *2+1; printf("%d", ni ); printf("n") ;【解析】本题中已知n 0为0,根据循环的执行可以得到n 1为1, n2为3, n 3 为7, n 4为15,因此输出结果是13715。以下程序运行后的输岀结果是【14】。#includestdio.h#include stdlib.h#includestring.hmain() char *p;int i;p=(char*)malloc(sizeof(char)*20); strcpy(p, "welcome") ;for(i=6; i=0; i-)putchar(*(p+i); printf("n") ; free(p) ;【解析】本题中用malloc函数申请一个20个字符大小的空间,并用指针p指向空间的首地址。 st rcpy函数使"welcome"字符串存放到分配的空间,最后用put cha r函数倒序输出字符串的前 7个字符。p 0 = w ,p 1 = e ,p 2 = l , p 3 = c , p 4 = o , p 5= m , p6 = e。以下程序运行后的输出结果是【15】。#include<stdio.h>main() FILE *fp;int x 6 =1,2,3,4,5,6,i; fp=fopen("test.dat","wb"); fwrite(x,sizeof(int),3,fp);rewind(fp);fread(x,sizeof(int),3,fp); for(i=0;i<6;i+)printf("%d",x i ); printf("n");fclose(fp);【解析】本题中fwri te函数向目标文件指针fp指向的文件tes t.da t中写入3个int数据,即 123。rewind函数将文件内部的位置指针重新指向文件的开头。fread函数将从fp所指文件中 读取3个in t数据到x指向的地址,因此数组x的元素没有变化。

注意事项

本文(二级C笔试考试题库(2011)为本站会员(ta****u)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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