2020年度钻石C++C(2)--《博学谷》

2020年度钻石C++C--《博学谷》

2020年度钻石C++C--《博学谷》提qu码:xb2k数组

1.如下标示符中命名合法的是Amarkdown

A、A数据结构

B、ab.c函数

C、@rpoop

D、2Y_spa

V(cmL46679910)设计

2. 设 a 和 b 均为 double 型变量,且a=5.五、b=2.5,则表达式(int)a + b / b的值是 D指针

A、6.500000code

B、6orm

C、5.500000

D、6.000000

3. C语言中的基本数据类型包括 D


A、整型、浮点型、字符型、逻辑型、枚举

B、整型、浮点型、字符型、枚举

C、整型、浮点型、字符型、逻辑型

D、整型、浮点型、字符型

4. 一个C程序的执行通常都是从 A


A、本程序的main()函数开始,到main()函数结束

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束

C、本程序的main()函数开始, 到本程序文件的最后一个函数结束

D、本程序文件的第一个函数开始,到本程序main()函数结束

5. 对两个字符数组a和b进行初始化 char a[]="ABCDEF"; char b[]={'A', 'B', 'C', 'D', 'E', 'F'}; 则如下叙述正确的是 D


A、a与b数组彻底相同

B、a与b数组大小相同

C、a和b中都存放字符串

D、数组a比数组b长度长

6. 若定义int a[3][4] = { 0 }; 则对a数组元素的非法引用是 B


A、a[0][2*1]

B、a[1][4]

C、a[4-2][0]

D、a[2][3]

7. 下面不正确的字符串常量是 A

V(cmL46679910)

A、'abc'

B、"12'12"

C、"0"

D、" "

8. 在多层嵌套的条件结构语句 if-else 中, else 子句老是与( B )配对


A、其距离最近的还没有配对的if

B、其以前最近的还没有配对的if

C、其以后最近的还没有配对的if

D、其同一行上的还没有配对的if

9. x、y、z被定义为 int 型变量,若从键盘给x、y、z输入数据,正确的输入语句是 B


A、printf("%d%d%d", &x, &y, &z);

B、scanf("%d%d%d", &x, &y, &z);

C、scanf("%d%d%d", x, y, z);

D、printf("%d%d%d", x, y, z);

10. 设 int x = 1, y = 1; 表达式 (!x || y--)的值是 B


A、0

B、1

C、2

D、-1

11. 若变量a已正肯定义,如下非法的表达式是 B


A、a /= b + c

B、a % (4.0)

C、a = 1 / 2 * ( x = y = 20, x * 3)

D、a = b = c

12. 如有数组定义int a[] = {1,3,5,4,9,2,7,6,8,10}; int i = 4; 则 a[a[i]] 元素的值等于 D


A、4

B、9

C、8

D、10

13. 程序 char c[5] = {'a', 'b', '\0', 'c', '\0'};  printf("%s", c);的运行结果是 B


A、'a''b'

B、ab

C、ab c

D、ab0c0

14. 判断字符串 a V(cmL46679910)是否大于 b,应当使用 D


A、if (a > b)

B、if (strcmp(a, b))

C、if (strcmp(b, a) > 0)

D、if (strcmp(a, b) > 0)

15. 若是执行语句 for(int a = 0, b = 0; b != 100 && a < 5; a++) scanf("%d", &b); 那么scanf()函数最少执行( D )次


A、0

B、6

C、5

D、1

16. 表示关系 12 <= x <= y 的C语言表达式为 B


A、(12 <= x <= y)

B、(12 <= x) && (x <= y)

C、(12 <= x) <= y)

D、(12 <= x) || (x <= y)

17. 使用语句 scanf("a=%s,b=%d", &a, &b);输入数据时,正确的数据输入是 A


A、a=2.2,b=3

B、a=2.2 b=3

C、2.2 3

D、2.2,3

18. 如下关于运算符优先顺序的描述中正确的是 C


A、关系运算符 < 算术运算符 < 赋值运算符 < 逻辑与运算符

B、逻辑与运算符 < 关系运算符 < 算术运算符 < 赋值运算符

C、赋值运算符 < 逻辑与运算符 < 关系运算符 < 算术运算符

D、算术运算符 < 关系运算符 < 赋值运算符 < 逻辑与运算符

19. 若 int x=0, y=3, z=3; 则如下表达式的值为 0 的是 C


A、!x

B、 x < y ? 1 : 0

C、x / 2 && y != z

D、y = x || z % 2

20.

下列程序的输出结果是( C    )。

           #include <stdio.h>

 

                       int main(void)

           {

               int a = 7 ,b = 5;

                 printf("%d\n",b=b/a)

               return 0 ;

           }

 


A、5

B、1

C、0

D、不肯定

 

简答题

21. 简述C语言程序的编译过程和每一个阶段生成的目标文件 4分

参考答案:

1)预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法

2)编译:检查语法,将预处理后文件编译生成汇编文件

3)汇编:将汇编文件生成目标文件(二进制文件)

4)连接:C语言写的程序是须要依赖各类库的,因此编译以后还须要把库连接到最终的可执行程序中去


22. 简述C语言标识符的命名规则 3分

 

参考答案:

1标识符使用来标识源程序中的某个对象的名字的,一个标识符由字母、数字和下划线组成

2关键字能够定义变量、表达语句功能和对一些文件进行预处理,关键字已被编译系统自己使用,因此用户编写程序时不可以使用这些关键字来做为标识符,

 


23. 字符数组与字符串是否相同?若不相同,有何区别? 3分


参考答案:不相同,C语言中没有专门的字符串变量,若是要将一个字符串存放在变量中,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中每个元素存放一个字符。字符串:必须以'\0'结尾字符数组:能够包含多个'\0'。


24. C语言中参数传递有什么特色?咱们应当注意些什么? 3分


参考答案:V(cmL46679910)

1)数值传递:被调用函数中对形参的操做不影响主调用函数中的实参值。 
2)地址传递:能够经过被调用函数中对形参的操做来修改主调用函数中的实参值。

注意事项:用malloc 申请内存以后,应该当即检查指针值是否为NULL。防止使用指针值为NULL 的内存。


25. 指针与地址有什么联系?在使用指针的过程当中应注意哪些细节?指针类型对于程序设计有哪些意义? 3分


参考答案:

image.png

image.png 1)指针保存了某个变量的地址,指针自己是一个变量,它也有自身的地址, 而指针的内容是某个变量的地址。注意细节: 要初始化、正确的传递地址方式、使用时要判断。

2)指针能够用来有效地表示复杂的数据结构,能够用于函数参数传递并达到更加灵活使用函数的目的.使C语言程序的设计具备灵活、实用、高效的特色。

相关文章
相关标签/搜索