聚合答案库

免费查题,不限次数,
扫描二维码立即使用。

了解更多
免费中国大学MOOC 大学计算机基础(理)廖瑞华(湖南第一师范学院)1454091178 最新慕课答案-聚合答案库
作者:20782912023-03-04 00:00 点赞 收藏 热度:14

变量在内存中所占的字节数

1、单选题:
‍C语言用sizeof计算变量在内存中的字节数,其中sizeof是()​
选项:
A: 函数
B: 运算符
C: 标识符
D: 语句
答案: 【 运算符

宏常量与const常量

1、单选题:
​宏定义是()‎
选项:
A: 一条语句
B: 一种编译预处理指令
C: 一个标识符
D: 一个变量
答案: 【 一种编译预处理指令

2、判断题:
‍const常量有数据类型。‌
选项:
A: 正确
B: 错误
答案: 【 正确

第1周测验

1、单选题:
‏下列选项中,合法的C语言标识符是​
选项:
A: _a1
B: width.x
C: #abc123 
D: 123abc
E: o*k
F: a?
G: a+b
H: %a
I: b!
答案: 【 _a1

2、单选题:
‌以下不适合定义为用户标识符的是​
选项:
A: int 
B: a2
C: def2
D: _3com_
E: PI 
F: Source
G: abc
答案: 【 int 

3、单选题:
‏#include <stdio.h>是‍
选项:
A: 编译预处理指令
B: 语句
C: 函数
D: 什么都不是
E: 有语法错误
答案: 【 编译预处理指令

4、单选题:
​在windows下,程序编译链接后形成的可执行文件是‏
选项:
A: .obj文件
B: .exe文件
C: .o文件
D: .c文件
E: .h文件
答案: 【 .exe文件

5、单选题:
‏程序编译链接后显示" 0 error,0 warning" 代表‏
选项:
A: 程序中没有语法错误
B: 程序是正确的
C: 程序是不正确的
D: 程序中可能存在语法错误
E: 程序中有语义错误
答案: 【 程序中没有语法错误

6、单选题:
‏用8位无符号二进制数能表示的最大十进制数为‍
选项:
A: 255
B: 127
C: 128
D: 256
答案: 【 255

7、单选题:
‍关于可执行文件说法正确的是‏
选项:
A: 可执行文件是编译链接后生成的文件
B: 可执行文件就是源代码文件
C: 可执行文件后缀为.obj
D: 可执行文件就是main.c文件
答案: 【 可执行文件是编译链接后生成的文件

8、单选题:
‏C语言用sizeof计算变量在内存中的字节数,其中sizeof是()​
选项:
A: 运算符
B: 只需要一个操作数的运算符
C: 函数
D: 语句
E: 标识符
F: 变量
答案: 【 运算符;
只需要一个操作数的运算符

9、单选题:
​在C语言中,字符型数据在内存中以字符的(  )形式存放​
选项:
A: ASCII码
B: 国标码
C: BCD码
D: 反码 
答案: 【 ASCII码

10、单选题:
‌以下符合C语言语法的实型常量是‍
选项:
A: 5e-3
B: 3.14.159e
C: 1.2e0.5
D: e15
答案: 【 5e-3

11、单选题:
​以下选项中可作为C语言合法整数的是‏
选项:
A: 0xffa
B: 10110B       
C: 038x
D: x2a2
答案: 【 0xffa

12、单选题:
‎下列说法正确的是‌
选项:
A: 在C语言中,变量必须先定义后使用。
B: 一条变量定义语句可定义多个同类型的变量。
C: 实型常量的默认类型是double类型。
D: 一条变量定义语句不可以同时定义多个变量。
E: 不同类型的变量分配的存储空间大小都是相同的。
F: 在C语言中,所有变量都必须在定义时进行初始化。
G: 变量在没有初始化的时候,其值都是0
答案: 【 在C语言中,变量必须先定义后使用。;
一条变量定义语句可定义多个同类型的变量。;
实型常量的默认类型是double类型。

13、单选题:
​下列变量定义中合法的是‏
选项:
A: long ao=0xfdaL;
B: short _a=1-.1e-1;
C: double b=1+5e2.5;
D: float 2_and=1-e-3;
答案: 【 long ao=0xfdaL;

第2周——从键盘中来到键盘中去开始输入和输出啦

%c格式转换说明

1、判断题:
‍用c格式符输入字符型数据的时候,为了避免将输入缓冲区中的空白字符(空格、回车换行符、Tab键)作为有效字符读入,可以在%c前面加一个空格。‌
选项:
A: 正确
B: 错误
答案: 【 正确

单个字符的输入输出

1、判断题:
​单个字符既可以以c格式符也可以以d格式符输出,前者是输出这个字符,后者是输出这个字符的ASCII码值。‏
选项:
A: 正确
B: 错误
答案: 【 正确

格式字符

1、判断题:
‎在调用printf函数输出数据时,当数据的实际位宽大于printf函数中的指定位宽时,将按照数据的实际位宽输出数据。‏
选项:
A: 正确
B: 错误
答案: 【 正确

第2周——数字间的那些事儿做点计算哈

不同类型数据的运算

1、判断题:
​通常情况下,不同类型数据的运算结果的类型是取值范围较大的那种类型。‎
选项:
A: 正确
B: 错误
答案: 【 正确

在定义变量的时候对变量进行初始化

1、单选题:
‌下列语句中错误的是()。‎
选项:
A: int a, b, c;a=b=c=0;
B: int a, b, c;a=0;b=0;c=0;
C: int a=0;int b=0;int c=0;
D: int a=b=c=0;
答案: 【 int a=b=c=0;

强制类型转换

1、判断题:
​强制类型转换运算符就是强制改变一个变量原有的数据类型。‏
选项:
A: 正确
B: 错误
答案: 【 错误

第2周测验

1、单选题:
‏下列程序的输出结果是‏‏#include <stdio.h>
int main()

   int a=7,b=5;   
   printf("%dn",b/a);
   return 0;   
}‏
选项:
A: 0
B: 5
C: 1
D: 0.7
答案: 【 0

2、单选题:
​下列关于单目运算符++、–的叙述中正确的是‌
选项:
A: a++的运算过程是:先使用变量a的值,然后再执行a=a+1。
B: ++a的运算过程是:先使用变量a的值,然后再执行a=a+1。
C: a++的运算过程是:先执行a=a+1,然后再使用变量a的值。
D: a++和++a都是最终使变量a执行a=a+1,因此对于包含a++或++a的表达式而言(如j=a++;或者j=++a;),两种情况下表达式的最终运算结果一定是相同的。
答案: 【 a++的运算过程是:先使用变量a的值,然后再执行a=a+1。

3、单选题:
‏以下程序的输出结果是:‎‏‎#include <stdio.h>
int main() 

    int a=1, b=2; 
    a=a+b; 
    b=a-b; 
    a=a-b; 
    printf("%d,%dn", a, b );
    return 0;  
}‎‏‎
选项:
A: 2,1
B: 3,1
C: 3,2
D: 1,2
答案: 【 2,1

4、单选题:
‌程序运行后的输出结果是#include <stdio.h>
int main()

    int m=3,n=4,x;
    x=m++;
    ++n;
    x=x+8/n;
    printf("%d,%dn",x,m);
    return 0;
}‏
选项:
A: 4,4
B: 4,3
C: 5,4
D: 5,3
答案: 【 4,4

5、单选题:
‏下面程序的运行结果是‌‏#include  <stdio.h>
int main()
{
    int    a = 2, b = 3 ;
    float  x = 3.5, y = 2.5 ;
    printf("%f", (float)(a+b) / 2 + (int)x % (int)y) ;
    return 0;
}‌‏‌
选项:
A: 3.500000
B: 3.000000
C: 3.5
D: 3
答案: 【 3.500000

6、单选题:
‎以下非法的赋值语句是​
选项:
A: ++(i+1);
B: x=(j–);
C: n=++i;
D: j++;
答案: 【 ++(i+1);

7、单选题:
‌设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是‌
选项:
A: 6.000000
B:  6.500000
C: 6             
D: 5.500000  
答案: 【 6.000000

8、单选题:
 以下程序的运行结果是​#include <stdio.h>
int main() 

    int  a = 12, b = 3; 
    float  x = 18.5, y = 4.5; 
    printf("%fn", (float)(a * b) / 2); 
    printf("%dn", (int)x %(int)y); 
    return 0;
}​
选项:
A: 18.0000002
B: 182
C: 182.000000
D: 18.0000002.000000
答案: 【 18.0000002

9、单选题:
​设有语句“int a = 3;”,执行语句“a += a -= a * a;”后,变量a的值是‍
选项:
A: -12
B: 3
C: 0
D: 9
答案: 【 -12

10、单选题:
​在C语言中,要求操作数必须是整型的运算符是‌
选项:
A: %
B: /
C: *
D: +
E: –
答案: 【 %

11、单选题:
‍程序运行后的输出结果是#include <stdio.h>
int main()

    char a=’a’;
    printf("%c,",++a);
    printf("%cn",a++);
    return 0;
}‌
选项:
A:  b,b
B: b,c
C: a,b
D: a,c
答案: 【  b,b

12、单选题:
​在下面的C语言语句中,存在错误的是‍
选项:
A: int a=b=10;
B: int a=10,b=10;
C: int a,b;a=b=10;
D: int a,b;a=10;b=10;
答案: 【 int a=b=10;

13、单选题:
‎若以下选项中的变量已正确定义,则正确的赋值语句是‎
选项:
A: x3=x2=x1=0; 
B: x1=26.8%3;
C: 1+2=x2; 
D: x4=1+2=3;
答案: 【 x3=x2=x1=0; 

14、单选题:
‌若有以下定义,则表达式“a * b + d – c”的值的类型为‌‌#include <stdio.h>
int main()
{
    char  a;
    int b;
    float  c;
    double d;
    ….
    return 0;
}‌
选项:
A: double
B: int
C: float
D: char
答案: 【 double

15、单选题:
‏在C程序中如果要使用数学函数,如sin(x),log(x)等,需要在程序中加入的语句是‏
选项:
A: #include <math.h>
B: #include <stdio.h>
C: #define <math.h>
D: #define <stdio.h>
答案: 【 #include <math.h>

16、单选题:
‍十进制3位数整数x,下面哪条语句能正确分离出它的十位上的数字d?‏
选项:
A: d=(x-(x/100)*100)/10;
B: d=(x%100)/10;
C: d=(x/10)%10;
D: d=x%10;
E: d=(x-x%10)/10;
F: d=x%100;
答案: 【 d=(x-(x/100)*100)/10;;
d=(x%100)/10;;
d=(x/10)%10;

17、单选题:
‎在C语言中对下面的语句而言,哪个说法是错误的?​‎int a, b;​
选项:
A: 变量a和b中的值都是0
B: 变量a和b中都没有数值
C: 变量a和b中的值都是未知的随机数
D: a和b都是整型变量
E: 变量a和b占用的内存空间的大小是相同的
答案: 【 变量a和b中的值都是0;
变量a和b中都没有数值

18、单选题:
‌已知int a,b;并且有a=5%3;以及b=5/3;,则a和b的值分别是(     )。‎
选项:
A: 2和1
B: 0和1.67
C: 3和1
D: 5和1
E: 0和1
F: 3和1.67
G: 5和1.67
答案: 【 2和1

19、单选题:
‏设有以下定义,则下面给出的语句中错误的是‏‏int a=0; 
float b=1.25;
char c=’A’;
#define d 2‏
选项:
A: d++;
B: (a+b)++;
C: (-a)++;
D: (a+1)++;
E: a++;
F: b++;
G: c++;
答案: 【 d++;;
(a+b)++;;
(-a)++;;
(a+1)++;

运算符的优先级和结合性

1、判断题:
‏二元的算术运算符的结合性都是左结合。‎
选项:
A: 正确
B: 错误
答案: 【 正确

第3周——无处不在的抉择

判断ch是英文字母大写或者小写

1、判断题:
‎下面判断ch是大写或者小写英文字母的表达式是否正确?‏‎ch >= ‘A’ &&  ch <= ‘Z’ || ch >= ‘a’  &&  ch <= ‘z’‏
选项:
A: 正确
B: 错误
答案: 【 正确

条件运算符

1、单选题:
‍下列关于if-else语句的说法中哪个是正确的。‍
选项:
A: else总是和离它最近的if配对
B: else总是和前面离它最近的且还未和其他else匹配的在同一语句块内同一层次的if配对
C: else总是和前面离它最近的且位于花括号内的if配对
D: else可以和它前面的尚未与其他else匹配的任何一个if配对
答案: 【 else总是和前面离它最近的且还未和其他else匹配的在同一语句块内同一层次的if配对

2、判断题:
‏条件运算符是C语言中唯一的一个三元运算符.‎
选项:
A: 正确
B: 错误
答案: 【 正确

浮点数的表数精度

1、单选题:
‌下列说法错误的是()。‍
选项:
A: 浮点数并非真正意义上的实数,只是其在某种范围内的近似。
B: 浮点数能精确表示的数字位数取决于这种类型的浮点数的有效数字位数。
C: 使用更多的位来存储阶码,将会扩大浮点数的表数精度。
D: 受浮点数表数精度的限制,因此对于浮点数不能直接比较其是否相等,应该比较其是否近似相等。
答案: 【 使用更多的位来存储阶码,将会扩大浮点数的表数精度。

程序测试

1、单选题:
‌下列说法错误的是()。​
选项:
A: 软件测试的目的就是证明程序的正确性,即给定特定的输入,通过运行被测程序,检查程序的输出是否与预期结果一致,进而验证程序的正确性。
B: 白盒测试就是在完全了解程序的结构和处理过程的情况下,按照程序内部的逻辑测试程序,检验程序中的每条逻辑路径是否都能按预定要求正确工作。黑盒测试就是把系统看成一个黑盒子,不考虑程序内部的逻辑结构和处理过程,只根据需求规格说明书的要求,设计测试用例,检查程序的功能是否符合它的功能说明。
C: 在选择测试用例时,不仅要选取合理的输入数据,还要选取一些不合理的输入数据,以及某些极端的边界点或临界点等,对程序进行测试
D: 由于修复了旧的bug的同时,往往又会产生新的bug,因此往往还需要对所有出现过的bug重新测试一遍,看其是否会重新出现,并给确认代码修改后没有引入新的bug,即修改代码后需要进行回归测试。
答案: 【 软件测试的目的就是证明程序的正确性,即给定特定的输入,通过运行被测程序,检查程序的输出是否与预期结果一致,进而验证程序的正确性。

第3周测验

1、单选题:
​程序代码如下:‌#include <stdio.h>
int main()
{
  int a,b;
  printf("please input a and b:n");
  scanf("%d%d",&a,&b);
  printf("the output data is %dn",a<b?b:a);
  return 0;
}​从键盘输入以下数据:‌​2<回车>‌​7<回车>‌​则程序输出为‌
选项:
A: the output data is 7
B: the output data is 2
C: the output data is 1
D: the output data is 0
答案: 【 the output data is 7

2、单选题:
‌以下程序运行后的输出结果是‏‌#include <stdio.h>
int main()
{ int a,b,c;
  a=10;
  b=20;
  c=(a%b<1)||(a/b>1);
  printf("%d,%d,%d",a%b,a/b,c);
  return 0;
}‏‏
选项:
A: 10,0,0
B: 10,1,0
C: 10,0,1
D: 10,1,1
答案: 【 10,0,0

3、单选题:

从键盘输入三角形的三边长为a,b,c,按下面公式计算并输出三角形的面积。

程序代码如下,但程序运行后输出结果不正确,请找出有问题的语句。

#include <stdio.h>
#include  <math.h>
int main()
{
    float  a, b, c;             
    float  s, area;                
    printf("Input a,b,c:");
    scanf("%f,%f,%f",&a,&b,&c);
    if (a+b>c && b+c>a && a+c>b)  
    {
       s = 1/2 * (a + b + c); 
       area = sqrt(s * (s - a) * (s - b) * (s - c));
       printf("area=%.2fn", area); 
    }
    else
    {
       printf("It is not a trianglen");    
    }
    return 0; 
}

‌选项:
A: 第11行:   s = 1/2 * (a + b + c); 
B: 第9行:   if (a+b>c && b+c>a && a+c>b)  
C: 第12行:   area = sqrt(s * (s – a) * (s – b) * (s – c));
D: 第8行:  scanf("%f,%f,%f",&a,&b,&c);
答案: 【 第11行:   s = 1/2 * (a + b + c); 

4、单选题:
‍编程设计一个简单的计算器程序,要求用户从键盘输入如下形式的表达式:‍‍        操作数1    运算符op    操作数2‍‍然后,计算并输出表达式的值‍‍指定的运算符为:‍‍    加(+)‍‍    减(-)‍‍    乘(*)‍‍    除(/)‍‍‍‍代码如下,所给程序是否存在错误,若有,找出错误所在并改正。‍‍#include <stdio.h>
int main()
{
         float    data1, data2;            
         char   op;
         printf("Please enter the expression:");
         scanf("%f  %c%f", &data1, &op, &data2); /* %c前有一个空格 */ 
         switch (op) 
         {
                   case ‘+’:
                            printf("%f + %f = %fn", data1, data2, data1 + data2); 
                            break;
                   case ‘-‘:
                            printf("%f – %f = %fn", data1, data2, data1 – data2);
                            break;
                   case ‘*’:
                            printf("%f * %f = %fn", data1, data2, data1 * data2); 
                            break;
                   case ‘/’:
                            printf("%f/%f = %fn", data1, data2,data1/data2); 
                            break;
                   default: 
                            printf("Invalid operator!n");
         }
        return 0;
}‍
选项:
A: 第20行语句有错误,改成:if (fabs(data2)<=EPS) printf("Division by zero!n");else  printf("%f/%f = %fn", data1, data2, data1/data2);同时,第1行语句下方应加入#include  <math.h>#define   EPS 1e-6
B: default分支缺少break语句
C: 没有错误
D: 第20行语句有错误,改成:if (data2=0) printf("Division by zero!n");else  printf("%f/%f = %fn", data1, data2, data1/data2);
答案: 【 第20行语句有错误,改成:if (fabs(data2)<=EPS) printf("Division by zero!n");else  printf("%f/%f = %fn", data1, data2, data1/data2);同时,第1行语句下方应加入#include  <math.h>#define   EPS 1e-6

5、单选题:
‌若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是‏
选项:
A: (x-y)<-10||!(y-x)>10
B:  fabs(x-y)<10
C: x-y>-10 && x-y<10
D: (x-y)*(x-y)<100
答案: 【 (x-y)<-10||!(y-x)>10

6、单选题:
‌下列复合语句中,不能实现两数交换的是‎
选项:
A: {
  a=b;
  b=a;
}
B: {
    b = a * b;
    a = b / a;
    b = b / a; 
}
C: {
   t=a;
   a=b;
   b=t;
}
D: {
    a = a + b;
    b = a – b;
    a = a – b; 
}
答案: 【 {
  a=b;
  b=a;
}

7、单选题:
‏写出下面程序的输出结果‌‏#include <stdio.h>
int main()

   int x=1, y=0, a=0, b=0;
   switch(x)
   {  
       case 1:
              switch(y)
              {
                case 0: a++; 
                case 1: b++;
              }
      case 2:  a++;
               b++;
   }
   printf("a=%d, b=%dn", a, b) ;
   return 0;
}‌
选项:
A: a=2, b=2
B: a=2, b=1
C: a=1, b=1
D: a=1, b=0
答案: 【 a=2, b=2

8、单选题:
‎以下程序运行后的输出结果是​‎#include <stdio.h>
int main()

   int a=5,b=4,c=3,d;
   d=(a>b>c);
   printf("%dn",d);
   return 0;
}​​
选项:
A: 0
B: 1
C: 5
D: 4
E: 3
答案: 【 0

9、单选题:
‎执行以下程序后的输出结果为‌‎#include <stdio.h>
int main()
{
   int a=1,b=0;
   switch (a)
   {  
     case  1:
            switch (b)
            {   
               case  0: printf("**0**");break;
               case  1: printf("**1**");break;
            }
    case  2: printf("**2**");break;
   }
  return 0;
}‌‎‌
选项:
A: **0****2**
B: **0**
C: **0****1****2**
D: 有语法错误
答案: 【 **0****2**

10、单选题:
‏下面程序运行后的输出结果是​‏#include <stdio.h> 
int main()
{
    int a=3,b=4,c=5,d=2;
    if(a>b)
    { 
         if(b>c)
         { 
             printf("%d",d++ +1);
         }
         else
         { 
             printf("%d",++d +1);
         }
   }
   printf("%dn",d);
   return 0;
}​
选项:
A: 2
B: 3
C: 43
D: 44
答案: 【 2

11、单选题:
‎下面程序代码的功能是判断输入整数的正负性和奇偶性,请将第19行和22行标号处缺少的代码填写完整。‍‎‍#include <stdio.h>
int main()
{
    int m;
    printf("Input m: ");
    scanf("%d", &m);        //输入一个整数
    if (m > 0)              //是否为正数
    {
        if (m % 2 == 0)     //是正数,且能被2整除,则是正偶数
        {
            printf("%d is a positive evenn", m);
        }
        else                    //不能被2整除,则是正奇数
        {
            printf("%d is a positive oddn", m);
        }
    }

    
   _______________          //判断是否为负数
    
    {
        _______________
        
        {
             printf("%d is a negative evenn", m);   //是负偶数
        }
        else
        {
             printf("%d is a negative oddn", m);    //是负奇数
        }
    }
    else
    {
        printf("%d is zero.It is an evenn", m);    
    }
   return 0;
}‍‎‍
选项:
A: 第19行代码: else if(m < 0)第22行代码: if (m % 2 == 0)
B: 第19行代码: if(m < 0)第22行代码: if (m % 2 == 0)
C: 第19行代码: else if(m < 0)第22行代码: if (m % 2 != 0)
D: 第19行代码: if(m < 0)第22行代码: if (m % 2 != 0)
答案: 【 第19行代码: else if(m < 0)第22行代码: if (m % 2 == 0)

12、单选题:
‌程序功能:从键盘输入一个字符,判别它是否为大写字母。如果是,将它转换成小写字母,如果不是,不转换。在屏幕上输出最后得到的字符。程序代码如下,为实现上述功能,请将第8行标号处缺少的语句填写完整。‌‌#include<stdio.h> 
int main() 
{  
  char c;   
  printf("Please input a character:");  
  scanf("%c",&c); 
  if(c >=’A’&&c <= ‘Z’)   
    c =_______________;  
  printf("%cn",c); 
  return 0;  
}‌
选项:
A: c+32 
B: c+48
C: C+65
D: C+97
答案: 【 c+32 

13、单选题:
‎执行下列程序,k输入为1时的输出结果是‏‎#include <stdio.h>
int main()

  int k;
  scanf("%d",&k);
  switch(k)
  { 
     case 1:   printf("%d",k++);
     case 2:   printf("%d",k++);
     case 3:   printf("%d",k++);
               break;
     default:  printf("Full!");
  } 
  return 0;
}‏
选项:
A: 123
B: 1
C: 2
D: 3
答案: 【 123

14、单选题:

编程计算下面的分段函数,根据从键盘输入的x值,在屏幕上输出y值。

 

程序代码如下,为完成以上功能,请将第13行标号处缺少的代码填写完整。

 

#include <stdio.h>
#include <math.h>
int main()
{
    int x;
    double y;
    printf("Input x: ");
    scanf("%d", &x);        // 输入一个整数
    if (x > 0)
    {
        y = exp(-x);        //如果大于0,计算y=exp(-x)的值 
    }
    _____________
    {
        y = 1;              //x=0,则y=1
    }
    else
    {
        y = -exp(x);        //x<0,则y=-exp(x)
    }
    printf("y=%fn", y);
    return 0;
}

‏选项:
A: else if (x == 0)
B: else if (x = 0)
C: if (x == 0)
D: if (x = 0)
答案: 【 else if (x == 0)

15、单选题:
‌以下程序运行后的输出结果是‍‌#include <stdio.h>
int main()

   int a=1,b=2,m=0,n=0,k;
   k=(n=b>a)||(m=a<b);
   printf("%d,%dn",k,m);
   return 0;
}‍
选项:
A: 1,0
B: 0,0
C: 0,1
D: 1,1
答案: 【 1,0

16、单选题:

以下程序的功能是计算一元二次方程的根。代码如下,请将第10行标号处缺少的语句填写完整。

‍ 

#include  <stdio.h>
#include  <stdlib.h>
#include  <math.h>
#define   EPS 1e-6
int main()

      float  a, b, c, disc, p, q;
      printf("Please enter the coefficients a,b,c:"); 
      scanf("%f,%f,%f", &a, &b, &c); 
      _________________________________      /* a=0时,输出"不是二次方程" */

     {
               printf("It is not a quadratic equation!n");
               exit(0);  /* C标准库函数,用于终止整个程序的执行,强制返回操作系统 */
     }
      disc = b * b - 4 * a * c; /* 计算判别式 */
      p = - b / (2 * a);
      q = sqrt(fabs(disc)) / (2 * a);
      if (fabs(disc) <= EPS)    /* 判别式等于0时,输出两相等实根 */
      {
                   printf("x1 = x2 = %.2fn", p);
      }
     else                      
     { 
                 if (disc > EPS)        /* 判别式大于0时,输出两不等实根 */
                 {
                            printf("x1 = %.2f, x2 = %.2fn", p+q, p-q);
                 }
                 else                     /* 判别式小于0时,输出两共轭复根 */
                 {
                            printf("x1 = %.2f+%.2fi, ", p, q);
                            printf("x2 = %.2f-%.2fin", p, q);
                 }
      }
     return 0;
}

‍选项:
A: if (fabs(a) <= EPS)
B: if (a <= EPS)       
C: if (a=0)     
D: if (a<= EPS || a>=-EPS)
答案: 【 if (fabs(a) <= EPS)

17、单选题:
‌下列说法错误的是()。‏
选项:
A: case后的“常量表达式”的类型只能是整型。
B: 若case后面的语句省略不写,则表示它什么也不做。
C: switch语句中的break和default可有可无。
D: 每个case后的“常量表达式”的类型应该与switch后括号内表达式的类型一致。
E: 程序执行到switch语句时,先计算表达式的值,然后自上而下寻找与该值匹配的case常量,找到后则按顺序执行此case后的所有语句,而不再进行判断,直到遇break语句或右花括号}为止。
F: 若所有的case常量都不能与表达式的值相匹配,那么就执行default后面的语句。通常用于处理不在合理区间内的非法数据。
G: 每个case后的常量只起语句标号的作用,所以case常量的值必须互不相同,而且在每个case的语句序列后都有break的情况下,改变case常量出现的次序,不影响程序的运行结果。
H: case后面的表达式不能是含有变量的关系表达式和逻辑表达式,它不能像if语句那样起到判断表达式真假的作用。
答案: 【 case后的“常量表达式”的类型只能是整型。;
若case后面的语句省略不写,则表示它什么也不做。;
switch语句中的break和default可有可无。

赋值中的自动类型转换

1、单选题:
​在赋值操作中,当赋值表达式左侧的变量的类型与右侧的表达式的类型不一致的时候,下面说法正确的是()。‏
选项:
A: 在赋值操作中,当赋值运算符左侧的变量的类型与右侧的表达式的类型不一致的时候,会发生自动类型转换,赋值表达式的结果类型是赋值运算符左侧变量的类型。
B: 在赋值操作中,当赋值运算符左侧的变量的类型与右侧的表达式的类型不一致的时候,赋值表达式的结果类型是赋值运算符右侧表达式的类型。
C: 在赋值操作中,只要赋值运算符左侧的变量的类型与右侧的表达式的类型不一致,就会发生数值溢出。
D: 在赋值操作中,当赋值运算符左侧的变量的类型与右侧的表达式的类型不一致的时候,要么发生数值溢出,要么发生数值精度的损失。
答案: 【 在赋值操作中,当赋值运算符左侧的变量的类型与右侧的表达式的类型不一致的时候,会发生自动类型转换,赋值表达式的结果类型是赋值运算符左侧变量的类型。

第4-6周——周而复始的循环之道

嵌套循环

1、单选题:
‌下列说法错误的是( )。‌
选项:
A: 执行嵌套循环时是先执行内层循环,后执行外层循环。
B: 嵌套循环的内层和外层循环的循环控制变量不能同名。
C: 嵌套循环的循环次数等于外层循环的循环次数与内层循环的循环次数之积。
D: 如果一个循环的循环体中又完整地包含了另一个循环,则称为嵌套循环。
答案: 【 执行嵌套循环时是先执行内层循环,后执行外层循环。

流程的转移控制

1、单选题:
‍下面程序段中的break语句是转移到哪里去执行()。‍for(…)
{
   for(…)
   {
      switch(…)
      {
         case 1: …
                break;
         case 2:…
         …
      }
      A:  //code
   }
   B:  //code
}
C:  //code‍‍
选项:
A: 转到标号A所在的语句行与执行
B: 转到标号B所在的语句行与执行
C: 转到标号C所在的语句行与执行
D: 不进行流程转移,而是继续执行break后面的语句
答案: 【 转到标号A所在的语句行与执行

程序调试

1、单选题:
​下列说法错误的是()。‏
选项:
A: 程序测试的目的就是验证程序的正确性。
B: 程序中常见的错误有三种:编译错误,链接错误,以及运行时错误。
C: 编译错误通常是由语法错误造成的。
D: 运行时错误是指在程序运行时发生的错误,运行时错误有两种:一种是导致程序的运行结果与预期的不一致,另一种是导致程序无法正常运行。
答案: 【 程序测试的目的就是验证程序的正确性。

第4-6周测验

1、单选题:
‌程序运行后的输出结果是‏‌#include <stdio.h>
int main()

        int i;
  
        for(i=0;i<3;i++)   
        
            switch(i)    
                   
                {       
     
                    case 0: printf("%d",i);
         
                    case 2: printf("%d",i);
         
                    default: printf("%d",i);       
    
                } 
    
        return 0; 
 
}‏
选项:
A: 000122
B: 022111
C: 021021
D: 012
答案: 【 000122

2、单选题:
‌若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是‌
选项:
A: for( i=1; i<=5; i++ )
{
    p=1;
    p*=i;
}
B: for(i=1,p=1;i<=5;i++) 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 );
答案: 【

欢迎您对本文章进行评论
文明留言,请勿恶意评论,包括但不限于纯数字、敏感内容、非法昵称等
暂无讨论,说说你的看法吧
学习通答案

学习通答案

学习通答案
职教云答案

职教云答案

Q&A

备案号:冀ICP备20010840号 2020-2099辉辉网络科技 All Rights Reserved