《江苏省计算机二级C语言试题笔试(共9页).doc》由会员分享,可在线阅读,更多相关《江苏省计算机二级C语言试题笔试(共9页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上江苏省C等级考试(四)一、选择题(本题共20道小题,共40分。)1. (14)指针s所指字符串的长度为 char *s=NameAddressn;A) 19 B) 15 C) 18 D)说明不合法 2. 若有下面的程序片段:int a12=0, *p3, *pp, i;for(i=0; i3; i+)pi=&ai*4;pp=p;则对数组元素的错误引用是A) pp01 B) a10 C) p31 D) *(*(p+2)+2) 3. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为A) a0 B) !a C) a=0 D) a 4. 若已定义
2、: int a =0,1,2,3,4,5,6,7,8,9, *p=a,i; 其中 0i9, 则对a数组元素不正确的引用上 A) ap-a B) *(&ai) C) pi D) a10 5. 以下程序的输出结果是 main( ) int x=10,y=10,I; for(i=0;x8;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(%dn, +*x);main() int a=25;prtv(&a);A) 23 B) 24 C
3、) 25 D) 26 7. 下面能正确进行字符串赋值操作的语句是A)char s5=ABCDE; B)char s5=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#def
4、ine SUB(X,Y) (X)*Ymain() int a=3, b=4;printf(%d, SUB(a+, b+);上面程序的输出结果是A) 12 B) 15 C) 16 D) 20 11. sizeof(float)是:A) intB) floatC) doubleD) 不确定 12. 若执行下面的程序时从键盘上输入3和4,则输出是main() int a,b,s;scanf(%d %d,&a,&b);s=a;if(ab)s=b;s=s*s;printf(%dn,s);A) 14 B) 16 C) 18 D) 20 13. 以下程序的输出结果是 # include main() pri
5、ntf(%dn,NULL); A) 不确定的(因变量无定义) B)0 C)-1 D)1 14. 请读程序:#includef(char *s) char *p=s;while( *p!=0) p+;return(p-s);main() printf(%dn,f(ABCDEF);上面程序的输出结果是A) 3 B) 6 C) 8 D) 0 15. 下面各语句行中,能正确进行赋字符串操作的语句行是A) char st45=ABCDE;B) char s5=A,B,C,D,E;C) char *s; s=ABCDE;D) char *s; scanf(%s,s); 16. 若有说明:long *p,a
6、;则不能通过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 a9,*p=a;并在以后的语句中未改变p的值,不能表示a1 地址的表达式是 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 %dn,my,your,his,her);A)
7、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(%dn,m);else printf(%dn,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(%dn,d);A)84 B)99 C)95 D)44 二、填空题(每空1分,共10分。)1. 程序由主要由_、_组成。 2. 在C语言中,不同运算
8、符之间运算次序存在_的区别,同一运算符之间运算次序存在_的规则。 3. 欲将字符串S1复制到字符串S2中,其语句是 _ 。 4. 结构化程序设计中的三种基本结构是_、_、_。 5. 表达式x=x+1表示成增量表达式为_。6. 定义int a1,2,3,4,5,6,*pa;表达式(*p)的值是_。 三、判断题(本题共10道小题,共10分。)1. 在不得已的情况下(例如提高程序运行效率),才使用goto语句( ) 2. 条件表达式可以取代if语句,或者用if语句取代条件表达式( ) 3. 在C程序中对用到的所有数据都必须指定其数据类型( ) 4. 可以对字符型数组进行整体输入、输出( ) 5. 函
9、数中的静态变量在函数每次调用时,都会重新设置初值( ) 6. 实参和与其对应的形参共占用一个存储单元( ) 7. 一个实型变量的值肯定是精确的( ) 8. 在不同函数中可以使用相同名字的变量( ) 9. 函数调用:strcat(strcpy(str1,str2),str3)的功能是将串str2连接到串str1之后再将串str1复制到串str3中( ) 10. 系统不允许用户重新定义标准库函数( ) 四、程序填空(本题共5道小题,每题4分,共20分。)1. 22、下面程序的运行结果是_。#include main()int i5;char c6abcd;do cici1;while(i0);pu
10、ts(c); 2. 以下程序的执行结果是_。includestdio.hmain( )int a331,2,3,4,5,6,7,8,9,i,s0;for(i0;i2;i)ssaii;printf(s%dn,s); 3. 以下程序中, for循环体执行的次数是_。#define N 2#define M N+1#define K M+1*M/2main() int i; for(i=1;i=A&ch=Y) ch=_;return ch; 五、编程题(本题共2道小题,共20分。)1. 从键盘输入一个一维数组,将这个数组逆序输出。 2. 编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串
11、中出现的次数。例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,子字符串为:as,则应输出6。 江苏省C等级考试(四)一、选择题(本题共20道小题,共40分。)1. B2. C3. D4. D5. D6. D7. C8. C9. B10. A11. C12. B13. B14. B15. C16. A17. C18. C19. B20. A二、填空题(每空1分,共10分。)1. 数据结构 ,算法2. 先后 , 结合性3. strcpy(s2,s1)4. 顺序 , 选择 ,循环5. x+或+x6. 3三、判断题(本题共10道小题,共10分。)1. 错2.
12、 错3. 对4. 错5. 错6. 错7. 错8. 对9. 错10. 对四、程序填空(本题共5道小题,每题4分,共20分。)1. aabcd2. s153. 44. *t+5. A , ch+1五、编程题(本题共2道小题,共20分。)1. #define N 5main() int aN=9,6,5,4,1,i,temp;printf(n original array:n);for(i=0;iN;i+)printf(%4d,ai);for(i=0;iN/2;i+)temp=ai;ai=aN-i-1;aN-i-1=temp;printf(n sorted array:n);for(i=0;iN;i
13、+)printf(%4d,ai);2. #include stdio.h#include string.h#include conio.hint fun(char *str,char *substr) int i,n=0,s=strlen(str);for(i=0;is;i+)if(stri=substr0)&(stri+1=substr1)n+;return n;main()char str81,substr3;int n; clrscr();printf(enter 1:);gets(str);printf(enter 2:);gets(substr);puts (str);puts(substr);n=fun(str,substr);printf(n=%dn,n);专心-专注-专业