c语言机试题之填空题

上传人:第*** 文档编号:71419562 上传时间:2019-01-20 格式:PDF 页数:13 大小:156.03KB
返回 下载 相关 举报
c语言机试题之填空题_第1页
第1页 / 共13页
c语言机试题之填空题_第2页
第2页 / 共13页
c语言机试题之填空题_第3页
第3页 / 共13页
c语言机试题之填空题_第4页
第4页 / 共13页
c语言机试题之填空题_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《c语言机试题之填空题》由会员分享,可在线阅读,更多相关《c语言机试题之填空题(13页珍藏版)》请在金锄头文库上搜索。

1、51)以下程序的输出结果是_【15】_。 #define MAX(x,y)(x)(y)?(x):(y) main() int a=5,b=2,c=3,d=3,t; t=MAX(a+b,c+d)*10; printf(dn,t); (51)【15】7 知识点:宏定义 评析:在 c 语言中,宏定义是直接替换的,所以在对表达式 MAX(a+b,c+d)*10 进行或替 换后,表达式变为:(a+b)(c+d)?(a+b):(c+d)*10 在这个条件表达式中,(a 十 b)(c+d)为真,所以用(a+b)的值作为整个表达式的值(否则 用(c+d)*10 的值作为整个表达式的值),而(a+b)的值为 7

2、。所以整个表达式的值为 7。 (52)栈的基本运算有三种:入栈、退栈和_【1】_。 (52)【1】读栈顶元素 知识点:对栈的操作 评析:栈的基本运算有三种:入栈、退栈和读栈顶元素。入栈运算是指在栈顶位置插入一个 新元素。这个运算有两个基本操作:首先将栈顶指针进一(即 top 加 1),然后将新元素插入 到栈顶指针指向的位置。 退栈运算是指取出栈顶元素并赋给一个指定的变量。 这个运算有两 个基本操作:首先将栈项元素(栈顶指针指向的元素)赋给一个指定的变量,然后将栈顶指针 退一(即 top 减 1)。读栈顶元素是指将栈顶元素赋给一个指定的变量。这个运算不删除栈顶 元素,只是将它的值赋给一个变量。

3、(53)在面向对象方法中,信息隐蔽是通过对象的_【2】_性来实现的。 (53)【2】封装 知识点:软件工程的基本概念 评析:软件工程的基本原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性,完备 性和可验证性。 信息隐蔽是指采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 (54)数据流的类型有_【3】_和事务型。 (54)【3】变换型 知识点:数据流的概念 评析:典型的数据流类型有两种:变换型和事务型。 变换型:是指信息沿输入通路进入系统,同时由外部形式变换为内部形式,进入系统的信息 通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。 事务型:在很多软件

4、应用中,存在某种作业数据流,它可以引发一个或多个处理,这些处理 能够完成该作业要求的功能,这种数据流就叫做事务。 (55)数据库系统中实现各种数据管理功能的核心软件称为_【4】_。 (55)【4】数据库管理系统或 DBMS 知识点:数据库管理系统的概念 评析:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数 据操纵、数据维护、控制及保护和数据服务等。数据库管理系统是数据库系统的核心。 (56)关系模型的数据操纵即是建立在关系上的数据操纵,一般有_【5】_、增加、 删除和修改四种操作。 (56)【5】查询 知识点:对关系模型数据的操作 评析:关系模型的数据操纵即是建立在

5、关系上的数据操纵,一般有查询、增加、删除和修改 四种操作。 数据查询: 用户可以查询关系数据库中的数据, 它包括一个关系内的查询以及多个关系间的 查询。 数据删除的基本单位是一个关系内的元组,它的功能是将指定关系内的指定元组删除。 数据增加仅对一个关系而言,在指定关系中插入一个或多个元组。 数据修改是在一个关系中修改指定的元组和属性。 (57)下列程序的输出结果是_【6】_。 main() int a=l,b=2; a=a+b;b=a-b;a=a-b; printf(d,dn,a,b); (57)【6】2,1 知识点:赋值表达式 评析:在本题中,执行 a=a+b 时,a=l,b=2,a=1+2

6、=3;执行 b=a-b 时,a=3,b=2, b=3-2=1;执行 a=a-b 时,a=3,b=l,a=3-1=2。因此,本题的输出是 2,l。 (58)下列程序的输出结果是 1600,请填空。 main() int a=9,b=2; float x=_【7】_,y=1.1,z; z=a2+b*xy+l2; printf(52fn,z); (58)【7】6.6 知识点:算术表达式 评析:本题已知结果 z=16.00,即 16.00=a2+b*xy+12,分别把 a、b 代入,得 到 16.00=92+2*x1.1+12。 因为 a=9,a 是整型,所以 92 的值在没有进行类型转换时,等于 4

7、,12 同理,等于 0。代入求一元一次方程,很容易就可以得出 x=66。 (59)用以下语句调用库函数 malloc,使字符指针 st 指向具有 11 个字节的动态存储空间, 请填空。 St=(char*)_【8】_; (59)【8】malloc(11) 知识点:动态分配内存 评析:malloc 函数的格式是:void*(或 char*)malloc(size),size 表示应分配的存储区。 此题要分配 11 字节的单元,把 1 l 代入即可。 (60)下列程序段的输出结果是_【9】_。 main() char b=Hello,you; b5=O; printf(sn,b); (60)【9】

8、Hello 知识点:字符数组 评析:字符串中,数值 O 或符号O表示字符串的结束。本题中,b5被赋了 0 值,表明 字符串 b 的第六个字符就是结束标志。因此,只输出前五个字符,即 Hello。 61)下列程序段的输出结果是_【10】_。 int n=c: switch(n+) default:printerror,;break; casea: caseA: caseb: caseB:printf(“good”);break; casec:caseC:printf(“pass”); cased:caseD:printf(“warn”); (61)【10】passwarn 知识点:Switch

9、语句的使用 评析: n+是在执行完其所在的语句后再加 l, 因此, 在执行 case 的时候, n 的值依然为c, 执行casec后面的语句, 先打印出“pass”;在执行完casec后, 未遇到break跳出switch, 便接着执行下面的语句,又打印出 warn。所以此题输出结果是:passwarn。 (62)以下程序通过函数指针 p 调用函数 fun,请在填空栏内,写出定义变量 p 的语句。 void fun(int*x,int*y) main() int a=10,b=20; _【ll】_: p=fun; p(&a,&b); (62)【11】void(*p)(); 知识点:函数指针的定

10、义 评析:要定义 p 为指向函数的指针变量,需写成:void(*p)(); ,注意*p 两侧的括弧不可 以省略,表示 p 先与*结合,是指针变量,再与后面的()结合,表示此指针变量指向函数, 这个函数无返回值(同 fun 函数)。 (63)下列程序的输出结果是_【12】_。 void fun(int*n) while(*n)-); printf(d,+(*n); main() int a=100; fun(&a); (63)【12】0 知识点:综合应用 评析:在函数 fun()中,while(*n)-)是先引用*n 的值,再做(*n)-运算,所以循环结束 时*n 的值为 0, 再做(*n)-运

11、算后,*n 的值为-1;执行+(*n)后,*n 的值是 O。 (64)以下程序的输出结果是_【13】_。 main() int arr=30,25,20,15,10,5,*p=arr; p+; printf(dn,*(p+3); (64)【13】10 知识点:综合应用 评析: 整型指针最初被赋的值是数组 arr 的头指针, 即指向数组的第一个元素 30, p+后, 指针指向数组的下一个元素,即*p=arr1=25,在执行*(p+3)时,则相当于 a1+3, 即 10。因此,输出应为 10。 (65)下面程序把从终端读入的文本(用作为文本结束标志)输出到一个名为 bidat 的 新 文件中,请填

12、空。 #include stdioh FILE *fp; main() char ch; if(fp=fopen(_【14】_)=NULL)exit(0); while(ch=getchar()!=)fputc(ch,fp); fclose(fp); (65)【14】“biDat”, “w”,或“bidat”, “w+”或“bidat”, “r+” 知识点:文件的操作 评析:本题的考点是 fopen()函数,此函数的格式是 fopen(文件名,使用文件方式),题目 的要求是将从键盘读入的文本写到文件中,因此选择的打开方式应该是“w”(只写)。或者是 读写“r+”或“w+”。 (66)若变量 n

13、 中的值为 24,则 pint 函数共输出_【15】_行。 void prnt(int n,int aa) int i; for(i=1;i2); printf(dn,j); (74)【8】52 知识点:c 语言中的 do-while 语句 评析:do-while 语句的形式为: d0 语句: while(条件表达式) 当条件表达式为非零时,继续执行循环体,直到条件表达式为零时退出循环。 (75)设有如下程序: main() int nl,n2; scanf(d,&n2); while(n2!=O) nl=n2lO; n2=n210: printf(d,n1); 程序运行后,如果从键盘上输入

14、1298,则输出结果为_【9】_。 (75)【9】8921 知识点:c 语言中的循环语句与取模和整除运算符。 评析:本题的程序的功能是将输入的整数反向输出。 (76)以下程序输出的最后一个值是_【10】_。 int ff(int n) static int f=1; f=f*n; return f; main() int i; for(i=l;i50)printf(d,a); if(a40)printf(d,a); if(a30)printf(d,a); (87)【6】585858 知识点:用 if 语句实现选择结构 评析:本题首先为 a 输入一个值 58,然后执行三个判断语句,在每一个判断中

15、,如果满足 判断条件的话,就输出 a,因为三次判断,条件都满足,所以三次输出 a。 (88)以下程序的输出结果是_【7】_。 main() int a=177; printf(on,a); (88)【7】261 知识点:数据的输入与输出,输入输出函数的调用;不同数制间的转换 评析:本题考点是 prinf 函数的格式字符。“o”表示以八进制整数形式输出。 (89)以下程序的输出结果是_【8】_。 main() int a=0; a+=(a=8); printf(dn,a); (89) 【8】16 知识点:C 运算符的种类、运算优先级和结合性 评析:本题主要考的是运算符的优先级。 a+=(a=8)可以写成 a=a+(a=8)的形式,括号的优先级高于“+”,而“+”的优先级又高于 “=”,所以先执行括号内的运算,将 a 赋值为 8,然后再执行+运算。 (90)以下定义的结构体类型拟包含两个成员,其中成员变量 info 用来存放整型数据;成员 变量 link 是指向自身结构的指针。请将定义补充完整。 struct node int info; _【9】_li

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

当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号