C语言试卷第2套 含答案
- 格式:doc
- 大小:56.50 KB
- 文档页数:4
计算机二级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`函数,它接受一个字符串作为参数,并通过交换字符的方式将字符串反转。
一、判断题第1题:C语言编译时不检查语法错第2题:C语言的函数可以嵌套定义错第3题:在标准C语言中,共用体变量中的各成员的首地址是不一样的。
错第4题:在标准C中,“=”是判断两个数是否相等。
错第5题:C语言的源程序不必通过编译就可以直接运行错第6题:指针变量与变量的指针都与地址有关对第7题:局部变量的作用域是当前文件。
错第8题:在标准C语言中,宏替换是程序运行时完成的。
错第9题:C语言允许直接访问物理地址。
对第10题:全局变量的作用域一定比局部变量的作用域范围大错二、单选题选择正确的答案输入第1题:以下程序的输出结果是main( ){int n=4;while(n--) printf("%d ",--n);}参考答案:AA、2 0B、3 1C、3 2 1D、2 1 0第2题:C语言中以追加方式打开一个文件应选择_______________参数参考答案:DA、“r”B、“w”C、“rb”D、“a”第3题:已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\103’是字母参考答案:CA、AB、BC、CD、D第4题:设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行语句:z=2 *(N+Y(5+1));后,z的值为参考答案:CA、出错B、42C、48D、54第5题:下列表达式的值为0的是()参考答案:CA、3﹪5B、3/5.0C、3/5D、3<5第6题:下列说法中,正确的是参考答案:CA、主函数名是由程序设计人员按照“标识符”的规则选取的B、分号和回车符号都可以作为一个语句的结束符号C、在程序清单的任何地方都可以插入一个或多个空格符号D、程序的执行,总是从源程序清单的第1行开始第7题:字符串指针变量中存入的是参考答案:AA、字符串的首地址B、字符串C、第一个字符D、字符串变量第8题:在c语言中,不允许有常量的数据类型是参考答案:BA、整型B、结构型C、字符型D、字符串第9题:C语言中while和do-while循环的主要区别是参考答案:AA、do-while循环体至少无条件执行一次B、while的循环控制条件比do-while循环控制条件严格C、do-while循环允许从外部转到循环体内D、do-while循环体不能是复合语句第10题:数组定义为int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。
全国计算机等级考试二级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语言中,文件操作完成后必须关闭文件,否则可能导致数据丢失。
(1)算法空间复杂度的度量方法是A)算法程序的长度B)算法所处理的数据量C)执行算法所需要的工作单元D)执行算法所需要的存储空间答案:D【解析】算法的空间复杂度是指执行这个算法所需要的内存空间,。
算法执行期间所需的存储空间包括3个部分:输入数据所占的存储空间;程序本身所占的存储空间;算法执行过程中所需要的额外空间。
D选项正确。
(2)下列叙述中正确的是A)循环队列属于队列的链式存储结构B)双向链表是二叉树的链式存储结构C)非线性结构只能采用链式存储结构D)有的非线性结构也可以采用顺序存储结构答案:D【解析】循环队列是队列的一种顺序存储结构,A选项错误。
双向链表为顺序存储结构,二叉树通常采用链式存储结构,B选项错误。
完全二叉树是属于非线性结构,但其最佳存储方式是顺序存储方式,C选项错误,D选项正确。
(3)下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间答案:A【解析】链式存储结构既可以针对线性结构也可以针对非线性结构,所以B)与C)错误。
链式存储结构中每个结点都由数据域与指针域两部分组成,增加了存储空间,所以D)错误。
(4)下列关于栈的叙述中,正确的是A)栈底元素一定是最后入栈的元素B)栈顶元素一定是最先入栈的元素C)栈操作遵循先进后出的原则D)以上说法均错误答案:C【解析】栈顶元素总是后被插入的元素,从而也是最先被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。
栈的修改是按后进先出的原则进行的。
因此,栈称为先进后出表,或"后进先出"表,所以选择C。
(5)在软件设计中不使用的工具是()。
A)系统结构图B)PAD图C)数据流图(DFD图)D)程序流程图答案:C【解析】系统结构图是对软件系统结构的总体设计的图形显示。
2022c语言二级考试题及答案一、单项选择题(每小题2分,共40分)1. C语言中,用于定义变量类型为整型的关键字是()。
A. intB. floatC. doubleD. char答案:A2. 下列选项中,不是C语言标准库函数的是()。
A. printf()B. scanf()C. strcat()D. input()答案:D3. 若有以下定义和语句:```cint a=5, b=2;a=a+b;```则执行后变量a的值是()。
A. 5B. 7C. 2D. 0答案:B4. 在C语言中,以下哪个选项是正确的字符串常量?A. "123"B. '123'C. "123""D. 123答案:A5. C语言中,以下哪个选项是正确的二维数组定义?A. int a[2,3];B. int a[2][3];C. int a[2][3][];D. int a[][];答案:B6. 在C语言中,以下哪个选项是正确的函数定义?A. int fun(int a, int b);B. int fun();C. int fun(int a, int b) {}D. int fun(a, b) {}答案:C7. 下列哪个选项是C语言中的合法标识符?A. 2aB. a-bC. _a1D. int答案:C8. 若有以下定义和语句:```cint a=5, b=0;if (a=b)printf("%d", b);elseprintf("%d", a);```则执行后输出的结果是()。
A. 5B. 0C. 1D. 无输出答案:B9. C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D10. 在C语言中,以下哪个选项是正确的结构体定义?A. struct student {int age;float score;};B. struct {int age;float score;} student;C. Both A and BD. None of the above答案:C11. C语言中,以下哪个选项是正确的枚举类型定义?A. enum color {red, green, blue};B. enum {red, green, blue};C. Both A and BD. None of the above答案:C12. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. #define PI = 3.14C. #define PI 3.14D. #define PI = 3.14答案:A13. C语言中,以下哪个选项是正确的指针定义?A. int *p;B. int *p[];C. int (*p)[];D. int *p[10];答案:A14. 若有以下定义和语句:```cint a=10;printf("%d", ++a);```则执行后输出的结果是()。
c二级考试试题和答案及分析1. 以下哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A分析:在C语言中,`int` 是一个关键字,用于声明整型变量。
而`float` 和 `double` 用于声明浮点型变量,`string` 不是C语言的关键字,它是C++中的关键字。
2. 以下哪个函数用于计算两个数的和?A. max(a, b)B. min(a, b)C. sum(a, b)D. average(a, b)答案:C分析:在C语言中,并没有内置的 `sum` 函数,但是可以通过自定义函数来实现两个数的求和。
通常,自定义的求和函数可以命名为`sum`,其函数原型可以是 `int sum(int a, int b)`。
3. 在C语言中,以下哪个语句用于声明一个整型数组?A. int array[5];B. int [5] array;C. int array[];D. int array = 5;答案:A分析:在C语言中,声明一个整型数组的正确方式是指定数组类型、数组名和数组大小。
因此,`int array[5];` 是正确的声明方式,它声明了一个包含5个整型元素的数组。
4. 以下哪个选项是C语言中的条件语句?A. ifB. switchC. whileD. for答案:A分析:在C语言中,`if` 是条件语句,用于根据条件的真假来执行不同的代码块。
而 `switch` 是多分支选择语句,`while` 和 `for` 是循环语句。
5. 在C语言中,以下哪个函数用于输出字符串?A. printf("%s", str);B. scanf("%s", str);C. puts(str);D. gets(str);答案:C分析:`puts(str)` 是C语言中用于输出字符串的函数,它会在输出的字符串后自动添加一个换行符。
C语言试题及答案(6)我爱学习2009-09-13 10:05:46 阅读3030 评论1 字号:大中小C语言程序设计技能测试考试说明1、在D盘或E盘根目录下创建文件夹以存放程序文件。
2、1-4题的程序名称分别为:q1.c、q2.c、q3.c、q4.c 。
上传源程序代码到教师指定机器。
3、第1-3题,任意选择两道题,第4题必做。
C语言程序设计技能测试题(第1套)一、利用循环打印出以下图案(行数由键盘输入)。
(30分)**********二、输入一个正整数,按照逆序显示输出各位数字。
例如:输入2389,则输出为9832。
(30分)三、求s=1!+2!+3!+4!+5!并输出结果。
(30分)四、学生记录由学号、姓名、成绩组成(学号、成绩都为整数),使用结构体数组,将下列学生的数据按成绩(由大到小)排序后显示到屏幕上。
(学生数据可以直接在程序中定义,或者从键盘录入)(40分)1 Li 902 wang 953 zhao 804 liu 855 chen 946 yang 79C语言程序设计技能测试考试说明1、在D盘或E盘根目录下创建文件夹以存放程序文件。
2、1-4题的程序名称分别为:q1.c、q2.c、q3.c、q4.c 。
上传源程序代码到教师指定机器。
3、第1-3题,任意选择两道题,第4题必做。
C语言程序设计技能测试题(第2套)一、从键盘输入一个正整数,输出各位数字的和。
(30分)例如:输入2389,输出为22。
(因为2+3+8+9=22)。
二、输出101-200之间的所有素数。
(30分)三、有一个已经排好序的数组a[30]={7,10,13,16,20,24,26,46,68,69,99}。
从键盘录入一个整数,要求按原来的排序规律将它插入数组中,并显示插入后的数组的内容。
(30分)四、学生记录由学号、姓名、成绩组成(学号、成绩都为整数),将下列学生数据中不及格的学生信息显示出来。
(学生数据可以直接在程序中定义,或者从键盘录入)(40分)2 wang 953 zhao 434 liu 855 chen 946 yang 51C语言程序设计技能测试考试说明1、在D盘或E盘根目录下创建文件夹以存放程序文件。
c语言二级考试试题答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable2!答案:B2. 在C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. doubleD. char答案:A3. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. A、B和C都是答案:D4. C语言中,用于计算两个整数的乘积的运算符是?A. /B. *C. %D. ^5. 下列哪个选项是C语言中正确的字符串定义方式?A. char str[10] = "Hello";B. char str = "Hello";C. char str[10] = 'Hello';D. char str = 'Hello';答案:A6. 在C语言中,哪个函数用于计算数组中元素的数量?A. sizeofB. countC. lengthD. size答案:A7. 下列哪个选项是C语言中的条件语句?A. ifB. whenC. switchD. case答案:A8. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C9. 下列哪个选项是C语言中用于循环的关键字?B. whileC. do-whileD. A、B和C都是答案:D10. 在C语言中,哪个函数用于输出字符串到控制台?A. printfB. scanfC. coutD. endl答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明一个整型数组的语句是:int array[10];2. C语言中,用于声明一个字符数组的语句是:char array[10];3. C语言中,用于声明一个浮点型变量的语句是:float variable;4. C语言中,用于声明一个双精度浮点型变量的语句是:double variable;5. C语言中,用于声明一个字符型变量的语句是:char variable;6. C语言中,用于声明一个指针变量的语句是:int *pointer;7. C语言中,用于声明一个结构体的语句是:struct struct_name { ... };8. C语言中,用于声明一个联合体的语句是:union union_name { ... };9. C语言中,用于声明一个枚举类型的语句是:enum enum_name { ... };10. C语言中,用于声明一个函数的语句是:返回类型函数名(参数列表) { ... };三、编程题(每题10分,共60分)1. 编写一个C语言程序,计算并输出100以内所有奇数的和。
c语言二级考试题及答案一、单项选择题(本大题共40小题,每小题2分,共80分)1. 在C语言中,下列哪个选项是正确的整型常量?A. 0.5B. 0x12C. 0x12.0D. 0x12L答案:B2. C语言中,下列哪个选项是正确的字符串字面量?A. "hello"B. 'hello'C. "hello'"D. 'hello"答案:A3. 在C语言中,下列哪个选项是合法的标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C4. 下列哪个选项是C语言中的关键字?A. intB. integerC. realD. double答案:A5. 在C语言中,下列哪个选项是正确的二进制常量表示?A. 0x1BB. 0b1101C. 0B1101D. 0x1101答案:B6. C语言中,下列哪个选项是正确的浮点型常量表示?A. 3.14B. 3.14e2C. 3.14E-2D. 3.14f答案:C7. 在C语言中,下列哪个选项是正确的字符常量表示?A. 'a'B. "a"C. 'ab'D. '0x61'答案:A8. 下列哪个选项是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, 5};答案:A9. 在C语言中,下列哪个选项是正确的函数声明?A. int add(int a, int b);B. int add();C. int add(int, int);D. int add(int a, b);答案:A10. 下列哪个选项是C语言中合法的指针声明?A. int *p;B. int *p[];C. int *p[5];D. int (*p)();答案:A11. 在C语言中,下列哪个选项是正确的结构体声明?A. struct Point { int x, y; };B. struct { int x, y; } Point;C. struct Point { int x; int y; };D. struct { int x; int y; };答案:C12. 下列哪个选项是C语言中合法的枚举声明?A. enum {RED, GREEN, BLUE} color;B. enum color {RED, GREEN, BLUE};C. enum {RED, GREEN, BLUE};D. enum color {0, 1, 2};答案:B13. 在C语言中,下列哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI(3.14159)D. #define PI 3.14159;答案:A14. 下列哪个选项是C语言中合法的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A15. 在C语言中,下列哪个选项是正确的条件语句?A. if (a > b) { ... }B. if a > b { ... }C. if (a > b) then { ... }D. if a > b then { ... }答案:A16. 下列哪个选项是C语言中合法的循环语句?A. for (i = 0; i < n; i++) { ... }B. for i = 0; i < n; i++ { ... }C. for (i = 0; i < n; i++) { ... }D. for i = 0 to n { ... }答案:A17. 在C语言中,下列哪个选项是正确的switch语句?A. switch (a) { case 1: ...; case 2: ...; }B. switch (a) { case 1: ...; case 2: ...; default: ...; }C. switch (a) { case 1: ...; case 2: ...; break; }D. switch (a) { case 1: ...; case 2: ...; default: ...; }答案:D18. 下列哪个选项是C语言中合法的goto语句?A. goto label;B. goto 10;C. label: ...D. goto;答案:C19. 在C语言中,下列哪个选项是正确的函数调用?A. printf("%d", 10);B. scanf("%d", &a);C. printf("%d", a);D. scanf("%d", a);答案:B20. 下列哪个选项是C语言中合法的函数定义?A. int add(int a, int b) { return a + b; }B. int add(int a, b) { return a + b; }C. int add(int a, int b) { return a + b; }D. int add(a, b) { return a + b; }答案:A21. 在C语言中,下列哪个选项是正确的递归函数调用?A. int factorial(int n) { return n * factorial(n - 1); }B. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }C. int factorial(int n) { return n * factorial(n + 1); }D. int factorial(int n) { if (n == 1) return 1; else return n * factorial(n - 1); }答案:B22. 下列哪个选项是C语言中合法的数组初始化?A. int a[5] = {1, 2, 3, 4, 5};B. int a[5] = {1, 2, 3, 4};C. int a[5] = {1, 2, 3};D. int a[5] = {1, 2, 3, 4, 5, 6};答案:A23. 在C语言中,下列哪个选项是正确的字符串复制?A. strcpy(a, b);B. strcopy(a, b);C. copy(a, b);D. strcp(a, b);24. 下列哪个选项是C语言中合法的内存分配?A. int *p = (int *)malloc(sizeof(int) * 10);B. int *p = malloc(10 * sizeof(int));C. int *p = (int *)malloc(10);D. int *p = malloc(sizeof(int) * 10);答案:A25. 在C语言中,下列哪个选项是正确的内存释放?A. free(p);B. delete p;C. deallocate p;D. dispose p;答案:A26. 下列哪个选项是C语言中合法的指针运算?B. p--;C. p += 2;D. p = 2;答案:A27. 在C语言中,下列哪个选项是正确的结构体赋值?A. Point p1 = {1, 2};B. Point p1 = p2;C. Point p1 = {1, 2};D. Point p1 = {1, 2, 3};答案:B28. 下列哪个选项是C语言中合法的枚举值使用?A. color = RED;B. color = 0;C. color = "RED";D. color = 1;答案:A29. 在C语言中,下列哪个选项是正确的宏替换?A. #define SQUARE(x) x * xB. #define SQUARE(x) (x) * (x)C. #define SQUARE(x) x * xD. #define SQUARE(x) (x) * (x)答案:D30. 下列哪个选项是C语言中合法的文件操作?A. FILE *fp = fopen("file.txt", "r");B. FILE *fp = open("file.txt", "r");C. FILE *fp = fopen("file.txt", "w");D. FILE *fp = open("file.txt", "w");答案:A31. 在C语言中,下列哪个选项是正确的文件读取?A. fscanf(fp, "%d", &a);B. scanf(fp, "%d", &a);C. fscanf(fp, "%d", a);D. scanf(fp, "%d", a);答案:A32. 下列哪个选项是C语言中合法的文件写入?A. fprintf(fp, "%d", a);B. printf(fp, "%d", a);C. fprintf(fp, "%d", &a);D. printf(fp, "%d", &a);答案:A33. 在C语言中,下列哪个选项是正确的文件关闭?A. close(fp);B. fclose(fp);C. fclose(fp);D. close(fp);答案:B34. 下列哪个选项是C语言中合法的错误处理?A. if (fp == NULL) { perror("Error opening file"); exit(1); }B. if (fp == NULL) { printf("Error opening file"); exit(1); }C. if (fp == NULL) { perror("Error opening file"); return 1; }D. if (fp == NULL) { printf("Error opening file"); return 1; }答案:A35. 在C语言中,下列哪个选项是正确的位运算?A. a & b;B. a && b;D. a || b;答案:A36. 下列哪个选项是C语言中合法的逻辑运算?A. a && b;B. a || b;C. a & b;D. a | b;答案:A37. 在C语言中,下列哪个选项是正确的自增运算?A. a++;B. ++a;C. a += 1;D. a = a + 1;38. 下列哪个选项是C语言中合法的自减运算?A. a--;B. --a;C. a -= 1;D. a = a - 1;答案:A39. 在C语言中,下列哪个选项是正确的类型转换?A. (int)a;B. int(a);C. (int)(a);D. int a;答案:C40. 下列哪个选项是C语言中合法的sizeof运算?A. sizeof(a);B. sizeof int;C. sizeof(int);D. sizeof "string";答案:C二、程序填空题(本大题共2小题,每小题10分,共20分)1. 给定以下代码片段,请填写缺失的部分以实现计算并打印两个整数的和。
二级c语言考试题及答案文档一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. integerC. stringD. float答案:A2. C语言中,用于定义一个整型变量的关键字是?A. varB. letC. intD. integer答案:C3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. =D. <=答案:A4. 下列哪个函数用于计算两个数的和?A. pow()C. abs()D. sum()答案:D5. 在C语言中,哪个函数用于输入一个字符?A. scanf()B. getchar()C. printf()D. puts()答案:B6. 下列哪个选项是正确的C语言变量名?A. 2variableB. variable2C. variable-nameD. variable$name答案:B7. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. defineD. void答案:D8. C语言中,用于输出一个整数的函数是?B. printf()C. cout()D. print()答案:B9. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. &D. |答案:A10. 在C语言中,哪个关键字用于跳过当前循环的迭代?A. continueB. breakC. returnD. exit答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个结构体。
答案:struct2. C语言标准库函数________用于计算一个浮点数的平方根。
答案:sqrt3. 使用________运算符可以将字符'A'转换为对应的ASCII码值。
答案:(int)'A'4. 在C语言中,使用________函数可以输出格式化的字符串。
第二套试题一、判断题第1题:C语言允许直接访问物理地址。
参考答案:对第2题:在标准C语言中,共用体变量中的各成员的首地址是不一样的。
参考答案:错第3题:全局变量的作用域一定比局部变量的作用域范围大参考答案:错第4题:C语言的源程序不必通过编译就可以直接运行参考答案:错第5题:指针变量与变量的指针都与地址有关参考答案:对第6题:C语言的函数可以嵌套定义参考答案:错第7题:局部变量的作用域是当前文件。
参考答案:错第8题:在标准C语言中,宏替换是程序运行时完成的。
参考答案:错第9题:在标准C中,“=”是判断两个数是否相等。
参考答案:错第10题:C语言编译时不检查语法参考答案:错二、选择题(请选择正确的选项)第1题:以下程序的输出结果是main( ){int n=4;while(n--) printf("%d ",--n);} 参考答案:AA、2 0B、3 1C、3 2 1D、2 1 0第2题:数组定义为int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。
参考答案:BA、a[3][2]B、a[2][1]C、a[1][2]D、a[2][3]第3题:字符串指针变量中存入的是参考答案:AA、字符串的首地址B、字符串C、第一个字符D、字符串变量第4题:下列表达式的值为0的是()参考答案:CA、3﹪5B、3/5.0C、3/5D、3<5第5题:C语言中以追加方式打开一个文件应选择_______________参数参考答案:DA、“r”B、“w”C、“rb”D、“a”第6题:C语言中while和do-while循环的主要区别是参考答案:AA、do-while循环体至少无条件执行一次B、while的循环控制条件比do-while循环控制条件严格C、do-while循环允许从外部转到循环体内D、do-while循环体不能是复合语句第7题:下列说法中,正确的是参考答案:CA、主函数名是由程序设计人员按照“标识符”的规则选取的B、分号和回车符号都可以作为一个语句的结束符号C、在程序清单的任何地方都可以插入一个或多个空格符号D、程序的执行,总是从源程序清单的第1行开始第8题:设有以下宏定义:#define N 3#define Y(n) ((N+1)*n)则执行语句:z=2 *(N+Y(5+1));后,z的值为参考答案:CA、出错B、42C、48D、54第9题:已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\103’是字母参考答案:CA、AB、BC、CD、D第10题:在c语言中,不允许有常量的数据类型是参考答案:BA、整型B、结构型C、字符型D、字符串三、填空题(请把正确的选项填入试题前的空格中)第1题:2. 输入一个正整数n,如果它是素数,输出"YES",否则输出" NO"(素数就是只能被1和自身整除的正整数)。
#include <stdio.h>#include <math.h>int prime(int m);main( ){int n;scanf("%d",&n);if(____)printf("YES\n");elseprintf("NO\n")}int prime(int m){int j,n;if(____)return 0;n=sqrt(m);for(____;j<=n;j++)if(____)return 0;;_____}参考答案:prime(n)参考答案:m==1参考答案:j=2参考答案:m % j == 0参考答案:return 1第2题:3. 以下程序将一个磁盘文件中的信息复制到另一个磁盘文件中。
#include "stdio.h"main(){ FILE *in, *out;char ch;char infile[10], outfile[10];printf("Enter the infile name\n");scanf("%s",___);printf("Enter the outfile name\n");scanf("%s", outfile);if ((in = fopen(infile, "__"))==NULL){printf("can not open infile %s\n", infile);exit(0);}if ((out = fopen(outfile, " w "))==NULL){printf("can not open outfile %s\n", outfile);exit(0);}while(__)fputc(__ , out);___;fclose(out);}参考答案:infile参考答案:r参考答案:!feof(in)参考答案:fgetc(in)四、阅读题(请把正确的选项填入试题前的空格中)第1题:写出下列程序的输出结果。
#include <stdio.h>void main ( ){int k, a=1,b=2;k= (a++==b) ? 2:3;printf(“k=%d\n”,k);}A)、k=1 B)、k=2 C)、k=3 D)、k=4参考答案:C第2题:阅读下列程序,写出程序的输出结果。
#include <stdio.h>void main ( ){ int x=100, a=10, b=20, ok1=5, ok2=0 ;if(a<b) if(!ok1) x=1;else if(ok2) x=10;else x=-1;printf(“%d\n”, x);}A)、100 B)、1 C)、10 D)、-1参考答案:D第3题:阅读下列程序,写出程序的输出结果。
#include <stdio.h>void main ( ){ int I=5;do {switch (I%2) {case 4: I--; break;case 6: I--; continue;}I--; I--;printf("%3d", I);} while(I>0);}A)、3 1 -1 B)、5 3 1 C)、3 2 1 D)、3 1 0参考答案:A第4题:阅读程序,写出运行结果。
#include <stdio.h>void main(){ int a[6]={12,4,17,25,27,16}; int b[6]={27,13,4,25,23,16}, I, j;for(I=0;I<6;I++){for(j=0;j<6;j++)if(a[I]==b[j]) break;if(j<6) printf("%4d",a[I]);}printf("\n");}A)、12 4 17 25 27 16B)、4 25 27 16 C)、25 27 16 D)、27 16参考答案:B第5题:阅读下面程序,写出运算结果.#include<math.h>#include <stdio.h>void main( ){ double f(double, int); printf("%0.21f\n",f(2.0, 10));}double f(double x, int n){ double t;if(n = =1) t=x;elset=x*f(x,n/2);return t;}A)、16 B)、16.00 C)、1600 D)、16.2参考答案:B五、设计题(请按照题目要求进行答题,完成之后打包上传)第1题:三个整数a、b、c,由键盘输入,输出其中最大的一个数(用if-else 实现)参考答案:#include <stdio.h>main(){int a,b,c;printf("请输入三个整数:");scanf("%d,%d,%d",&a,&b,&c);if(a<b)if(b<c) printf("max=%d\n",c);else printf("max=%d\n",b);else if(a<c) printf("max=%d\n",c);else printf("max=%d\n",a);}第2题:从键盘输入两个数a、b。
利用函数的方法求出两个数当中大的。
并在屏幕上输出。
参考答案:#include<stdio.h>main(){int a,b,c,max();printf("输入两个数:");scanf("%d,%d",&a,&b);c=max(a,b);printf("a,b中最大的是:%d",c);}int max(int x,int y){int z;z=x>y?x:y;return(z);}第3题:编写程序建立一个整型数组,数组元素依次是1,2,3,4,5,6,7,8,9;通过对自定义函数inv的调用,使数组元素依次是9,8,7,6,5,4,3,2,1。
参考答案:#include <stdio.h >void inv(int a[],int n){int k,j=n-1,temp;for(k=0;k <j;k++,j--){temp=a[k];a[k]=a[j];a[j]=temp;}}void main(){ int j;int a[]={1,2,3,4,5,6,7,8,9};inv(a,9);for(j=0;j <9;j++) printf("%d",*(a+j));printf("\n");}。