1、江苏省计算机2级考试 - 年 第 学期 c程序设计 试卷( ) 题号 一 二 三 四 五 六 七 八 九 总 分 得分 一、选用题(本题共20道小题,共40分。) 1. 体现关系x≤y≤zc语言体现式为 A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z) C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z) 2. 如下程序输出成果是 main( ) { int a=12,b=12; printf("%d %d\n",--a,++b
2、); } A)10 10 B)12 12 C)11 10 D)11 13 3. 如下for循环 for(x=0,y=0;(y!=123)&&(x<4);x + + ); A) 是无限循环 B)循环次数不定 C)执行4次 D)执行3次 4. 有如下程序 main() { char a[]="programming",b[]="language"; char *p1,*p2; int i; p1=a;p2=b; for(i=0;i<7;i++) if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i))
3、 } 输出成果是 A)gm B)rg C)or D)ga 5. 如下说法中对旳是 A) #define和printf都是C语句 B) #define是C语句,而printf不是 C) printf是C语句,但#define不是 D) #define和printf都不是C语句 6. 下面程序 main() { int x=3; do { printf("%d\n",X-=2); }while(!(--x));} A) 输出是1 B) 输出是1和-2 C) 输出是3和0 D) 是死循环
4、 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. 如下程序输出成果是 main( ) { int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1]; for(i=0;i<4;i+=2)printf("%d ",p[i]); } A) 5 2 B) 5
5、 1 C) 5 3 D) 9 7 9. 若规定在if后一对圆括号中体现a不等于0关系,则能对旳体现这一关系体现式为 A) a<>0 B) !a C) a=0 D) a 10. 下面各语句行中,能对旳进行赋字符串操作语句行是 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); 11. 若fp是指向某文献指针,且已读到该文献末
6、尾,则C语言函数feof(fp)返回值是 A) EOF B) -1 C) 非零值 D) NULL 12. 设p1和p2是指向同一种int型一维数组指针变量,k为int型变量,则不能对旳执行语句是 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--<=0)); printf("%d %d %d\n",k,a,b);} A) 0 0 3
7、B) 0 1 2 C) 1 0 3 D) 1 1 2 14. 若x是整型变量,pb是基类型为整型指针变量,则对旳赋值体现式是 A) pb=&x B) pb=x; C) *pb=&x; D) *pb=*x 15. 设有 static char str[ ]="Beijing"; 则执行 printf("%d\n",strlen(strcpy(str,"China"))); 后输出成果为 A) 5 B) 7 C) 12 D) 1
8、4 16. 如下程序输出成果是 A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1 main( ) { int x=10,y=10,I; for(i=0;x>8;y=++i) printf("%d,%d ",x--,y); } 17. 设有如下函数定义: int f(char *s) { char *p=s; while(*p!='\0') p++; return(p-s); } 假如在主
9、程序中用下面语句调用上述函数,则输出成果为 printf("%d\n",f("goodbey!")); A) 3 B) 6 C) 8 D) 0 18. 若执行下面程序时从键盘上输入3和4,则输出是 main() { int a,b,s; scanf("%d %d",&a,&b); s=a; if(a
10、auto enum include B swith typedef continue C signed union scanf D if struct type 20. 有如下程序 viod fun (int a,int b,int c) {a=456;b=567;c=678;} main() { int x=10,y=20,z=30; fun (x,y,z); printf("%d,%d.%d",x,y,z); } 输出成果是 A)30,20,10 B)10,20,30 C)456,567,678 D)
11、678,567,456 二、填空题(每空1分,共10分。) 1. 为体现关系:x≤y≤z ,应使用C语言体现式是_____________。 2. 字符串是以__________为结束标志一维字符数组。有定义:char a[]="";则a数组长度是____________。 3. 设int a; float f; double i ;则体现式10+'a'+i*f值数据类型是___________。 4. 设有阐明语句"int a[3][4]={{1,2},{3,4,5},{6,7,8}};"则a[0][2]初始化值为_____________,a[2][2]初始化
12、值为______________。 5. 假定p所指对象值为25,p+1所指对象值为46,则执行"(*p)++;"语句后,p所指对象值为___________ 6. 程序由重要由__________、_________构成。 7. 有函数调用fun1(x+y,(y,z),10,fun((x,y―1)));函数fun1有_______ 个参数 三、判断题(本题共10道小题,共10分。) 1. 在C中,外部变量隐含类别是自动存储类别( ) 2. 实参和与其对应形参共占用一种存储单元( ) 3. 在不得已状况下(例如提高程序运行效率),才使用goto语句( ) 4.
13、 条件体现式可以取代if语句,或者用if语句取代条件体现式( ) 5. 函数中静态变量在函数每次调用时,都会重新设置初值( ) 6. 全局变量都是静态存储( ) 7. 假如在所有函数定义之前,在函数外部已做了申明,则各个主调函数不必再做函数原型申明( ) 8. 系统不容许顾客重新定义原则库函数( ) 9. 若调用一种函数,且此函数中没有return语句,则该函数没有返回值( ) 10. 函数调用:strcat(strcpy(str1,str2),str3)功能是将串str2连接到串str1之后再将串str1复制到串str3中( ) 四、程序填空(本题共5道小
14、题,每题4分,共20分。) 1. 如下fun函数把ch中大写字母转换成字母序列中下一种大写字母,字母Z转换成字母A,其他字符不变,返回转换后字母或其他字符。请填空。 char fun(char ch) { if(ch= ='Z') ch=__________; else if(ch>='A'&&ch<='Y') ch=__________; return ch; } 2. 如下sstrcpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一种新字符串s。请填空。 void sstrcpy(char *s,char *t) { while(*
15、s++=_____________);} main( ) { char str1[100],str2[]="abcdefgh"; sstrcpy(str1,str2); printf("%s\n",str1); } 3. 如下程序段用于构成一种简朴单向链表。 struct STRU { int x,y ; float rate; ____________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.
16、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/2
main()
{ int i;
for(i=1;i 17、)
{ ... }
...
}
五、编程题(本题共2道小题,共20分。)
1. 打印出所有“水仙花数”,所谓“水仙花数”是指一种三位数,其各位数字立方和等于该数自身。例如:153是一种“水仙花数”,由于153=1三次方+5三次方+3三次方。
2. 请编写函数fun,函数功能是:在字符串中所有数字字符前加一种$字符。
例如,输入:A1B23CD45,则输出为:A$1B$2$3CD$4$5。
江苏省计算机级别考试
- 年 第 学期 c程序设计 试卷(参照答案)
题号
一
二 18、
三
四
五
六
七
八
九
总 分
得分
一、选用题(本题共20道小题,共40分。)
1. A
2. D
3. C
4. D
5. D
6. B
7. C
8. C
9. D
10. C
11. D
12. B
13. C
14. A
15. A
16. D
17. C
18. B
19. B
20. A
二、填空题(每空1分,共10分。)
1. (x<=y)&&(y<=z)
2. '\0' , 0
3. double
4. 0 ,8
5. 26
6. 数据构造 , 19、算法
7. 4
三、判断题(本题共10道小题,共10分。)
1. 对
2. 错
3. 错
4. 错
5. 错
6. 错
7. 对
8. 对
9. 错
10.
四、程序填空(本题共5道小题,每题4分,共20分。)
1. 'A' , ch+1
2. *t++
3. Struct STRU *
4. "%d %f",&minute,&fei
fei*minute/60
5. 4
五、编程题(本题共2道小题,共20分。)
1. main()
{
int i,j,k,n;
printf("'water flower'number is:"); 20、
for(n=100;n<1000;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
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818