第3周 数据的输入与输出

单个字符输出

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

数据的实际位宽大于printf函数中格式指定宽度

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

数据输入

1、判断题:
‌输入时可以指定数据的宽度,但不允许指定精度。‎
选项:
A: 正确
B: 错误
答案: 【 正确

第3周单元测验

1、单选题:
‎若变量已正确定义,执行语句scanf("%d,%d,%d  ",&k1,&k2,&k3);时,正确的数据输入方法是(   )。‏
选项:
A: 20,30,40
B: 2030,40
C: 20, 30 40
D: 20 30 40
答案: 【 20,30,40

2、单选题:
​printf("arHappiby");在屏幕上正确的输出形式是(  )。 ​
选项:
A: aHappy
B: Happy
C: Happi
D: aHappi
答案: 【 Happy

3、单选题:
‌若定义字符变量c1的值是'A',c2的值是'D',执行语句printf("%d,%d",c1,c2-2);后,输出结果是(  )。 ​
选项:
A: 65,66
B: 65,68
C: A,68
D: A,B
答案: 【 65,66

4、单选题:
‎以下程序的输出结果是()。 ‌‎int main()‌‎{‌‎   float x=3.6;‌‎   int i;‌‎   i=(int)x; ‌‎   printf("x=%f,i=%dn",x,i);‌‎   return 0;‌‎}‌
选项:
A: x=3.600000,i=4
B: x=3 i=3.600000
C: x=3,i=3
D: x=3.600000,i=3
答案: 【 x=3.600000,i=3

5、单选题:
‌已定义double a; int  i;选择正确的输入格式为(   )  。​
选项:
A: scanf("%6.2f%3d", &a,&i);
B: scanf("%lf%s", &a,&i);
C: scanf("%6lf%3d",&a,&i);
D: scanf("%f%d", a,i);
答案: 【 scanf("%6lf%3d",&a,&i);

6、单选题:
‍已有定义char s1,s2;,下面正确的语句是(    )。‍
选项:
A: scanf ("%s%c", s1,s2); 
B: scanf ("%s%c", s1,&s2);
C: scanf ("%c%c", &s1,&s2);
D: scanf ("%c%c",s1,s2);
答案: 【 scanf ("%c%c", &s1,&s2);

7、单选题:
‍为下面的程序输入数据,使得i=10,k='a' ,j=15,正确的键盘输入方法是(    )。 ‍‍#include <stdio.h> ‍‍int main( ) ‍‍{  ‍‍       int i,j,k; ‍‍      scanf("%d%c%d",&i,&k,&j); ‍‍      printf("i=%d,j=%c,k=%dn",i,k,j); ‍‍      return 0; ‍‍}‍
选项:
A: 10,a,15<回车>
B: 10<回车>a<回车>15<回车>
C: 10'a'15<回车>
D: 10a15<回车>
答案: 【 10a15<回车>

8、单选题:
‎运行下面的程序,正确的输出结果是( )。‌‎#include <stdio.h> ‌‎int main( ) ‌‎{ ‌‎        double  x=68.7563, y= -789.127;  ‌‎        printf ("%f, %10.2fn", x,y);  ‌‎        return 0; ‌‎}‌
选项:
A: 68.756300, □□□-789.12
B: 68.756300, □□□-789.13
C: 68.75, □□□-789.13
D: 68.75, -789.12
答案: 【 68.756300, □□□-789.13

9、单选题:
‏已知float x=2.23,y=4.35;,根据下面的输出结果,正确的程序段是(  )。​‏x=2.230000,y=4.350000 ​‏y+x=6.58,y-x=2.12​
选项:
A: printf("x=%8.2f,y=%8.2f",x,y); printf("y+x=%4.2f,y-x=%4.2fn",y+x,y-x);
B: printf("x=%8.6f,y=%8.6fn",x,y); printf("y+x=%4.2f,y-x=%4.2fn",y+x,y-x);
C: printf("x=%7.2f,y=%7.2fn",x,y); printf("y+x=%3.2f,y=%3.2fn",y+x,y-x);
D: printf("x=%f,y=%fn",&x,&y); printf("y+x=%f,y=%fn",y+x,y-x);
答案: 【 printf("x=%8.6f,y=%8.6fn",x,y); printf("y+x=%4.2f,y-x=%4.2fn",y+x,y-x);

10、判断题:
‎C语言中本身没有提供专门的输入输出语句,输入输出通过调用函数完成。 ‏
选项:
A: 正确
B: 错误
答案: 【 正确

11、判断题:
‎输入数据时不能指定数据的精度。​
选项:
A: 正确
B: 错误
答案: 【 正确

12、判断题:
‎输入数据时不可以指定数据的宽度。‍
选项:
A: 正确
B: 错误
答案: 【 错误

13、判断题:
​混合输入数值型数据和字符型数据时,数据之间不能加空格。‏
选项:
A: 正确
B: 错误
答案: 【 正确

14、判断题:
‌使用getchar()函数可以一次接受多个字符。‏
选项:
A: 正确
B: 错误
答案: 【 错误

15、判断题:
‍在使用标准的输入/输出库函数时,应该在程序的开头使用编译预处理命令“#include <stdio.h>”。​
选项:
A: 正确
B: 错误
答案: 【 正确

16、判断题:
‌字符型数据存储其ASCII码值,占一个字节,在ASCII范围内与整数通用。‎
选项:
A: 正确
B: 错误
答案: 【 正确

17、判断题:
‎输入数据时可以有多种方法分隔多个输入数据。‌
选项:
A: 正确
B: 错误
答案: 【 正确

18、判断题:
​程序的顺序结构是指按照解决问题的顺序写出相应的语句,程序执行顺序按照自上而下,依次按顺序执行。‌
选项:
A: 正确
B: 错误
答案: 【 正确

19、判断题:
​若在输入格式控制字符串中包含普通字符,则输入时必须照原样输入普通字符,否则将导致输入错误。‏
选项:
A: 正确
B: 错误
答案: 【 正确

20、填空题:
‌getchar()函数只能接收一个_____。‎
答案: 【 字符

21、填空题:
‎下列语句输出的结果是_____。‌‎ char ch='b';‌‎ printf("%c,%d",ch,ch);‌
答案: 【 b,98

22、填空题:
‏用scanf函数输入数据,使得x=1.23, y=67.1234。‎‏#include <math.h>‎‏#include <stdio.h>‎‏int main( )‎‏{ ‎‏   double  x,y,z;  ‎‏   scanf("     ", &x,&y );‎‏   z=2*x+y/sin(3.1415/4);‎‏   printf("z=%6.2f",z);‎‏   return 0;‎‏}‎
答案: 【 %lf%lf

23、填空题:
‏完善下列程序:‎‏#include  <      >‎‏int main( )‎‏{‎‏  char str;‎‏  str=getchar();‎‏  putchar(str);‎‏  return 0;‎‏}‎
答案: 【 stdio.h

24、填空题:
‌根据下面的输出结果, 完善程序。 ‏‌s1=C,ASCII is 67 ‏‌x=655.35,y=765.43 ‏‌#include <stdio.h> ‏‌int main( ) ‏‌{ ‏‌    double x=655.3524,y=765.4271; ‏‌    char s1='C'; ‏‌    printf(       ,  s1,s1,x,y); ‏‌    return 0; ‏‌}‏
答案: 【 "s1=%c,ASCII is %dnx=%6.2f,y=%6.2f"##%_YZPRLFH_%##"s1=%c,ASCII is %dnx=%.2f,y=%.2f"##%_YZPRLFH_%##"s1=%c,ASCII is %dnx=%6.2lf,y=%6.2lf"##%_YZPRLFH_%##"s1=%c,ASCII is %dnx=%.2lf,y=%.2lf"##%_YZPRLFH_%##"s1=%c,ASCII is %dnx=%6.2f,y=%6.2fn"##%_YZPRLFH_%##"s1=%c,ASCII is %dnx=%.2f,y=%.2fn"##%_YZPRLFH_%##"s1=%c,ASCII is %dnx=%6.2lf,y=%6.2lfn"##%_YZPRLFH_%##"s1=%c,ASCII is %dnx=%.2lf,y=%.2lfn"

25、填空题:
‏用scanf函数输入数据,使得下面程序运行结果为a=2,b='x',c='z'‍‏#include <stdio.h>‍‏int main( )‍‏{‍‏  int a, b;‍‏  scanf("%d%c", &a,&b );‍‏  printf("     ",a,b,b+2);‍‏  return 0;‍‏} ‍
答案: 【 a=%d,b='%c',c='%c'##%_YZPRLFH_%##a=%d,b='%c',c='%c'

26、填空题:
‍下面程序的运行结果是:        。‏‍#include <stdio.h>‏‍int main( ) ‏‍{ ‏‍        char str=65; ‏‍        printf("str=%c,ASCII=%d",str,str ); ‏‍  return 0; ‏‍}‏
答案: 【 str=A,ASCII=65

27、填空题:
‏在格式说明符中,当%后边出现______,表示要跳过相应的数据,是附加说明符。‎
答案: 【 *##%_YZPRLFH_%##星号

28、填空题:
‏若要将数据以指数形式输出,应该选择______格式符。‏
答案: 【 e##%_YZPRLFH_%##E

第4周 选择结构程序设计

单分支结构

1、填空题:
‏写出下列程序段的输出结果:‎‏int a = 56;‎‏if ( a>50 ) printf("A");‎‏if ( a>40 ) printf("B");‎‏if ( a>30 ) printf("C");‎‏‎
答案: 【 ABC

多重分支

1、填空题:
​写出下列程序段的输出结果:_______。‏​int i=1;‏​switch ( i%3 )‏​{‏​   case 0: printf("zero");‏​   case 1: printf("one");‏​   case 2: printf("two");‏​}‏​‏
答案: 【 onetwo

第4周 单元测验

1、单选题:
‏下列运算符优先级最高的是( )。 ‏
选项:
A: &&
B: ||
C: ,
D: +
答案: 【 +

2、单选题:
‍若给定条件表达式(m)?(a++):(a--),则其中表达式m()。‌
选项:
A: 和(m==0)等价
B: 和(m!=0)等价
C: 和(m==1)等价
D: 和(m!=1)等价
答案: 【 和(m!=0)等价

3、单选题:
‌C语言中以下几种运算符的优先次序()的排列是正确的。‎
选项:
A: 由高到低为:算术运算符,关系运算符,赋值运算符,!,&&,||
B: 由高到低为:!,&&,||,算术运算符,赋值运算符
C: 由高到低为:算术运算符,关系运算符,!,&&,||,赋值运算符
D: 由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符
答案: 【 由高到低为:!,算术运算符,关系运算符,&&,||,赋值运算符

4、单选题:
‌C语言中,switch后的括号内表达式(  )。‍
选项:
A: 只能是整型和字符型
B: 只能为整型
C: 可以是任何类型
D: 只能为整型,字符型或枚举型
答案: 【 只能为整型,字符型或枚举型

5、单选题:
‏C语言的switch语句中case后边(  )。‍
选项:
A: 可为任何量或表达式
B: 可为常量或表达式或有确定值的变量及表达式
C: 只能为常量或常量表达式
D: 只能为常量
答案: 【 只能为常量或常量表达式

6、单选题:
‏执行下面程序段后,k的值是:( )。‍‏int k=2;‍‏switch(k+1)‍‏{‍‏    case 3:k+=1;‍‏    case 4:k--;break;‍‏    case 5:k*=3;‍‏    case 6:++k;‍‏}‍
选项:
A: 10
B: 2
C: 28
D: 27
答案: 【 2

7、单选题:
​执行下面程序段后,ch的值是( )。‌​char ch='a';‌​ch=(ch>='A'&&ch<='Z')?(ch+32):ch;‌​‌
选项:
A: z
B: Z
C: a
D: A
答案: 【 a

8、单选题:
​若在程序运行时,输入:4 3,则执行下面程序输出的结果是( )。‏​#include <stdio.h>‏​int main()‏​{‏​     int a,b,s;‏​     scanf("%d%d",&a,&b);‏​     s=a;‏​     if(a>b) s=b;‏​     s=s*s;‏​     printf("%dn", s);‏​     return 0;‏​}‏
选项:
A: 13
B: 9
C: 16
D: 15
答案: 【 9

9、单选题:
‏下列表达式中,值为0的表达式是(    )。‏
选项:
A: 3!=0
B: 3!=3>4     
C: 3>4==0
D:  6>5>4
答案: 【  6>5>4

10、单选题:
‎下列表达式中,结果为1的表达式是(    )。‍
选项:
A:  !0==1     
B: !6     
C: !2>=3
D:  !3!=0
答案: 【  !0==1     

11、单选题:
‎设int a=3;,则表达式a<1&&--a>1的运算结果和a的值分别是(    )。‏
选项:
A: 0和2
B: 0和3
C: 1和2
D: 1和3
答案: 【 0和3

12、单选题:
‍设整型变量x、y、z的值分别为3、2、1,则下列程序段的输出是(  )。‏‍if(x>y)   x=y; ‏‍if(x>z)   x=z; ‏‍printf("%d,%d,%dn",x,y,z);‏
选项:
A: 3,2,1
B: 1,2,3
C: 1,2,1
D: 1,1,1
答案: 【 1,2,1

13、单选题:
‌判断char型变量ch是否为小写字母的正确表达式是()。‎
选项:
A: ('a'>=ch)||('z'<=ch)
B: 'a'<=ch<='z'
C: (ch>=a)&&(ch<=z)
D: (ch>='a')&&(ch<='z')
答案: 【 (ch>='a')&&(ch<='z')

14、判断题:
​能正确表达逻辑关系“0<a<1并且0<b<1”的表达式是(0<a<1)&&(0<b<1)。‏
选项:
A: 正确
B: 错误
答案: 【 错误

15、判断题:
‍所有逻辑运算符的优先级都高于关系运算符。​
选项:
A: 正确
B: 错误
答案: 【 错误

16、判断题:
‍在switch语句中,switch与case后的表达式可以为任意类型。‎
选项:
A: 正确
B: 错误
答案: 【 错误

17、判断题:
‏在if语句中,if后面的表达式可以是关系表达式与逻辑表达式,而不能是算术表达式。‍
选项:
A: 正确
B: 错误
答案: 【 错误

18、判断题:
‏ 在逻辑表达式的求解过程中,并非所有的逻辑运算符都被执行。‏
选项:
A: 正确
B: 错误
答案: 【 正确

19、判断题:
‏switch语句嵌套使用时,一条break语句可用于跳出所有嵌套switch语句。‎
选项:
A: 正确
B: 错误
答案: 【 错误

20、判断题:
‍在a>b?a+b:a-b 表达式中,若a>b,则条件表达式的值为a+b的值,否则为a-b的值。‌
选项:
A: 正确
B: 错误
答案: 【 正确

21、判断题:
​条件运算符的优先级低于算术运算符、关系运算符及逻辑运算符,高于赋值运算符和逗号运算符。‎
选项:
A: 正确
B: 错误
答案: 【 正确

22、判断题:
‏同一个switch语句中各个常量表达式的值必须互不相等,且只能是常量。‎
选项:
A: 正确
B: 错误
答案: 【 正确

23、判断题:
‏C语言没有逻辑型数据,关系表达式的真、假是以数值“1”代表“真”,以“0”代表“假”,即非0为真(true),0为假(false)。‌
选项:
A: 正确
B: 错误
答案: 【 正确

24、判断题:
‎并非所有的if语句都有等价的switch语句,switch语句只能用来实现以相等关系作为选择条件的多分支结构。‍
选项:
A: 正确
B: 错误
答案: 【 正确

25、填空题:
‌已知  a=10,b=15,c=1,d=2,e=0,则表达式c==b>e的值为_____。​
答案: 【 1

26、填空题:
​int x=2,y=3,z=4;  则表达式x+y&&(x=y)的值为_____。​
答案: 【 1

27、填空题:
‌int x=4,y=4,z=2;x=y==z; 则x的值为_____。‌
答案: 【 0

28、填空题:
‍假设变量a,b均为整型,表达式  (a=5,b=2,a>b?a++:b++,a+b)  的值是_____。​
答案: 【 8

29、填空题:
​当a=1,b=2,c=3时,执行以下程序段后b的值为 _____。‍​ if (a>c)‍​   b=a;‍​ a=c;‍​ c=b; ‍
答案: 【 2

30、填空题:
‍已知a=13,b=2,表达式b||++a,运算结果a的值是_____。‏
答案: 【 13

31、填空题:
​当a=3,b=2,c=1;时,执行以下程序段后,a=_____。‍​if(a>b) a=b;‍​if(b>c) b=c;‍​else c=b;‍​c=a;‍
答案: 【 2

32、填空题:
‏c语言表达式5>2>7>8的值是_____。​
答案: 【 0

33、填空题:
‎为了避免嵌套条件语句的二义性,C语言规定else与其前面最近的_____语句配对。 ‎‎‎
答案: 【 if

第5周 循环结构程序设计

第5周 单元测验

1、单选题:
​下面程序的运行结果是 (   )。‌​#include <stdio.h>‌​int main( )‌​{‌  int i=5;‌while(i>0);    ‌printf("%d",i--);‌​      return 0;‌​}‌
选项:
A: 5
B: -1
C: 0
D: 死循环‍
答案: 【 死循环‍

2、单选题:
‌执行语句 for(i=1;i++<4;) ; 后变量 i 的值是(   )。‌
选项:
A: 3
B: 4
C: 5
D: 不定
答案: 【 5

3、单选题:
‏关于下面程序段,正确的是(  )。‏‏int k=10;‏while(!k)‏‏  k--;‏
选项:
A: 循环体执行10次
B: 循环体执行1次
C: 循环体一次也不执行
D: 死循环
答案: 【 循环体一次也不执行

4、单选题:
‍下面程序的运行结果是(     )。‏#include <stdio.h>‏int main( )‏‍{‏‍   int x=3;‏‍   do{‏‍   printf("%3d",x-=2);‏‍   }while(!(--x));‏‍   return 0;‏‍}‏
选项:
A: 死循环
B: 1 -2
C: 10
D: 1
答案: 【 1 -2

5、单选题:
‎下面程序的运行结果是(  )。‍‎#include <stdio.h>‍‎int main( )‍‎{‍‎   int i=0,sum=0;‍‎   while(i++<6)  ‍‎     sum+=i;‍‎   printf("%d",sum);‍‎   return 0;‍‎}‍
选项:
A: 15
B: 16
C: 21
D: 22
答案: 【 21

6、单选题:
‌下面程序的运行结果是(   )。​‌​‌#include <stdio.h>​‌int main( )​‌{​‌   int i=10;​‌   while(i-->0);​‌     printf("%d ",i);​‌   return 0;​‌}​
选项:
A: 10
B: 0
C: 10987654321
D: -1
答案: 【 -1

7、单选题:
‎已定义int j; 下面程序段的输出结果是(  )。‎‎for(j=7;j<10;j++)‎‎ printf("%d",j);‎
选项:
A: 8910
B: 789
C: 91011
D: 无结果
答案: 【 789

8、单选题:
​‎‎​下面程序的输出结果是(   )。‎​#include <stdio.h>‎​int main( )‎​{‎​  int i,j,s=0; ‎​  for(j=1,i=7;j<=i;j++,i--)‎​      s=s+i+j;‎​  printf("%d",s);‎​  return 0;‎​}‎​‎
选项:
A: 32
B: 28
C: 死循环
D: 0
答案: 【 32

9、单选题:
‍下面程序的输出结果是(   )。‏‍#include <stdio.h>‏‍int main( )‏‍{‏‍   int j,s; ‏‍   for(j=1;j<=7;j++)‏‍     s=s+j;‏‍   printf("%d",s);‏‍}‏‏
选项:
A: 0
B: 28
C: 不确定
D: 死循环
答案: 【 不确定

10、单选题:
‌‍已定义int j,s; 则下面程序段的输出结果是(     )。‌‍int j,s;‌‍for(j=1,s=0;j<=5;j++)‌‍  s*=j;‌‍printf("%d",s);‌
选项:
A: 0
B: 120
C: 死循环 
D: 无结果
答案: 【 0

11、判断题:
​while循环语句至少无条件执行一次循环体。‏
选项:
A: 正确
B: 错误
答案: 【 错误

12、判断题:
​for循环语句只能用于循环次数已经确定的情况。‏
选项:
A: 正确
B: 错误
答案: 【 错误

13、判断题:
​do while循环语句中,根据情况可以省略关键字while。‎
选项:
A: 正确
B: 错误
答案: 【 错误

14、判断题:
‌do while循环语句至少无条件执行一次循环体。‏
选项:
A: 正确
B: 错误
答案: 【 正确

15、判断题:
​for循环语句先判断循环条件是否成立,然后再决定是否执行循环体。‎
选项:
A: 正确
B: 错误
答案: 【 正确

16、判断题:
​do-while循环由do开始,while结束,在while(表达式)后面加分号。​
选项:
A: 正确
B: 错误
答案: 【 正确

17、判断题:
‌for循环的三个表达式中间用逗号相分隔,并且不能省略。‍
选项:
A: 正确
B: 错误
答案: 【 错误

18、判断题:
‍do while循环语句的特点是先执行循环体,然后判断循环条件是否成立。‎
选项:
A: 正确
B: 错误
答案: 【 正确

19、判断题:
‏while循环语句和do while循环语句在任何情况下都可以互换。‌
选项:
A: 正确
B: 错误
答案: 【 错误

20、判断题:
​for循环的三个表达式中间用分号相分隔,第一个表达式执行一次。‌
选项:
A: 正确
B: 错误
答案: 【 正确

21、填空题:
‌下面程序用来计算自然数1-10之和,请完善程序。‌‌#include <stdio.h>‌‌int main( )‌‌{‌‌  int j,s;  ‌‌       ;‌‌ for(j=1;j<=10;j++)‌‌    s=s+j;‌‌ printf("%d",s);‌‌ return 0;‌‌}‌
答案: 【 s=0

22、填空题:
‎下面程序用来计算10!,请完善程序。‏‎#include <stdio.h>‏‎int main( )‏‎{‏‎  int j,s;‏‎          ;‏‎  for(j=1;j<=10;j++)‏‎   s*=j;‏‎  printf("%d",s);‏‎  return 0;‏‎}‏‎‏
答案: 【 s=1

23、填空题:
‌下面程序用来计算1+1/2!+1/3!+…1/10!,请完善程序。‏‌#include <stdio.h> ‏‌int main( )‏‌{‏‌   int i,j;‏‌‍       

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

发表评论

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