第一周从问题到C语言程序设计

1.1-测试题

1、多选题:
‌算法的描述方法除了自然语言之外,还包括:​
选项:
A: 流程图
B: NS流程图
C: 伪代码
D: 程序语言
答案: 【 流程图;
NS流程图;
伪代码;
程序语言

2、多选题:
‎结构化程序设计方法包含三种基本结构:‏
选项:
A: 顺序结构
B: 选择结构
C: 循环结构
D: 跳转结构
答案: 【 顺序结构;
选择结构;
循环结构

3、判断题:
​goto语句很方便,应该随意使用‍
选项:
A: 正确
B: 错误
答案: 【 错误

4、判断题:
‍程序设计包括以下五个步骤:‏‍(1)确定问题可计算;‏‍(2)建立问题的数学模型;(3)设计算法和数据结构;(4)选择合适的计算机语言编写程序;(5)调试运行程序分析结果。‏‍这种说法正确吗?‏
选项:
A: 正确
B: 错误
答案: 【 正确

5、判断题:
‏算法的特征包括:有穷性,确定性,有效性,有零或多个输入,有一或多个输出。这种说法正确吗?‍
选项:
A: 正确
B: 错误
答案: 【 正确

6、填空题:
‎计算复杂度包括【       】复杂度和空间复杂度。‏
答案: 【 时间

第二周数据计算实现与顺序结构程序设计一

小测验2.1

1、单选题:
‍以下程序的输出结果是____。          #include <stdio.h>
         main( )
         {   int x=10, y=10;              
             printf("%d %dn", x--, --y);
         }‌
选项:
A: 10 10
B: 9 9
C: 9 10
D: 10 9
答案: 【 10 9

小测验2.2

1、单选题:
‎已知:x=10,y=2; 表达式x-5<=x+y的值是____‌
选项:
A: 0
B: 1
C: 11
D: 9
答案: 【 1

第二周作业

1、单选题:
‏已知:char a;int b;float c;double d;执行语句 c=a+b+c+d;后,变量c的数据类型是____​
选项:
A: float
B: int
C: char
D: double
答案: 【 float

2、单选题:
‎已知 int i=5;执行语句 i+=++i;i的值是____​‎​
选项:
A: 12
B: 10
C: 11
D: 其他答案都不对
答案: 【 12

3、单选题:
‎已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是____‌‎‌
选项:
A: 5
B: 0
C: 1
D: 6
答案: 【 5

4、单选题:
‌下列可以正确表示字符型常数的是____‏
选项:
A: 't’
B: "a"
C: "n"
D: 297
答案: 【 't’

5、单选题:
‏字符串"\65a,n"的长度是____​‏​
选项:
A: 5
B: 8
C: 7
D: 6
答案: 【 5

6、单选题:

把算术表达式    表示为一个C语言表达式,正确的写法是____

​选项:
A: –(31.6*a*8+1.0/7)*12
B: –(31.6a*8+1/7)*12
C: –(31.6a*8.0+1.0/7.0)*12
D: –31.6*a*8+1.0/7*12
答案: 【 –(31.6*a*8+1.0/7)*12

7、单选题:
‌温度华氏和摄氏的关系是: C=5(F-32)/9。已知:float C,F;由华氏求摄氏的正确的赋值表达式是____‍‌‍
选项:
A: C=5*(F-32)/9
B: C=5/9(F-32)
C: C=5/9*(F-32)
D: 三个表达式都正确
答案: 【 C=5*(F-32)/9

8、单选题:
​已知int i=10;表达式“20-0<=i<=9”的值是____​​​
选项:
A: 1
B: 0
C: 19
D: 20
答案: 【 1

9、单选题:
‏已知:int x,y;double z;则以下语句中错误的函数调用是____‏‏‏
选项:
A: scanf ("%x%o%6.2f",&x,&y,&z)
B: scanf ("%d,%lx,%le",&x,&y,&z)
C: scanf ("%2d*%d%lf",&x,&y,&z)
D: scanf ("%x%*d%o",&x,&y)
答案: 【 scanf ("%x%o%6.2f",&x,&y,&z)

10、单选题:
‎已知” int a=5,b=5,c;”,则执行表达式” c=a=a>b”后变量 a 的值为____‏
选项:
A: 0
B: 1
C: 4
D: 5
答案: 【 0

第三周数据计算实现与顺序结构程序设计二

本节作业

1、填空题:
‍假设a和b都是16位二进制整数,它们的值分别是:‏‍a: 1010,1001,0101,0111‏‍b: 0110,0000,1111,1011‏‍则c=(a>>2)|~b运算后,c的二进制表示为      。‏
答案: 【 1011111101010101##%_YZPRLFH_%##1011,1111,0101,0101

本节测验

1、单选题:
‍[4]‌
选项:
A: x1,x2
B: x1;x2
C: &x1,&x2
D: &x1;&x2
答案: 【 x1,x2

2、单选题:
‍[3]‏
选项:
A: (-b-q)/(2*a)
B: -b-q/2*a
C: (-b-q)/2a
D: (-b-q)/2*a
答案: 【 (-b-q)/(2*a)

3、单选题:

‏请选择正确的语句来完善程序,完成如下的功能:

‏求一元二次方程的根。

‏#include <math.h>

‏int main()

‏{ float a, b, c, x1, x2, q;

‏  printf("Please input a, b, cn");

‏  scanf("%f,%f,%f",&a,&b, [1] );

‏  q=sqrt( [2] );

‏  x1=(-b+q)/(2*a);

‏  x2=     [3]    ;

‏  printf("x1=%.0f, x2=%.0fn", [4]  );

‏}

‏[1]

‏选项:
A: c
B: &c
C: %c
D: f
答案: 【 &c

4、单选题:
​[2]‏
选项:
A: b*b-4*a*c
B: 4*a*c-b*b
C: b^2-4ac
D: 4ac-b^2
答案: 【 b*b-4*a*c

第四周选择结构的程序设计

小测验1

1、单选题:
‎执行下列程序段后,x、y和z的值分别是      ​‎int x=10,y=20,z=30;
if(x>y)  z=x;x=y;y=z;​
选项:
A: 10,20,30
B: 20,30,30
C: 20,30,10
D: 20,30,20
答案: 【 20,30,30

小测验2

1、单选题:
if语句的控制条件      。​
选项:
A: 只能用关系表达式
B: 只能用关系表达式或逻辑表达式
C:  只能用逻辑表达式   
D: 可以用任何表达式
答案: 【 可以用任何表达式

小测验3

1、单选题:
​下面的程序片段所表示的数学函数关系是      y=-1;
if (x!=0) {  if (x>0) y=1;}
else y=0;‎
选项:
A:

B:
C:
D:
答案: 【 

小测验4

1、单选题:
‌若a和b均是整型变量,以下正确的switch语句是      ​
选项:
A: A. switch (a/b)                       
    {   case 1: case 3.2: y=a+b; break ;     
        case 0: case 5:   y=a-b;              
    }
B: B. switch (a*a+b*b);
    {case 3:
     case 1: y=a+b; break ;
     case 0: y=b-a; break; }
C: C. switch a                            
    { default : x=a+b;                     
      case 10 : y=a-b;break;         
      case 11 : y=a*d; break; }    
D: D.  switch(a+b)
    {case 10: x=a+b; break;
     case 11: y=a-b; break;
    }
答案: 【 D.  switch(a+b)
    {case 10: x=a+b; break;
     case 11: y=a-b; break;
    }

小测验5

1、单选题:
‍ 以下程序的输出结果是____​‍main( )
{ int w=4,x=3,y=2,z=1;
    if(x>y&&!(z==w))printf(”%dn”,(w<x?w:z<y?z:x));
    else printf(”%dn”, (w>x?w:z>y?z:x));
}​
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 1

2、填空题:
if (!k) a=3;语句中的!k可以改写为      ,使其功能不变。‎‌‎
答案: 【 k==0

3、填空题:
​以下程序的输出是         ‏​  main( )
 {  int a=0, b=0, c=0;
    if (a=b+c)  printf (”*** a=%dn”, a);
    else        printf (”$$$ a=%dn”, a);
 } ‏
答案: 【 $$$ a=0

第四周作业

1、单选题:
‌下面程序的输出是      ‍‌     #include <stdio.h>
     main ( )
     {   int x=1, y=0, a=0, b=0;
         switch ( x )
          {  case 1: switch ( y )
                     {  case 0:  a++;  break;
                        case 1:  b++;  break;
                     }
             case 2: a++;  b++;
                     break;
           }
           printf ("a=%d,b=%dn", a, b );
     }‍
选项:
A: a=2,b=1
B: a=1,b=1
C: a=1,b=0
D: a=2,b=2
答案: 【 a=2,b=1

2、单选题:
‎ 以下程序的输出结果是            ​‎main( )
{ float  x=2,y;
      if (x<0)  y=0;
      else if (x<5&&!x) y=1/(x+2);
           else if (x<10) y=1/x;
                else y=10;
      printf(”%fn”,y);
}​
选项:
A: 0.500000
B: 0.000000
C: 0.250000
D: 10.000000
答案: 【 0.500000

3、填空题:
‏若下列程序执行后t的值为4,则执行时输入a,b的值范围是           ‏‏#include ”stdio.h”
main( )
{  int a, b, s=1, t=1;
         scanf (”%d, %d”, &a, &b);
         if (a>0)  s+=1;
         if (a>b)  t+=s;
         else  if(a==b) t=5;
               else     t = 2*s;
         printf (”s=%d, t=%dn”, s,t);
 }       ‏
答案: 【 0<a<b

4、填空题:
‌下列程序段当a的值为014和0x14时的执行结果分别是         ‏‌if ( a=0xA | a >12 )
if ( 011&10==a )    printf (”%d!n”,a);
else                printf (”Right!%dn”,a);
else printf (”Wrong!%dn”,a);‏
答案: 【 10! Right!11

第五周循环结构的程序设计一

小测验1

1、单选题:
‌下列程序执行的结果是               ‌‌a=1;b=2;c=3;
while(a<b<c) {t=a;a=b;b=t;c--;}
printf(”%d,%d,%d”,a,b,c);‌
选项:
A: 1,2,0
B: 2,1,0
C: 1,2,1
D: 2,1,1
答案: 【 1,2,1

小测验2

1、单选题:
‍指出程序结束之时,j、i、k的值分别是                           ‎‍main( )
{ int a=10,b=5,c=5,d=5,i=0,j=0,k=0;
      for (;a>b;++b) i++;
      while (a>++c) j++;
      do k++; while (a>d++);
}‎
选项:
A: j=5,i=4,k=6;
B: i=5,j=4,k=6;
C: j=6,i=5,k=7;
D: j=6,i=6,k=6;
答案: 【 i=5,j=4,k=6;

2、单选题:
‌下列程序段                  ​‌x=3;
do{ y = x--;
if ( !y )  { printf(”x”); continue; }
printf(”#”);
} while(1<=x<=2);​
选项:
A: 输出 ##
B: 输出 ##x
C: 是死循环
D: 有语法错
答案: 【 是死循环

小测验3

1、单选题:
‎下面程序的功能是计算1-3+5-7+ …… -99+101的值。  ①  ‏‎main()
{  int i,t=1,s=0;
   for(i=1;i<=101;i+=2)
   {    ①  ;
       s=s+t;
        ②   ;
    }
    printf(”%dn”,s};
    }‏
选项:
A: t = i * t
B: t = i * (t+1)
C: t = (i+1)* t
D: t = (i-1) * t
答案: 【 t = i * t

2、单选题:
‎  ②   ​
选项:
A: t = s
B: t = -s
C: t = s > 0 ? -1 : 1
D: t = s < 0 ? -1 : 1
答案: 【 t = s > 0 ? -1 : 1

3、判断题:
‎for语句的三个表达式都是必须的。​
选项:
A: 正确
B: 错误
答案: 【 错误

小测验4

1、单选题:
‎下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。  ①   ​‎    main()
        {  float x,amax,amin;
           scanf(”%f”,&x);
           amax=x;
           amin=x;
           while(   ①    )
           {  if(x>amax)  amax=x;        
              if(   ②    )  amin=x;
                scanf(”%f”,&x);
          }
          printf(”namax=%fnamin=%fn”,amax,amin);
       }​
选项:
A: x >= 0
B: x <= 0
C: x > 0
D: x < 0
答案: 【 x >= 0

2、单选题:
‎  ②   ‏
选项:
A: x <= amin
B: x > amin
C: x < amin
D: x >= amin
答案: 【 x < amin

第六周循环结构的程序设计二

小测验1

1、单选题:
​下面程序的输出结果是              ​​    #include<stdio.h>
    int  main( )
    { int i,j;
      float s;
      for(i=6;i>4;i--)
       {s=0.0;
        for(j=i;j>3;j--)s=s+i*j;
       }
      printf(”%fn”,s);
    }​
选项:
A: 135.000000
B: 90.000000
C: 45.000000
D: 60.000000
答案: 【 45.000000

小测验2

1、单选题:
​下列说法中正确的是                ​
选项:
A: break 可以用在任何选择和循环结构与居中
B: break 可以用在switch结构和任何循环结构中
C: continue可以用在switch结构和任何循环结构中
D: continue的功能是结束当前所在的循环
答案: 【 break 可以用在switch结构和任何循环结构中

第六周作业

1、单选题:

求取满足式 的n,正确的语句是____      

‌选项:
A: for(i=1,s=0;(s=s+i*i)<=1000;n=i++)
B: for(i=1,s=0;(s=s+i*i)<=1000;n=++i)
C: for(i=1,s=0;(s=s+i*++i)<=1000;n=i)
D: for(i=1,s=0;(s=s+i*i++)<=1000;n=i)
答案: 【 for(i=1,s=0;(s=s+i*i)<=1000;n=i++)

2、单选题:
‎下面的for语句                  ‏‎for(x=0,y=10;(y>0)&&(x<4);x++,y-- )‏
选项:
A: 循环执行4次
B: 是无限循环
C: 循环次数不定
D: 循环执行3次
答案: 【 循环执行4次

3、单选题:
‍已知int i=1; 执行语句while (i++<4) ;后,变量i的值为              ‍‍‍
选项:
A: 5
B: 3
C: 4
D: 6
答案: 【 5

4、单选题:
‏下面程序的输出结果是____‏‏          main()
          {  int i,j,x=0;
             for(i=0;i<2;i++)
             {  x++;
                for(j=0;j<-3;j++)
                {  if(j%2)
                      continue;
                   x++;
                }
                x++;
             }
             printf(”x=%dn”,x);
          }‏
选项:
A: x=4 
B: x=8
C: x=6
D: x=12
答案: 【 x=4 

5、单选题:
‌假定从键盘上输入“3.6,2.4<回车>”,下面程序的输出是____‌‌         #include <math.h>
         main()
         {  float x,y,z;
            scanf(”%f,%f”,&x,&y);
            z=x/y;
            while(1)
            {  if(fabs(z)>1.0)
               {  x=y;
                  y=z;
                  z=x/y;
               }
               else   break;
             }
             printf(”%fn”,y);
          }‌注:fabs()是浮点数绝对值函数。‌‌‌
选项:
A: 1.600000
B: 1.500000
C: 2.000000 
D: 2.400000
答案: 【 1.600000

6、填空题:
​下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。例如数字26,数位上数字的乘积12大于数字之和8。(答案以①  ②  ③  的形式提交,如① a  ② b  ③ c)‍​       main()
       {  int n,k=1,s=0,m;
          for(n=1;n<=100;n++)
          {  k=1;
             s=0;
               ①  ;
             while(   ②   ) 
             {  k*=m%10;
                s+=m%10;
                  ③  ;
             }
             if(k>s)
                printf(”%d”,n);
          }
       }‍
答案: 【 ① m=n ② m>0 ③ m=m/10##%_YZPRLFH_%##① m=n ② m>0 ③ m/=10

第七周数组一

小测验1

1、单选题:
‌下面程序的输出结果是____。‌‌#include <stdio.h>
main( )
{  int i,k,a[10],p[3];
   k=5;
   for(i=0;i<10;i++)
     a[i]=i;
   for(i=0;i<3;i++)
      p[i]=a[i*(i+1)];
   for(i=0;i<3;i++)
      k+=p[i]*2;
   printf(”%dn”,k);
}‌‌‌
选项:
A: 20
B: 21
C: 22
D: 23
答案: 【 21

小测验2

1、单选题:
‍以下程序的功能:输入30个人的年龄,统计18岁、19岁、……、25岁各有多少人。填空,使程序正确。‌‍main( )
{ int i,n,age,a[30]={0};
for(i=0;i<30;i++)
{ scanf(”%d”,&age); 
  __(1)__; }
      prin

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注