第五周 数据类型

小测试

1、单选题:
‎C语言中字符型(char)数据在内存中的存储形式是____。‎
选项:
A: 原码
B: 补码
C: 反码
D:  ASCII码
答案: 【  ASCII码

2、单选题:
‌将字符g赋给字符变量c,正确的表达式是 。​
选项:
A:  c=147
B: c="147"
C:   c='147'
D: c='0147'
答案: 【   c='147'

3、单选题:
‎已知:char a='70';则变量a中 。‍
选项:
A: 包含1个字符
B: 包含2个字符
C: 包含3个字符
D: 说明非法
答案: 【 包含1个字符

小测验

1、单选题:
‎以下哪个数字占据的空间最大?‌
选项:
A: 32768
B: 0xffff
C: 32768.0
D: 32768.0F
答案: 【 32768.0

第六周 函数

小测试

1、单选题:
​以下哪句不是正确的原型?‌
选项:
A: int f();
B: int f(int i);
C: int f(int);
D: int f(int i) {}
答案: 【 int f(int i) {}

2、单选题:
‏以下哪个函数的定义是错误的?‍‏
选项:
A: void f() {}
B: void f(int i) { return i+1; }
C: void f(int i) {}
D: int f() { return 0; }
答案: 【 void f(int i) { return i+1; }

3、填空题:
‍‏‍‏‍‏‍#include <stdio.h>‏‍void swap(int a, int b);‏‍int main()‏‍{‏‍ int a = 5;‏‍ int b = 6;‏‍ swap(a,b);‏‍  printf("%d-%dn", a, b);‏‍ return 0;‏‍}‏‍void swap(int a, int b)‏‍{ int t = a;‏‍ a = b;
b = t;‏‍}‏‍‏
答案: 【 5-6

第2周计算

小测验

1、单选题:
‎已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是____。‍‎‍‎ ‍‎‍
选项:
A:  0 
B: 1
C:  5 
D:  6
答案: 【  5 

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

3、填空题:
写出以下表达式的结果,结果之间间隔一个空格:​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

第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周进一步的判断与循环

if-else配对测试

1、单选题:
‎以下程序段的输出结果是‍                。 ‏‎int a=10,b=50,c=30;‏‎if(a>b)‏‎a=b;‏‎b=c;‏‎c=a;‏‎printf("a=%d b=%d c=%dn",a,b,c);‏
选项:
A:  a=10 b=50 c=30
B:  a=10 b=30 c=10 
C: a=50 b=30 c=10
D: a=50 b=30 c=50
答案: 【  a=10 b=30 c=10 

2、单选题:
‏以下程序的输出结果是 ‍           。 ‍‏main()‍‏{ int a=0,b=1,c=0,d=20;‍‏   if(a!=0) d=d-10;‍‏  else if(b==0)‍‏    if(c==0) d=15;‍‏    else d=25;‍‏ printf("d=%dn",d);‍‏}‍
选项:
A:  d=10
B: d=15
C:   d=20
D: d=25
答案: 【   d=20

swich-case语句

1、单选题:
‎#include <stdio.h>‍‎int 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("a=%d,b=%dn",a,b);‍‎}‍
选项:
A:  a=2,b=1
B:  a=1,b=1
C:  a=1,b=0
D: a=2,b=2
答案: 【  a=2,b=1

小测验

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

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

第一次单元测试

1、单选题:
‏以下不正确的C语言用户标识符是                  。‌‏ ‌‌‏ ‌
选项:
A: max123 
B:  _total
C:  float   
D:  printf
答案: 【  float   

2、单选题:
‌已知int x=12,y=3,z=4;执行语句x%=y+z;后,x的值是          ‏‌‏
选项:
A: 2
B: 4
C: 5
D: 6
答案: 【 5

3、单选题:
‎逗号表达式"(a=3*3,a*4),a+1"的值是            。‎‎‎‎‎
选项:
A:  9
B: 10
C:  36
D: 不确定
答案: 【 10

4、单选题:
‏下面的for语句循环次数说法正确的是           。‏for(x=0,y=10;(y>0)&&(x<4);x++,y-- )  ;‏
选项:
A:  是无限循环   
B: 循环次数不定  
C: 循环执行4次  
D: 循环执行3次  
答案: 【 循环执行4次  

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

6、单选题:
下列关于C语言的叙述错误的是              。‍
选项:
A: 大写字母和小写字母的意义相同
B: 不同类型的变量可以在一个表达式中
C: 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D: 同一个运算符号在不同的场合可以有不同的含义
答案: 【 大写字母和小写字母的意义相同

7、单选题:
在嵌套使用if 语句时,C语言规定else总是         。‎
选项:
A: 和之前与其具有相同缩进位置的if配对     
B: 和之前与其最近的if 配对
C:  和之前的第一个if 配对
D: 和之前与其最近的且不带else的if 配对   
答案: 【 和之前与其最近的且不带else的if 配对   

8、单选题:
‌已知int i=10;表达式"20-0<=i<=9"的值是____。​
选项:
A: 0 
B: 1
C: 19
D: 20
答案: 【 1

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

发表评论

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