收藏 分销(赏)

江苏省计算机二级C语言试题笔试3.doc

上传人:天**** 文档编号:3065799 上传时间:2024-06-14 格式:DOC 页数:11 大小:27KB 下载积分:8 金币
下载 相关 举报
江苏省计算机二级C语言试题笔试3.doc_第1页
第1页 / 共11页
江苏省计算机二级C语言试题笔试3.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
江苏省C等级考试(四) 一、选择题(本题共20道小题,共40分。) 1. (14) 指针s所指字符串的长度为 char *s="\\"Name\\Address\n"; A) 19 B) 15 C) 18 D)说明不合法 2. 若有下面的程序片段: int a[12]={0}, *p[3], **pp, i; for(i=0; i<3; i++) p[i]=&a[i*4]; pp=p; 则对数组元素的错误引用是 A) pp[0][1] B) a[10] C) p[3][1] D) *(*(p+2)+2) 3. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 A) a<>0 B) !a C) a=0 D) a 4. 若已定义: int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i; 其中 0≤i≤9, 则对a数组元素不正确的引用上 A) a[p-a] B) *(&a[i]) C) p[i] D) a[10] 5. 以下程序的输出结果是 main( ) { int x=10,y=10,I; for(i=0;x>8;y=++i) 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 6. 下面程序的输出是 void prtv(int *x) printf("%d\n", ++*x);} main() { int a=25; prtv(&a);} A) 23 B) 24 C) 25 D) 26 7. 下面能正确进行字符串赋值操作的语句是 A)char s[5]={"ABCDE"}; B)char s[5]={'A'、'B'、'C'、'D'、'E'}; C) char *s;s="ABCDEF"; D)char *s; scanf("%s",s); 8. 设x,y,z,t均为int型变量,则执行以下语句后,t的值为 x=y=z=1;t=++x||++y&&++z; A)不定值 B)2 C)1 D)0 9. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是 A)k=*p1+*p2; B)p2=k; C)p1=p2; D)k=*p1 *(*p2); 10. 请读程序: #include<stdio.h> #define SUB(X,Y) (X)*Y main() { int a=3, b=4; printf("%d", SUB(a++, b++)); } 上面程序的输出结果是 A) 12 B) 15 C) 16 D) 20 11. sizeof(float)是: A) int B) float C) double D) 不确定 12. 若执行下面的程序时从键盘上输入3和4,则输出是 main() { int a,b,s; scanf("%d %d",&a,&b); s=a; if(a<b)s=b; s=s*s; printf("%d\n",s);} A) 14 B) 16 C) 18 D) 20 13. 以下程序的输出结果是 # include <stdio.h> main() { printf("%d\n",NULL); } A) 不确定的(因变量无定义) B)0 C)-1 D)1 14. 请读程序: #include<stdio.h> f(char *s) { char *p=s; while( *p!='\0') p++; return(p-s); } main() { printf("%d\n",f("ABCDEF"));} 上面程序的输出结果是 A) 3 B) 6 C) 8 D) 0 15. 下面各语句行中,能正确进行赋字符串操作的语句行是 A) char st[4][5]={"ABCDE"}; B) char s[5]={'A','B','C','D','E'}; C) char *s; s="ABCDE"; D) char *s; scanf("%s",s); 16. 若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是 A) *p=&a; scanf("%ld",p); B) p=(long *)malloc(8); scanf("%ld",p); C) scanf("%ld",p=&a); D) scanf("%ld",&a); 17. 若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是 A) p+1 B) a+1 C) a++ D) ++p 18. 下面程序的输出是 main() { enum team {my,your=4,his,her=his+10}; printf("%d %d %d %d\n",my,your,his,her);} A) 0 1 2 3 B) 0 4 0 10 C) 0 4 5 15 D) 1 4 5 15 19. 以下程序输出结果是 main( ) { int m=5; if(m++>5)printf("%d\n",m); else printf("%d\n",m--); } A)7 B)6 C)5 D)4 20. 以下程序运行后,输出结果是 int d=1; fun(int p) { int d=5; d+=p++; printf("%d",d); } main() { int a=3; fun(a); d+=a++; printf("%d\n",d); } A)84 B)99 C)95 D)44 二、填空题(每空1分,共10分。) 1. 程序由主要由__________、_________组成。 2. 在C语言中,不同运算符之间运算次序存在_________的区别,同一运算符之间运算次序存在________的规则。 3. 欲将字符串S1复制到字符串S2中,其语句是 ____________ 。 4. 结构化程序设计中的三种基本结构是_________、__________、___________。 5. 表达式x=x+1表示成增量表达式为___________。 6. 定义int a[]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是____________。 三、判断题(本题共10道小题,共10分。) 1. 在不得已的情况下(例如提高程序运行效率),才使用goto语句( ) 2. 条件表达式可以取代if语句,或者用if语句取代条件表达式( ) 3. 在C程序中对用到的所有数据都必须指定其数据类型( ) 4. 可以对字符型数组进行整体输入、输出( ) 5. 函数中的静态变量在函数每次调用时,都会重新设置初值( ) 6. 实参和与其对应的形参共占用一个存储单元( ) 7. 一个实型变量的值肯定是精确的( ) 8. 在不同函数中可以使用相同名字的变量( ) 9. 函数调用:strcat(strcpy(str1,str2),str3)的功能是将串str2连接到串str1之后再将串str1复制到串str3中( ) 10. 系统不允许用户重新定义标准库函数( ) 四、程序填空(本题共5道小题,每题4分,共20分。) 1. 22、 下面程序的运行结果是________。 #include <stdio.h> main() { int i=5; char c[6]="abcd"; do { c[i]=c[i―1]; }while(――i>0); puts(c); } 2. 以下程序的执行结果是____________。 #include<stdio.h> main( ) { int a[3][3]={1,2,3,4,5,6,7,8,9},i,s=0; for(i=0;i<=2;i++) s=s+a[i][i]; printf("s=%d\n",s); } 3. 以下程序中, for循环体执行的次数是______________。 #define N 2 #define M N+1 #define K M+1*M/2 main() { int i; for(i=1;i<K;i++) { ... } ... } 4. 以下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。 void sstrcpy(char *s,char *t) { while(*s++=_____________);} main( ) { char str1[100],str2[]="abcdefgh"; sstrcpy(str1,str2); printf("%s\n",str1); } 5. 14、 以下fun函数把ch中的大写字母转换成字母序列中的下一个大写字母,字母Z转换成字母A,其它字符不变,返回转换后的字母或其它字符。请填空。 char fun(char ch) { if(ch= ='Z') ch=__________; else if(ch>='A'&&ch<='Y') ch=__________; return ch; } 五、编程题(本题共2道小题,共20分。) 1. 从键盘输入一个一维数组,将这个数组逆序输出。 2. 编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,子字符串为:as,则应输出6。 江苏省C等级考试(四) 一、选择题(本题共20道小题,共40分。) 1. B 2. C 3. D 4. D 5. D 6. D 7. C 8. C 9. B 10. A 11. C 12. B 13. B 14. B 15. C 16. A 17. C 18. C 19. B 20. A 二、填空题(每空1分,共10分。) 1. 数据结构 ,算法 2. 先后 , 结合性 3. strcpy(s2,s1) 4. 顺序 , 选择 ,循环 5. x++或++x 6. 3 三、判断题(本题共10道小题,共10分。) 1. 错 2. 错 3. 对 4. 错 5. 错 6. 错 7. 错 8. 对 9. 错 10. 对 四、程序填空(本题共5道小题,每题4分,共20分。) 1. aabcd 2. s=15 3. 4 4. *t++ 5. 'A' , ch+1 五、编程题(本题共2道小题,共20分。) 1. #define N 5 main() { int a[N]={9,6,5,4,1},i,temp;  printf("\n original array:\n");  for(i=0;i<N;i++)  printf("%4d",a[i]);  for(i=0;i<N/2;i++)  {temp=a[i];   a[i]=a[N-i-1];   a[N-i-1]=temp;  } printf("\n sorted array:\n"); for(i=0;i<N;i++)  printf("%4d",a[i]); } 2. #include "stdio.h" #include "string.h" #include "conio.h" int fun(char *str,char *substr) { int i,n=0,s=strlen(str); for(i=0;i<s;i++) if((str[i]==substr[0])&&(str[i+1]==substr[1])) n++; return n; } main() { char str[81],substr[3]; int n; clrscr(); printf("enter 1:"); gets(str); printf("enter 2:"); gets(substr); puts (str); puts(substr); n=fun(str,substr); printf("n=%d\n",n); }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 考试专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服