全国计算机等级考试二级C语言真题题库

合集下载

计算机二级c语言考试题及答案

计算机二级c语言考试题及答案

计算机二级c语言考试题及答案一、单项选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.5C. 0x12LD. 0x12.5L答案:A2. 若有以下定义,int a=2, b=3; 则表达式 a++ + b 的值是多少?A. 4B. 5C. 6D. 7答案:B3. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:C4. 下面哪个函数不能正确计算数组元素的平均值?A. int average(int arr[], int n) { int sum=0, i; for(i=0; i<n; i++) sum += arr[i]; return sum/n; }B. int average(int arr[], int n) { int sum=0, i; for(i=0; i<n; i++) sum += *(arr+i); return sum/n; }C. int average(int *arr, int n) { int sum=0, i; for(i=0; i<n; i++) sum += arr[i]; return sum/n; }D. int average(int *arr, int n) { int sum=0, i; for(i=0; i<n; i++) sum += *(arr+i); return sum/n; }答案:A5. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. void答案:D6. 若有以下代码片段,int x=10, y=20; 则表达式 x % y 的值是多少?A. 0B. 10C. 20D. 错误答案:B7. C语言中,以下哪个选项是正确的结构体定义?A. struct { int a; float b; } student;B. struct student { int a; float b; };C. struct { int a; float b; } student;D. struct student { int a; float b; } student;答案:B8. 在C语言中,以下哪个选项是正确的函数声明?A. int func();B. void func(int a);C. int func(int);D. void func(int a, int b);答案:C9. 若有以下代码片段,int a=5; 则执行语句 a += (a -= 5); 后,变量 a 的值是多少?A. 0B. 5C. 10D. 15答案:A10. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include "stdio.h"B. #include <stdio.h>C. #include "stdio.h"D. #include <stdio.h>答案:B二、程序填空题(每空2分,共20分)1. 请填写以下代码中缺失的部分,以实现计算并输出一个整数的各位数字之和。

计算机二级c考试真题及答案解析

计算机二级c考试真题及答案解析

计算机二级c考试真题及答案解析一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的字符常量?A. 'a'B. "a"C. 3D. 'ab'答案:A解析:在C语言中,字符常量需要用单引号括起来,因此'a'是合法的字符常量。

选项B是字符串常量,选项C是整数常量,选项D是两个字符的序列,不是单个字符常量。

2. 若有以下定义:```cint a = 3, b = 4;```则表达式`a + b`的值是:A. 7B. 3C. 4D. 0答案:A解析:根据题目中给出的变量定义,a的值为3,b的值为4。

因此,表达式`a + b`的值是3 + 4,即7。

3. 在C语言中,以下哪个选项是正确的整型变量声明?A. int a;B. float b;C. double c;D. All of the above答案:D解析:在C语言中,int、float和double都是合法的整型和浮点型变量声明。

因此,选项A、B和C都是正确的整型变量声明。

4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D解析:在C语言中,&&代表逻辑与,||代表逻辑或,!代表逻辑非,它们都是C语言中的逻辑运算符。

5. 若有以下定义:```cint x = 10;```则表达式`x % 3`的值是:A. 1B. 2C. 3D. 0答案:A解析:表达式`x % 3`表示x除以3的余数。

10除以3的商是3,余数是1,因此`x % 3`的值是1。

6. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[10] = "Hello";B. char str[] = "Hello";C. Both A and BD. None of the above答案:C解析:在C语言中,选项A和B都是正确的字符串声明方式。

计算机二级c语言最新考试真题2024答案

计算机二级c语言最新考试真题2024答案

计算机二级c语言最新考试真题2024答案一、选择题在C语言中,以下哪个关键字用于定义一个函数?A. classB. voidC. structD. enum答案:B以下哪个符号在C语言中用作字符串的结束标志?A. \0B. \nC. \tD. \r答案:A在C语言中,要读取一个整数并存储到变量中,应使用哪个函数?A. getchar()B. scanf()C. printf()D. fgets()答案:B以下哪项不是C语言的基本数据类型?A. intB. floatC. stringD. char答案:C在C语言中,数组名表示的是?A. 数组的首地址B. 数组的长度C. 数组的第一个元素D. 数组的所有元素答案:A以下哪个循环结构在C语言中用于至少执行一次循环体?A. for循环B. while循环C. do-while循环D. 以上都不是答案:C在C语言中,指针变量主要用来存储什么?A. 整数值B. 浮点数值C. 内存地址D. 字符串答案:C以下哪个头文件在C语言中用于标准输入输出函数?A. <stdlib.h>B. <string.h>C. <stdio.h>D. <math.h>答案:C(注意:由于选择题通常包含多个小题,以上仅列出了部分小题作为示例。

)二、编程题(编程题通常要求考生编写C语言程序来解决特定问题,以下提供几个编程题示例及解题思路。

)编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数。

解题思路:定义一个函数isPrime,用于判断一个整数是否为素数。

在isPrime函数中,使用循环从2到该数的平方根(包含)进行遍历,检查是否存在能整除该数的因子。

如果存在因子,则返回0(表示不是素数);否则返回1(表示是素数)。

在主函数中,读取用户输入的整数,并调用isPrime函数进行判断,然后输出结果。

从键盘输入n个数存放在数组中,将最小值与第一个数交换,输出交换后的n个数。

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:关键字`struct`用于定义一个结构体,它允许将多个不同类型的数据项组合成一个单一的数据结构。

2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C解析:`%`是取模运算符,`&&`是逻辑与运算符,`||`是逻辑或运算符,而`::`不是C语言中的运算符。

二、填空题1. 在C语言中,`________`关键字用于声明一个函数。

答案:int解析:在C语言中,`int`是用于声明一个函数的返回类型,表示该函数返回一个整数值。

2. 以下代码片段中,`________`用于定义一个名为`data`的数组,包含10个整数。

```cint data[10];```答案:int data[10];解析:`int data[10];`定义了一个名为`data`的数组,它包含10个整数。

三、编程题1. 编写一个C语言函数,计算并返回两个整数的和。

```cint add(int a, int b) {return a + b;}```答案:```cint add(int a, int b) {return a + b;}```解析:该函数接受两个整数参数`a`和`b`,计算它们的和,并返回结果。

2. 编写一个C语言程序,实现将一个字符串反转。

```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str); return 0;}```答案:```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str);return 0;}```解析:该程序定义了一个`reverse`函数,它接受一个字符串作为参数,并通过交换字符的方式将字符串反转。

计算机二级考试真题及答案c语言

计算机二级考试真题及答案c语言

计算机二级考试真题及答案c语言一、单项选择题(每题1分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. structB. unionC. intD. void答案:D2. 若有定义int a=5; 则执行以下语句后,变量a的值是多少?A. a=(a++)+(++a)+a;B. a=a--+(++a)+a;C. a=(a++)+(++a)+a--;D. a=(a++)+(++a)+a--;答案:A3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. /B. %C. *D. ^答案:C4. 下列哪个选项是C语言中合法的字符常量?A. 'a'B. "a"C. 'ab'D. '\t'答案:D5. 在C语言中,以下哪个选项是合法的数组声明?A. int a[5];B. int a[];C. int a[5][5];D. int a[5,5];答案:A6. 若有定义int x=10; 则执行以下语句后,变量x的值是多少?A. x=x+++x;B. x=++x+x--;C. x=x--+x++;D. x=x+++x--;答案:B7. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A8. 在C语言中,以下哪个选项是合法的指针声明?A. int *p;B. int *p[];C. int (*p)();D. int (*p)[5];答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do{}while(0)D. all of the above答案:D10. 在C语言中,以下哪个选项是合法的函数声明?A. int func();B. void func(int a);C. int func(int a, int b);D. all of the above答案:D11. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. all of the above答案:A12. 在C语言中,以下哪个选项是合法的文件操作函数?A. fopenB. fcloseC. freadD. all of the above答案:D13. 在C语言中,以下哪个选项是合法的字符串操作函数?A. strcpyB. strncpyC. strcatD. all of the above答案:D14. 在C语言中,以下哪个选项是合法的动态内存分配函数?A. mallocB. callocC. reallocD. all of the above答案:D15. 在C语言中,以下哪个选项是合法的位操作运算符?A. &B. |C. ^D. all of the above答案:D16. 在C语言中,以下哪个选项是合法的预处理指令?A. #includeB. #defineC. #ifdefD. all of the above答案:D17. 在C语言中,以下哪个选项是合法的类型转换运算符?A. (int)xB. (float)xC. (char)xD. all of the above答案:D18. 在C语言中,以下哪个选项是合法的条件运算符?A. ?B. :C. ||D. &&答案:A19. 在C语言中,以下哪个选项是合法的多维数组声明?A. int a[5][5];B. int a[][5];C. int a[5][];D. int a[][];答案:A20. 在C语言中,以下哪个选项是合法的枚举类型声明?A. enum color {red, green, blue};B. enum {red, green, blue};C. enum color {0, 1, 2};D. all of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用关键字________声明一个函数。

计算机二级c语言试题题库及答案

计算机二级c语言试题题库及答案

计算机二级c语言试题题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义变量的关键字是()。

A. defineB. varC. intD. let答案:C2. 下列关于C语言函数的描述,不正确的是()。

A. 函数可以没有参数B. 函数可以返回值C. 函数必须有返回值D. 函数可以嵌套定义答案:C3. 以下哪个选项不是C语言中的运算符()。

A. %B. &&C. ++D. :答案:D4. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A5. C语言中,用于表示逻辑与的运算符是()。

A. &&B. ||C. !D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语句是:int array[10]; 其中array[0]的值默认为____。

答案:02. 如果一个函数的返回类型是int,那么在函数体中必须包含一条____语句。

答案:return3. 在C语言中,用于计算字符串长度的函数是____。

答案:strlen4. C语言中,用于将字符数组转换为字符串的字符是____。

答案:'\0'5. 当使用指针变量时,必须先对其进行____。

答案:初始化三、编程题(每题10分,共20分)1. 编写一个C语言函数,实现两个整数的交换。

```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```2. 编写一个C语言程序,计算并输出100以内所有偶数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```四、简答题(每题10分,共40分)1. 简述C语言中指针和数组的关系。

c语言二级证考试真题及答案

c语言二级证考试真题及答案

c语言二级证考试真题及答案一、单项选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. structB. returnC. voidD. function答案:C2. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. %B. /C. *D. +答案:C3. 如果变量a的值为10,b的值为20,则表达式a++ + b的值是多少?A. 30B. 31C. 21D. 10答案:A4. C语言中,以下哪个选项不是合法的变量名?A. _nameB. 2variableC. name_D. variable_name答案:B5. 在C语言中,以下哪个选项是正确的字符串定义方式?A. char str[10] = "Hello";B. char str[] = "Hello", str[10];C. char str[10] = {'H', 'e', 'l', 'l', 'o'};D. char str = "Hello";答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。

答案:int2. 若有定义int a=5;,则执行语句a*=2后,变量a的值变为________。

答案:103. C语言中,用于输出字符串的函数是________。

答案:printf4. 在C语言中,以下代码段的输出结果是________。

```cint a = 1, b = 2;printf("%d", a < b ? a : b);```答案:15. C语言中,以下代码段的输出结果是________。

```cint x = 10;printf("%d", x++);```答案:10三、编程题(每题10分,共20分)1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案一、单项选择题1. 在C语言中,以下哪个选项是正确的数据类型?A. 整型(int)B. 浮点型(float)C. 字符型(char)D. 所有选项都是答案:D2. 下列哪个函数用于计算两个数的和?A. max()B. min()C. sum()D. pow()答案:C3. 在C语言中,以下哪个关键字用于定义一个函数?A. ifB. whileC. returnD. void答案:D二、填空题1. 在C语言中,用于定义一个整型变量的关键字是________。

答案:int2. 字符串在C语言中是以________字符结尾的字符数组。

答案:'\0'3. C语言中,用于循环结构的关键字有________和________。

答案:for 和 while三、编程题1. 编写一个C语言程序,计算并输出1到100之间所有偶数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("The sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串的反转。

```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```以上是全国计算机等级考试二级C语言题库及答案的部分内容,涵盖了选择题、填空题和编程题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

全国计算机等级考试二级C语言真题题库2 2014年3月(总分43, 做题时间120分钟)一、选择题(每小题1分,共40分)1. 下列叙述中正确的是()。

A 每一个节点有两个指针域的链表一定是非线性结构B 所有节点的指针域都为非空的链表一定是非线性结构C 循环链表是循环队列的链式存储结构D 线性结构的存储节点也可以有多个指针答案:D[解析]一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有—个前件,也最多有一个后件,则称为线性结构,在数据结构中习惯称为线性表。

双向链表节点具有两个指针域,属于线性结构,故A选项错误。

循环链表所有节点的指针域都为非空,属于线性结构,故B选项错误。

循环链表是链表,循环队列属于队列,队列只能在队尾入队,在排头退队,链表可以在任何位置插入、删除,故C选项错误。

双向链表节点具有多个指针域,故D选项正确。

2. 使用白盒测试方法时,设计测试用例应根据()。

A 程序的内部逻辑B 程序的复杂结构C 程序的功能D 使用说明书答案:A[解析]白盒测试又称为结构测试或逻辑驱动测试,它允许测试人员利用程序内部的逻辑结构及有关信息来设计或选择测试用例,对程序所有的逻辑路径进行测试,故A选项正确。

3. 在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗,则实体医生和患者之间的联系是()。

A 多对多B 多对一C 一对多D 一对一答案:A[解析]一般来说,实体集之间必须通过联系来建立连接关系,分为三类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。

医生可为多位患者看病,患者也可以找多位医生看病,实体医生与患者联系是多对多,故A选项正确。

4. 设序列长度为n,在最坏情况下,时间复杂度为O(log2n)的算法是()。

A 二分法查找B 顺序查找C 分块查找D 哈希查找答案:A[解析]对长度为n的线性表排序,最坏情况下时间复杂度,二分法查找为O(log2n);顺序查找法为O(n);分块查找时间复杂度与分块规则有关;哈希查找时间复杂度为O(1),因其通过计算HashCode来定位元素位置,所以只需一次即可。

故正确答案为A选项。

5. 设数据集合为D={1,3,5,7,9},D上的关系为R,下列数据结构B=(D,R)中为非线性结构的是()。

A R={ (5,1),(7,9),(1,7),(9,3)}B R={ (9,7),(1,3),(7,1),(3,5)}C R={ (1,9),(9,7),(7,5),(5,3)}D R={ (1,3),(3,5),(5,9)}答案:D[解析]一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,则称为线性结构,在数据结构中习惯称为线性表。

A选项中,5为根节点,线性表为51793。

B选项中,9为根节点,线性表为97135。

C选项中,1为根节点,线性表为19753。

D选项中,节点1与7都是根节点,属于非线性结构,故D选项正确。

6. 深度为7的二叉树共有127个节点,则下列说法中错误的是()。

A 该二叉树有一个度为1的节点B 该二叉树是满二叉树C 该二叉树是完全二叉树D 该二叉树有64个叶子节点答案:A[解析]在树结构中,一个节点所拥有的后件个数称为该节点的度,所有节点中最大的度称为树的度。

完全二叉树指除最后一层外,每一层上的节点数均达到最大值,在最后一层上只缺少有边的若干节点。

满二叉树指除最后一层外,每一层上的所有节点都有两个子节点的二叉树。

深度为7的二叉树,前6层共有节点个数为26-1=63,则第7层有127-63=64个节点,即第7层节点数达到最大值,故此二叉树为满二叉树,也是完全二叉树,该二叉树没有度为1的节点,有64个叶子节点。

故正确答案为A选项。

7. 二叉树的中序序列为BDCA,后序序列为DCBA,则前序序列为()。

A DCBAB BDCAC ABCDD BADC答案:C[解析]二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。

本题中中序序列为BDCA,后序序列为DCBA,可知A 为根节点,BDC为左侧节点,C是B右子节点,D是C右子节点,故前序序列为ABCD,C选项正确。

8. 下面能作为软件需求分析工具的是()。

A PAD图B 程序流程图C 甘特图D 数据流程图(DFD图)答案:D[解析]软件需求分析方法包括结构化分析方法和面向对象的分析方法两大类,前者常用工具为数据流图(DFD)、数据字典(DD)、判定表、判定树等。

故D选项正确。

选项B是软件功能实现时设计图。

9. 下面不属于对象主要特征的是()。

A 唯一性B 多态性C 可复用性D 封装性答案:C[解析]对象的基本特点如下表所示。

可知C选项正确。

10.A (c,c,11,4)B (e,e,6,1)C (a,a,2,4)D (a,a,2,4)和(e,e,6,1)答案:A[解析]从关系中找出满足给定条件的元组的操作称为选择,“∧”为交运算,它由属于前者且属于后者的元组组成。

题目为选出属于属性B,同时属性C大于4,并且属性D大于3的元组,结果为(c,c,11,4),应保留全部属性。

故A选项正确。

11. C语言整数不包括()。

A 带小数点的整数B 正整数C 负整数D 无符号整数答案:A[解析]C语言整数包括正整数、负整数、无符号整数、不含带小数点的整数,故答案为A选项。

12. 设a,b,c是整型变量,且已正确赋初值,以下选项中错误的赋值语句是()。

A a=1%(b=c=2);B a=(b=3)*cC a=b=c/10D a=2=(b=9)=1答案:D[解析]D选项中,“()”具有最高优先级,b先赋值9,再根据赋值运算符号白右向左进行赋值,再给b赋值为1,再计算2=b,赋值运算符左边必须是一个变量,但数值2是常量,语法错误,故答案为D选项。

13. 以下选项中,合法的实数是()。

A 1.5E2B E1.1C 2.10ED 1.9E1.4答案:A[解析]E表示“10的幂次”,E的右侧必须是整数,排除B、C、D选项、答案为A选项。

14. 关于程序设计基本概念,以下叙述错误的是()。

A 计算机可以直接执行由任意高级语言编写的程序B 高级语言都有与之对应的编译程序或解释程序C 用任何一种计算机高级语言都可以把算法转换为程序D 结构化算法可以解决任何复杂的问题答案:A[解析]计算机只能识别机器语言,不能直接识别由高级语言编写的程序,故答案为A 选项。

15. 以下不能用于实型数据的运算符是()。

A %B /C *D +答案:A[解析]“%”符号两边必须是整数,因此答案为A选项。

16. C语言中,最基本的数据类型包括()。

A 整型、实型、逻辑型B 整型、字符型、数组C 整型、实型、字符型D 整型、实型、结构体答案:C[解析]C语言中,最基本的数据类型包括整型、实型、字符型,答案为C选项。

17. 若有定义:int=0,b=0,c=0,d=0;,有C语言表达式(a++&&b++)?c++:d++,以下关于其执行顺序的叙述正确是()。

A 先执行a++,表达式a++的值为0,短路,得a++,执行它B 先执行a++,表达式a++的值为0;再执行b++,表达式b++的值为0,由此可确定(a++&&b++)值为0,因此执行d++C 先执行a++,表达式a++的值为1;再执行b++,表达式b++的值为1,由此可确定(a++&&b++)值为1,由此可确定(a++&&b++)值为1,因此执行c++D 先执行b++,表达式b++的值为1;再执行a++,表达式a++的值为1,由此可确定(a++&&b++)值为1,因此执行c++答案:A[解析]表达式1?表达式2:表达式3,若表达式1为真,则执行表达式2,否则执行表达式3。

逻辑与运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式(a++&&b++)中,左操作数a++的值为0,已经可以确定整个逻辑表达式的结果为0,因此右操作数b++不再求解,直接执行表达式3,即d++,答案为A选项。

18. 有以下程序:程序运行后的输出结果是()。

A 123B ABCC abcD 012答案:A[解析]当满足ch<'E',输出ch-'A',即字符在ASCII码相减进行输出,%d表示输出十进制整数。

循环开始,ch=’B’,print(“%d”,ch-'A')=1,以此类推,答案为A选项。

19. 以下关于指针的叙述,错误的是()。

A 两个基类型相同的指针变量不能指向同一个对象B 可以通过对指针变量自增、自减来移动指针C 只有两个类型相同的指针才能进行减运算D 一个指针变量可以通过不同的方式获得一个确定的地址值答案:A[解析]只要两个指针变量基类型相同,可以指向同一个对象,故答案为A选项。

20. 对于函数声明:void fun(float array[],int *ptr);以下叙述正确的是()。

A 调用函数时,array数组的元素和Ptr都是按值传送B 函数声明有语法错误,参数array缺少数组大小定义C 调用函数时,array数组中将存储从实参中复制来的元素值D 函数参数array,ptr都是指针变量答案:D[解析]void fun(float array[],int *ptr)定义了2个形参:array[]和*ptr,其中函数形参中int array[]其实相当于int *array,答案为D选项。

21. 有以下程序:程序运行后的输出结果是()A 1,0,2,0,0,9B 1,2,4,9,6,0C 2,9,0,0,1,4D 1,2,0,1,4,1答案:A[解析]本题定义一个4行2列数组,其中赋值6个数,其余自动为0,根据for循环,第一次输出第一列前三行数,分别是1,0,2;第二次输出第二列前三行数,分别是0,0,9,因此答案为A选项。

22. 要求定义一个具有6个元素的int型一维数组,以下选项中错误的是()。

A int N=6,a[N];B int a[2*3] ={0};C #define N 3int a[N=N];D int a[] ={1,2,3,4,5,6};答案:A[解析]数组名后面括号内,必须是整型常量,不可以是变量,A选项定义错误,答案为A选项。

执行时若输入以下字符串:Peach flower is Pink.<回车>则输出结果是()。

A Peachflower is pink.B Peachfloweris Pink.C Peachflowerispink.D Peach flower is pink.答案:A[解析]由于用“%s”格式输出字符串时,是以空格作为间隔符,因此,输入给b[0]=“Peach”,b[1]=“flower”,而while语句给c赋值时,getchar()能识别空格符,b[2]=“is Pink”,答案为A选项。

相关文档
最新文档