1、江苏省计算机等级考试 - 学年 第 学期 c程序设计 试卷( ) 题号 一 二 三 四 五 六 七 八 九 总 分 得分 一、选择题(本题共20道小题,共40分。) 1. 若有说明,double *p,a;则能通过scanf语句对的给输入项读入数据的程序段是 A)*p=&a; scanf("%lf",p); B)p=(double*)malloc(8);scanf("%f",p); C) p=&a;scanf("%lf",a); D)p=&a; scanf("%le",p);
2、
2. 两次运营下面的程序,假如从键盘上分别输入6和4,则输出结果是
main( )
{ int x;
scanf("%d",&x);
if(x + + >5) printf("%d",x);
else printf("%d\n",x - -); }
A) 7和5 B) 6和3 C) 7和4 D) 6和4
3. 下面程序的输出是
A) xyzabcABC B) zabcABC C) yzabcABC D) xyabcABC
#include
3、string.h> main() { char *p1="abc",*p2="ABC",str[50]="xyz"; strcpy(str+2,strcat(p1,p2)); printf("%s\n", str);} 4. 若有以下说明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 则数值为4的表达式是 A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]
4、
5. 以下叙述中不对的的是
A)在不同的函数中可以使用相同名字的变量
B)函数中的形式参数是局部变量
C)在一个函数内定义的变量只在本函数范围内有效
D)在一个函数内的复合语句中定义的变量
6. 请选出以下程序段的输出结果
#include
5、 D)150 7. 在C程序中,可把整型数以二进制形式存放到文献中的函数是 A) fprintf函数 B) fread函数 C) fwrite函数 D) fputc函数 8. 设有以下语句: struct st {int n; struct st *next;}; static struct st a[3]={5,&a[1],7,&a[2],9,'\0'},*p; p=&a[0]; 则表达式_____的值是6。 A)p + + ->n B) p->n + + C) (*p).n + + D) +
6、 p->n 9. C语言中形参的缺省存储类别是 A)自动(auto) B)静态(static) C)寄存器(register) D)外部(extern) 10. 执行下面的程序段后,变量k中的值为 int k=3, s[2]; s[0]=k; k=s[1]*10; A) 不定值 B) 33 C) 30 D) 10 11. 已知字母A的ASCII码为十进制的65,下面程序的输出是 main() { char ch1,ch2; ch1='A'+'5'-'3';
7、 ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2);} A) 67,D B) B,C C) C,D D) 不拟定的值 12. 语句:printf("%d \n",12 &012);的输出结果是 A) 12 B) 8 C) 6 D) 012 13. 以下说法中对的的是 A) C语言程序总是从第一个的函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()
8、函数必须放在程序的开始部分 14. 以下程序运营后,输出结果是 main( ) { char *s="abcde"; s+=2; printf("%ld\n",s); } A)cde B)字符c的ASCII码值 C)字符c的地址 D)犯错 15. 设x和y均为int型变量,则执行下的循环后,y值为 for(y=1,x=1;y<=50;y++) { if(x>=10)break; if(x%2==1){x+=5;continue;} x-=3; } A)2 B)4 C)6 D)8 16. 当a=1,b
9、3,c=5,d=4时,执行下面一段程序后,x的值为 if(a
10、32767 C) 0-65535 D) 0- 19. 下面的程序 main() { int x=3,y=0,z=0; if(x=y+z)printf("* * * *"); else printf("# # # #");} A) 有语法错误不能通过编译 B) 输出* * * *。 C) 可以通过编译,但是不能通过连接,因而不能运营。 D) 输出# # # #。 20. 若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是 A)3 B)4 C)5 D)6 二、填空题
11、每空1分,共10分。) 1. 若有定义:double x[3][5],则x数组中行下标的下限为_________,列下标的下限为__________。 2. 设有说明语句"int a[3][4]={{1,2},{3,4,5},{6,7,8}};"则a[0][2]的初始化值为_____________,a[2][2]的初始化值为______________。 3. 表达式7/2的结果是____________。表达式7%2的结果是____________。 4. 若已知a=1.5,b=15,c=1,则表达式a*b&&c的运算结果是____________。 5. C语言的标记
12、符只能由大小写字母,数字和下划线三种字符组成,并且第一个字符必须为______________。 6. 定义int a[]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是____________。 7. 已有int i,j; float x;为将-10赋给i,12赋给j,410.34赋给x;则相应scanf("%d,%d,%d",&i,&j,&f)调用语句的数据输入形式是__________ 三、判断题(本题共10道小题,共10分。) 1. 在实际编程中,do-while循环完全可以用for循环替换( ) 2. do-while循环中,根据情况
13、可以省略while( ) 3. 若调用一个函数,且此函数中没有return语句,则返回一个不拟定的值( ) 4. 函数调用:strcat(strcpy(str1,str2),str3)的功能是将串str2复制到串str1中后再将串str3连接到串str1之后( ) 5. 自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式( ) 6. 全局变量使得函数之间的"耦合性"更加紧密,不利于模块化的规定( ) 7. 函数的定义可以嵌套,但函数的调用不可以嵌套( ) 8. 一个变量在内存中占据一定的存储单元( ) 9. 在while循环中允许使用嵌套循环
14、但只能是嵌套while循环( ) 10. 字符型数组中可以存放字符串( ) 四、程序填空(本题共5道小题,每题4分,共20分。) 1. 设有以下程序: main() { int n1,n2; scanf("%d",&n2); while(n2!=0) { n1=n2%10; n2=n2/10; printf("%d",n1); } } 程序运营后,假如从键盘上输入1298;则输出结果为_________。 2. 以下程序输出的最后一个值是__________。 int ff(int n) { static int f=l; f=f*n; re
15、turn f;
}
main()
{ int i;
for(I=1;I<=5;I++ printf("%d\n",ff(i));
}
3. 编写程序,计算s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。
#include
16、
sum+=s;
}
printf("%d",sum);
}
4. 若输入3个整数3,2,1,则下面程序的输出结果是____________。
#include
17、f( "%d%d%d",&n,&aa[0],&aa[1]);
for(i=1; i 18、编程题(本题共2道小题,共20分。)
1. 打印出杨辉三角形(规定打印出10行如下图)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
2. 一个数假如恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。
江苏省计算机等级考试
- 学年 第 学期 c程序设计 试卷(参考答案)
题号
一
二
三
四
五
六
七
八
九 19、
总 分
得分
一、选择题(本题共20道小题,共40分。)
1. D
2. A
3. D
4. D
5. D
6. A
7. A
8. D
9. A
10. A
11. A
12. B
13. C
14. C
15. C
16. B
17. B
18. C
19. D
20. A
二、填空题(每空1分,共10分。)
1. 2 , 4
2. 0 , 8
3. 3 , 1
4. 1
5. 字母数字或下划线
6. 3
7. 10,12,410.34
三、判断题(本题共10道小 20、题,共10分。)
1. 对
2. 错
3. 对
4. 对
5. 对
6. 对
7. 错
8. 对
9. 错
10. 错
四、程序填空(本题共5道小题,每题4分,共20分。)
1. 8921
2. 120
3. s=0 , s+=j
4. 2 7 2 1 或2721
5. 7 1
五、编程题(本题共2道小题,共20分。)
1. main()
{int i,j;
int a[10][10];
printf("\n");
for(i=0;i<10;i++)
{a[i][0]=1;
a[i][i]=1;}
for(i=2;i<10;i++) 21、
for(j=1;j






