全国计算机等年级考试二级C语言真题
计算机二级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语言试题及答案解析一、选择题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语言笔试试题及答案一、选择题1. 以下关于C语言的描述中,正确的是(A)A. C语言是一种结构化程序设计语言B. C语言是面向对象的程序设计语言C. C语言是一种解释型语言D. C语言是一种高级汇编语言答案:A2. 在C语言中,以下哪个选项是非法的整型常量?(D)A. 012B. 0x123C. 0XabcD. 0123答案:D3. 若变量已正确定义并赋值,以下正确的表达式是(C)A. a = b ++ + 1;B. a = b ++ = a++;C. a = b + b++;D. a = ++b + ++b;答案:C4. 在C语言中,以下哪个函数用于输出字符?(B)A. printfB. putcharC. putcharcD. putchart答案:B5. 已知 int a = 5, b = 3;,以下哪个选项的结果为1?(D)A. a % bB. a / bC. a + bD. a - b答案:D二、填空题1. 在C语言中,一个int类型的数据在内存中占______个字节。
答案:42. C语言中,逻辑运算符“或”用______表示。
答案:||3. 若定义 int a = 10, b = 20;,则执行语句 a += b -= a; 后,b的值为______。
答案:104. 在C语言中,函数的返回值类型为void时,表示该函数______。
答案:无返回值5. 在C语言中,以下函数的返回类型为______。
int max(int a, int b) {return (a > b) ? a : b;}答案:int三、判断题1. C语言中的数组名可以作为指针使用。
(正确)2. 在C语言中,静态存储区的数据在程序运行期间一直存在。
(正确)3. 在C语言中,结构体是一种用户自定义的数据类型。
(正确)4. 在C语言中,函数的参数传递都是按值传递的。
(错误,部分按引用传递)5. 在C语言中,文件操作完成后必须关闭文件,否则可能导致数据丢失。
全国计算二级考试c语言试题及答案

全国计算二级考试c语言试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的数据类型?A. 整型B. 浮点型C. 字符型D. 所有选项答案:D2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:D4. C语言中,用于实现循环的关键字是:A. forB. whileC. do-whileD. 所有选项答案:D5. 在C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. strcat()D. sum()答案:D6. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. $variableD. variable答案:B7. C语言中,用于定义一个字符型变量的关键字是:A. intB. floatC. charD. double答案:C8. C语言中,用于输出的函数是:A. printf()B. scanf()C. getchar()D. getche()答案:A9. 在C语言中,以下哪个选项是正确的注释方式?A. /* 这是一个注释 */B. // 这是一个注释C. # 这是一个注释D. 所有选项答案:A10. C语言中,用于定义一个浮点型变量的关键字是:A. intB. floatC. charD. double答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是________。
答案:&&2. C语言中,表示逻辑“或”的运算符是________。
答案:||3. C语言中,表示逻辑“非”的运算符是________。
答案:!4. 在C语言中,用于定义一个字符串的字符数组时,需要在数组声明的末尾加上________。
全国c二级计算机考试真题及答案解析

全国c二级计算机考试真题及答案解析一、选择题1. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x1AB. 0.123C. 1.2e3D. 0b1010答案:A解析:在C语言中,整型常量可以用十进制、八进制、十六进制表示。
选项A中的0x1A是十六进制表示法,是正确的整型常量表示。
选项B、C和D分别表示浮点数,不符合整型常量的要求。
2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. _variableC. variable2D. variable$答案:C解析:C语言中的标识符可以由字母、数字和下划线组成,且不能以数字开头。
选项A以数字开头,选项B和D包含非法字符,只有选项C符合标识符的命名规则。
二、填空题3. 在C语言中,以下代码段的输出结果是____。
```c#include <stdio.h>int main() {int a = 10, b = 20;printf("%d", a + b);return 0;}```答案:30解析:在这段代码中,变量a和b分别被赋值为10和20,然后通过printf函数输出它们的和,即30。
4. 若有以下C语言代码:```cint x = 10;x += 5;```则x的值变为____。
答案:15解析:代码中的x += 5等价于x = x + 5,即x的值增加5,从10变为15。
三、编程题5. 请编写一个C语言程序,计算并输出100以内所有奇数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i < 100; i += 2) {sum += i;}printf("%d", sum);return 0;}```解析:该程序使用for循环遍历1到99之间的所有奇数,每次循环增加2以跳过偶数,并将每个奇数累加到变量sum中,最后输出sum的值,即100以内所有奇数的和。
全国计算机考试二级c语言真题题库答案

全国计算机考试二级c语言真题题库答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是正确的数据类型?A. intB. floatC. doubleD. A、B和C都是答案:D2. 下列哪个是合法的C语言变量名?A. 2variableB. variable-nameC. _variableD. variable name答案:C3. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. =答案:A4. 以下哪个选项是C语言中的控制语句?A. ifB. switchC. whileD. A、B和C都是5. 在C语言中,哪个函数用于计算并返回一个浮点数的平方根?A. sqrt()B. pow()C. log()D. sin()答案:A6. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int [10] array;D. A和B都是答案:D7. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str = "Hello";D. A和B都是答案:D8. 在C语言中,以下哪个选项是正确的函数声明?A. void function();B. int function();C. void function(int a);D. A、B和C都是答案:D9. 在C语言中,以下哪个选项表示“或”逻辑操作?B. ||C. !D. =答案:B10. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int id;char name[50];} employee;B. struct employee {int id;char name[50];};C. A和B都是D. A和B都不是答案:C11. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr = NULL;D. A和C都是答案:D12. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fprintf()D. A、B和C都是13. 在C语言中,以下哪个选项表示“非”逻辑操作?A. &&B. ||C. !D. =答案:C14. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {Red, Green, Blue};B. enum {Red, Green, Blue} color;C. A和B都是D. A和B都不是答案:C15. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. const double PI = 3.14159;C. A和B都是D. A和B都不是答案:A16. 在C语言中,以下哪个选项是正确的联合体声明?A. union {int a;float b;} data;B. struct {int a;float b;C. A和B都是D. A和B都不是答案:A17. 在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. A、B和C都是答案:D18. 在C语言中,以下哪个选项是正确的类型转换?A. (int)3.14B. (float)3C. A和B都是D. A和B都不是答案:C19. 在C语言中,以下哪个选项是正确的递归函数声明?A. void function();B. void function(int a);C. void function(void function());D. A和B都是答案:B20. 在C语言中,以下哪个选项是正确的预处理指令?A. #includeB. #defineC. #ifdefD. A、B和C都是二、程序填空题(每题5分,共20分)1. 请填写以下代码段中缺失的部分,以实现计算并打印一个整数的平方:```c#include <stdio.h>int main() {int num, square;scanf("%d", &num);square = num _____ num;printf("Square: %d\n", square);return 0;}```答案:*2。
近三年计算机二级c语言考试试题和答案
近三年计算机二级c语言考试试题和答案近三年计算机二级C语言考试试题和答案1. 选择题1.1 以下哪个选项是C语言中的合法整型常量?A. 0x12B. 0.5C. 1.2e2D. 0b1010答案:A1.2 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 填空题2.1 写出C语言中定义一个整型变量的语句:________。
答案:int a;2.2 在C语言中,以下代码段的输出结果是什么?```c#include <stdio.h>int main() {int a = 10;printf("%d", a++);return 0;}```答案:103. 编程题3.1 编写一个C语言程序,计算并输出1到100之间所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}printf("Sum of even numbers from 1 to 100 is: %d", sum); return 0;}```答案:25003.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", str);return 0;}```答案:dlroW olleH以上是近三年计算机二级C语言考试的部分试题和答案。
c语言国家二级考试真题及答案
c语言国家二级考试真题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的整型常量表示?A. 0x123B. 123.0C. '123'D. 0123答案:A2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable-nameC. $variableD. variable name答案:B3. 若有定义:int a=3, b=4; 则表达式 a++ + b 的值是多少?A. 7B. 6C. 5D. 8答案:A4. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"'D. 'Hello, World!"答案:A5. 以下哪个选项是C语言中的合法浮点数?A. 3.14e2B. 3.14E2C. 3.14eD. 3.14E答案:B6. C语言中,以下哪个选项是正确的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[] = {1, 2, 3, 4, 5};C. int a[5] = {1, 2, 3};D. int a[] = {1, 2, 3, 4};答案:B7. 在C语言中,以下哪个选项是正确的函数声明?A. int func(int a, int b);B. int func();C. int func(int a, b);D. int func(int a, int);答案:A8. 若有定义:int x=10; 则表达式 x += 5 的值是多少?A. 10B. 15C. 5D. 20答案:B9. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int age; char name[20]; };B. struct { int age; char name[20]; } Student;C. struct Student { int age; char name[20]; } student;D. struct { int age; char name[20]; };答案:A10. 在C语言中,以下哪个选项是正确的指针声明?A. int *p;B. int *p[];C. int (*p)[];D. int *p[10];答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个全局变量。
全国计算机等级考试二级C语言【附详解】
下列叙述中正确的是 A、栈是一种先进先出的线性表 B、队列是一种后进先出的线性表 C、栈和队列都是非线性结构 D、以上三种说法都不对
栈是一种后进先出的线性表 队列是一种先进先出的线性表,二者均是线性结构, 答案为选项D。
一棵二叉树共有25个节点,其中5个是子节点, 那么度为1的节点数为 A、4 B、6 C、10 D、16
指针的概念和应用 数组名本身就是地址,所以不需要用&符号。C选项不能对所 有元素赋值而是反复再给一个数值赋值且是死循环。D
有以下程序 #include <sthio.h> Main() {int a,b,k,m,*p1,*p2; ; a=/*p1-m; b=*p1+*p2+6; printf(“%d ”,a); printf(“%d\n”,b);
内模式也称存储模式,它是数据物理结构和存储方 式的描述,是数据在数据库内部的表示方式 对应于物理级,它是数据库中全体数据的内部表示 或底层描述,是数据库最低一级的逻辑描述。选项 A正确。
在满足实体完整性约束的条件下 A. 一个关系中可以没有候选关键词 B. 一个关系中只能有一个候选关键词 C. 一个关系中必须有多个候选关键词 D. 一个关系中应该有一个或者多个候选关键词
在一个关系中,候选关键字可以有多个且在任何关系中至少有一个关键字。 所以在满足数据完整性约束的条件下,一个关系应该有一个或多个候选关键 字,选项D正确。
有三个关系R、S和T如下:
R和S的差是由属于R但不属于S的元组组成的集合 根据本题关系R和关系S运算前后的变化,可以看出此处进行 的是关系运算的差运算
简单程序设计的步骤: 首先要确定算法和数据结构 然后编码、调试 最后整理相关文档。
关于C语言中数的表示,以下叙述正确的是 A、只有整型数在允许范围内能精确无误的表示,实型数会 有误差 B、只要在在允许范围内整型和实型都能精确表示 C、只有实型数在允许范围内能精确无误的表示,整型数会 有误差 D、只有八进制表示的数在不会有误差
全国计算机等级考试二级C语言笔试试题及答案解析
全国计算机等级考试二级C语言笔试试题及答案解析试题一:选择题1. 下列关于C语言的说法,错误的是()A. C语言是一种高级语言B. C语言具有跨平台性C. C语言编译器可以直接生成机器码D. C语言是一种解释型语言答案:D解析:C语言是一种高级语言,具有跨平台性。
编译器将C语言源程序编译成目标代码,然后通过链接器生成可执行文件,这个过程生成的机器码可以被计算机直接执行,因此C语言不是解释型语言。
2. 以下哪个选项不是C语言的基本数据类型?()A. intB. charC. floatD. string答案:D解析:C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。
string不是C语言的基本数据类型,而是由字符数组构成的一种自定义类型。
试题二:填空题1. 在C语言中,每个语句的结尾必须使用()符号。
答案:分号(;)解析:在C语言中,每个语句的结尾必须使用分号(;)作为结束符,表示一个语句的结束。
2. 以下程序的输出结果是()。
```c#include <stdio.h>int main() {int a = 5;int b = 3;printf("%d\n", a % b);return 0;}```答案:2解析:在C语言中,取模运算符(%)用于计算两个整数相除的余数。
在本题中,5除以3的余数为2,因此输出结果为2。
试题三:编程题1. 编写一个C程序,实现以下功能:从键盘输入10个整数,计算并输出这些整数的平均值。
```c#include <stdio.h>int main() {int i, num;float sum = 0.0, average;for (i = 0; i < 10; i++) {printf("请输入第%d个整数:", i + 1);scanf("%d", &num);sum += num;}average = sum / 10;printf("这10个整数的平均值为:%.2f\n", average);return 0;}```解析:本题考查了循环语句、输入输出函数等基本知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2009年9月全国计算机等级考试二级笔试考试C语言程序设计考试(考试时间90分钟,满分100分)一、选择题((1-10)、(21-40)每题2分,(11)-(20)每题1分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确填涂在答案卡相应位置上,答在试卷上不得分。
(1)下列数据结构中,属于非线性结构的是A)循环结构B)带练队列C)二叉树D)带链栈(2)下列数据结构中,能够按照“先进后出”原则存取数据的是A)循环队列B)栈C)队列D)二叉树(3)对于循环队列,下列叙述中正确的A)队头指针是固定不变的B)队头指针一定不大于队尾指针C)队头指针一定小于队尾指针D)队头指针可以大于队尾指针,也可以小于队尾指针(4)算法的空间复杂度是指A)算法在执行过程中所需要的计算机存储空间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的临时工作单元数(5)软件设计中划分模块的一个准则是A)低内聚低耦合B)高内聚低耦合C)低内聚高耦合D)高内聚高耦合(6)下列选项中不属于结构化程序设计原则的是A)可封装B)自顶向下C)模块化D)逐步求精7、软件详细设计的图如下:该图是:A) N-S图B) PAD 图C) 程序流程图D) E-R图8、数据库管理系统是:A)操作系统的一部分B)在操作系统支持下的系统软件C)一种编译系统D)一种操作系统9、在E-R图型中,用来表示两个实体联系的图型的是:A) 矩形B) 椭圆C)菱形D)三角形10、有三个关系R、S和T如下:S T其中关系T由关系R和关系S通过某种操作得到:该操作为:A) 选择B) 投影C)交D)并11、一下叙述中正确的是:A) 程序设计的任务是编写程序代码并上机调试。
B) 程序设计的任务是确定所用的数据结构。
C)程序设计的任务是确定所用的算法。
D)以上三种说法都不完整。
12、以下选项中,能用作用户标识符的是:A) void B)8_8 C)_0_ D)unsigned(13)阅读以下程序#include <>main ( ){ int case ; float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&printF);printf(“%d %f\n”,case,printF);}该程序在编译时产生错误,其出错原因是A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值(14)表达式:(int)((double)9/2)-(9)%2的值是A)0 B)3 C)4 D)5(15)若有定义语句:int x=10;,则表达式x-=x+x的值为A)-20 B)-10 C)0 D)10(16)有以下程序#include <>main ( ){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2+b);}程序运行后的输出结果是A)0,0 B)1,0 C)3,2 D)1,2(17)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其他三个不同的是A)if (a>b)c=a,a=b,b=c; B)if(a>b){c=a,a=b,b=c;}C) if(a>b)c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;}(18)有以下程序#include <>main ( ){ int c=0,k;for (k=1;k<3;k++)switch (k){ default: c+=k;case 2:c++;break;case 4:c+=2;break;}printf{“%d\n”,c};}程序运行后的输出结果是A) 3 B) 5 C) 7 D) 9(19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是A)if((a>b)&&(b>c))k=1; B)if((a>b)||(b>c))k=1;else k=0; else k=0;C)if(a<=b)k=0; D)if(a>b) k=1;else if(b<=c)k=1; else if(b>c) k=1;else k=0;(20) 有以下程序#include <>main( ){ char s[ ]={“012xy”}; int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>=’a’&&s[i]<=’z’) n++;printf(“%d\n”,n);}程序运行后的输出结果是A)0 B)2 C)3 D)5(21)有以下程序#include <>main ( ){ int n=2,k=0;while(k++&&n++>2);printf(“%d %d\n”,k,n);}程序运行后的输出结果是A)0 2 B) 1 3 C) 5 7 D) 1 2(22)有以下定义语句,编译时会出现编译错误的是A) char a=’a’;B)char a=’\n’; C) char a=’aa’; D)char a=’\x2d’;23)有以下程序#include <>main(){ char c1,c2;c1=’A’+’8’-‘4’;c2=’A’+’8’-‘5’;printf {“%c,%d\n”c1,c2};}已知字母A的ASCII码为65,程序运行输出后的结果是:A)E,68 B)D,69 C)E,D D)输出无定值24)有以下程序#include <>void fun{int p}{ int d=2;p=d+t; printf(“%d”,p);}main(){int a=1;fun(a); printf(“%d\n”,a);}程序运行后的输出结果是A)32 B)12 C)21 D)2225)以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。
int findmax {int x[],int n}{ int i,max;;for {i=0;i<n;i++}{ max =MIN;if(max<x[i]) max=x[i];}return max;}造成错误的原因是A)定义语句int i,max:中max 未赋初值B)赋值语句max=MIN;中,不应给max 赋MIN值C)语句if(max<x[i]) max=x[i];中判断条件设置错误D)赋值语句max=MIN;放错了位置(26)有以下程序#include <>main(){int m=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf(“%d,%d,%d\n”,m,n,*p,*q);}程序运行后的输出结果为A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2(27)若有定义语句:int a[4][10],*p,*q[4];且0<=i<4,则错误的赋值是:A)p=a B)q[i]=a[i] C)p=a[i] D)p=&a[2][1](28)有以下程序:#include <>#include <>main(){char str[][20]={“One*World”,”One*Dream”},*p=str[1];printf(“%d”,strlen(p));printf(“%s\n”,p);}程序运行后的输出结果是:A)9,One*World B)9,One*Dream C)10,One*Dream D)10,One*World (29)有以下程序:#include <>main(){int a[]={1,2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){case0:a[i]++;break;case1:a[i]--;}break;case1:a[i]=0;}for(i=0;i<4;i++) printf(“%d”,a[i]);printf(“\n”);}程序运行的输出结果是:A)3 3 4 4 B)2 0 5 0 C)3 0 4 0 D)0 3 0 4(30)有以下程序:#include <>#include <>main(){char a[10]=”abcd”;printf(“%d, %d\n”,strlen(a),sizeof(a));}程序运行后的输出结果为:A)7,4 B)4,10 C)8,8D)10,10(31)下面是有关C语言字符数组的描述,其中错误的是A)不可以用赋值语句给字符数组名赋字符串B)可以用输入语句把字符串整体输入给字符数组C)字符数组中的内容不一定是字符串D)字符数组只能存放字符串(32)下面函数的功能是fun(char *a,char*b){while((*b=*a)!=’\0’){a++;b++;}}A)将a所指字符串赋给b所指空间B)使指针b指向a所指字符串C)将a所指字符串和b所指字符串进行比较D)检查a和b所指字符串中是否有’\0’(33)设有以下函数:void fun(int n,char *s){……}则下面对函数指针的定义和赋值均正确的是A)void (*pf)( );pf=fun;B)void *pf();pf=fun;C)void *pf();*pf=fun;D)void (*pf)(int,char);pf=&fun;(34)有以下程序:#include <>int f(int n);main(){int a=3,s;s=f(a);s=s+f(a);printf(“%d\n”,s);}int f(int n);{static int a=1;n+=a++;return n;}程序运行后的输出结果是A)7 B)8 C)9 D)10(35)有以下程序#include <>#define f(x) x*x*xmain(){int a=3,s,t;s=f(a+1);t=f((a+1));printf(“%d,%d\n”,a,t);}程序运行后的输出结果是A)10,64 B)10,10 C)64,10 D)64,64(36)下面结构体的定义语句中,错误的是A)struct ord { int x;int y;int z;};struct ord a;B)struct ord { int x;int y;int z;}struct ord a;C) struct ord { int x;int y;int z;} a;D) struct { int x;int y;int z;} a;(37) 设有定义:char *c;,以下选项中能够使字符型指针c正确指向一个字符串的是A)char str[]=”string ”;c=str; B)scanf(“%s”,c);C) c=getchar(); D)c=”string”;(38)有以下程序#include <>#include <>struct A{int a; char b[10]; double c;};struct A f(struct A t);main(){ struct A a={1001,”ZhangDa”,};a=f(a); printf(“%d,%s,%6.1f\n”,,,;}struct A f(struct A t){=1002;strcpy,”ChangRong”);=;return t;}程序运行后的输出结果是A)1001,ZhangDa, B)1002,ZhangDa,C) 1001,ChangRong, D) 1002, ChangRong,(39) 若有以下程序段:int r=8;printf("%d\n",r>>1);输出的结果是:A)16 B) 8 C)4 D)2(40) 下列关于C语言文件的叙述中正确的是:()A) 文件由一系列数据依次排列组成,只能构成二进制文件B) 文件由结构序列组成,可以构成二进制文件或文本文件C) 文件由数据序列组成,可以构成二进制文件或文本文件D) 文件由字符序列组成,其类型只能是文本文件二、填空题(每空2分,共30分)请将每空正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。