本科《系统程序设计》期末测试卷(A卷).docVIP

本科《系统程序设计》期末测试卷(A卷).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
本科《系统程序设计》期末考试试卷(A卷)选择题(20道单选题,每题2分,共40分)1. 可用作C语言用户标识符的一组标识是( ) void define WORD a3-3 _123 if For _abc Case 2a DO sizeof2. 如果用8位的2的补码表示十进制的-10,下面哪个是正确的? ( )10001010111101011111011011111010 3. 如果X=0x66, Y=0x93,则表达式 X~Y 等于( )0x00 0x010x420xFD4. 如果给出下列声明和s的初始化,表达式s[6]的值是:( ) char s[] = string; 一个不可预测的值\ng\0 5. 在C中,假设int类型数据占据4个字节,数组a的声明如下:int a[10];并且数组a在内存中的起始地址为0x10000,那么a[5]的地址是( ) 0x100050x100140x100160x100206. 在地址和整数都为32位宽的计算机里,编译器要为下面的代码片段分配多少字节的内存? ( )int a;int * b = a;4816327. 在基于IA32的计算机硬件体系中,如果规定结构成员对齐为4Bytes,那么,对于结构体 struct S1 {int i; char c; int j; }; 其在内存中分配的字节数为: ( )3 Bytes5 Bytes9 Bytes12 Bytes8. 按照下列声明的顺序,最后一行可以改写为: ( )int a[10];ptr = a + 5;*ptr++ = x;a[6] = x;ptr = x; *ptr++;ptr = ptr + 1; *ptr = x;a[5] = x; ptr = ptr + 1; 9.对于char *pa[10];的描述,( )是正确的pa是一个指向数组的指针,所指向的数组是10个char 型元素pa是一个指向某数组中第10个元素的指针,该指针是char型变量pa[5]表示某个数组的第5个元素的值pa是一个具有10个元素的指针数组,每一个元素是一个char 型指针10. 下面的程序会( )main(){ int x=10,y=5,z=5; if(z=x-2*y) printf(“****”); else printf(“####”); }有语法错误不能通过编译 可以通过编译,但不能通过连接,因而不能运行输出****输出####11. 考虑下面的代码: char a[100]; a[99] = *((char *) (((int) a[0]) + 4)) 如果整数为32位宽,下面哪个值等于a[99]? ( )a[0] + 4a[3]a[4]the integer stored in the bytes a[4], a[5], a[6] and a[7]12. 考虑一下代码片段: #include stdio.hint callee(void) { int count = 5; printf(%d , (int) count); return count;}int main (int argc, char *argv[]) { int count = 4; count = callee(); printf(%d , (int) count); return 0;} 两个不同的整数被打印,并且从所给信息无法得知其中的任何一个值同一个整数被打印两次,并且它的值无法从所给信息中得知5在同一行被打印两次5和4按顺序在同一行被打印13. 阅读下列代码,判断下面几句话中哪句关于输出的描述是正确的?( )int i;int * jp = i;int main(int i, char * argv[]) { printf(%d %d\n, (int) i, (int) jp);}两个不同的整型数两个完全相同的整型数无结果,因为代码含糊无法编译两个值,其中一个是4,另一个比4小14.考虑下面的代码片断:int factorial(int * arg) { int n = *arg; if (n == 1) return n; return n * factorial(n - 1);}许多地址,并且编译器不知道其中的任何一个地址编译器选定的许多地址仅一个地址,并且该地址由编译器选定仅一个地址,并且编译器不知道该地址15 以下程序的输出结果是 (

文档评论(0)

wx171113 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档