第一单元数据类型、运算符与表达式、顺序结构

【whut-测验1】数据类型、运算符与表达式、顺序结构

1、单选题:
‌C语言表达式中,想表示实型常量0.000001,下面正确的指数表示形式是(   )。​
选项:
A: 1e-6
B: e-6
C: 10e-6
D: 1.0e-6.0
答案: 【 1e-6

2、单选题:
‌设有float a=2,则a/=a*a的值是(   )。‍
选项:
A: 0
B: 0.5
C: 1
D: 1.0
答案: 【 0.5

3、单选题:
​若有定义int a=10;,下面正确的表达式是(   )。‍
选项:
A: -a++
B: ++a--
C: a+2++
D: (a+2)++
答案: 【 -a++

4、单选题:
‎以下能正确地定义整型变量a、b和c,并为它们赋初值5的语句是(     )。‎
选项:
A: int a=5,b=5,c=5;
B: int a=b=c=5;
C: int a,b,c=5;
D: a=5,b=5,c=5;
答案: 【 int a=5,b=5,c=5;

5、单选题:
‎如果变量 x、y 已经正确定义,下列哪个选项的语句不能正确将x、y的值进行交换?‌
选项:
A: x=t, t=y, y=x;
B: x=x+y, y=x-y, x=x-y;
C: t=x, x=y; y=t;
D: t=y, y=x, x=t;
答案: 【 x=t, t=y, y=x;

6、单选题:
‍若变量已正确定义并赋值,符合C语言语法的表达式是(    )。‎
选项:
A: a = 3 , 5
B: a = 2 ++
C: a = a + 1 = 3
D: 12.3 % 4
答案: 【 a = 3 , 5

7、单选题:
‌若变量已正确定义,表达式 ( j=3, ++j) 的值是____。‌
选项:
A: 4
B: 3
C: 5
D: 6
答案: 【 4

8、单选题:
​下列叙述中错误的是(   )。​
选项:
A: 计算机可以直接运行扩展名为c的文件。
B: 扩展名为obj的文件不能直接运行。
C: 连接是指将扩展名为obj的文件,经连接程序生成扩展名为exe可执行文件的操作。
D: 编译是指C源程序经编译程序编译,生成扩展名为obj的目标文件的操作。
答案: 【 计算机可以直接运行扩展名为c的文件。

9、单选题:
‍一个字长为8位的无符号二进制数能表示的十进制数值范围是(    )。​
选项:
A: 0~255
B: 1~255
C: 1~256
D: -128 ~ 127
答案: 【 0~255

10、单选题:
​若变量x的值为50,则下列语句(   ) 会输出“50%”。‍
选项:
A: printf("%d%%",x);
B: printf("%%d",x);
C: printf("%d%",x);
D: printf("%d%%");
答案: 【 printf("%d%%",x);

11、单选题:
‌若a是整型变量,c是单精度实型变量,现要按下面格式来输入这2个数,以下哪个输入语句是正确的。‌‌100  12.34‌
选项:
A: scanf("%d%f", &a, &c);
B: scanf("%d%f", a, c);
C: scanf("%d,%f", &a, &c);
D: scanf("%d %d", &a, &c);
答案: 【 scanf("%d%f", &a, &c);

12、单选题:
‎表达式:(int)((double)27/4)-2%5的值是( )‍
选项:
A: 4
B: 3
C: 0
D: 5
答案: 【 4

13、判断题:
‎语句 printf("%.2f",2/3);输出结果为 0.67。‍
选项:
A: 正确
B: 错误
答案: 【 错误

14、判断题:
​a=b=4+c=6 是一个合法的赋值表达式。‎
选项:
A: 正确
B: 错误
答案: 【 错误

15、判断题:
‏C 语言规定 : 定义符号常量时宏名的命名可以用任何符号。‍
选项:
A: 正确
B: 错误
答案: 【 错误

16、填空题:
‏设有int x, a;,则执行a=(x=5, x++, x+2)后,a的值为(  )。‍
答案: 【 8

17、填空题:
‌设a已定义为整型变量,a=2,写出表达式 a /= a + a 运算后 a 的值(  )。​
答案: 【 0

18、填空题:
‍设x=2.5, a=7, y=4.7,算术表达式 x + a % 3 * (int)(x+y) % 2 / 4的值为(   )。​
答案: 【 2.5##%_YZPRLFH_%##2.500000##%_YZPRLFH_%##2.50##%_YZPRLFH_%##2.500

19、填空题:
‍int a=10,b=4,c;‍‍c=1.0/b*a;‍‍执行后变量c中的值是(      )。‍
答案: 【 2

账号测试

1、单选题:
‏本课程在爱课程SPOC上单元测验的成绩将占总成绩的(        )。‌
选项:
A: 20%
B: 30%
C: 40%
D: 10%
答案: 【 30%

2、判断题:
​如果错过SPOC上单元测验的提交时间,将没有机会再补做!!!​
选项:
A: 正确
B: 错误
答案: 【 正确

3、填空题:
‏本课程在爱课程SPOC上将发布(     )次单元测验?‎
答案: 【 6##%_YZPRLFH_%##六

第二单元选择结构

【whut-测验2】选择结构

1、单选题:
‍执行下面程序片段后,变量a,b,c的值分别是(    )。‏‍    int a,b,c;
    int x=8,y=10;
    a=(x++==y--)?x:y;
    b=++x;
    c=--y;‏
选项:
A: a=9, b=10, c=8
B: a=8, b=8, c=10
C: a=9, b=8, c=10
D: a=9, b=9, c=8
答案: 【 a=9, b=10, c=8

2、单选题:
‏分析下面程序片段,下面输出结果正确的是(    )。​‏int a=0,b=0,c=1;
c=a++&&(b=1);
printf("a=%d,b=%d,c=%dn",a,b,c);​
选项:
A: a=1,b=0,c=0
B: a=1,b=1,c=0
C: a=1,b=0,c=1
D: a=1,b=1,c=1
答案: 【 a=1,b=0,c=0

3、单选题:
‏对于 int x=10, y=100; 以下逻辑表达式的值为0的是(     )。​
选项:
A: ( x > 100 | | y < 10 ) && y == 100
B: ( x > 0 && y > 0 ) | | x < 100
C: ( x > 10 | | y > 10 ) && x == 10
D: x > 100 | | y < 10 | | y > 10
答案: 【 ( x > 100 | | y < 10 ) && y == 100

4、单选题:
‎设 i、j、k是 int 型变量,且 i = 3, j = 4, k = 5,则以下值为0的表达式是(     )。‎
选项:
A: ! ( ( i < j ) && ! k || 1 )
B: 'i' && 'j'
C: i <= j
D: i || j + k && j - k
答案: 【 ! ( ( i < j ) && ! k || 1 )

5、单选题:
‏执行以下程序段后的b的值是(      )。‍‏int a=5,b=6,c=1,x=2,y=3,z=4;‍‏c=(a=c>x)&&(b=y>z);‍
选项:
A: 6
B: 0
C: 1
D: 5
答案: 【 6

6、单选题:
‍对条件表达式(M)?(a++):(a--)来说,其中表达式 M 等价于(      )。‌
选项:
A: M != 0
B: M == 0
C: M == 1
D: M != 1
答案: 【 M != 0

7、单选题:
‍能正确表示关系x≤y≤z的C语言表达式为(     )。‌
选项:
A: ( x <= y ) && ( y <= z )
B: ( x <= y ) AND ( y<= z )
C: ( x <= y <= z )
D: ( x <= y ) & ( y <= z )
答案: 【 ( x <= y ) && ( y <= z )

8、单选题:
‍若变量x、y都为float型,以下表达式中不能正确表示数学关系|x-y|<10的是(     )。‎
选项:
A: ( x - y ) >-10 | | ( x - y ) < 10
B: fabs ( x - y ) < 10
C: x - y > -10 && x - y < 10
D: ( x - y ) * ( x - y ) < 100
答案: 【 ( x - y ) >-10 | | ( x - y ) < 10

9、单选题:
‏以下程序段运行后的输出结果是(      )。‎‏   int x=1,y=0;
   if(!x) y++;
   else if(x==0)
   if (x) y+=2;
   else y+=3;
   printf("%dn",y);‎
选项:
A: 0
B: 1
C: 2
D: 3
答案: 【 0

10、单选题:
‌以下程序段运行后的输出结果是(     )。‍‌int a=0,b=0,c=0,d=0;
if(a=1) b=1; c=2;
else d=3;
printf("%d,%d,%d,%d",a,b,c,d);‍
选项:
A: 编译有错
B: 1,1,2,0
C: 0,0,0,3
D: 0,1,2,0
答案: 【 编译有错

11、单选题:
有如下嵌套的if语句​if(a<b) 
   if(a<c) k=a;
   else k=c;
else  
   if(b<c) k=b;
   else k=c;以下选项中与上述语句等价的语句是(      )。​
选项:
A: k = ( a < b ) ? ( ( a < c ) ? a : c ) : ( ( b < c ) ? b : c ) ;
B: k = ( a < b ) ? ( ( b < c ) ? a : b ) : ( ( b > c ) ? b : c ) ;
C: k = ( a < b ) ? a : b ; k=  ( b < c ) ? b : c ;
D: k = ( a < b ) ? a : b ; k = ( a < c ) ? a : c ;
答案: 【 k = ( a < b ) ? ( ( a < c ) ? a : c ) : ( ( b < c ) ? b : c ) ;

12、单选题:
‌有以下程序段运行时从键盘输入9<回车>, 则输出结果是(     )。​‌ int a;
 scanf("%d",&a);
 if(a++<9) printf("%dn",a);
 else printf("%dn",a+1)​
选项:
A: 11
B: 8
C: 9
D: 10
答案: 【 11

13、单选题:
​若有定义:‌​float x=1.5;
int a=1,b=3,c=2;‌​则正确的switch语句是(           )。‌
选项:
A: switch(a+b)
{ case 1: printf("*n");
 case 2+1: printf("**n");
}
B: switch((int)x);
{ case 1: printf("*n");
  case 2: printf("**n");
}
C: switch(x)
{ case 1.0: printf("*n");
  case 2.0: printf("**n");
}
D: switch(a+b)
{ case 1: printf("*n");
  case c: printf("**n");
}
答案: 【 switch(a+b)
{ case 1: printf("*n");
 case 2+1: printf("**n");
}

14、单选题:
下列叙述中正确的是(      )。​
选项:
A: 在switch语句中,不一定使用break语句。
B: 在switch语句中必须使用default。
C: break语句必须与switch语句中的case配对使用。
D: break 语句只能用于switch语句。
答案: 【 在switch语句中,不一定使用break语句。

15、单选题:
​设有说明:int a=11, b=10;,执行语句 a %= b + ( a && b ); 后,a的值为( )‌
选项:
A: 0
B: 1
C: 11
D: 22
答案: 【 0

16、单选题:
‌能正确表示a和b同时为正或同时为负的逻辑表达式是( ).‎
选项:
A: a*b>0
B: ( a>0 || b>0 ) && ( a<0 || b<0 )
C: ( a>0 && b>0 ) && ( a<0 && b<0 )
D: ( a+b>0 ) && ( a+b<0 )
答案: 【 a*b>0

17、单选题:
‎在下面条件语句中(其中S1和S2表示C语言语句),只有( )在功能上与其他三个语句不等价。‏
选项:
A: if ( a==0 ) S1;  else S2;
B: if ( a ) S1; else S2;
C: if ( a==0 ) S2;  else S1;
D: if (a != 0 ) S1;  else S2;
答案: 【 if ( a==0 ) S1;  else S2;

18、单选题:
‏如果要求: if 后一对括号中的表达式表示 a 不等于 0 时值为“真”,则不能正确表示这一关系的表达式为(           )。‏
选项:
A: a
B: a !=0
C: ! a
D: ! ! a
答案: 【 ! a

19、单选题:
‏以下程序段运行时,输入的x值在( )范围时才会有输出结果。‍‏int x;
scanf("%d",&x);
if(x<=3);
else if(x!=10)
printf("%d",x);‍
选项:
A: 大于3且不等于10的整数
B: 不等于10的整数
C: 大于3且等于10的整数
D: 小于3的整数
答案: 【 大于3且不等于10的整数

20、单选题:
‎表达式(        )不能用于判断“x和y不同时为零”。‎
选项:
A: !(x==0 || y==0)
B: x!=0 || y!=0
C: x || y
D: !(x==0 && y==0)
答案: 【 !(x==0 || y==0)

21、单选题:
‍下列选项中用于判断ch是否是英文字母的表达式是( )。‎
选项:
A: ( ch >= 'a' && ch <= 'z' ) || ( ch >= 'A' && ch <= 'Z' )
B: ( 'a' <= ch <= 'z' ) || ( 'A' <= ch <= 'Z' )
C: ( 'a' <= ch <= 'z' ) && ( 'A' <= ch <= 'Z' )
D: ( ch >= 'a' && ch <= 'z' ) && ( ch >= 'A' && ch <= 'Z' )
答案: 【 ( ch >= 'a' && ch <= 'z' ) || ( ch >= 'A' && ch <= 'Z' )

22、判断题:
‍case语句后如没有break,顺序向下执行。​
选项:
A: 正确
B: 错误
答案: 【 正确

23、判断题:
​if ( a = 5 ) 是允许的。 ‌
选项:
A: 正确
B: 错误
答案: 【 正确

24、判断题:
‍在 if 语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。‏
选项:
A: 正确
B: 错误
答案: 【 正确

25、填空题:
‎有定义:int a = 3, b = 4, c = 5 ;‌‎则表达式 a || b + c && b - c 的值为________。‌
答案: 【 1

26、填空题:
‍表达式:a=1 || a>b+5 || a<1 的值是______ 。‎
答案: 【 1

27、填空题:
 float a,b; 
 scanf("%f",&a);
 if(a<0.0) b=0.0;
 else if((a<0.5)&&(a!=2.0)) b=1.0/(a+2.0);
 else if(a<10.0) b=1.0/a;
 else b=10.0;
 printf("%fn",b);‍若以上程序段运行时输入为2.0(回车), 则上面程序的输出结果是         。‍
答案: 【 0.500000

28、填空题:
执行以下代码段后,输出结果是         。‌float x=2,y;
if(x<0) y=0;
else if(x<10) y=1.0/10;
else y=1;
printf("%.1fn",y);‌
答案: 【 0.1

29、填空题:
‌当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是          。‎‌if(a<b) 
if(c<d) x=1; 
else if(a<c) 
if(b<d) x=2; 
else x=3; 
else x=6; 
else x=7;‎
答案: 【 2

30、填空题:
‎表达式8>6>3值是(      )。​
答案: 【 0

第三单元循环结构

【whut-测验3】循环结构

1、单选题:
​下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,请在下划线处填空(  )?​​int main()
{
    int m=0,n=0;
    char c;
    while ((_______) !='n') 
    {
        if(c>='A' && c<='Z') m++;
        if(c>='a' && c<='z') n++;
    }
    printf("%d %d",m,n);
    return 0;
}​
选项:
A: c=getchar( )
B: getchar( )
C: c==getchar( )
D: scanf("%c",&c)
答案: 【 c=getchar( )

2、单选题:
‏以下程序段运行时,若输入1 2 3 4 5 0<回车>,输出结果是(   )?‎‏   int s;
   scanf("%d",&s);
   while(s>0) 
   {
      switch(s) 
      {
          case 1:printf("%d",s+5);
          case 2:printf("%d",s+4); break;
          case 3:printf("%d",s+3);
          default:printf("%d",s+1); break;
      }
     scanf("%d",&s);
  }‎
选项:
A: 6566456
B: 66656
C: 66666
D: 6666656
答案: 【 6566456

3、单选题:
‌执行while(表达式)循环的条件是?(  )‍
选项:
A: 当表达式的值为非0时
B: 当表达式的值为0时
C: 仅当表达式的值为1时
D: 当表达式的值不为1时
答案: 【 当表达式的值为非0时

4、单选题:
‎下面程序段的输出结果是(  )? ‍‎ int n=9;
 while(n>6)
 {
    n--;
    printf("%d",n);
 }‍
选项:
A: 876
B: 987
C: 8765
D: 9876
答案: 【 876

5、单选题:
‌语句for (表达式1;  ; 表达式3)等价于?(  )‏
选项:
A: for ( 表达式1; 1 ; 表达式3 )
B: for ( 表达式1; 0 ; 表达式3 )
C: for ( 表达式1; 表达式1; 表达式3 )
D: for ( 表达式1; 表达式3; 表达式3 )
答案: 【 for ( 表达式1; 1 ; 表达式3 )

6、单选题:
‏以下不会构成死循环的语句或语句组是?(  )‌
选项:
A: n=0; 
do{
   ++n;
}while(n<=0);
B: n=0; 
while(1)
   { n++; }
C: n=10; 
while(n);
   { n--; }
D: for( n=0,i=1; ;i++ ) 
   n+=i;
答案: 【 n=0; 
do{
   ++n;
}while(n<=0);

7、单选题:
‌以下程序段的循环次数是?(  )    ‌‌for(i=2; i==0; )        
   printf("%d",i--);‌
选项:
A: 0次
B: 无限次
C: 1次
D: 2次
答案: 【 0次

8、单选题:
​若变量已正确定义,要求程序段完成求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);
答案: 【 for(i=1; i<=5; i++)
  { p=1; p*=i; }

9、单选题:
‍若有以下程序段,正确的描述是什么?(  ) ‍‍for(m=1; m<=100; m++)
{
   scanf("%d", &y);
  if(y<0)
    continue;
    printf("%d", m);
}‍
选项:
A: 最多允许输出100个非负整数
B: 当y<0时整个循环结束
C: y>=0时什么也不输出
D: printf函数永远也不执行
答案: 【 最多允许输出100个非负整数

10、单选题:
‍下面程序段执行后,n的值是(  )。‏‍  int i, n=0;
  for(i=2; i<5; i++) 
  {
     do 
     {
        if(i%3) continue;
        n++;
     } while(!i);
     n++;
  }‏
选项:
A: 4
B: 5
C: 2
D: 3
答案: 【 4

11、单选题:
‏以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序执行后的运行结果不正确,调试中发现有一条语句在程序中的位置不正确,这条语句是哪一条?( 

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

发表评论

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