江苏省计算机二级C语言试题笔试1.docx
- 文档编号:28288537
- 上传时间:2023-07-10
- 格式:DOCX
- 页数:13
- 大小:19.29KB
江苏省计算机二级C语言试题笔试1.docx
《江苏省计算机二级C语言试题笔试1.docx》由会员分享,可在线阅读,更多相关《江苏省计算机二级C语言试题笔试1.docx(13页珍藏版)》请在冰豆网上搜索。
江苏省计算机二级C语言试题笔试1
江苏省计算机二级C语言试题笔试--
(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.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是
main()
{intx;
scanf("%d",&x);
if(x++>5)printf("%d",x);
elseprintf("%d\n",x--);}
A)7和5B)6和3C)7和4D)6和4
3.下面程序的输出是
A)xyzabcABCB)zabcABCC)yzabcABCD)xyabcABC
#include
#include
main()
{char*p1="abc",*p2="ABC",str[50]="xyz";
strcpy(str+2,strcat(p1,p2));
printf("%s\n",str);}
4.若有以下说明:
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
charc='a',d,g;
则数值为4的表达式是
A)a[g-c]B)a[4]
C)a['d'-'c']D)a['d'-c]
5.以下叙述中不正确的是
A)在不同的函数中可以使用相同名字的变量
B)函数中的形式参数是局部变量
C)在一个函数内定义的变量只在本函数范围内有效
D)在一个函数内的复合语句中定义的变量
6.请选出以下程序段的输出结果
#include
#defineMIN(x,y)(x)<(y)?
(x):
(y)
main()
{inti,j,k;
i=10;j=15;
k=10*MIN(i,j);
printf("%d\n",k);
}
A)15B)100C)10D)150
7.在C程序中,可把整型数以二进制形式存放到文件中的函数是
A)fprintf函数B)fread函数C)fwrite函数D)fputc函数
8.设有以下语句:
structst{intn;structst*next;};
staticstructsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;
p=&a[0];
则表达式_____的值是6。
A)p++->nB)p->n++C)(*p).n++D)++p->n
9.C语言中形参的缺省存储类别是
A)自动(auto)B)静态(static)
C)寄存器(register)D)外部(extern)
10.执行下面的程序段后,变量k中的值为
intk=3,s[2];
s[0]=k;k=s[1]*10;
A)不定值B)33C)30D)10
11.已知字母A的ASCII码为十进制的65,下面程序的输出是
main()
{charch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);}
A)67,DB)B,C
C)C,DD)不确定的值
12.语句:
printf("%d\n",12&012);的输出结果是
A)12B)8C)6D)012
13.以下说法中正确的是
A)C语言程序总是从第一个的函数开始执行
B)在C语言程序中,要调用的函数必须在main()函数中定义
C)C语言程序总是从main()函数开始执行
D)C语言程序中的main()函数必须放在程序的开始部分
14.以下程序运行后,输出结果是
main()
{
char*s="abcde";
s+=2;
printf("%ld\n",s);
}
A)cdeB)字符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)2B)4C)6D)8
16.当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为
if(a
if(c elseif(a if(b elsex=3; elsex=6; elsex=7; A)1B)2C)3D)6 17.设所有变量均为int型,则表达式(a=2,b=5,b++,a+b)的值是 A.7B.8C 18.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为: A)0-255 B)1-32767 C)0-65535 D)0-2147483647 19.下面的程序 main() {intx=3,y=0,z=0; if(x=y+z)printf("****"); elseprintf("####");} A)有语法错误不能通过编译 B)输出****。 C)可以通过编译,但是不能通过连接,因而不能运行。 D)输出####。 20.若有以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是 A)3B)4C)5D)6 二、填空题(每空1分,共10分。 ) 1.若有定义: doublex[3][5],则x数组中行下标的下限为_________,列下标的下限为__________。 2.设有说明语句"inta[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语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为______________。 6.定义inta[]={1,2,3,4,5,6},*p=a;表达式(*++p)++的值是____________。 7.已有inti,j;floatx;为将-10赋给i,12赋给j,410.34赋给x;则对应scanf("%d,%d,%d",&i,&j,&f)调用语句的数据输入形式是__________ 三、判断题(本题共10道小题,共10分。 ) 1.在实际编程中,do-while循环完全可以用for循环替换() 2.do-while循环中,根据情况可以省略while() 3.若调用一个函数,且此函数中没有return语句,则返回一个不确定的值() 4.函数调用: strcat(strcpy(str1,str2),str3)的功能是将串str2复制到串str1中后再将串str3连接到串str1之后() 5.自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式() 6.全局变量使得函数之间的"耦合性"更加紧密,不利于模块化的要求() 7.函数的定义可以嵌套,但函数的调用不可以嵌套() 8.一个变量在内存中占据一定的存储单元() 9.在while循环中允许使用嵌套循环,但只能是嵌套while循环() 10.字符型数组中可以存放字符串() 四、程序填空(本题共5道小题,每题4分,共20分。 ) 1.设有以下程序: main() {intn1,n2; scanf("%d",&n2); while(n2! =0) {n1=n2%10; n2=n2/10; printf("%d",n1); } } 程序运行后,如果从键盘上输入1298;则输出结果为_________。 2.以下程序输出的最后一个值是__________。 intff(intn) {staticintf=l; f=f*n; returnf; } main() {inti; for(I=1;I<=5;I++printf("%d\n",ff(i)); } 3.编写程序,计算s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值。 #include main() { intn,s,sum=0; scanf("%d",&n); for(inti=1;i<=n;i++) { ____________; for(intj=1;j<=i;j++) _____________; sum+=s; } printf("%d",sum); } 4.若输入3个整数3,2,1,则下面程序的输出结果是____________。 #include voidsub(n,uu) intn,uu[]; {intt; t=uu[n--];t+=3*uu[n]; n=n++; if(t>=10) {uu[n++]=t/10;uu[n]=t%10;} elseuu[n]=t; } main() {inti,n,aa[10]={0,0,0,0,0,0} scanf("%d%d%d",&n,&aa[0],&aa[1]); for(i=1;i for(i=0;i<=n;i++)printf("%d",aa[i]); printf("\n"); } 5.下列程序的输出结果是___________。 intast(intx,inty,int*cp,int*dp) {*cp=x+y; *dp=x-y; } main() { inta,b,c,d; a=4;b=3; ast(a,b,&c,&d); printf("%d%d\n",c,d); } 五、编程题(本题共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程序设计试卷(参考答案) 题号 一 二 三 四 五 六 七 八 九 总分 得分 一、选择题(本题共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 三、判断题(本题共10道小题,共10分。 ) 1.对 2.错 3.对 4.对 5.对 6.对 7.错 8.对 9.错 10.错 四、程序填空(本题共5道小题,每题4分,共20分。 ) 1.8921 2.120 3.s=0,s+=j 4.2721或2721 5.71 五、编程题(本题共2道小题,共20分。 ) 1.main() {inti,j; inta[10][10]; printf("\n"); for(i=0;i<10;i++) {a[i][0]=1; a[i][i]=1;} for(i=2;i<10;i++) for(j=1;j a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<10;i++) {for(j=0;j<=i;j++) printf("%5d",a[i][j]); printf("\n"); } } 2.main() { staticintk[10]; inti,j,n,s; for(j=2;j<1000;j++) { n=-1; s=j; for(i=1;i { if((j%i)==0) { n++; s=s-i; k[n]=i; } } if(s==0) { printf("%disawanshu",j); for(i=0;i printf("%d,",k[i]); printf("%d\n",k[n]); } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 江苏省 计算机 二级 语言 试题 笔试