计算机二级复习 (答案).docx_第1页
计算机二级复习 (答案).docx_第2页
计算机二级复习 (答案).docx_第3页
计算机二级复习 (答案).docx_第4页
计算机二级复习 (答案).docx_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

江苏省计算机2级考试 如有异议再当讨论 一、选择题(本题共20道小题,共40分。) 1. 表示关系xyz的c语言表达式为 A:(X=Y)&(Y=Z) B) (X=Y)AND(Y=Z) C) (X=Y=Z) D) (X=Y)&(Y=Z) A解析:&为并且符号 2. 以下程序的输出结果是 main( ) int a=12,b=12; printf(%d %dn,-a,+b); A10 10 B)12 12 C)11 10 D)11 13 D解析:+a为前置运算符,先执行后输出 3. 以下的for循环 for(x=0,y=0; (y!=123)&(x4); x + + ); A 是无限循环 B)循环次数不定 C)执行4次 D)执行3次 C 解析: 此题与y无关,注意&运算符&左右条件,必须同时满足,x不能大于4,所以执行4次4. 有以下程序 main() char a=programming,b=language; char *p1,*p2; /定义两个指针 int i; p1=a;p2=b; /p1指向a,p2指向bfor(i=0;i7;i+) if(*(p1+i)=*(p2+i) /如果两个字符相同,就执行下一句 printf(c,*(p1+i); 输出结果是 : Agm B)rg C)or D)ga D解析:此题考查学生理解能力和思维能力,在复杂的题目中寻找关键句。 5. 以下说法中正确的是 A #define和printf都是C语句 B) #define是C语句,而printf不是 C) printf是C语句,但#define不是 D) #define和printf都不是C语句 D解析:C语句分类:表达式语句 ,函数调用语句 ,控制语句 ,复合语句 ,空语句 6. 下面的程序 main() int x=3; do printf(%dn,x-=2); while(!(-x); A 输出的是1 B) 输出的是1和-2 C) 输出的是3和0 D) 是死循环 B 解析:while(!(-x)为(-x)=0)时结束while循环7. 下面能正确进行字符串赋值操作的语句是 Achar s5=ABCDE;/无需双引号 B)char s5=A、B、C、D、E; C) char *s;s=ABCDEF; D)char *s; scanf(%s,s); C解析:8. 以下程序的输出结果是 main( ) int i,x33=9,8,7,6,5,4,3,2,1,*p=&x11; for(i=0;i4;i+=2) 9 8 7printf(%d ,pi); 6 5 4 A 5 2 B) 5 1 C) 5 3 D) 9 7 3 2 1C解析: 略 9. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 A a0 B) !a C) a=0 D) a D解析:略10. 下面各语句行中,能正确进行赋字符串操作的语句行是 A) char st45=ABCDE; B) char s5=A,B,C,D,E; C) char *s; s=ABCDE; D) char *s; scanf(%s,s); C解析:略 11. 若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值 是 A EOF B) -1 C) 非零值 D) NULL D解析:注意文件程序的书写 12.设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是 A k=*p1+*p2; B)p2=k; C)p1=p2; D)k=*p1 *(*p2);B解析: K是变量不能赋值 13. 下面程序的输出是 main() int a=-1, b=4,k; k=(a+=0)&(!(b-8;y=+i) /i从9开始 printf(%d,%d ,x-,y); A 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1 D解析:略 17. 设有如下函数定义: int f(char *s) char *p=s; while(*p!=0) p+; return(p-s); printf(%dn,f(goodbey!); 如果在主程序中用下面的语句调用上述函数,则输出结果为 A 3 B) 6 C) 8 D) 0 C解析: 略 18. 若执行下面的程序时从键盘上输入3和4,则输出是 main() int a,b,s; scanf(%d %d,&a,&b); /a=3,b=4 s=a; /s=3 if(a=A&ch=Y) ch=_ch+1 _; return ch; 2. 以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。 void sstrcpy(char *s,char *t) while(*s+=_*t+_); main( ) char str1100,str2=abcdefgh; sstrcpy(str1,str2); printf(%sn,str1); 3. 以下程序段用于构成一个简单的单向链表。 struct STRU int x, y float rate; _Struct STRU *_p; a, b; a.x=0; a.y=0; a.rate=0; a.p=&b; b.x=0; b.y=0; b.rate=0; b.p=NULL; 4. 电话990拨号上网费率白天是每小时4.20元,夜间是每小时2.70元。使用的分钟(整数minute)和费率(含小数fei)变量由键盘输入,请补上语句。 main() int minute; float fei; scanf(%d %f,&minute, &fei ); printf(上网费=%8.2f元n, fei*minute/60 ); 5. 以下程序中, for循环体执行的次数是_4_。 #define N 2 #define M N+1 #define K M+1*M/2 main() int i; for(i=1;iK;i+) . . 五、编程题(本题共2道小题,共20分。) 1. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方5的三次方3的三次方。 参考程序 main() int i,j,k,n; printf(water flowernumber is:); for(n=100;n1000;n+) i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k=i*i*i+j*j*j+k*k*k) printf(%-5d,n); printf(n); 2. 请编写函数fun,函数的功能是:在字符串中所有数字字符前加一个$字符。 例如,输入:A1B23CD45,则输出为:A$1B$2$3CD$4$5。参考程序:#include void fun( char *s) char a100; int i=0; while(*s) if(*s=0&*s=9) ai+=$;ai+=*s+; else ai+

温馨提示

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

评论

0/150

提交评论