沈阳师范大学大一上册C语言PTA题目集以及答案(第三章 循环结构程序设计 选择题篇)

沈阳师范大学大一上册C语言PTA题目集以及答案(第三章 循环结构程序设计 选择题篇)

2-1
The following piece of code prints out__.

for (a=1,i=-1; -1<=i<1; i++) {
a++;
printf("%2d", a);
}
printf("%2d", i);
(1分)

B.
-1

作者
往年试卷
单位
浙江大学
2-1

2-2
The following code fragment outputs the string str. The loop condition str[i]!=’\0’ can be replaced by __.

char str[80]=“hello, world”;
for (i = 0; str[i] != ‘\0’; i++)
putchar(str[i]);
(1分)

B.
i < 80

作者
往年试卷
单位
浙江大学
2-2

2-3
After executing the following code fragment, the value of variable m is __.

int m;
for( m=0; m<9; m++ ) m++;
(1分)

C.
10

作者
往年试卷
单位
浙江大学
2-3
答案正确
(1 分)
2-4
假设变量s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0),则与以下程序段功能等价的赋值语句是()。

s = a;
for(b = 1; b <= c; b++)
s = s + 1;
(1分)

B.
s = a + c;

作者
颜晖
单位
浙江大学
2-4
答案正确
(1 分)
2-5
下列程序段的输出结果是()。

int main(void)
{
for(int i = 1; i < 6; i ++) {
if( i % 2 != 0) {
printf("#");
continue;
}
printf("*");
}
printf("\n");

  return 0;

}
(1分)

A.
###

作者
颜晖
单位
浙江大学
2-5
答案正确
(1 分)
2-6
循环 for(i=0, j=5; ++i!=–j; ) printf(“%d %d”, i, j); 将执行_____。

(1分)

D.
无限次

作者
徐镜春
单位
浙江大学
2-6
答案正确
(1 分)
2-7
如下程序的执行结果是

#include <stdio.h>
int main (void)
{
int i, sum = 0;
for ( i = 1; i <= 3; sum ++ )
sum += i ;
printf ("%d\n", sum);
return 0;
}
(1分)

C.
死循环

作者
李廷元
单位
中国民用航空飞行学院
2-7
答案正确
(1 分)
2-8
下列程序段的功能是

#include <stdio.h>
int main (void)
{
int i, s = 0;
for (i = 1; i < 10; i += 2)
s += i + 1;
printf("%d\n", s);

return 0;

}
(1分)

D.
自然数1~10中的偶数之和

作者
李廷元
单位
中国民用航空飞行学院
2-8

2-9
等比数列的第一项a=1,公比q=2,下面程序段计算前n项和小于100的最大n。程序[(1)]处应填

#include <stdio.h>
int main (void)
{
int a, q, n, sum;
a = 1; q = 2;
for (n = sum = 0; sum < 100; n++) {
sum += a;
a *= q;
}
[ (1) ] ;
printf(“n = %d\n”, n);
return 0;
}
(1分)

C.
n–

作者
李廷元
单位
中国民用航空飞行学院
2-9

2-10
下面程序运行时如果输入“-1 2 3 3 6 2<回车>”,则输出结果是

#include <stdio.h>
int main(void)
{
int t, a, b, i;
for (i = 1; i <= 3; i++) {
scanf("%d%d", &a, &b);
if (a > b)t = a - b;
else if (a == b)t = 1;
else t = b - a;
printf("%d", t);
}
return 0;
}
(1分)

B.
314

作者
李廷元
单位
中国民用航空飞行学院
2-10
答案正确
(1 分)
2-11
下列程序运行时输入“7mazon<回车>”,则输出结果是

#include <stdio.h>
int main(void)
{
char c;
int i;
for (i = 1; i <= 5; i++) {
c = getchar();
if (c >= ‘a’ && c <= ‘u’)c += 5;
else if (c >= ‘v’ && c <= ‘z’)c = ‘a’ + c - ‘v’;
putchar©;
}
return 0;
}
(1分)

A.
7rfet

作者
李廷元
单位
中国民用航空飞行学院
2-11
答案正确
(1 分)
2-12
执行下面的程序后变量a的值是

#include <stdio.h>
int main(void)
{
int a, b;
for (a = 1, b = 1; a <= 100; a++) {
if (b > 10)break;
if (b % 3 == 1) {
b += 3;
continue;
}
b -= 3;
}
printf("%d\n", a);
return 0;
}
(1分)

A.
5

作者
李廷元
单位
中国民用航空飞行学院
2-12
答案正确
(1 分)
2-13
要求以下程序的功能是计算:s=1+
​2

​1
​​ +
​3

​1
​​ + … +
​10

​1
​​ ,但运行后输出结果错误,导致错误结果的程序行是

#include <stdio.h>
int main(void)
{
int n; float s;
s = 1.0;
for (n = 10; n > 1; n–)s = s + 1 / n;
printf("%6.4f\n", s);
return 0;
}
(1分)

C.
s = s + 1 / n;

作者
李廷元
单位
中国民用航空飞行学院
2-13
答案正确
(1 分)
2-14
以下程序段的输出结果是

int i;
for (i = 1; i <= 5; i++) {
if (i % 2)printf(" <");
else continue;
printf(" >");
}
printf("$");
(1分)

B.
< < < $

作者
李廷元
单位
中国民用航空飞行学院
2-14

2-15
若变量已正确定义,要求程序段完成求5!的计算,以下不能完成此操作的是

(1分)

B.
for (i = 1; i <= 5; i++) {p = 1; p *= i;}

作者
李廷元
单位
中国民用航空飞行学院
2-15
答案正确
(1 分)
2-16
以下程序段( )的功能是计算序列 1 + 1/2 + 1/3 + … 的前N项之和。

(1分)

C.
int i, n;
double sum;
scanf("%d", &n);
sum = 0;
for (i = 1; i <= n; i++){
sum = sum + 1.0/i;
}

作者
颜晖
单位
浙江大学城市学院
2-16
答案正确
(1 分)
2-17
以下程序段( )的功能是计算n的阶乘,假设计算结果不超过双精度范围。

(1分)

D.
int i, n;
double product;
scanf("%d", &n);
product = 1;
for (i = 1; i <= n; i++){
product = product * i;
}
作者
颜晖
单位
浙江大学城市学院
2-17
答案正确
(1 分)
2-18
下面的这个循环的循环次数是( )。 for(int i=0,j=10; i=j=10; i++,j–)

(1分)

C.
10

作者
王秀
单位
福州大学
2-18

2-19
After running the following piece of code, the value of s is __.

int i=5, s=0;
do {
if (i%2) continue;
else s += i;
} while(–i);
(1分)

C.
6

作者
往年试卷
单位
浙江大学
2-19
答案正确
(1 分)
2-20
下列程序段执行后s的值为( )。

int i=5, s=0;
while(i–)
if (i%2) continue;
else s+=i;
(1分)

D.
6

作者
王秀
单位
福州大学
2-20
答案正确
(1 分)
2-21
The following code fragment prints out __.

int a=2,b=9;
do{
b-=a;
a++;
}while(b–<0);
printf(“a=%d,b=%d\n”,a,b);
(1分)

C.
a=3, b=6

作者
往年试卷
单位
浙江大学
2-21
答案正确
(1 分)
2-22
下列程序段执行后s值为__。

int i=5, s=0;
while(i–)
if (i%2) continue;
else s+=i;
(1分)

D.
6

作者
往年试卷
单位
浙江大学
2-22
答案正确
(1 分)
2-23
设有程序段

int m=20; while (m=0) m=m++;
则下面描述中正确的是( )。

(1分)

C.
循环体语句一次也不执行

作者
王秀
单位
福州大学
2-23
答案正确
(1 分)
2-24
对下列代码的描述:

#include “stdio.h”
int main(){
long num=1;
while(num++ > 0) for(long i=num; i >=0; i–)printf(“i :=\n \t %ld \n” , i);
return 0;
}
正确的是:

(1分)

C.
循环有限次,程序正常结束,打印输出有限行

作者
周强
单位
青岛大学
2-24

2-25
C语言中while和do-while循环的主要区别是()。

(1分)

A.
do-while的循环体至少无条件执行一次

作者
颜晖
单位
浙江大学城市学院
2-25
答案正确
(1 分)
2-26
下列叙述中正确的是()。

(1分)

D.
用do-while语句构成的循环,在while后的表达式为零时结束循环

作者
颜晖
单位
浙江大学城市学院
2-26
答案正确
(1 分)
2-27
以下程序段的输出结果是()。

int main(void)
{
int num = 0, s = 0;

  while(num <= 2){
        num ++; 
        s += num;  
  }
  printf("%d\n",s);   

  return 0;

}
(1分)

B.
6

作者
颜晖
单位
浙江大学城市学院
2-27
答案正确
(1 分)
2-28
运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为()。

int main(void)
{
int m, n;

  printf("Enter m,n;");   
  scanf("%d%d", &m,&n);
  while (m != n)
  {   while (m > n)       m = m - n;
      while (n > m)       n = n - m;    
  }
  printf("m=%d\n",m);    

  return 0;

}
(1分)

C.
m=1

作者
颜晖
单位
浙江大学城市学院
2-28
答案正确
(1 分)
2-29
对于循环while(!e) 语句,!e等价于____。

(1分)

A.
e==0

作者
徐镜春
单位
浙江大学
2-29
答案正确
(1 分)
2-30
若变量已正确定义,对以下while循环结束条件的准确描述是()。

flag = 1;
denominator = 1;
item = 1.0;
pi = 0;
while(fabs(item) >= 0.0001){
item = flag * 1.0 / denominator;
pi = pi + item;
flag = -flag;
denominator = denominator + 2;
}
(1分)

A.
item的绝对值小于0.0001

作者
颜晖
单位
浙江大学城市学院
2-30

  • 5
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值