2023年上海计算机二级考试模拟卷.docx
2023年上海计算机二级考试模拟卷本卷共分为1大题50小题,作答时间为180分钟,总分100分,60分及格。一、单项选择题(共50题,每题2分。每题的备选项中,只有一个最符合题意) 1.执行以下程序段后,c3的值为_。 int c1=1,c2=2,c3; c3=1.0/c2*c1A.0B.0.5C.1D.22.以下程序的输出结果是_。 #inClude main int y=3,x=3,z=1; printf("%d%dn",(+x,y+),z+2)A.34B.42C.43D.333.若a,b,C,d都是int类型变量且初值为0,则以下选项中不正确的赋值语句是_A.=b=c=100;B.d+;C.+b;D.=(c=22)-(b+);4.以下写法正确的是_A.main() int a=1,b=2,temp=0; temp=a;a=b;b=temp B.main() int a=1,b=2,temp=0; temp=a;a=b;b=temp; C.main();D.main()5.设有定义:“long x=-123456L;",则以下能够正确输出变量x值的语句是_A.printf("x=%dn",x);B.printf("x=%ldn",x);C.printf("x=%8dLn",x);D.printf("X=%LDn",x);6.若有以下程序段(n所赋的是八进制数): int m=32767,n=032767; printf("%d,%011",m,n); 执行后的输出结果是_A.32767,32767B.32767,032767C.32767,77777D.32767,0777777.阅读以下程序: #include main char str10; scanf("%S",str); printf(“%Sn",str); 运行上面的程序,输入字符串HOW DO YOU D0,则程序的输出结果是_A.HOW DO YOU DOB.HOWC.HOWDOYOUD.how do you do8.若有说明:“double a;"则正确的输入语句为_A.scanf("%If",a);B.scanf("%f",&a);C.scanf("%If",&a)D.scanf("%le",&a);9.以下选项中不是C语句的是_A.int i;i+;printf("%dn",i);B.;C.a=5c=10D.;10.执行以下程序时输入l234567,程序的运行结果为_。 #include main int x,y; scanf("%2d%2ld",&x,&y); printf("%dn",x+y); A.17B.46C.15D.911.若有定义char a;int b;float c;double d;则表达式a*b+c-d结果为_型A.doubleB.intC.floatD.char12.若有定义int a,b;,则用语句scanf("%d%d",&a,&b);输入a,b的值时,不能作为输入数据分隔符的是_A.B.空格C.回车D.键13.运行下面的程序,如果从键盘上输入: ab c def 则输出结果为_。 #define N 6 #include main char CN; int i=0; for(;i=10 Or a=10I a=10&&a=10|a=0|b>=O)&&(a=0&&b>=0)&&(a0)&&(a+b028.以下程序的输出结果是_。 #include main int a=-1,b=1; if(+ab) if(b5)printf("%d",x); else printf("%dn",X-);A.7和5B.6和3C.7和4D.6和435.以下程序的输出结果是_。 int n=10; while(n>7) n-; printf("%dn",n);A.1098B.987C.10987D.987636.以下叙述正确的是_A.dowhile语句构成的循环不能用其他语句构成的循环代替B.只有dowhile语句构成的循环能用break语句退出C.用dowhile语句构成循环时,在while后的表达式为零时不一定结束循环D.用dowhile语句构成循环时,在while后的表达式为零时结束循环37.设i和x都是int类型,则以下for循环语句_。 for(i=0,x=0;ij共执行了_次。 #include main int i=0,j=10,k=2,s=0; for(;) i+=k;if(i>j) printf("%d",s); break; s+=i; A.4B.7C.5D.645.以下程序的输出结果是_。 #include main int i; for(i=1;i); putchar(#); A.#B.>#D.>0;y-) if(y%3=0) printf("%d",-y); continue; A.741B.852C.963D.875432147.在while(x)语句中的x与下面条件表达式等价的是_A.x=0B.x=1C.x!=1D.x!=048.以下程序的输出结果是_。 #include main int k,J,m; for(k=5;k>=1;k-) m=0; for(j=k;j8;y=+i) printf("%d%d",x-,y); A.10 1 9 2B.9 8 7 6C.10 9 9 0D.10 10 9 150.以下程序的输出结果是_。 a=1;b=2;c=2; while(abc)t=a;a=b;b=t;c-; printf("%d,%d,%d",a,b,c)A.1,2,0B.2,1,0C.1,2,1D.2,1,1