第一周程序设计与C语言

单元测验

1、单选题:
‌在 C 语言中,每个语句必须以()结束。‎
选项:
A: 回车符 
B: 冒号 
C: 逗号
D: 分号 
答案: 【 分号 

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

3、单选题:
‎一个C 语言程序是由( )。​
选项:
A: 一个主程序和若干子程序组成
B: 函数组成
C: 若干过程组成 
D: 若干子程序组成
答案: 【 函数组成

4、单选题:
‌用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( )。​
选项:
A: 生成可执行目标文件
B: 生成目标文件
C: 输出运行结果
D: 自动保存源文件 
答案: 【 生成目标文件

5、单选题:
‍计算机本身最擅长的能力是()‎
选项:
A: 推理
B: 想像
C: 重复
D: 分析正确答案
答案: 【 重复

6、单选题:
​关于C语言,以下说法错误的有:()‍
选项:
A: C语言是和Unix操作系统一同发展起来的
B: C语言不能写图形界面的软件
C: C语言一般是编译执行的
D: C语言诞生于1970年代
答案: 【 C语言不能写图形界面的软件

7、单选题:
下列说法错误的是( )‍
选项:
A: C程序运行步骤是编辑、编译、连接、执行
B: C语言的变量名必须用小写,常量用大写
C: C语言的三种基本结构是顺序、选择、循环
D: C程序一定由函数构成的
答案: 【 C语言的变量名必须用小写,常量用大写

8、单选题:
​C语言源文件的扩展名为()。‎
选项:
A:  .exe
B:  .txt
C: .obj
D:  .c
答案: 【  .c

9、单选题:
要把高级语言编写的源程序转换为目标程序需要使用()‍‌‍
选项:
A: 编辑程序
B: 驱动程序
C: 编译程序
D: 诊断程序
答案: 【 编译程序

10、单选题:
‍下一叙述正确的是()‍
选项:
A: C语言的每条可执行语句和非执行语句最终都会转换为二进制机器指令
B: C语言经编译形成一个二进制指令文件可直接运行
C: C语句必须在一行中写完
D: 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
答案: 【 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中

小测验1.1

1、单选题:
计算机本身最擅长的能力是?
选项:
A: 推理
B: 想像
C: 重复
D: 分析
答案: 【 重复

2、判断题:
编程语言是和计算机交谈的语言
选项:
A: 正确
B: 错误
答案: 【 错误

3、判断题:
计算机(CPU)可以直接运行人类编写的程序
选项:
A: 正确
B: 错误
答案: 【 错误

小测验1.2

1、单选题:
关于C语言,以下说法错误的有:
选项:
A: C语言是和Unix操作系统一同发展起来的
B: C语言不能写图形界面的软件
C: C语言一般是编译执行的
D: C语言诞生于1970年代
答案: 【 C语言不能写图形界面的软件

2、单选题:
轻量级的编程软件,如Geany+MinGW或Sublime Text+MinGW,与专门的IDE如Dev C++相比,什么功能没有了?(提示:上课没有直接讲,但是间接提到了)
选项:
A: 单步调试
B: 源代码编辑时的语法高亮
C: 编译程序
D: 运行程序
答案: 【 单步调试

3、填空题:
IDE的中文翻译是什么?
答案: 【 集成开发环境

第二周变量与表达式

小测验2.1

1、多选题:
以下哪些是有效的变量名?
选项:
A: main
B: 4ever
C: monkey-king
D: __int
答案: 【 main;
__int

2、多选题:
给定:int a,b;scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?
选项:
A: 1 2
B: 1,2
C: 1(回车)2
D: 1、2
答案: 【 1 2;
1(回车)2

3、多选题:
给定:int a,b; 以下哪些scanf的使用是正确的?
选项:
A: scanf("%d", &a);scanf("%d", &b);
B: scanf("%d %d", &a, &b);
C: scanf("%d, %d", &a, &b);
D: scanf("%d %d", a, b);
答案: 【 scanf("%d", &a);scanf("%d", &b);;
scanf("%d %d", &a, &b);;
scanf("%d, %d", &a, &b);

4、判断题:
给定以下代码段:int a,b=0;则a的初始值是0
选项:
A: 正确
B: 错误
答案: 【 错误

5、填空题:
写出下式的运算结果:10/3.0*3
答案: 【 10.0

6、填空题:
写出下式的运算结果:10/3*3.0
答案: 【 9.0

小测验2.2

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

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

第二周单元测验

1、单选题:
​算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为()。 ​
选项:
A: 算术运算、赋值运算、关系运算
B: 算术运算、关系运算、赋值运算 
C: 关系运算、赋值运算、算术运算
D: 关系运算、算术运算、赋值运算
答案: 【 算术运算、关系运算、赋值运算 

2、单选题:

若有代数式 ,则不正确的C语言表达式是()。

‏选项:
A: a/b/c*e*3
B: 3*a*e/b/c
C: 3*a*e/b*c
D: a*e/c/b*3 
答案: 【 3*a*e/b*c

3、单选题:
‏表达式!x||a==b 等效于()。 ‎
选项:
A: !((x||a)==b) 
B: !(x||y)==b  
C: !(x||(a==b))
D: (!x)||(a==b)
答案: 【 (!x)||(a==b)

4、单选题:
‌设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是()。 ‌
选项:
A: 0,0
B: 0,1
C: 1,0
D: 1,1
答案: 【 0,1

5、单选题:
​在以下一组运算符中,优先级最低的运算符是()。‏
选项:
A: * 
B: !=
C: +
D: =
答案: 【 =

6、单选题:
‌若已定义 x 和 y为double 类型,则表达式 x=1,y=x+3/2 的值是()。​
选项:
A: 1
B: 2
C: 2.0
D: 2.5
答案: 【 2.0

7、单选题:
‌以下用户标识符中,合法的是()。 ‏
选项:
A: int
B: nit
C: 123
D: a+b
答案: 【 nit

8、单选题:
‏设有语句 int a=2;,则执行了语句 a+=a-=a*=a;后,变量 a 的值是()。 ​
选项:
A: 3
B: 0
C: 9
D: -12
答案: 【 0

9、单选题:
​下列格式符中,哪一个可以用于输出小数形式的实数。()。 ​​​
选项:
A: %d
B: %8d
C: %o
D: %f
答案: 【 %f

10、单选题:
‎a 是int类型变量,c是字符变量,下列输入语句中哪一个是错误的()。‏
选项:
A: scanf("%d,%c",&a,&c);
B: scanf("%d%c",a,c);
C: scanf("%d%c",&a,&c);
D: scanf("d=%d,c=%c",&a,&c); 
答案: 【 scanf("%d%c",a,c);

第三周分支结构

小测验3.1

1、判断题:
以下语句是否可以通过编译:if ( 1<=n<=10 );
选项:
A: 正确
B: 错误
答案: 【 正确

2、判断题:
以下语句是否表示n属于[1,10]:if ( 1<=n<=10 );
选项:
A: 正确
B: 错误
答案: 【 错误

3、填空题:
写出程序的输出结果:int i,j,k;i=5; j=10; k=1;printf("%d", k>i<j);
答案: 【 1

4、填空题:
写出程序的输出结果:int i,j,k;i=2;j=3;k = i*j==6;printf("%dn", k);
答案: 【 1

5、填空题:
写出程序的输出结果:int i,j,k;i=3;j=2;k=1;printf("%d", i<j == j<k);
答案: 【 1

小测验3.2

1、填空题:
写出程序的输出:int i=1;switch ( i%3 ) {case 0: printf("zero");case 1: printf("one");case 2: printf("two");}
答案: 【 onetwo

2、填空题:
写出程序的输出:int a = 58;if ( a>50 ) printf("A");if ( a>40 ) printf("B");if ( a>30 ) printf("C");
答案: 【 ABC

第三周单元测验

1、单选题:
‏逻辑运算符两侧运算对象的数据类型​
选项:
A: 只能是0或1
B: 只能是0或非0数
C: 只能是整型或字符型数据
D: 可以是任何类型的数据
答案: 【 可以是任何类型的数据

2、单选题:
‎“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的C表达式是‎
选项:
A: (x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B: (x>=1)||(x<=10)||(x>=200)||(x<=210)
C: x>=1 && x<=10 || x>=200 && x<=210
D: x>=1 || x<=10 &&  x>=200 || x<=210
答案: 【 x>=1 && x<=10 || x>=200 && x<=210

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

4、单选题:
‎执行以下语句后,a、b、c的值分别为int a, b, c; a=b=c=1; ++a||++b&&++c;‌
选项:
A: 1,2,1
B: 1,2,2
C: 2,2,1
D: 2,1,1
答案: 【 2,1,1

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>‎void main ( )‎{‎  int a,b,c,d;‎a=c=0;   b=1;   d=20;‎  if (a) d=d-10;‎  else if (!b)‎             if (!c) d=15;‎             else d=25;‎  printf ("%d", d );‎‍}‎‍‎
答案: 【 20

7、填空题:
以下程序运行时的输出结果是      。​#include <stdio.h>​void main()​{​     int x=1,y=0;​  switch(x)​      { case 1: switch(y)​              {  case 0:printf("1");break;​                 case 1:printf("2");break;​              }​       case 2: printf ("3");​      }​‍}​‍​
答案: 【 13

8、填空题:
以下程序运行时的输出结果是     。‏#include <stdio.h>‏void main ( )‏{‏  int x=1,y=0,a=0,b=0;‏  switch(x)‏  {   case 1:switch(y)‏            {  case 0:a++;break;‏               case 1:b++;break;‏            }‏case 2:  a++; b++; break;‏}‏printf ("%d%d",a, b);    /*数据间没有空格*/‏}‏‎‏
答案: 【 21

第四周循环结构

小测验4.1

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

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

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

小测验4.2

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

2、填空题:
当需要累加一些值的时候,用来记录累加结果的变量应该被初始为:
答案: 【 0

第四周单元测验

1、单选题:
‎int a=2;while(a=0) a--;该循环共执行了()次。‍
选项:
A: 0
B: 1
C: 2
D: 3
答案: 【 0

2、单选题:
​()语句,在循环条件初次判断为假,还会执行一次循环体。 ‌​‌
选项:
A: for
B: while
C: do-while
D: 以上都不是
答案: 【 do-while

3、单选题:
‌有以下程序段 int i=5; do{ if(i%3==1) if(i%5==2) {printf("*%d",i); break; } i++; }while(i!=0); 其运行结果是()‏‌‏
选项:
A: *2*6
B: *7
C: *5
D: *3*5
答案: 【 *7

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

5、单选题:
‏while(!E);语句中,条件表达式等价于( )‍
选项:
A: E==0 
B: E!=1
C: E!=0
D: E==1
答案: 【 E==0 

6、单选题:
‎下列程序段的输出结果是()‍‎int x=3;‍‎do‍‎{‍‎ printf(“%2d”,x-=2);‍‎}while(!(--x));‍‎‍
选项:
A: 1
B: 1 -2
C: 3,0
D: 是死循环
答案: 【 1 -2

7、填空题:
‌以下程序运行时输出结果是()‎‌int main()‎‌{‎‌ int a=1,b=2,c=2,t;‎‌ while(a<b<c)‎‌{‎‌   t=a;‎‌   a=b;‎R

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

发表评论

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