书签 分享 收藏 举报 版权申诉 / 23
上传文档赚钱

类型达内C++培训第一次月考(附答案).doc

  • 上传人(卖家):无敌的果实
  • 文档编号:305506
  • 上传时间:2020-02-26
  • 格式:DOC
  • 页数:23
  • 大小:713.50KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《达内C++培训第一次月考(附答案).doc》由用户(无敌的果实)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    C+ 培训 第一次 月考 答案
    资源描述:

    1、考试场次:2013_07月考_7月31日_3G/C+/.NET/PHP/嵌入式 试卷名称:2013年07月_C+_CSD/ESD1306 1. 阅读如下代码,函数sort是一种排序的算法:void sort(int* a, int n) for(int i=1; i0&aj-1t; j-) aj = aj-1; aj = t; 请问sort函数排序的算法是:A. 冒泡排序B. 快速排序C. 选择排序D. 插入排序正确答案:D 2. 查看如下代码: int a5 = 1,2,3,4,5; int *ap = a; int i = 0; 下列代码中,不可以成功打印出数组元素的是:A. for(;i

    2、5;i+) printf(“%dn”,ai); B. for(;i5;i+) printf(“%dn”,*a+); C. for(;i5;i+) printf(“%dn”,api); D. for(;i5;i+) printf(“%dn”,*ap+); 正确答案:B 3. 下列关于字符串的代码正确的是:A. char *st1 = ABCDE; st1 = abcdefg;B. char *st1 = ABCDE; st10 = a; C. char st1 = ABCDE; st15=a;D. char st1 = ABCDE; st1=”abcde”;正确答案:A 4. 阅读如下代码,函数

    3、sort是一种排序的算法: void sort(int* a, int n) for(int i=0; in-1; i+) bool flag = true; for(int j=0; jaj+1) int t = aj; aj = aj+1; aj+1 = t; flag = false; if(flag) break; 请问sort函数排序的算法是:A. 冒泡排序B. 快速排序C. 选择排序D. 插入排序正确答案:A 5. 80转换成二进制的结果是: A. 1011 0000B. 0101 0000C. 1101 0001D. 1010 1111正确答案:A 6. 在C语言中调用函数f1,

    4、当f1函数执行完毕后,哪个变量的内存没有被回收? int a = 1000; void f1(int b) b = 10; int c = 20; static int d = 30; A. 只有aB. Abcd都没有回收C. 只有dD. ad正确答案:D 7. 命令chmod 644 myfile将myfile文件的权限设置为? A. 属主用户可读可执行,同组和其它用户可读B. 属主用户可读可写,同组和其它用户可读C. 属主用户可写可执行,同组和其它用户可执行D. 属主和同组用户可读,其它用户可读可写正确答案:B 8. 查看如下代码: inta5=1,2,3,4,5; int*ap=a; i

    5、nti=0; 下列代码中,不可以成功打印出数组元素的是: A. for(;i5;i+) printf(“%dn”,ai); B. for(;i5;i+) printf(“%dn”,*a+); C. for(;i5;i+) printf(“%dn”,api); D. for(;i5;i+) printf(“%dn”,*ap+); 正确答案:B 9. 关于预处理指令,以下说法正确的是:A. #include可以包含文件,文件名必须用括起来B. #define可以定义宏,宏一旦定义,就无法取消C. #ifndef、#ifdef都可以用于条件编译D. #elseif 可以用于条件编译正确答案:C 10

    6、. 以下代码int x = 1;x = x+ + +x;printf (%dn, x);的输出是?A. 2B. 3C. 4D. 5正确答案:D 11. 关于预处理指令,以下说法正确的是: A. #include可以包含文件,文件名必须用括起来 B. #define可以定义宏,宏一旦定义,就无法取消 C. #ifndef、#ifdef都可以用于条件编译 D. #elseif可以用于条件编译 正确答案:C 12. 根据下列 变量的类型以及函数参数类型,选出正确的sizeof的结果: 注意:选项给出结果的顺序是按照圆序号的顺序排列的。 char str = “Hello”; sizeof(str)

    7、= char *p = str ; sizeof(p) = int n = 10; sizeof(n) = void Func ( char str100) sizeof( str ) = void *p = malloc( 100 ); sizeof ( p ) = A. 5 4 4 100 100B. 5 4 4 4 4C. 6 4 4 100 100D. 6 4 4 4 4 正确答案:D 13. C语言中,以下程序的输出结果为: int a = 3; printf(“%dn”,sizeof( (a2)?1:9.0 ) );A. 1B. 2C. 4D. 8正确答案:D 14. 阅读如下Li

    8、st的代码: #include #include usingnamespacestd; typedefintT; classList structNode Tdata; Node*next; Node(constT&d):data(d),next() ; Node*head;/头指针 intsz;/元素个数 public: voidfun(constT&d) Node*pn=newNode(d); if(head=NULL) head=pn;sz+;return; Node*p=head; while(p-next)p=p-next; p-next=pn; sz+; 请问,fun函数实现的功能

    9、是: A. 删除元素 B. 任意位置插入元素 C. 最后位置追加元素 D. 修改元素 正确答案:C 15. 以下代码int a, b;for (a = 0, b = 0; a = 1 & ! b+; a+)a+;printf (%d %dn, a, b);的输出是?A. 2 2B. 2 1C. 0 1D. 1 2正确答案:B 16. inti=10; printf(“%d”,sizeof(i=5); printf(“%dn”,i); 上面的代码执行完毕后,打印出的数字应该为: A. 45 B. 105 C. 1010 D. 410 正确答案:D 17. 关于预处理指令,以下说法正确的是: A.

    10、 #elseif主要用于条件编译B. #if和#endif经常结合使用,用于条件编译C. #include可以包含文件,但是只能包含.h文件D. #define可以用于定义宏变量和宏函数,定义宏以后就不能撤销正确答案:B 18. FILE*fpr=fopen(a.txt,r); FILE*fpw=fopen(c.txt,w+); intch; while(1) ch=getc(fpr); if(ch=EOF) break; _ fclose(fpr);fpr=NULL; fclose(fpw);fpw=NULL; 上述代码是进行文件拷贝的,在横线处需要填入一行代码,下列选项哪个是对的: A.

    11、fwrite(ch,fpw); B. fprintf(ch,fpw); C. putc(ch,fpw); D. fputs(ch,fpw); 正确答案:C 19. C语言中,以下程序的输出结果为:int a = 5;switch(a) case 5: printf(“A”); case 4:printf(“B”); case 3: printf(“C”);printf(“n”);A. 没有default分支,编译失败 B. 输出A C. 输出AB D. 输出ABC 正确答案:D 20. FILE*fpr=fopen(a.txt,r); FILE*fpw=fopen(c.txt,w+); int

    12、ch; while(1) ch=getc(fpr); if(ch=EOF)break; _ fclose(fpr);fpr=NULL; fclose(fpw);fpw=NULL; 上述代码是进行文件拷贝的,在横线处需要填入一行代码,下列选项哪个是对的: A. fwrite(ch,fpw); B. fprintf(ch,fpw); C. putc(ch,fpw); D. fputs(ch,fpw); 正确答案:C 21. 以下代码char c = 200;printf (%dn, c);的输出是?A. 200B. 56C. -56D. -55正确答案:C 22. 关于硬链接和软链接,以下说法正确

    13、的是? A. 硬链接亦称符号链接,其本质就是在一个文件中保存另一个文件的路径信息B. 通过ls l命令可以查看一个文件的软链接数C. 通过ln s命令可以创建一个文件的硬链接D. 硬链接的本质就是同一份文件数据与多个不同的文件路径相关联正确答案:D 23. 完全数,亦称完美数或完备数,是一些特殊的自然数,其全部真因数(即除自身以外的约数)之和等于其自身。以下代码意在打印给定范围内的完全数:int min, max;scanf (%d%d, &min, &max);for (int i = min; i = max; i+) (空白处)其中空白处可以填入的代码是?A. int sum = 0;f

    14、or (int j = 1; j = i / 2; j+)if (i % j = 0)sum += j;if (sum = i)printf (%dn, i); B. int sum = 0;for (int j = 1; j i / 2; j+)if (i % j = 0)sum += j;if (sum = i)printf (%dn, i); C. int sum = 0;for (int j = 1; j = i / 2; j+)if (i % j != 0)sum += j;if (sum = i)printf (%dn, i); D. int sum = 0;for (int j

    15、= 1; j = sizeof (m_chs) / sizeof (m_chs0) return false; m_chsm_top+ = ch; return true; bool pop (char& ch) if (m_top = 0) return false; ch = m_chs-m_top; return true; private: char m_chs128; size_t m_top;void printb (unsigned int dec, int base) Stack stack; do (空白处) while (dec /= base); for (char ch

    16、; stack.pop (ch); cout ch); cout endl;其中空白处可以填入的代码是?A. stack.push (dec % base);B. stack.push (dec % base + 0);C. stack.push (dec % base 10 + A);D. int mod = dec % base; stack.push (mod 10 ? mod + 0 : mod - 10 + A);正确答案:D 25. C语言中,下列定义数组的代码正确的是:A. int arr;B. int arr=;C. int arr;D. int arr=”abcd”;正确答案

    17、:B 26. 以下代码意在产生10个1到100之间的随机数,并将其按从小到大的顺序打印:int a100 = 0, i, j;(空白处)for (i = 0; i 100; i+)for (j = 0; j ai; j+)printf (%dn, i + 1);其中空白处可以填入的代码是?A. for (i = 0; i 100; i+)arand () % 100+; B. for (i = 0; i 10; i+)arand () % 10+;C. for (i = 0; i 100; i+)arand () % 10+;D. for (i = 0; i 10; i+)arand () %

    18、 100+;正确答案:D 27. 已知,有int a1,a2,a3,a4,a5,e;那么以下代码的功能是? e = a1; if(ea2) e = a2; if(ea3) e = a3; if(ea4) e = a4; if(e=0)&(*s1=0)&(*s1=0)&(*s1=9) int j = *s1-0; res = res*10 + j; s1+; elsebreak; return res; D. 以上代码都不对 正确答案:A 30. C语言中,下列随机数的实现代码中,哪个是正确的? A. srand(time(0); int ran = rand(); B. rand(time(0

    19、); int ran srand(); C. srand(0); int ran = rand(); D. srand(0); int ran = rand(time(0); 正确答案:A 31. FILE *fpr = fopen(a.txt,r); FILE *fpw = fopen(c.txt,w+); int ch; while(1) ch = getc(fpr); if(ch = EOF) break; _ fclose(fpr);fpr = NULL; fclose(fpw);fpw = NULL; 上述代码是进行文件拷贝的,在横线处需要填入一行代码,下列选项哪个是对的:A. fw

    20、rite(ch,fpw);B. fprintf(ch,fpw);C. putc(ch,fpw);D. fputs(ch,fpw);正确答案:C 32. #ifndef_TEXT_H_ #define_TEXT_H_ #include #endif 上面代码的主要作用是什么?: A. 定义宏_TEXT_H_ B. 包含text.h C. 这种写法意义不大,没什么作用 D. 用条件编译防止text.h被多次包含 正确答案:D 33. 对一个算法的评价,不包括下列( )方面的内容。 A. 健壮性和可读性B. 并行性C. 正确性D. 时空复杂度正确答案:B 34. 求最大值的宏函数最佳定义代码为: A

    21、. #defineMAX(x,y)(xy?x:y) B. #defineMAX(x,y)(x)(y)?(x):(y) C. #defineMAX(x,y)(xy?x:y) D. #defineMAX(x,y)(x)(y)?(x):(y) 正确答案:B 35. 定义联合代码如下: union doubled; inti; u; printf(u=%dn,sizeof(u); 那么,输出应该为: A. 4B. 8C. 12D. 16正确答案:B 36. 阅读如下代码,完成下面 5 题: struct node int id; char name20; char sex; int age; stud

    22、; printf(请学生学号:); scanf(%d,&stud.id); printf(请输入学生姓名:); scanf(%s,stud.name); getchar(); printf(请输入学生性别m/f:); scanf(%c,&stud.sex); printf(请输入学生年龄:); scanf(%d,&stud.age); FILE *file = fopen(student.dat,w); if(NULL = file) printf(failedn);return; fprintf(file,%d %s %c %d,stud.id,stud.name,stud.sex,stud

    23、.age); fclose(file); (1). 这段代码完成的功能是? A. 输入一个学生信息,然后打印到屏幕上B. 输入一个node信息,然后打印到屏幕上C. 输入一个node信息,然后保存到student.dat文件中D. 输入一个学生信息,然后保存到student.dat文件中正确答案:D (2). 输入姓名后,调用了个getchar(),其作用是: A. 等待用户的输入,暂停一下代码B. 读走换行符,使性别能正常的输入C. 写完字符串必须使用getchar(),读走结束符D. 没太多作用,可以不写正确答案:B (3). FILE *file = fopen(student.dat,

    24、w)这句话如果换成FILE *file = fopen(student.dat,w+),有什么区别: A. 没有任何的区别B. w+编译不能通过C. w是只写,w+是读写D. w不会新建文件,w+会新建文件正确答案:C (4). if(NULL = file)这个分支实现的功能是: A. 打开空文件后执行的代码B. 如果文件不存在后执行的代码C. 打开文件失败后执行的代码D. 系统出现错误后,执行的代码正确答案:D (5). fprintf(file,%d %s %c %d,stud.id,stud.name,stud.sex,stud.age);代码实现的功能是: A. 把学生的信息写入文件

    25、中B. 把学生的信息打印出来C. 把学生的信息转换成字符串D. 代码编译会出错正确答案:A 37. 阅读如下随机发牌代码,填写空白处: int flag413 = 0; int i,j,num; char huase = S,H,D,C;/Spade 黑桃, Heart红心, Diamond 方块, Club梅花 char dian = A,2,3,4,5,6,7, 8,9,X,J,Q,K; printf(请输入牌的数量:n); scanf(%d,&num); 空白1 /设置随机算法的种子 for(i=0;i cchB. len + blanks * 2 cchC. len + blanks

    26、+ 1 cchD. len + blanks * 3 + 1 cch正确答案:A (3). 空白处3可以填入的代码是? A. 0 = j & j iB. 0 = i & 0 = jC. 0 i & i = jD. 0 = i & i j正确答案:D (4). 空白处4可以填入的代码是? A. 空B. pszi = C. pszi = pszjD. pszj = pszi正确答案:D (5). 空白处5可以填入的代码是? A. pszj+ = %; pszj+ = 2; pszj = 0B. pszj- = 0; pszj- = 2; pszj = %C. pszj = %; pszj+ = 2; pszj+ = 0D. pszj = 0; pszj- = 2; pszj- = %正确答案:B

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:达内C++培训第一次月考(附答案).doc
    链接地址:https://www.163wenku.com/p-305506.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库