《江苏省计算机二级C语言试题及答案.doc》由会员分享,可在线阅读,更多相关《江苏省计算机二级C语言试题及答案.doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、江苏省计算机2级考试 - 学年 第 学期 c程序设计 试卷( )题号一二三四五六七八九总 分得分一、选择题(本题共20道小题,共40分。)1. 表示关系xyz的c语言表达式为AA) (X=Y)&(Y=Z) B) (X=Y)AND(Y=Z) C) (X=Y=Z) D) (X=Y)&(Y=Z) 2. 以下程序的输出结果是Dmain( )int a=12,b=12;printf(%d %dn,-a,+b);A)10 10 B)12 12 C)11 10 D)11 13 3. 以下的for循环 for(x=0,y=0; (y!=123)&(x4); x + + );CA) 是无限循环 B)循环次数不定
2、 C)执行4次 D)执行3次 4. 有以下程序main( )char a=programming,b=language;char *p1,*p2;int i;p1=a;p2=b;for(i=0;i7;i+)if(*(p1+i)=*(p2+i)printf(c,*(p1+i);输出结果是DA)gm B)rg C)or D)ga 5. 以下说法中正确的是D A) #define和printf都是C语句 B) #define是C语句,而printf不是 C) printf是C语句,但#define不是 D) #define和pri ntf都不是C语句 6. 下面的程序main() int x=3;
3、Bdo printf(%dn,X-=2);while(!(-x);A) 输出的是1 B) 输出的是1和-2C) 输出的是3和0 D) 是死循环 7. 下面能正确进行字符串赋值操作的语句是A)char s5=ABCDE; B)char s5=A、B、C、D、E; CC) char *s;s=ABCDEF; D)char *s; scanf(%s,s); 8. 以下程序的输出结果是 main( ) int i,x33=9,8,7,6,5,4,3,2,1,*p=&x11; C for(i=0;i4;i+=2)printf(%d ,pi); A) 5 2 B) 5 1 C) 5 3 D) 9 7 9.
4、 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为A) a0 B) !a C) a=0 D) a 10. 下面各语句行中,能正确进行赋字符串操作的语句行是 CA) char st45=ABCDE;B) char s5=A,B,C,D,E;C) char *s; s=ABCDE;D) char *s; scanf(%s,s); 11. 若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是A) EOF B) -1 C) 非零值 D) NULL 12. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行
5、的语句是A)k=*p1+*p2; B)p2=k; C)p1=p2; D)k=*p1 *(*p2); 13. 下面程序的输出是main() int a=-1, b=4,k;k=(a+=0)&(!(b-8;y=+i) printf(%d,%d ,x-,y); 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 18. 若执行下面的程序时从键盘上输入3和4,则输出是main() in
6、t a,b,s;scanf(%d %d,&a,&b);s=a;if(a=A&ch=Y) ch=_;return ch; 2. 以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。void sstrcpy(char *s,char *t) while(*s+=_);main( ) char str1100,str2=abcdefgh; sstrcpy(str1,str2); printf(%sn,str1); 3. 以下程序段用于构成一个简单的单向链表。struct STRU int x, y ;float rate;_p; a,
7、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(_ ); printf(上网费=%8.2f元n, _ ); 5. 以下程序中, for循环体执行的次数是_。#define N 2#define M N+1#define K M+1*M/2main() int i; for(i=1;i
8、K;i+) . . 五、编程题(本题共2道小题,共20分。)1. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方5的三次方3的三次方。 2. 请编写函数fun,函数的功能是:在字符串中所有数字字符前加一个$字符。例如,输入:A1B23CD45,则输出为:A$1B$2$3CD$4$5。江苏省计算机等级考试 - 学年 第 学期 c程序设计 试卷(参考答案)题号一二三四五六七八九总 分得分一、选择题(本题共20道小题,共40分。)1. A2. D3. C4. D5. D6. B7. C8. C9. D10
9、. C11. D12. B13. C14. A15. A16. D17. C18. B19. B20. A二、填空题(每空1分,共10分。)1. (xy)(yz)2. 0 , 03. double4. 0 , 85. 266. 数据结构 ,算法7. 4三、判断题(本题共10道小题,共10分。)1. 对2. 错3. 错4. 错5. 错6. 错7. 对8. 对9. 错10. 四、程序填空(本题共5道小题,每题4分,共20分。)1. A , ch+12. *t+3. Struct STRU *4. %d %f,&minute, &feifei*minute/605. 4五、编程题(本题共2道小题,共
10、20分。)1. 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. #include void fun( char *s)char a100;int i=0;while(*s)if(*s=0&*s=9) ai+=$;ai+=*s+;else ai+=*s+; a=0;strcpy(s,a);main() char s80;printf(enter a string:);scanf(%s, s);fun(s);printf(the result: %sn, s);