第1周程序设计与C语言

第1周单元测验程序设计与C语言

1、单选题:
‍以下叙述中正确的是(     )。​
选项:
A: C程序中注释部分可以出现在程序中任意合适的地方
B: 花括号“{“和”}”只能作为函数体的定界符
C: 构成C程序的基本单位是函数,所有函数名都可以由用户命名
D: 分号是C语句之间的分隔符,不是语句的一部分
答案: 【 C程序中注释部分可以出现在程序中任意合适的地方

2、单选题:
​任何一个C语言的可执行程序都是从(   )开始执行的.‌
选项:
A: 程序中的第一个函数
B: main( )函数的入口处
C: 程序中的第一条语句
D: 编译预处理语句
答案: 【 main( )函数的入口处

3、单选题:
​C语言的基本构成单位是(     )。‌
选项:
A: 函数
B: 函数和过程
C: 超文本过程
D: 子程序
答案: 【 函数

4、单选题:
C语言的程序一行写不下时,可以(      )。‏
选项:
A: 用逗号换行
B: 用分号换行
C: 用续行符号换行
D: 用回车符换行
答案: 【 用续行符号换行

5、单选题:
以下叙述不正确的是(       )。‍
选项:
A: 在C程序中,语句之间必须要用分号";"分隔
B: 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数
C: 在C程序中,无论是整数还是实数都能正确无误地表示
D: 在C程序中,%是只能用于整数运算的运算符
答案: 【 在C程序中,无论是整数还是实数都能正确无误地表示

6、单选题:
‍C语言规定,在一个源程序中,main函数的位置(   )‎
选项:
A: 必须在最开始
B: 必须在系统调用的库函数后面
C: 可以任意
D: 必须在最后面
答案: 【 可以任意

7、单选题:
‎一个C语言程序有且仅有一个(     )。‏
选项:
A: include
B: 主函数
C: 过程
D: 函数
答案: 【 主函数

8、单选题:
‏关于C程序的叙述正确的是(        )。​
选项:
A: 从//开始的程序都是注释
B: 一行只能写一条语句
C: /* */只能写在一行,其中的内容为注释
D: 一条语句可以写成多行,多条语句也可以写在一行
答案: 【 一条语句可以写成多行,多条语句也可以写在一行

9、单选题:
‌以下程序输出结果为(       )。​‌int a=3;​‌int b=5;​‌int c=a+b;​‌printf("a+b=%d",c);​
选项:
A: 3
B: 5
C: a+b=8
D: 8
答案: 【 a+b=8

10、单选题:
​以下程序中有(           )处错误。‎​#include<stdio.h>‎​int main[]‎​{‎​     printf("Hello World!n")‎​     return 0;‎​}‎
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 2

11、多选题:
‌运行一个C语言程序主要包括(         )步骤。​
选项:
A: 编译
B: 链接
C: 执行
D: 编辑
答案: 【 编译;
链接;
执行;
编辑

12、多选题:
‎常见的C语言编译器有(         )。‏
选项:
A: Dev C++
B: Visual Studio
C: Visual C++
D: Code::Blocks
答案: 【 Dev C++;
Visual Studio;
Visual C++;
Code::Blocks

13、多选题:
‌以下选项中属于高级语言的有(            )。‍
选项:
A: Python
B: Java
C: C
D: C++
答案: 【 Python;
Java;
C;
C++

14、多选题:
‌一个C语言程序通常包括以下哪些内容(            )。‏
选项:
A: 编译预处理命令
B: 函数
C: 注释
D: 语句
答案: 【 编译预处理命令;
函数;
注释;
语句

15、多选题:
‏关于C语言,以下说法正确的是(             )。‌
选项:
A: C语言是一种面向对象的语言
B: 一个C语言程序有且仅有一个主函数
C: C语言中的一条语句可以占据多行
D: C语言程序中必须要有注释
答案: 【 一个C语言程序有且仅有一个主函数;
C语言中的一条语句可以占据多行

16、判断题:
‌一个C语言程序可以拥有多个函数,但有且仅有一个主函数。‌
选项:
A: 正确
B: 错误
答案: 【 正确

17、判断题:
‎C语言中一条语句只能写在一行。​
选项:
A: 正确
B: 错误
答案: 【 错误

18、判断题:
‍C语言每条语句以分号“;”结束。‌
选项:
A: 正确
B: 错误
答案: 【 正确

19、判断题:
‌C语言中主函数只能位于程序的起始位置。‏
选项:
A: 正确
B: 错误
答案: 【 错误

20、判断题:
​C语言是一种面向过程的程序设计语言。‍
选项:
A: 正确
B: 错误
答案: 【 正确

第2周计算

小测验

1、填空题:
写出以下代码执行后,t1和t2的值,以空格隔开:‍int a=14;‍int t1 = a++;‍int t2 = ++a;‍
答案: 【 14 16

2、填空题:
写出以下表达式的结果,结果之间间隔一个空格:​6 + 5 / 4 - 2​2 + 2 * (2 * 2 - 2) % 2 / 3​10 + 9 * ((8 + 7) % 6) + 5 * 4 % 3 * 2 + 3 ​1 + 2 + (3 + 4) * ((5 * 6 % 7 / 8) - 9) * 10​
答案: 【 5 2 44 -627

第2周单元测试计算

1、单选题:
‍int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为 ()​
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 2

2、单选题:
‍下列数据中属于"字符串常量"的是()​‍​
选项:
A: ABC
B: "ABC"
C: 'ABC'
D: 'A'
答案: 【 "ABC"

3、单选题:
​以下标识符中,不能作为合法的C用户定义标识符的是()‎
选项:
A: a3_b3
B: IF
C: _123
D: void
答案: 【 void

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

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

6、单选题:
‌以下选项中合法的用户标识符是(  )‍
选项:
A: long
B: _2Test
C: 3Dmax
D: A.dat
答案: 【 _2Test

7、单选题:
‌下面不正确的字符串常量是()。‎‌‎
选项:
A: 'abc'
B: "12'12"
C: "0"
D: "  "
答案: 【 'abc'

8、单选题:
​以下叙述中错误的是()‌
选项:
A: 用户所定义的标识符允许使用关键字
B: 用户所定义的标识符应尽量做到"见名知意"
C: 用户所定义的标识符必须以字母或下划线开头
D: 用户定义的标识符中,大、小写字母代表不同标识
答案: 【 用户所定义的标识符允许使用关键字

9、单选题:
‎已知梯形的上底为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

10、单选题:
‍若有定义:double x; ,则能正确输入x值的语句是()‎
选项:
A: scanf("%f",x);
B: scanf("%f",&x);
C: scanf("%lf",&x);
D: scanf("%5.1f",&x);
答案: 【 scanf("%lf",&x);

11、单选题:
‌以下常量中,能够代表逻辑“真”值的常量是()‎‌‎
选项:
A: ''
B: 0
C: '0'
D: NULL
答案: 【 '0'

12、单选题:
‌已知year为整型变量,不能使表达式(year%4==0&&year%100!=0)‏‌||year%400==0的值为“真”的数据是()。‏‌‏
选项:
A: 1990
B: 1992
C: 1996
D: 2000
答案: 【 1990

13、单选题:
​为表示关系x≥y≧z,应使用C语言表达式(   )‌​‌
选项:
A: (x>=y)&&(y>=z)
B: (x>=y)AND(y>=z)
C: (x>=y>=z)
D: (x>=z)&(y>=z)
答案: 【 (x>=y)&&(y>=z)

14、单选题:
‌设有说明:char c;int x; double z;则表达式c*x+z值的数据类型为(   )‌‌‌
选项:
A: float
B: int
C: char
D: double
答案: 【 double

15、单选题:
‍能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是(   )‌
选项:
A: a>=10 or a<=0
B: a>=0| a<=10
C: a>=10 && a<=0
D: a>=10||a<=0
答案: 【 a>=10||a<=0

16、单选题:
​已知x=43 ,ch=’A’,y='o';则表达式(x>=y&&ch<’B’&&!y)的值是(   )‎​‎
选项:
A: 0
B: 语法错
C: 1
D: "假"
答案: 【 0

17、单选题:
​如果int a =2,b=3,c=0,下列描述正确的是(   )‍
选项:
A: a>b!=c和a>(b!=c)的执行顺序是一样的
B: !a!=(b!=c)表达式的值为1
C: a||(b=c)执行后b的值为0
D: a&&b>c的结果为假
答案: 【 !a!=(b!=c)表达式的值为1

18、单选题:
‍下列运算符中,不属于关系运算符的是( )‏‍‏
选项:
A: <
B: >
C: >=
D:  !
答案: 【  !

19、单选题:
‌表达式18/4*sqrt(4.0)/8值的数据类型为(   )‏‌‏
选项:
A: int
B: float 
C: double
D: 不确定
答案: 【 double

20、单选题:
​下列符号中优先级最高的是(  )‏​‏
选项:
A: <
B: +
C: &&
D: !=
答案: 【 +

21、单选题:
‌先用语句定义字符型变量s,然后要将小写字母 a 赋给 s,则下列语句中正确的是( )。‌
选项:
A: char s;s="a";
B: char s;s='a';
C: char s;s='97';
D: char s;s="97";
答案: 【 char s;s='a';

22、单选题:
‌如果 int y=3, x=3, z=1,  语句printf("%d %dn", ++y, z+2)的输出结果是( )‎
选项:
A: 3   4
B: 3  3
C: 4  3
D: 3  2
答案: 【 4  3

23、单选题:
‌假定x和y均为double型数据,则表达式 x=2, y=x+3/2的值是( )​
选项:
A: 3.500000
B: 3
C: 2.000000
D: 3.000000
答案: 【 3.000000

24、单选题:
‌下面四个选项中,均是正确的数值常量或字符常量的选项是( )‌
选项:
A: 5.7e-3.4   "k"  1e3   '"'
B: 1.2   0a   4.2e   's'
C: '67'   011   0b   0xffcc
D: +051   0x45cd   2e3   67.
答案: 【 +051   0x45cd   2e3   67.

25、单选题:
‏下面程序段输出结果是​‏short int i=32769;​‏printf("%dn",i);​
选项:
A: 输出的值不确定
B: -32767
C: 32767
D: 32769
答案: 【 -32767

26、单选题:
‎若变量x和k已经正确定义,且k已经赋值,下面合法的语句是( )‍
选项:
A: x=x++=8;
B: x=int(k);
C: k==1;
D: x==1
答案: 【 k==1;

27、单选题:
‍下面程序段输出的结果是( )‏‍int s, k=5;‏‍k==1;‏‍printf("%dn",k);‏‍‏
选项:
A: 1
B: True
C: 输出不是确定的数
D: 5
答案: 【 5

28、单选题:
​int i=3, k;‌​k=(++i)+(++i)+(i++);‌​printf("%d,%d",k,i);‌​该程序段的输出结果是( )‌
选项:
A: 12,5
B: 12,6
C: 14,6
D: 15,6
答案: 【 15,6

29、单选题:
‌若有定义:double x; ,则能正确输入 x 值的语句是( )‌
选项:
A: scanf("%5.1f",&x);
B: scanf("%f",&x);
C: scanf("%lf",&x);
D: scanf("%f",x);
答案: 【 scanf("%lf",&x);

30、单选题:
‌下面程序段执行后的输出结果是( )‏‌int x='f';‏‌printf("%c n", 'A'+(x-'a'+1));‏
选项:
A: G
B: I
C: J
D: H
答案: 【 G

31、单选题:
‏若有说明语句 int a; float b; 以下输入语句正确的是( )‌
选项:
A: scanf("%f%f",&a,&b);
B: scanf("%f%d",&a,&b);
C: scanf("%d,%f",&a,&b);
D: scanf("%6.3f6.2%f",&a,&b);
答案: 【 scanf("%d,%f",&a,&b);

32、单选题:
‌下面程序段为x,y赋值时,不能作为数据分隔符的是( )‍‌int x,y;‍‌scanf("%d%d",&x,&y);‍
选项:
A: 空格
B: Tab键
C: 回车
D: 逗号
答案: 【 逗号

33、单选题:
‏执行下面程序是,想将32和3.2分别赋值给x和y,正确的输入方法是( )‎‏int x;‎‏float y;‎‏scanf("x=%d,y=%f",&x,&y);‎
选项:
A: 32(空格)3.2
B: 32,3.2
C: x=32,y=3.2
D: x=32(空格)y=3.2
答案: 【 x=32,y=3.2

34、单选题:
‌在C语言中,要求运算数必须是整型的运算符是( )​
选项:
A: /
B: ++
C: !=
D: %
答案: 【 %

35、单选题:
‍若定义int k=7,x=12;则能使值为3的表达式是( )‌
选项:
A: x%=(k%=5)
B: (x%=k)-(k%=5)
C: x%=k-k%5
D: x%=(k-k%5)
答案: 【 (x%=k)-(k%=5)

36、单选题:
‍下面正确的字符常量是( )‎
选项:
A: "c"
B: '\''
C: 'W'
D: ''
答案: 【 'W'

37、单选题:
‏假设所有变量均为整数,则表达式(a=2,b=5,b++,a+b)的值是( )‏
选项:
A: 8
B: 7
C: 2
D: 6
答案: 【 8

38、单选题:
​若变量已正确定义并赋值,下面符合C语言语法的表达式是( )‎
选项:
A: a=b=c+2
B: int 18.5%3
C: a=a+7=c+b
D: a:=b+1
答案: 【 a=b=c+2

39、单选题:
当输入数据的形式为:25,13,10(回车),下面程序段的输出结果为( )‌void main()‌{‌int x,y,z;‌scanf("%d%d%d",&x,&y,&z);‌printf("x+y+z=%dn",x+y+z);‌}‌
选项:
A: x+y+z=48
B: 无法确定
C: x+y+z=35
D: x+y+z=38
答案: 【 无法确定

40、单选题:
‏已定义int x; float y; 且执行scanf("%3d%f",&x,&y)语句时,假定输入数据为12345(空格)678,则x,y的值分别为( )​
选项:
A: 12345 678.000000
B: 123 678.000000
C: 123 45.678000
D: 123 45.000000
答案: 【 123 45.000000

第3周判断与循环

小测验

1、单选题:
‎以下哪个循环和其他三条循环不等价(假设循环体都是一样的)?‎
选项:
A: for ( i=0; i<10; i++ ) {...}
B: for ( i=0; i<10; ++i ) {...}
C: for ( i=0; i++<10;  ) {...}
D: for ( i=0; i<=9; i++ ) {...}
答案: 【 for ( i=0; i++<10;  ) {...}

2、判断题:
‍while循环的条件满足的时候循环继续,而do-while的条件满足的时候循环就结束了‍
选项:
A: 正确
B: 错误
答案: 【 错误

3、填空题:
​以下代码片段执行结束后,变量i的值是多少?‎int i =10;
while ( i>0 ) {
    i /=2;
}​‎
答案: 【 0

4、填空题:
​以下代码片段执行结束后,变量i的值是多少?‍int i = 1;
do {
i += 5;
} while (i<17);​‍
答案: 【 21

5、填空题:
​以下代码段的输出是什么?‎for ( int i=10; i> 1; i /=2 ) {
    printf("%d ", i++);
}​‎
答案: 【 10 5 3 2

第3周单元测验判断与循环

1、单选题:
‍已知int x=10, y=20, z=30; 以下语句执行后,x, y, z的值是()‎if (x>y)‎     z=x; x=y; y=z;‎
选项:
A: x=10, y=20, z=30
B: x=20, y=30, z=30
C: x=20, y=30, z=10
D: x=20, y=30, z=20
答案: 【 x=20, y=30, z=30

2、单选题:
‌以下if语句语法正确的是 ( )‍
选项:
A: if (x>0)   printf(“%f”,x)   else printf(“%f”, -x);
B: if (x>0) { x=x+y; printf(“%f”,x); }else   printf(“%f”, -x);
C: if (x>0)  { x=x+y; printf(“%f”,x); };else   printf(“%f”, -x);
D: if (x>0)  { x=x+y; printf(“%f”,x) }else   printf(“%f”, -x);
答案: 【 if (x>0) { x=x+y; printf(“%f”,x); }else   printf(“%f”, -x);

3、单选题:
‌请阅读以下程序:‏‌    int main()‏‌       {‏   int a=5, b=5, c=0;‏   if (a==b+c)   printf(“***n”);‏   else   printf(“$$$n”);‏‌          }‏‌以下程序(  )‏
选项:
A: 有语法错误不能通过编译
B: 可以通过编译但不能通过连接
C: 输出***
D: 输出$$$
答案: 【 输出***

4、单选题:
‌若希望当A的值为奇数时,表达式的值为“真”,A 的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是(  )‏
选项:
A: A%2==1
B: !(A%2==0) 
C: !(A%2) 
D: A%2
答案: 【 A%2

5、单选题:
‌以下程序的运行结果是(    )​‌    int main()​‌    {​   int m=5;​   if (m++>5)    printf(“%dn”, m);​   else        printf(“%dn”, m--);​}​‌​
选项:
A: 4
B: 5
C: 6
D: 7
答案: 【 6

6、单选题:
‌执行下面程序得到的结果是(  )‎‌#include<stdio.h>‎‌ int main()‎‌ {‎‌       int a=10, b=0;‎‌       if (a=12)‎     { a=a+1; b=b+1; }‎   else‎     { a=a+4; b=b+4; }‎   printf(“%d, %dn”, a, b);‎}‎‌‎
选项:
A: 11,1
B: 13,1
C: 14,4
D: 10,0
答案: 【 13,1

7、单选题:
‏执行下面程序得到的结果是(  )‍‏#include<stdio.h>‍‏ int main()‍‏ {‍‏      int a=2, b=-1, c=2;‍‏      if (a<b)‍‏      if (b<0)  c=0;‍‏      else   c+=1;‍‏      printf(“%dn”,c);‍‏  }‍‏‍
选项:
A: 0
B: 3
C: 2
D: 1
答案: 【 2

8、单选题:
​以下程序段(   )‎​int x=-1;‎​    do{‎   x=x*x;‎ }  while(!x);‎​‎
选项:
A: 是死循环
B: 循环执行二次
C: 循环执行一次
D: 有语法错误
答案: 【 循环执行一次

9、单选题:
‏下列语句段中不是死循环的是(  )‏
选项:
A: i=100;while (1) {   i= i%100+1;}   
B: for (i=1; ; i++)    sum=sum+1;
C: k=0;do {        ++k; } while (k==0);
D: s=3379;while (s++%2+3%2)  s++;
答案: 【 k=0;do {        ++k; } while (k==0);

10、单选题:
‎若有以下程序:​‎int main( )​‎{​‎  int y=10;​‎  while (y--);​‎  printf(“y=%dn”,y);​‎}​‎程序运行后的输出结果是(  )​
选项:
A: y=0
B: y=-1
C: y=1
D: while构成无限循环
答案: 【 y=-1

11、单选题:
‎设有以下程序段:‎‎  int x=0, s=0;‎‎   while(!x!=0)   s+=++x;‎‎   printf(“%d”, s);‎‎则 (  )‎‎‎‎‎
选项:
A: 运行程序段后输出0
B: 运行程序段后输出1
C: 程序段中的控制表达式是非法的
D: 程序段执行无数次
答案: 【 运行程序段后输出1

12、单选题:
‌下面程序段的运行结果是( )​int x=0,y=0;​while(x<15)  {y++; x+=++y; }​printf(“%d,%d”, y, x);​‌​
选项:
A: 20,7
B: 6,12
C: 20,8
D: 8,20
答案: 【 8,20

13、单选题:
‍若有如下程序:‎ int x=3;‎ do{‎ printf(“%dn”, x-=2);‎}while(!(--x));‎则上面程序段(  )‎‍‎
选项:
A: 输出的是1
B: 输出的是1和-2
C: 输出的是3和0
D: 是死循环
答案: 【 输出的是1和-2

14、单选题:
‏下面程序的运行结果为(  )‌‏#include<stdio.h>‌‏int main()‌‏{‌‏    int i, b, k=0;‌‏    for(i=1; i<=5; i++)‌‏    {‌‏       b=i%2;‌‏       while (b-- >= 0)   k++;‌‏    }‌‏   printf(“%d, %d”, k, b);‌‏ }‌‏‌
选项:
A: 3,-1
B: 8,-1
C: 3,0
D: 8,-2
答案: 【 8,-2

15、单选题:
下面程序的运行结果是 (   )‎  int main()‎  {‎   int y=2, a=1,b=3;‎    while (y--!=-1)‎    { ‎a+=y; a++;b--;‎} ‎ printf(“a=%d, y=%d,b=%dn”, a, y, b); ‎       }‎‍‎
选项:
A: 4,-1,0
B: 4,-2,0
C: 3,-1,1
D: 3,-2,1
答案: 【 4,-2,0

16、单选题:
​请阅读以下程序:‎​‎  int main( )‎    {       ‎       int  a=10,b=9,c=3;‎if(a>b>c)‎    a=b;‎else‎    a=c;‎return 0;‎}‎该程序运行后a的值为(    )‎‎
选项:
A: 10
B: 9
C: 3
D: 0
答案: 【 3

17、单选题:
下列条件语句中,功能与其他语句不同是(    )​​​
选项:
A: if(a)  printf(“%dn”,x);  else  printf(“%dn”,y);
B: if(a==0)  printf(“%dn”,y);  else  printf(“%dn”,x);
C: if(a!=0)  printf(“%dn”,x);  else  printf(“%dn”,y);
D: if(a==0)  printf(“%dn”,x);  else  printf(“%dn”,y);
答案: 【 if(a==0)  printf(“%dn”,x);  else  printf(“%dn”,y);

18、单选题:
为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与(    )配对。‌‍‌
选项:
A: 缩排位置相同的if
B: 其之前最近的if
C: 其之后最近的if
D: 同一行上的if
答案: 【 其之前最近的if

19、单选题:
在if(x)语句中的x与下面条件表达式等价的是(    )​‍​
选项:
A:  x!=0
B:  x==1
C:  x!=1
D: x==0
答案: 【  x!=0

20、单选题:
‎有以下程序:‏‎int main( )‏‎ {‏‎    int i=1,j=2,k=3;‏‎    if(i++==1&&(++j==3||k++==3))‏‎       printf("%d %d %d",i,j,k);‏‎    return 0;‏‎}‏‎执行后输出结果是(    )‏
选项:
A: 1 2 3
B: 2 3 4
C: 2 2 3
D: 2 3 3 
答案: 【 2 3 3 

21、单选题:
有以下程序:‏int main( )‏ {‏    int n=0,m=1,x=2;‏    if(!n)‏        x-=1;‏    if(m)‏       x-=2;‏    if(x)‏       x-=3;‏       printf("%dn",x);‏    return 0;‏}‏执行后输出结果是(    )‏​‏
选项:
A: -1
B: -2
C: -3
D: -4
答案: 【 -4

22、单选题:
‏C语言中while和do...while循环的主要区别是(    )‎
选项:
A: do-while的循环体至少无条件执行一次
B: while的循环控制条件比do-while的循环控制条件严格
C: do-while允许从外部转到循环体内
D: do-while的循环体不能是复合语句
答案: 【 do-while的循环体至少无条件执行一次

23、单选题:
‌以下能正确计算1*2*3*……*10的程序是(    )‎
选项:
A: do{       i=1;s=1;       s=s*i;       i++;   }while(i<=10); 
B: do{        i=1;s=0;       s=s*i;       i++;   }while(i<=10); 
C: i=1;s=1;do{        s=s*i;       i++;   }while(i<=10); 
D: i=1;s=0;do{        s=s*i;       i++;   }while(i<=10); 
答案: 【 i=1;s=1;do{        s=s*i;       i++;   }while(i<=10); 

24、单选题:
‍以下有关for循环是(    )‏‍for(x=0,y=0;(y!=123)&&(x<4);x++)‏
选项:
A: 无限循环
B: 循环次数不确定
C: 执行4次
D: 执行3次
答案: 【 执行4次

25、单选题:
‎下面程序的运行结果是(    )‌‎int main( )‌{ int y=10;‌  do‌     {y--;}while(--y);‌  printf("%dn”,y--);‌  return 0;‌}‌
选项:
A: -1
B: 1
C: 8
D: 0
答案: 【 0

26、单选题:
‏下面程序段的运行结果是(    )‌ for(y=1;y<10;) y=((x=3*y,x+1),x-1);‌ printf("x=%d,y=%d", x,y);‌‏‌
选项:
A:  x=27,y=27
B:  x=12,y=13
C: x=15,y=14
D: x=y=27
答案: 【 x=15,y=14

27、单选题:
‍以下不构成无限循环的语句或语句组是(    )‎
选项:
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+=1;
答案: 【 n=0;do{++n} while(n<0);

28、单选题:
‍若变量已正确定义,则以下能正确计算f=4!的程序段是(    )‏
选项:
A: f=0;for(i=1;i<=4;i++)    f*=i;
B: f=1;for(i=1;i<4;i++)    f*=i;
C: f=1;for(i=4;i>1;i++)    f*=i;
D: f=1;for(i=4;i>=2;i--)    f*=i;
答案: 【 f=1;for(i=4;i>=2;i--)    f*=i;

29、单选题:
​阅读以下程序:‌​  int main(){‌​    int x;‌​    for(x=5;x>0;x--)‌​    if(x--<5) printf("%d,",x);‌​   else printf("%d,",x++); ‌​   return 0;‌​}‌​程序运行后的输出结果是(    )‌
选项:
A: 4,2,1
B: 4.3.1
C: 5,4,2
D: 5,3,1
答案: 【 4.3.1

30、单选题:
阅读以下程序:‏  int main(){‏    unsigned int num,k;‏    num=26;‏    k=1;‏    do{‏        k*=num%10;‏        num/=10;‏    }while(num);‏    printf("%dn",k);‏    return 0;‏}‏
选项:
A: 2
B: 12
C: 60
D: 18
答案: 【 12

31、填空题:
​程序补充完整:实现数字的逆序输出,即从键盘输入123,输出321。‎#include <stdio.h>‎int main()‎{   int number, reminder;      /* number为从键盘输入的数,reminder为逆序输出的数 */‎     printf(“请输入一个十进制整型数:”);‎     scanf(“%d”, &number);‎     printf(“逆向输出数字是:”);‎    while(_____________)‎    {   _______________________‎        printf("%d", reminder);‎        number/=10;‎    }‎    return 0;‎}‎​‎
答案: 【 number>0
reminder=number%10;##%_YZPRLFH_%##0<number
reminder=number%10;

32、填空题:
‎程序填空:从键盘输入三个数,实现输出其中最大的一个数。​int main() {     int  a,b,c,max;          printf(“请输入三个整数: ”);    //a, b, c为三个从键盘输入的数    scanf("%d%d%d",&a,&b,&c);​    if (a>=b)    ______________     else   _______________     if( c>max)     max=c;​     printf("最大的数为:%dn",max);​     return 0; }​‎​
答案: 【 max=a;
max=b;

33、填空题:
‏从键盘输入三个数,然后按从小到大的顺序进行输出。‏#include<stdio.h>‏int main() {     float  a,b,c,t;            /*a, b, c 为从键盘输入的3个数,t为两个变量值交换的中间变量*/     printf(“请输入三个实数 (以逗号分隔)”);     scanf(“%f,%f,%f”,&a,&b,&c);‏    if(a>b)    { _____________________ }      if(a>c)    {_______________________}     if(b>c)    {_______________________ }     printf("%10.2f,%10.2f,%10.2fn",a, b, c);‏ return 0; }‏‏‏
答案: 【 t=a; a=b; b=t;
t=a; a=c; c=t;
t=b; b=c; c=t;##%_YZPRLFH_%##t=b; b=a;a=t;
t=a; a=c; c=t;
t=b; b=c; c=t;##%_YZPRLFH_%##t=a; a=b; b=t;
t=c; c=a; a=t;
t=b; b=c; c=t;##%_YZPRLFH_%##t=a; a=b; b=t;
t=a; a=c; c=t;
t=c; c=b; b=t;##%_YZPRLFH_%##t=b; b=a; a=t;
t=c; c=a; a=t;
t=b; b=c; c=t;##%_YZPRLFH_%##t=b; b=a; a=t;
t=a; a=c; c=t;
t=c; c=b; b=t;##%_YZPRLFH_%##t=a; a=b; b=t;
t=c; c=a; a=t;
t=c; c=b; b=t;##%_YZPRLFH_%##t=b; b=a; a=t;
t=c; c=a; a=t;
t=c; c=b; b=t;

34、填空题:
‏程序填空计算出s=1-3+5-7…-99+101的值。‏‏     #include <stdio.h>‏‏     int main()‏‏     {‏   int i,t=1,s=0;       /* t为中间变量 */‏   for (i=1;i<=101;i+=2)‏    {‏         t=t*i;‏         s=s+t;‏       ______________                         /*正1,负1交叉*/‏     }‏   printf(″%dn″,s);‏   return 0;‏ }‏‏‏‏‏
答案: 【 t=(-t)/i;##%_YZPRLFH_%##t=-t/i;

35、填空题:
‍程序填空:有1024个西瓜,第一天卖了一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?‌‍‌‍      #include<stdio.h>‌‍      int main() ‌‍      {‌           int day=0, x1=1024, x2;  //x1为当天西瓜初始数量,x2为剩余西瓜数

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

发表评论

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