达内CSD1507第四次月考试卷_第1页
达内CSD1507第四次月考试卷_第2页
达内CSD1507第四次月考试卷_第3页
达内CSD1507第四次月考试卷_第4页
达内CSD1507第四次月考试卷_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文档达CSD1506综合考试测评(单选题)[转]1.C语言中,下列代码中if的条件何时为逻辑真:inta;scanf(“%d”,&a);if(3<a<5){}A.只有输入4的时候为真B.永远不可能为真C.永远都是真D.代码编译错误正确答案:C解析:2.在vi中,以下哪个底行命令可将第10到20行的容拷贝至第30行之后?A.:10,20co30B.:10,20co31C.:10,20cp30D.:co10,20,30正确答案:A解析:关于预处理指令,以下说确的是:A.#include 可以包含文件,文件名必须用 <>括起来B.#define 可以定义宏,宏一旦定义,就无法取消C.#ifndef、#ifdef都可以用于条件编译D.#elseif 可以用于条件编译正确答案:C解析:以下代码实现的是字符串的哪个函数?voidf(char*s1,char*s2){while(*s1++);s1--;while(*s1++=*s2++);}A.strcpy函数 B.strcat函数 C.strlen函数 D.strcmp函数正确答案:B解析:以下代码intx=1;intmain(void){printf("%d\n",x);intx=x;printf("%d\n",x);return0;}的输出是?A.11 B.编译错误C.<不确定的数><不确定的数>D.1<不确定的数>正确答案:D解析:以下代码inta,b;for(a=0,b=0;a<=1&&!b++;a++)a++;printf("%d%d\n",a,b);文档的输出是?A.22B.21C.01D.12正确答案:B解析:7.typedefstructPart{charc;intid;doubled;charname;}Part;intmain(){printf( “%d\n”,sizeof(Part));} 在考虑结构的对齐和补齐的前提下,打印的结果应该是:A.14 B.16 C.20 D.24正确答案:C解析:定义联合代码如下:union{inti;doubled;shorts;}u;printf("u=%d\n",sizeof(u));那么,输出应该为:A.4 B.8 C.14 D.16正确答案:B解析:下列属于合法C标识符的是A.3d B.double C.a3 D.Int正确答案:D解析:10.#ifndef_TEXT_H_#define_TEXT_H_#include<text.h>#endif 上面代码的主要作用是什么?:A.定义宏_TEXT_H_B.包含text.hC.这种写法意义不大,没什么作用D.用条件编译防止 text.h被多次包含正确答案:D解析:用条件编译防止text.h被多次包含,以下代码正确的是?A.#ifndef_TEXT_H_#define_TEXT_H_#include<text.h>#endifB.#ifdef_TEXT_H_#define_TEXT_H_#include<text.h>#endifC.#if_TEXT_H_#define_TEXT_H_#include<text.h>#endifD.#ifndef_TEXT_H_#define_TEXT_H_#elif#include<text.h>#endif正确答案:A解析:C语言的主函数中调用函数f1,当f1函数执行完毕后,哪个变量的存被回收了:inti=1;voidf1(inta){intb;staticintc=5;}intmain(){intd=1;文档f1(d);getchar();}A.变量

a

B.变量

a和

bC.变量

a、b

c

D.变量

a、b、c和

d正确答案:

B解析:允许下面的程序,则以下输出正确的是:voidfun(int*n){while((*n)--);printf( “%d”,++(*n));}intmain(){inta=10;fun(&a);return0;}A.1 B.0 C.10 D.程序不正确正确答案:B解析:下列关于字符串的代码正确的是?A.char*st1="ABCDE";st1="abcde";B.char*st1="ABCDE";st1[0]=

‘b’;C.charst1[]="ABCDE";st1[5]=D.charst1[]="ABCDE";st1=

’a’;”abcde”;正确答案:

A解析:15.以下宏定义

#definez(x,y)(((x)&(y))+(((x)^(y))>>1))

的功能是?A.求两个数的最大值

B.求两个数的平方和C.求两个数的平均值

D.求两个数的方均根正确答案:

C解析:在C语言中,下列代码执行结果是?intscore=4;switch(score){case5:printf("A");case4:printf("B");case3:printf("C");default:printf("D");}A.ABCD

B.BCD

C.B

D.BD正确答案:B解析:17.inti=10;printf( “%d”,sizeof(i=5));printf( “%d\n”,i);上面的代码执行完毕后,打印出的数字应该为:A.45B.105C.1010D.410正确答案:D解析:文档以下两条语句:scanf("%*[^\n]");cin.ignore(80,'\n');在行为方面有何不同?A.前者读取并丢弃输入缓冲区中的首个换行符,后者读取并丢弃输入缓冲区中的前 80个换行符B.前者读取并丢弃输入缓冲区中的所有换行符,后者读取并丢弃输入缓冲区中的后 80个换行符C.前者读取并丢弃输入缓冲区中的所有字符直至遇到换行符,后者读取并丢弃输入缓冲区中的80个字符,若遇到换行符则提前返回二者完全等价,没有任何不同正确答案:C解析:19.以下代码A.200

charc=200;printf("%d\n",c);B.56 C.-56

的输出是?D.-55正确答案:

C解析:以下代码charca[8];voidfoo(charca[16]){printf("%u\n",sizeof(ca));}intmain(void){charca[32];foo(ca);return0;}的输出是?A.4

B.8

C.16

D.32正确答案:

A解析:21.在C语言中,下面关于数组的声明语句中,编译能通过的是

?A.int[]arr;

B.intarr[]={};

C.intarr[];

D.intarr[5];arr={1,2,3,4,5};正确答案:B解析:关于费氏数列1123581321...的通项最佳实现是?A.intf1(intn){if(n<3)return1;returnf1(n-1)+f1(n-2);}B.intf1(intn){if(n<2)return1;returnf1(n-1)+f1(n-2);}C.intf2(intn){intx=1,y=1,i;for(i=3;i<=n;i++){y=x+y;x=y-x;}returny;}D.intf2(intn){intx=1,y=1,i;for(i=3;i<=n;i++){y=x+y;x=y-x;}returnx;}正确答案:C解析:以下代码:unsignedchara=0xa5;unsignedcharb=~a>>1+2+3;printf("%d\n",b);

的输出是?A.50

B.253

C.1

D.-3正确答案:B解析:文档关于vi中的命令和快捷键,以下说确的是?A.Ctrl+s

可以保存

B.Ctrl+a

可以全选C.WQ

可以保存退出

D.w

文件名可以另存为正确答案:

D解析:25.以下代码inta[2];scanf("%d%d",&a[0],&a[1]);printf("%d\n",(a[0]>a[1])?a[0]:a[1]); 的功能是?A.打印输入的两个整数的大值 B.打印输入的两个整数的小值C.打印输入的两个整数的均值 D.打印输入的两个整数的差值正确答案:A解析:下列关于相对路径和绝对路径的说法错误的是?相对路径就是从当前所在目录出发的一种目录描述方式绝对路径就是从根目录出发的一种目录描述形式C.Unix系统中,绝对路径都是以 /开始的和..只能用于相对路径中正确答案:D解析:27.根据下列 变量的类型以及函数参数类型,选出正确的

sizeof

的结果:注意:选项给出结果的顺序是按照圆序号的顺序排列的。charstr[]=

“Hello”;sizeof(str)=

①char

*p=str;sizeof(p)=

②int

n=10;

sizeof(n)=

③voidFunc(charstr[100]){sizeof(str)= ④}void*p=malloc(100);sizeof(p)=⑤A.544100100B.54444C.644100100D.64444正确答案:D解析:求最大值的宏函数最佳定义代码为:A.#defineMAX(x,y)(x>y?x:y)B.#defineMAX(x,y)((x)>(y)?(x):(y))C.#defineMAX(x,y)(x<y?x:y)D.#defineMAX(x,y)((x)<(y)?(x):(y))正确答案:B解析:C语言中,下列随机数的实现代码中,哪个是正确的?A.srand(time(0));intran=rand();B.rand(time(0));intran =srand();C.srand(0);intran=rand();D.srand(0);intran=rand(time(0));文档正确答案:A解析:30.在C语言中,已知 intarr[5]={1,2,3,4,5}; 不能取到元素 2的表示方式是?A.arr[1] B.*(arr+1) C.1[arr] D.*(arr+4)正确答案:D解析:31.命令chmod644myfile 将myfile文件的权限设置为?属主用户可读可执行,同组和其它用户可读属主用户可读可写,同组和其它用户可读C.属主用户可写可执行,同组和其它用户可执行属主和同组用户可读,其它用户可读可写正确答案:B解析:关于预处理指令,以下说确的是:A.#elseif 主要用于条件编译B.#if和#endif经常结合使用,用于条件编译C.#include 可以包含文件,但是只能包含 .h文件D.#define 可以用于定义宏变量和宏函数,定义宏以后就不能撤销正确答案:B解析:33.所谓“水仙花”数是一个整数等于各位数字立方的和,例如: 153=1*1*1+5*5*5+3*3*3 ,下面的程序 用于输出2~1000的水仙花数:intn;for(n=2;n<=1000;n++){(空白处)if(s==n){printf( “n%d”,n);}}下列选项中,空白处可以填入的代码是 ?ints=0,n1=n;while(n1>0){intt=n1%10;s+=t*t*t;n1/=10;}C.intn1,s;for(n1=n;n1>0;n1/=10){intt=n1%10;s+=t*t*t;}正确答案:A解析:

B.ints=0,n1=n;while(n1>0){intt=n1/10;s+=t*t*t;n1%=10;}D.intn1,s=0;for(n1=n;n1>0;n1%=10){intt=n1/10;s+=t*t*t;}在C语言中调用函数f1,当f1函数执行完毕后,哪个变量的存没有被回收?inta=1000;voidf1(intb){b=10;intc=20;文档staticintd=30;}A.只有a B.Abcd都没有回收 C.只有d D.ad正确答案:D解析:关于指针,以下说法中错误的是:A.指针就是存的地址,本身是 32位(32位操作系统)的数字.数组其实也是一种特殊的指针,是常量指针。C.指针也可以存放函数的地址, 即函数指针。指针可以做函数的返回值,用于返回任意变量的地址。正确答案:D解析:查看如下代码:inta[5]={1,2,3,4,5};int*ap=a;inti=0;下列代码中,不可以成功打印出数组元素的是:A.for(;i<5;i++){ C.for(;i<5;i++){printf(“n%d”,a[i]);printf(“n%d”,ap[i]);}}B.for(;i<5;i++){D.for(;i<5;i++){printf(“n%d”,*a++);printf(“n%d”,*ap++);}}正确答案:B解析:-80转换成二进制的结果是:A.10110000 B.01010000 C.11010001 D.10101111正确答案:A解析:下列标识符合法的是?A.9D B._9 C.int D.sa正确答案:B解析:以下代码intx=9999,y;for(y=0;x;y++)x=x&(x-1);printf("%d\n"y);的输出是?A.5 B.6 C.7 D.8正确答案:D解析:40.typedefstructPart{shorts;intid;charname;}Part;intmain(){printf( “%d\n”,sizeof(Part));}

在考虑结构的对齐和补齐的前提下,打印的结果应该是:A.7

B.8

C.10

D.12正确答案:D解析:以下代码intx=1;文档x=x+++++x;printf("%d\n",x);的输出是?A.2 B.3 C.4 D.5正确答案:D解析:阅读如下代码:chararr[20]="abcd";charb[20]="1234";char*a=arr;(空白处)inti;for(i=0;;i++){*a=*(b+i);if(*a=='\0')break;a++;}printf("%s\n",arr);如果想打印出 abcd1234,空白处需要加上的代码是?A.while(*++a); B.a=a+5;C.while(*arr++); D.while(b++);正确答案:A解析:C语言中,以下程序的输出结果为?inta=10;printf( “n%d”,sizeof((a>5)?4:8.0));A.1 B.2 C.4 D.8正确答案:D解析:C语言中,下列关于循环的代码有可能编译不通过的是:A.inti;for(i=0;i<10;i++){}B.for(inti=0;i<10;i++){}C.inti;for(i=0;;i++){}D.for(;;);正确答案:B解析:45.语言中,以下程序的输出结果为:inti=1;ints=i+++++i;printf( “n%d”,s);A.2 B.3 C.4 D.5正确答案:C解析:以下代码intsum(inta){staticintb=3;intc=0;b+=2;c+=1;returna+b+c;}文档intmain(void){inta=2;for(inti=0;i<5;i++)printf("%d",sum(a));prin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论