第2周 变量及表达式

字符常量

1、单选题:
‌下列哪些是C语言的合法的字符常量?‎
选项:
A: '10'
B: "a"
C: '54'
D: '85'
答案: 【 '54'

标识符命名

1、单选题:
‌以下不合法的变量命名是( )。‌
选项:
A: _123
B: xfloat
C: stu_1
D: float
答案: 【 float

第2周单元测验

1、单选题:
‏关于变量定义,下面说法错误的是()。‏
选项:
A: 变量的类型确定了变量占据的存储单元的大小
B: 确定了变量的名字
C: 确定了变量中的内容
D: 确定了变量的表数范围
答案: 【 确定了变量中的内容

2、单选题:
‏sizeof(float)的执行结果是()。​
选项:
A: 一种函数调用
B: 一个浮点表达式
C: 一个不合法的表达式
D: 一个整型表达式
答案: 【 一个整型表达式

3、单选题:
​若有 float x=2,y=5.6;‍​则表达式 (int)x%(int)y将完成(  )。‍
选项:
A: 将x和y的类型转换为整型
B: 将x和y的的表达式的类型转换为整型,完成求余运算
C: 不能进行求余运算
D: 将x的值的类型转换为整型
答案: 【 将x和y的的表达式的类型转换为整型,完成求余运算

4、单选题:
‌下列叙述正确的是(    )。‌
选项:
A: C语言中的数据的类型不同,在内存中占据相同长度的存储单元
B: C语言中的数据的类型不同,在内存中占据不同长度的存储单元
C: C语言中的常量是没有类型的
D: C语言中的数据的类型不同,但取值范围都是相同的
答案: 【 C语言中的数据的类型不同,在内存中占据不同长度的存储单元

5、单选题:
‎下列关于C语言用户标识符的叙述中正确的是(    )。‍
选项:
A: 用户标识符中可以出现下划线和中划线(减号)
B: 用户标识符中不可以出现中划线,但可以出现下划线
C: 用户标识符中可以出现下划线,但不可放在标识符开头
D: 用户标识符中可以出现下划线和数字,它们都可放在用户标识符的开头
答案: 【 用户标识符中不可以出现中划线,但可以出现下划线

6、单选题:
‎下列转义字符中,错误的是(    )。‏
选项:
A: ' xa5'
B: '  31' 
C: '  b' 
D:  '  "' 
答案: 【 ' xa5'

7、单选题:
‎字符串 "\\abcd\\n"在内存中占用的字节数是(    )。‌
选项:
A: 14
B: 9
C: 10
D: 11
答案: 【 10

8、单选题:
​已知梯形的上底为a,下底为b,高为h,用C语言书写的正确的面积公式是(    )。‍
选项:
A: 1/2*(a+b)*h
B: 1.0/2*(a+b)*h
C: 1.0/2.0(a+b)h
D: 1.02*a+b*h
答案: 【 1.0/2*(a+b)*h

9、单选题:
​与k=n++完全等价的表达式是(    )。‎
选项:
A: n=n+1, k=n
B: k+=n+1
C: k=++n
D:  k=n, n=n+1
答案: 【  k=n, n=n+1

10、单选题:
‎下面关于C语言标识符的命名规则叙述中不准确的是()。‏
选项:
A: 只能由字母、数字和下划线组成
B: 首字符必须为字母或下划线
C: 不区分大小写字母
D: 不能使用系统的保留字
答案: 【 不区分大小写字母

11、单选题:
‏关于定点数和浮点数的说法,下列说法错误的是()。‌
选项:
A: 在计算机中通常用定点数表示整数和纯小数
B: 用浮点数表示既有整数部分、又有小数部分的实数
C: 浮点数表示的数即是数值的精确值
D: 定点数表示数据的范围有限
答案: 【 浮点数表示的数即是数值的精确值

12、单选题:
​以下哪种运算能从变量x中取得十进制最低位的数字( )。‏
选项:
A: x/10
B: x%10
C: x*10
D: 10/x
答案: 【 x%10

13、单选题:
‎以下哪个数字占据的空间最大(   )。​
选项:
A: 32768
B: ‘3’
C: 32768.0
D: 32768.0F
答案: 【 32768.0

14、单选题:
‌以下哪个字母不能在常量数字后面表示类型(  )。‌
选项:
A: F
B: U
C: L
D: X
答案: 【 X

15、单选题:
‎以下哪个数字的值最大( )。‌
选项:
A: 10
B: 010
C: 0x10
D: 10.0
答案: 【 0x10

16、单选题:
​下列哪个不是有效的字符常量(  )。‌
选项:
A: ‘ ’
B: ‘’‘
C: '1'
D: "1"
答案: 【 "1"

17、判断题:
​C语言的关键字是由C语言规定的、具有特定功能的固定字母组合,也称为保留字,共计32个。​
选项:
A: 正确
B: 错误
答案: 【 正确

18、判断题:
‌变量是在程序执行期间其值可以改变的量,必须先定义后使用。‎
选项:
A: 正确
B: 错误
答案: 【 正确

19、判断题:
‎变量被定义后没有赋值,其单元内容不可以使用,是内存中的随机数。‍
选项:
A: 正确
B: 错误
答案: 【 正确

20、判断题:
​变量的初始化是指在定义时对其赋值。‌
选项:
A: 正确
B: 错误
答案: 【 正确

21、判断题:
‌变量的名字代表内存中的存储单元;变量名和内存中的存储单元相对应,通过变量名来存、取存储单元的内容。‍
选项:
A: 正确
B: 错误
答案: 【 正确

22、判断题:
‎定义变量时的变量的类型决定变量占据存储单元的大小和数据的表数范围。‎
选项:
A: 正确
B: 错误
答案: 【 正确

23、判断题:
‍变量中只能存放指定类型的数据,程序运行过程中可以改变变量的类型。‏
选项:
A: 正确
B: 错误
答案: 【 错误

24、判断题:
‌当存储单元溢出时,数据的值不会受到影响,只会丢掉超过的部分。‍
选项:
A: 正确
B: 错误
答案: 【 错误

25、判断题:
‏当有若干运算符同时出现在表达式中时,运算符的优先级规定了运算的先后次序。‎
选项:
A: 正确
B: 错误
答案: 【 正确

26、判断题:
‍当若干具有相同优先级的运算符相邻出现在表达式中时,结合性规定了运算的先后次序。 ‎
选项:
A: 正确
B: 错误
答案: 【 正确

27、填空题:
‏在C语言中,对于整型变量采用有符号数和_________数两种存储形式。‌
答案: 【 无符号

28、填空题:
‍当赋值语句右边表达式类型与左边变量类型不一致时,以_______类型为准。‏
答案: 【 左边变量

29、填空题:
‎若有定义:char c='10';  则变量C中包含的字符个数为_____个。‍
答案: 【 1

30、填空题:
‍若有变量定义:‍‍ char w;‍‍int x;‍‍float y;‍‍double z;‍‍则表达式w*x+z-y的结果为_____类型。‍
答案: 【 double##%_YZPRLFH_%##双精度

31、填空题:
‎设int w=5;w+=-2; 则w的值为_____。‎
答案: 【 3

32、填空题:
‌已知 i=5;写出语句 i+=012;  执行后整型变量 i 的十进制值是_____。‌
答案: 【 15

33、填空题:
‏在C语言中的实型变量分为float型和double型,按浮点数进行存储,分为数符、_______和尾数几部分。‎
答案: 【 阶码

34、填空题:
‌设k=a=5,b=3,a*b,则表达式的值为_____。‍
答案: 【 15

35、填空题:
‌设有变量定义:‍‌int i=3,j=5;‍‌float x=2.5; ‍‌double y=5.0;‍‌则表达式 y+=i-=j*=++x;的计算结果为________。‍‌‍
答案: 【 -9.0##%_YZPRLFH_%##-9.000000

36、填空题:
‌设有变量定义:‍‌char a='a'; ‍‌int i=3, j=5;‍‌则表达式 a=a+i, a+j 的值为________。‍
答案: 【 105

37、填空题:
‎C语言中用一个符号代表一个常量的量称为________常量。‌
答案: 【 符号

38、填空题:
‍设有变量定义:‎‍float x=2.5;‎‍double y=5.0;‎‍则表达式   (int)x / (int)y+y的值为______。‎
答案: 【 5.0

转义字符的使用

1、填空题:
‍字符串"\’54"占用的存储空间的长度是____。‌
答案: 【 4

逗号运算符

1、填空题:
表达式  a=3*5,a*4,a+5的值为_______。‍
答案: 【 20

除法运算符

1、判断题:
​“/”运算符,当两个整数相除时结果取整。‎
选项:
A: 正确
B: 错误
答案: 【 正确

第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、判断题:
‍算术运算符的优先级高于关系运算符。‎
选项:
A: 正确
B: 错误
答案: 【 正确

单分支结构

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;‎‌}‎‌&

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

发表评论

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