C程选择题(一)


2-2

一个C程序的执行是从( )(1分)
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束

答案:A


2-3

以下叙述正确的是( )(1分)
A.在C程序中,main函数必须位于程序的最前面
B.C程序的每行中只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误

答案:C


2-4

一个C语言程序是由( )(1分)
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成

答案:B


2-5

关于程序设计语言
在下列说法中,▁▁▁▁▁ 是不正确的。(1分)
A.高级语言功效较低,低级语言功效较高。
B.低级语言使用复杂、繁琐、费时、易出错。
C.高级语言使用简单、易学、易用、易维护。
D.高级语言无须翻译便可直接在机器上运行。

答案:D


2-6

用( )三种基本控制结构,就可以编写任何复杂的计算机程序(2分)
A.I/O,转移,循环
B.转子(程序),返回,处理
C.顺序,选择,循环
D.输入,输出,处理

答案:C


2-1

要调用数学函数时,在#include命令行中应包含____。(2分)
A.“stdio.h”
B.“string.h”
C.“math.h”
D."ctype.h"

答案:C


2-10

若a是基本整型变量,c是单精度实型变量,输入语句____是错误的。(2分)
A.scanf("%d,%f”, &a, &c);
B.scanf(“d=%d, c=%f”, &a, &c);
C.scanf(”%d%f”, &a, &c);
D.scanf("%d%f”, a, c);

答案:D


2-11

C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( )(2分)
A.必须为字母
B.必须为下划线
C.必须为字母或下划线
D.可以是字母、数字和下划线中任一种字符

答案:C


2-12

下列程序段输出结果为 ____。(2分)

int x = -3, y = 2;

if(x>y);
    x = -x;
if(x<y)
    y = -y;
printf("x=%d,y=%d\n", x, y);

A.x=3,y=-2
B.x=3,y=2
C.x=-3,y=2
D.x=-3,y=-2

答案:B


2-30

假设变量s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0),则与以下程序段功能等价的赋值语句是()。(2分)

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

A.s = a + b;
B.s = a + c;
C.s = s + c;
D.s = b + c;

答案:B


2-31

若变量已正确定义,要求程序段完成求5!的计算,以下不能完成此操作的是(2分)
A.for (i = 1, p = 1; i <= 5; i++) p *= i;
B.for (i = 1; i <= 5; i++) {p = 1; p *= i;}
C.i = 1; p = 1; while (i <= 5) {p *= i; i++;}
D.i = 1; p = 1; do {p *= i; i++;} while (i <= 5);

答案:B


2-7

能正确表示逻辑关系"a≥10 或 a≤0"的C语言表达式是()。(2分)
A.a>=10 or a<=0
B.a>=0 | a<=10
C.a>=10 && a<=0
D.a>=10 || a<=0

答案:D


2-46

在嵌套使用if语句时,C语言规定else总是()。(2分)
A.和之前与其具有相同缩进位置的if配对
B.和之前与其最近的if配对
C.和之前与其最近的且不带else的if配对
D.和之前的第一个if配对

答案:C


2-47

下列叙述中正确的是()。(2分)
A.break语句只能用于switch语句
B.在switch语句中必须使用default
C.break语句必须与switch语句中的case配对使用
D.在switch语句中,不一定使用break语句

答案:D


2-48

有一函数在这里插入图片描述,以下程序段中错误的是()。(2分)
A.

if(x > 0) y = 1; 
else if(x == 0) y = 0else y = -1;

B.

y = 0;
 if(x > 0) y = 1;
  else if(x < 0) y = -1;

C.

y = 0;
if(x >= 0);
if(x > 0) y = 1;
else y = -1;

D.

if(x >= 0)
 if(x > 0) y = 1;
  else y = 0; 
  else y = -1;

答案:C


2-49

下列程序段的输出结果是()。(2分)

int main(void)
{   
      int  a = 2, b = -1, c = 2;

      if(a < b)
            if(b < 0)  
                  c = 0;
      else  c++;
      printf("%d\n",c);    

      return 0;
}

A.0
B.1
C.2
D.3

答案:C


2-50

下列程序段的输出结果是 ()。(2分)

int main(void)
{     
      int x = 1, a = 0, b = 0;

      switch(x)        
      {
            case 0:   b++;
            case 1:   a++;
            case 2:   a++; b++;    
      }
      printf("a=%d,b=%d\n",a,b);        

      return 0;
}

A.a=2,b=1
B.a=1,b=1
C.a=1,b=0
D.a=2,b=2

答案:A


2-51

在执行以下程序时,为使输出结果为:t=4,则给a和b输入的值应满足的条件是()。(2分)

int main(void)
{    
      int  a,b,s,t;

      scanf("%d,%d",&a,&b);
      s = 1; t = 1;
      if(a > 0) s = s + 1;
      if(a > b) t = s + t;
      else if(a == b) t = 5;
      else t = 2 * s;
      printf("t=%d\n",t);    

      return 0;
}

A.a>b
B.a<b<0
C.0<a

答案:C


2-63

C语言中while和do-while循环的主要区别是()。(2分)
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句

答案:A


2-64

下列叙述中正确的是()。(2分)
A.break 语句只能用于 switch 语句体中
B.continue语句的作用是使程序的执行流程跳出包含它的所有循环
C.break 语句只能用在循环体内和 switch 语句体内
D.在循环体内使用 break语句和 continue 语句的作用相同

答案:C


2-65

下列叙述中正确的是()。(2分)
A.do-while语句构成的循环不能用其他语句构成的循环来代替
B.do-while语句构成的循环只能用break语句退出
C.用do-while语句构成的循环,在while后的表达式为非零时结束循环
D.用do-while语句构成的循环,在while后的表达式为零时结束循环

答案:D


2-66

执行以下循环语句时,下列说法正确的是()。(2分)

x = -1; 
do { 
      x = x * x; 
} while (x == 0); 

A.循环体将执行一次
B.循环体将执行两次
C.循环体将执行无限次
D.系统将提示有语法错误

答案:A


2-67

以下程序段的输出结果是()。(2分)

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

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

      return 0;
}

A.10
B.6
C.3
D.1

答案:B


2-68

运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为()。(2分)

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;
}

A.m=3
B.m=2
C.m=1
D.m=0

答案:C


2-8

下列程序段的输出结果是()。(2分)

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

      return 0;
}

A.#* #* #
B.#####
C.*****
D.* #* #*

答案:A


2-91

在100-999的自然数中,若将组成这个数的三个数字认为是三条线段的长度,那么是三条线段组成一个等腰三角形(包括等边)的共有多少个(4分)
A.45
B.156
C.165
D.142

答案:C


2-92

边长为n的正方形可以分为多个边长为1的正方形,如:边长为2的正方形有2*2个边长为1的正方形和一个边长为2的正方形,问边长为5的正方形有几个正方形(2分)
A.25
B.30
C.55
D.100

答案:C


2-93

在C语言程序中,若对函数类型未加显式说明,则函数的隐含类型为()。(2分)
A.void
B.double
C.char
D.int

答案:D


2-94

下列程序的输出结果是()。(2分)

fun(int a, int b, int c)
{   c = a * b;  }
int main(void)
{
      int c;

      fun(2, 3, c);
      printf(%d\n”, c);

      return 0;
}

A.0
B.1
C.6
D.无法确定

答案:D


2-95

建立自定义函数的目的之一是()。(2分)
A.提高程序的执行效率
B.提高程序的可读性
C.减少程序的篇幅
D.减少程序文件所占内存

答案:B


2-96

以下正确的函数定义形式是()。(2分)
A.double fun(int x, int y)
B.double fun(int x ; int y)
C.double fun(int x, int y);
D.double fun(int x, y)

答案:A


2-97

以下不正确的说法是()。(2分)
A.实参可以是常量、变量或表达式
B.实参可以是任何类型
C.形参可以是常量、变量或表达式
D.形参应与对应的实参类型一致

答案:C


2-98

以下正确的说法是()。(2分)
A.实参与其对应的形参共同占用一个存储单元
B.实参与其对应的形参各占用独立的存储单元
C.只有当实参与其对应的形参同名时才占用一个共同的存储单元
D.形参是虚拟的,不占用内存单元

答案:B


  • 7
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值