湖南省计算机二级考试(C语言程序设计题附答案)01

合集下载

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

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

计算机二级c语言试题及答案详解一、基础知识部分1. 下列关于C语言的描述中,错误的是:A) C语言是一种高级语言B) C语言是一种编译型语言C) C语言是一种面向对象语言D) C语言是一种结构化语言答案:C) C语言是一种面向对象语言解析:C语言是一种过程式语言,不是面向对象语言。

2. 下列关于C语言标识符的说法中,错误的是:A) 标识符由字母、数字和下划线组成B) 标识符可以以字母或下划线开头C) 标识符区分大小写D) 标识符不能与C语言的关键字相同答案:C) 标识符区分大小写解析:C语言标识符是不区分大小写的。

3. 以下哪项不是C语言关键字?A) ifB) whileC) varD) for答案:C) var解析:C语言中没有关键字var,正确的关键字是int。

4. 下列代码中,哪个选项是合法的C语言注释?A) /* This is a comment */B) // This is a commentC) # This is a commentD) <!-- This is a comment -->答案:A) /* This is a comment */解析:C语言的注释格式是/* ... */。

二、程序设计部分请写一段C语言程序,实现将两个数相加并输出结果的功能。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两数之和为:%d\n", sum);return 0;}```解析:以上代码实现了从用户输入两个整数,然后将其相加并输出结果的功能。

三、综合应用部分下列代码中,输出的结果是多少?```c#include <stdio.h>int main() {int a = 5, b = 2;float result;result = a / b;printf("结果为:%f\n", result);return 0;}```答案:结果为2.000000解析:由于a和b都是整数类型,除法运算得到的结果也是整数类型。

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

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

计算机二级c语言考试试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name答案:C3. 在C语言中,哪个函数用于计算并返回字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A4. 若有定义:int a = 5;,则执行以下语句后变量a的值是多少?```ca += (a / 2) + 1;```A. 8C. 6D. 5答案:B5. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r+"B. "w+"C. "a+"D. "b+"答案:B6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +=D. !=答案:A7. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. voidD. return答案:C8. 若有定义:char ch = 'A';,则执行以下语句后变量ch的ASCII 值是多少?```cch = ch - 'a' + 'A';```B. 97C. 66D. 98答案:A9. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strncpyC. strcatD. strcmp答案:A10. 下列哪个选项是C语言中的正确注释方式?A. /* This is a comment */B. // This is a commentC. /* This is a comment */D. # This is a comment答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个数组。

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

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

计算机二级c语言考试真题及答案详解一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A2. 若有定义int a=1, b=2;,则以下哪个表达式的值不为真?A. a<bB. a<=bC. a>bD. a!=b答案:C3. 在C语言中,以下哪个选项是合法的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:A4. 下列哪个函数不能正确计算数组元素的总和?A. sum = 0; for(i=0; i<n; i++) sum += array[i];B. sum = 0; for(i=0; i<n; i++) sum = sum + array[i];C. sum = 0; for(i=0; i<n; i++) sum = array[i];D. sum = 0; for(i=0; i<n; i++) sum += array[i];答案:C5. 在C语言中,以下哪个选项是合法的函数声明?A. int add(int, int);B. int add();C. int add(int a, int b);D. int add(a, b);答案:C6. 若有定义int a[10];,则以下哪个表达式是合法的数组元素访问?A. a[10]B. a[-1]C. a[3.5]D. a[3]答案:D7. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A8. 若有定义int x=10;,则以下哪个表达式是合法的赋值语句?A. x = x + 1;B. x = 1 + x;C. x = x++;D. x = ++x;答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do {} while(0)D. for(;;) {}答案:D10. 若有定义int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式是合法的数组元素访问?A. a[5]B. a[-1]C. a[2.5]D. a[2]答案:D11. 在C语言中,以下哪个选项是合法的switch语句?A. switch(x) { case 1: break; }B. switch(x) { default: break; }C. switch(x) { case 1: case 2: break; }D. switch(x) { case 1: default: break; }答案:C12. 若有定义int x=5;,则以下哪个表达式是合法的自增运算?A. x++;B. ++x;C. x--;D. --x;答案:A13. 在C语言中,以下哪个选项是合法的函数原型声明?A. void func();B. int func(int);C. void func(int a);D. All of the above答案:D14. 若有定义int a=3;,则以下哪个表达式是合法的位运算?A. a & 2B. a | 2C. a ^ 2D. All of the above答案:D15. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. All of the above答案:A二、编程题(每题30分,共60分)1. 编写一个函数,计算并返回一个整数数组中所有元素的和。

计算机二级C语言程序设计试题及答案

计算机二级C语言程序设计试题及答案

计算机二级C语言程序设计试题及答案尽管提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进展编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

今天,特意为大家推荐C语言程序设计试题及答案,一起看看吧!1.C语言中,关系表达式和逻辑表达式的值是( B ) 。

A、0B、 0或1C、 1D、‘T’或’F’2. 下面( D )表达式的值为4.A、 11/3B、 11.0/3C、 (float)11/3D、 (int)(11.0/3+0.5)【解析】(1)相同数据类型的元素进展数学运算(+、-、*、/)得到结果还保持原数据类型。

(2)不同数据类型的元素进展数学运算,先要统一数据类型,统一的标准是低精度类型转换为高精度的数据类型。

选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数局部全部舍掉,仅保存整数,因此11/3=3.选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B11.0/3=3.666666选项C,先将整数11强制类型转换,转换为实型11.0,因此选项C变为11.0/3,其后计算过程、结果与选项B同选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到3.666666;再计算3.666666+0.5=4.166666,最后将4.166666强制类型转换为整型,即将其小数局部全部舍掉,结果为43.设整型变量 a=2,那么执行以下语句后,浮点型变量b的值不为0.5的是( B )A、b=1.0/aB、b=(float)(1/A、C、b=1/(float)aD、b=1/(a*1.0)4. 假设“int n; float f=13.8;”,那么执行“n=(int)f%3”后,n的值是(A)A、1B、4C、4.333333D、4.6【解析】“(int)f“表示将f中的值强制类型转换为整型,即将13.8的小数局部舍掉,转换为13;然后计算13%3,结果为1,再将结果赋给变量n,因此n的值为15. 以下对一维数组a的正确说明是: DA、char a(10);B、 int a[];C、int k=5,a[k];D、char a[3]={‘a’,’b’,’c’};【解析】详见教材P143~144,一维数组的定义、初始化类型符数组名 [常量表达式]类型符是指数组中数组元素的类型;数组名要符合标识符命名规那么;常量表达式是指数组的长度(数组中包含元素的个数),其值只能是整数,不可以是变量,而且从1开始计数。

《全国计算机等级考试二级教程C语言程序设计》

《全国计算机等级考试二级教程C语言程序设计》

《全国计算机等级考试二级教程——C语言程序设计》课后题及参考答案第一章程序设计基本概念1.1 在TRUBO C环境中用RUN命令运行一个C程序时,所运行的程序的后缀是______.答案:.exe1。

2 C语言源程序文件的后缀是_____,经过编译后,生成文件的后缀是_____,经过连接后,生成文件的后缀是____ _.答案:。

c 。

obj 。

exe1.3 结构化程序由_____、_____、_____三种基本结构组成.答案:顺序、选择、循环第二章 C程序设计的初步知识一、选择题2。

1 以下选项中正确的整型常量是A)12. B)—20 C)1,000 D)4 5 6答案:B2.2 以下选项中正确的实型常量是A)0 B)3。

1415 C)0.329×10(2)(10的2次方) D)。

871答案:D2。

3 以下选项中不正确的实型常量是A)2。

607E-1 B)0。

8103e 2 C)—77。

77 D)456e-2答案:B2。

4 以下选项中不合法的用户标识符是A)abc。

c B)file C)Main D)PRINTF答案:A2.5 以下选项中不合法的用户标识符是A)_123 B)printf C)A$D)Dim答案:C2。

6 C语言中运算对象必需是整型的运算符是A)%B)/ C)!D)**答案:A2.7 可在C程序中用作用户标识符的一组标识符是A)void define WORDB)as_b3 _123 IfC)For -abc caseD)2c DO SIG答案:B2。

8 若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7; B)a=7+b+c,a++ C)int(12.3%4)D)a=a+7=c+b答案:B2.9 以下叙述中正确的是A)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值.B)在赋值表达式中,赋值号右边既可以是变量也可以是任意表达式.C)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b 的值由原值变为0.D)已有a=3,b=5。

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

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

计算机二级c语言考试试题及答案一、单项选择题(每题2分,共20分)1. 下列关于C语言的描述中,不正确的是()。

A. C语言是一种高级编程语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持多种数据类型答案:B2. C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A3. 下列选项中,不属于C语言运算符的是()。

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

A. defineB. functionC. voidD. int答案:B5. 下列关于C语言数组的描述中,正确的是()。

A. 数组可以存储不同类型的数据B. 数组的索引从0开始C. 数组的大小在定义后可以改变D. 数组的元素必须是连续存储的答案:B6. 在C语言中,用于输入输出的库函数是()。

A. printfB. scanfC. coutD. cin答案:B7. 下列关于C语言指针的描述中,不正确的是()。

A. 指针可以存储变量的地址B. 指针可以作为函数的参数C. 指针可以进行算术运算D. 指针可以存储任何类型的数据答案:D8. 在C语言中,用于定义一个枚举类型的关键字是()。

A. enumB. structC. unionD. typedef答案:A9. 下列关于C语言函数的描述中,不正确的是()。

A. 函数可以有返回值B. 函数可以没有返回值C. 函数可以没有参数D. 函数的参数必须是变量答案:D10. 在C语言中,用于定义一个联合体的关键字是()。

A. unionB. structC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是______。

答案:&&2. C语言中,用于声明一个字符型变量的关键字是______。

计算机二级C语言测试题(含答案)

计算机二级C语言测试题(含答案)

(第一章)1. 以下关于算法的描述不正确的是__________。

A. 任何一个问题,它的实现算法是唯一的B. 描述算法常用的表达工具有流程图、N-S图、PAD图、伪码等C. 算法的最终实现是计算机程序D. 正确性和清晰易懂性是一个好算法的基本条件2.下面是一个加法程序,指出存在的逻辑错误和语法错误。

/* 求整数a和b的和 */main( ){int a,b;a=8;b=2000;print("%d\n",a-b);}3.在每个C程序中都必须包含有这样一个函数,该函数的函数名为__________。

A.main B. MAIN C. name D. function4.以下叙述不正确的是__________。

A.C程序书写格式规定,一行内只能写一个语句B.main()函数后面有一对花括号,花括号内的部分称为函数体C.一个C程序必须有main()函数D.C规定函数内的每个语句以分号结束5.以下各标识符中,合法的用户标识符为_________。

A.A#C B.mystery C.main D.ab*6.已知求解某问题的算法如下:⑴输入a、b、c三个数。

⑵将a和b比较,较大者放在a中,小者放在b中。

⑶将a和c比较,较大者放在a中,小者放在c中。

⑷将b和c比较,较大者放在b中,小者放在c中。

⑸依次输出a、b、c。

请根据上述算法描述,把算法的功能表达出来。

【答案】把任意输入的三个数a、b、c按降序排列的顺序输出。

7.一个C语言程序可以包括多个函数,程序总是按照如下_________所描述的方式执行当前的程序。

A.从本程序的main()函数开始,到本程序文件的最后一个函数结束。

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

C.从main()函数开始,到main()函数结束。

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

8.以下叙述正确的是_________。

2022年湖南省岳阳市全国计算机等级考试C语言程序设计真题二卷(含答案)

2022年湖南省岳阳市全国计算机等级考试C语言程序设计真题二卷(含答案)

2022年湖南省岳阳市全国计算机等级考试C语言程序设计真题二卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.下列叙述中不正确的是( )。

A.在C语言中调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B.在C的函数中,最好使用全局变量C.外部变量可以在函数之间传递数据D.自动变量实质上是一个函数内部的局部变量2.线性链表中结点的结构为(data,next)。

已知指针p所指结点不是尾结点,若在*p之后插入结点*s,则应执行下列()操作。

A.s->next=p;p->next=s;B.s->next=p->next;p->next=s;C.s->next=p->next;p=s;D.p->next=s;s->next=p;3. C语言规定,程序中各函数之间( )A.既允许直接递归调用也允许间接递归调用B.不允许直接递归调用也不允许间接递归调用C.允许直接递归调用不允许间接递归调用D.不允许直接递归调用允许间接递归调用4.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和______。

A.编码设计B.测试阶段C.运行阶段D.物理设计5.有以下程序:#include <stdio.h>main(){int a=1,b=2,c=3,d=4, r=0;if(a!=1) r=1;if(b== 2) r=2;else if(c!=3) r=3;else if(d==4) r=4;printf(“%d\n”, r);}程序运行后的输出结果是()。

A.0B.4C.1D.26.以下程序是用来计算两个非负数之间的最大公约数:我们假设x,y中最大的那个数的长度为n,基本运算时间复杂度为O(1),那么该程序的时间复杂度为()A.O(1)B.O(logn)C.O(n)D.O(n^2)7.若有定义“int b[8],*p=b;”,则p+6表示()。

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

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

计算机二级证c语言试题及答案计算机二级证C语言试题及答案1. 以下关于C语言的描述中,错误的是()。

A. C语言是一种高级编程语言。

B. C语言是面向对象的编程语言。

C. C语言具有跨平台的特性。

D. C语言可以用于系统软件的开发。

答案:B2. 在C语言中,下列哪个选项不是合法的变量名?A. _nameB. name_2C. 2nameD. name答案:C3. 以下关于C语言中数组的描述,正确的是()。

A. 数组的大小在编译时确定。

B. 数组的大小在运行时确定。

C. 数组的元素可以是任意数据类型。

D. 数组的元素必须是相同的数据类型。

答案:A4. 在C语言中,下列哪个运算符用于执行加法运算?A. +B. -C. *D. /答案:A5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %=D. =答案:A6. 在C语言中,使用哪个关键字可以定义一个函数?A. classB. functionC. defD. int答案:D7. 以下关于C语言中指针的描述,错误的是()。

A. 指针可以存储变量的地址。

B. 指针可以存储函数的地址。

C. 指针可以存储数组的地址。

D. 指针本身没有地址。

答案:D8. 在C语言中,下列哪个选项不是控制语句?A. ifB. whileC. forD. switch答案:D9. 在C语言中,下列哪个选项用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A10. 下列哪个选项是C语言中预处理指令?A. #includeB. #defineC. #ifD. All of the above答案:D11. 在C语言中,下列哪个选项用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A12. 在C语言中,下列哪个选项用于定义一个联合体?A. structB. unionC. enumD. typedef答案:B13. 在C语言中,下列哪个选项用于定义一个宏?A. #defineB. #includeC. #ifD. #define答案:A14. 在C语言中,下列哪个选项用于将字符串转换为字符数组?A. strcpyB. strcatC. strncatD. sprintf答案:A15. 在C语言中,下列哪个选项用于将整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:C。

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

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

计算机二级c语言考试试题及答案计算机二级C语言考试通常包括选择题、填空题、简答题和编程题等几种类型。

以下是一些模拟试题及答案,供参考:# 一、选择题1. 下列哪个是C语言的关键字?- A. `int`- B. `float`- C. `double`- D. `string`答案:A2. C语言中,以下哪个不是合法的变量名?- A. `my_var`- B. `2variable`- C. `variable_name`- D. `variable`答案:B3. 在C语言中,哪个运算符用于求余数?- A. `%`- B. `/`- C. `*`- D. `+`答案:A4. 以下哪个语句用于结束C程序?- A. `return 0;`- B. `exit(0);`- C. `end;`- D. `void main()`答案:A5. 在C语言中,数组的索引是从哪个数字开始的?- A. 0- B. 1- C. -1- D. 随机数答案:A# 二、填空题1. 在C语言中,`printf`函数用于______。

答案:输出信息2. 定义一个整型变量`a`并初始化为10,应使用语句:`int a =______;`答案:103. C语言中,`for`循环的一般形式为:`for(初始化表达式; 条件表达式; 迭代表达式) ______;`答案:{循环体}4. 字符串在C语言中以______字符结尾。

答案:'\0'5. 使用`scanf`函数从键盘读取数据时,需要在格式字符串中使用______来指定变量的地址。

答案:&# 三、简答题1. 请简述C语言中函数的作用和基本结构。

答案:函数是C语言中实现代码复用的一种方式。

一个函数通常用于执行一个特定的任务。

基本结构包括函数原型声明和函数定义。

函数原型声明了函数的返回类型、名称和参数列表。

函数定义则包含了函数的实现细节,即函数体。

2. 解释C语言中指针的概念及其用途。

全国计算机等级考试二级教程--C语言程序设计课后习题答案(最新整理)

全国计算机等级考试二级教程--C语言程序设计课后习题答案(最新整理)
return; }
4.23 #include
void main() { int a; printf ("请输入一个整数 :"); scanf ("%d",&a); if (a%2==0) { printf ("%d 是偶数\n", a); } else { printf ("%d 是奇数\n", a); } }
《全国计算机等级考试二级教程--C 语言程序设计》课后习题答案
第一章 1.1 EXE 1.2 C OBJ EXE 1.3 顺序 选择 循环
第二章 一. 选择题 2.1 B 2.2 D 2.3 B 2.4 A 2.5 C 2.6 A 2.7 B 2.8 B 2.9 D 2.10 C 2.11 B 2.12 B 2.13 A 二. 填空题 2.14 11 12 2.15 4.2 4.2 2.16 { } 定义 执行语句 2.17 关键字 用户标识符 2.18 int float double 2.19 float a1=1; float a2=1; 2.20 存储单元 2.21 3.5 2.22 (a*b)/c a*b/c a/c*b 2.23 把常量 10 赋给变量 s 2.24 位 1 或 0 2.25 8 127 0111111 -128 10000000 2.26 32767 -32768 1000000000000000 2.27 10 8 16 三. 上机改错题 2.28 #include "stdio.h"; 删除行尾的";" main(); / * main function * / 删除")"后的";",注释中的*要紧靠“/”,即应为“/*”和“*/” 函数开始处遗失了一个“{” float r,s ; /*/*r is radius*/,/* s is area of circuilar*/*/ 注释符号不可嵌套使用 r = 5.0 ; s = 3.14159 * r * r ; printf("%f\n",s) 行尾遗失了“;” 函数结束处遗失了一个“}”

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

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

2级计算机等级考试c语言试题及答案本文为2级计算机等级考试C语言试题及答案,以下是试题及对应答案。

第一部分:单选题(共10题,每题2分,共20分)1. 下列关于C语言的表述中,错误的是:A. C语言是面向过程的编程语言。

B. C语言是一种高级语言。

C. C语言是由贝尔实验室的Dennis Ritchie于1972年发明的。

D. C语言是一种解释性语言。

答案:D2. 以下哪个不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C3. 在C语言中,可以使用下面哪个关键字来定义常量?A. finalB. varC. constD. let答案:C4. 下列代码段中,输出结果是什么?#include <stdio.h>int main() {printf("%d\n", sizeof(int));return 0;}A. 2B. 4C. 8D. 编译错误答案:B5. 下列关于指针的说法中,错误的是:A. 指针存储的是变量的地址。

B. 可以使用指针来间接访问变量。

C. 指针变量必须在使用之前初始化。

D. C语言不支持指针。

答案:D6. 以下哪个关键字可以用于声明一个函数?A. functionB. voidC. methodD. return答案:B7. 在C语言中,使用以下哪个关键字来定义一个结构体?A. newB. classC. structD. typedef答案:C8. 下列代码段中,输出结果是什么?#include <stdio.h>int sum(int a, int b) {return a + b;}int main() {int result = sum(3, 5);printf("%d\n", result);return 0;}A. 3B. 5C. 8D. 编译错误答案:C9. 下列代码段中,输出结果是什么?#include <stdio.h>int main() {int arr[5] = {1, 2, 3, 4, 5};printf("%d\n", arr[3]);return 0;}A. 1B. 2C. 3D. 4答案:D10. 在C语言中,下列哪个运算符用于取两个数中的较大值?A. maxB. >C. &D. ||答案:B第二部分:填空题(共5题,每题2分,共10分)1. C语言中,行注释以(//)开头,块注释以(/*)开头,以(*/)结尾。

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

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

计算机二级c语言考试及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A2. 若有定义:int a=3, b=2;,则表达式a%b的值是多少?A. 0B. 1C. 2D. 3答案:B3. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strncpy答案:A4. 下面哪个选项是C语言中合法的字符常量?A. 'a'B. "a"C. 'ab'D. '\t'答案:D5. 若有定义:int x=10;,则执行语句x+=x-=x;后,x的值是多少?A. 0B. -10C. 10D. 20答案:A6. 在C语言中,以下哪个关键字用于声明一个联合体?A. structB. unionC. enumD. typedef答案:B7. 下列哪个选项不是C语言的标准输入输出函数?A. printfB. scanfC. coutD. getchar答案:C8. 在C语言中,以下哪个关键字用于声明一个枚举?A. structB. unionC. enumD. typedef答案:C9. 若有定义:int a=5, b=3;,则执行语句a+=b;后,a的值是多少?A. 8B. 3C. 5D. 2答案:A10. 在C语言中,以下哪个函数用于将字符串连接到另一个字符串?A. strcpyB. strcatC. strcmpD. strncpy答案:B二、填空题(每题2分,共20分)1. 在C语言中,声明一个整型变量并初始化为10,可以使用语句:int a = _______;。

答案:102. 若有定义:int a=5, b=3;,则执行语句a*=b后,a的值是_______。

答案:153. 在C语言中,若要比较两个字符串是否相等,可以使用函数_______。

湖南省计算机二级考试C语言操作题附答案

湖南省计算机二级考试C语言操作题附答案

.第1套填空题请补充FUN函数,FUN函数的功能是求10的阶乘。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h>long fun(int n){if (___1___)return (n*fun(___2___));return ___3___;}main(){p rintf("10!=%ld\n", fun(10));}第1处填空:n>1或1<n第2处填空:n-1第3处填空:1或11或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。

例如,若输入整数2310,则应输出:2、3、5、7、11。

请改正程序中的错误,使程序能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2 and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1处:Isprime(int n);应改为Isprime(int n)第2处:if !(n%i)应该为if(!(n%i))编程题M个人的成绩存放在score数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below所指的数组中。

c语言二级程序设计试题及答案

c语言二级程序设计试题及答案

c语言二级程序设计试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言是面向对象的程序设计语言C. C语言具有丰富的数据类型D. C语言具有结构化的特点答案:B2. 在C语言中,用于定义一个整型数组的语句是:A. int a[10];B. int a[];C. int a(10);D. int a=10;答案:A3. 下列哪个选项是正确的C语言函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a);D. int function();答案:B4. 在C语言中,用于输入一个字符的函数是:A. scanf()B. printf()C. getchar()D. puts()答案:C5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. do-while答案:B6. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A7. 下列哪个选项是正确的C语言指针声明?A. int *p;B. int *p[];C. int (*p)[];D. int *p[10];答案:A8. 在C语言中,用于定义一个枚举类型的关键字是:A. enumB. typedefC. structD. union答案:A9. 下列哪个选项是正确的C语言文件操作函数?A. fopen()B. fclose()C. fprintf()D. All of the above答案:D10. 在C语言中,用于定义一个联合体的关键字是:A. unionB. structC. typedefD. enum答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个浮点型变量的关键字是________。

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

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

计算机二级c语言试题及答案详解一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项是合法的C语言变量名?A. 2variableB. intC. _variableD. variable!答案:C3. 在C语言中,用于表示逻辑与操作的运算符是?A. &&B. ||C. !D. =答案:A4. 下列哪个函数用于将整数转换为字符串?A. atoiB. itoaC. sprintfD. strcat答案:B5. 在C语言中,以下哪个选项是正确的多行注释方式?A. /* This is a comment */B. // This is a commentC. /* This is a commentThis is another line */D. // This is a commentThis is another line答案:C6. C语言中,用于定义一个无返回值的函数的关键字是?A. voidB. intC. floatD. char答案:A7. 下列哪个选项是C语言中正确的文件操作函数?A. fopenB. fcloseC. fgetcD. All of the above答案:D8. 在C语言中,用于定义一个数组的关键字是?A. arrayB. listC. vectorD. None of the above答案:D9. 下列哪个选项是C语言中正确的位运算符?A. &B. |C. ^D. All of the above答案:D10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字可以定义一个指针。

《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案

《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案
4.2 [2] 4.2
2.16 【参考答案】 [1] { [2] } [3] 定义 [4] 执行
2.17 【参考答案】 [1] 关键字 [2] 用户标识符
2.18 【参考答案】 [1] int [2] float [3] double
《全国计算机等级考试二级教程——C语言程序设计》
习题分析与详细解答
第一章 程序设计基本概念习题分析与解答
1.1 【参考答案】 EXE
1.2 【参考答案】 [1] .C [2] .OBJ [3] .EXE
1.3 【参考答案】 [1] 顺序结构 [2] 选择结构 [3] 循环结构
2.8 【参考答案】 B)
2.9 【参考答案】 D)
2.10 【参考答案】 C)
2.11 【参考答案】 B)
2.12 【参考答案】 B)
2.13 【参考答案】 A)
二、填空题
2.14 【参考答案】 [1] 11 [2] 12
2.23 【参考答案】 把10赋给变量s
2.24 【参考答案】 [1] 位 [2] 1位二进制数据(0或1)
2.25 【参考答案】 [1] 8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000
2.26 【参考答案】 [1] 32767 [2] -32768 [3] 1000000000000000
2.27 【参考答案】 [1] 十 [2] 八 [3] 十六
三、上机改错题
2.28 【分析与解答】
第1行的错误:
(1) include是一个程序行,因此在此行的最后不应当有分号(;)。
1
第二章 C程序设计的初步知识习题分析与解答
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.素数1. [100,999]范围内同时满足以下两个条件的十进制数. ⑴其个位数字与十位数字之和除以10所得的余数是百位数字;⑵该数是素数; 求有多少个这样的数?15 #include<math.h> int prime(int x) {int i,k; if(x<2)return(0); k=sqrt(x);for(i=2;i<=k;i++) if (x%i==0) break;if (i>k) return(1); else return(0); }main(){ int i,n=0,a,b,c; for(i=100;i<=999;i++) { a=i/100; b=i%100/10; c=i%10;if ((b+c)%10==a&&prime(i)) n++; }printf("Total is:%d",n); }2. [300,800]范围内同时满足以下两个条件的十进制数. ⑴其个位数字与十位数字之和除以10所得的余数是百位数字 ;⑵该数是素数;求满足上述条件的最大的三位十进制数。

761 3. 除1和它本身外,不能被其它整数整除的正整数称为素数(注:1不是素数,2是素数)。

若两素数之差为2 ,则称两素数为双胞胎数,问[31,601]之间有多少对双胞胎数。

22 #include<math.h> int prime(int x) {int i,k; if(x<2)return(0); k=sqrt(x);for(i=2;i<=k;i++) if (x%i==0) break;if (i>k) return(1); else return(0); }main(){ int i,n=0;for(i=31;i<=599;i++)if (prime(i)&&prime(i+2)) n++; printf("Total is:%d\n",n); }4. 数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和。

但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。

试求6744可以分解成多少种不同的素数对(注: A+B 与B+A 认为是相同素数对) 144 #include<math.h> int prime(int x) {int i,k; if(x<2)return(0); k=sqrt(x);for(i=2;i<=k;i++) if (x%i==0) break;if (i>k) return(1); else return(0); }main() { int i,n; n=0;for(i=31;i<=599;i++) if (prime(i)&&prime(i+2)) n++; printf("Total is:%d\n",n); }5. 两个素数之差为2,则称这两个素数为双胞胎数。

求出[200,1000]之间的最大一对双胞胎数的和。

6. 一个素数(设为p )依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p 的各位数字均不为零,则称该数p 为逆向超级素数。

例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。

试求[100,999]之内的所有逆向超级素数的个数。

7. 德国数学家哥德巴赫曾猜测:任何大于6的偶数都可以分解成两个素数(素数对)的和。

但有些偶数可以分解成多种素数对的和,如: 10=3+7,10=5+5,即10可以分解成两种不同的素数对。

试求1234可以分解成多少种不同的素数对(注: A+B 与B+A 认为是相同素数对) 8.求[100,900]之间相差为12的素数对(注:要求素数对的两个素数均在该范围内)的个数。

#include<math.h> int prime(int x) {int i,k; if(x<2)return(0); k=sqrt(x);for(i=2;i<=k;i++)if (x%i==0) break;if (i>k) return(1); else return(0);}main(){ int i,n=0;for(i=100;i<=900-12;i++)if (prime(i)&&prime(i+12)) n++; printf("Total is:%d\n",n); }9. 一个素数(设为p )依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:1不是素数),且数p 的各位数字均不为零,则称该数p 为逆向超级素数。

例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。

试求[100,999]之内的所有逆向超级素数的和。

21645#include<math.h> int prime(int x) { int i,k; k=sqrt(x);for(i=2;i<=k;i++) if (x%i==0) break; if (i>k) return(1); else return(0); }main(){ int i,s=0;int prime(int x); for(i=100;i<=999;i++) if(prime(i)&&prime(i%100)&&prime(i%10)) if((i%100/10!=0)&&(i%10!=0)&&(i%10!=1)) s=s+i;printf("Total is:%d\n",s); }10. 一个素数(设为p )依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:1不是素数,2是素数),且数p 的各位数字均不为零,则称该数p 为逆向超级素数。

例如,617,17,7都是素数,因此617是逆向超级素数,但尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。

试求[100,999]之内的所有逆向超级素数从大到小数的第10个素数是多少? 797 11. 一个自然数是素数,且它的数字位置经过任意对换后仍为素数,则称为绝对素数。

如13,试求所有两位绝对素数的和。

429 12. 在[200,900]范围 内同时满足以下两个条件的十进制数:⑴其个位数字与十位数字之和除以10所得的余数是百位数字; ⑵该数是素数;问有多少个这样的数?14 13. 一个素数,依次从个位开始去掉一位,二位.....,所得的各数仍然是素数,称为超级素数。

求[100,999]之内超级素数的个数。

14#include<math.h> int prime(int x) {int i,k; if(x<2)return(0); k=sqrt(x);for(i=2;i<=k;i++) if (x%i==0) break;if (i>k) return(1); else return(0); }main(){ int i,s=0;for(i=200;i<=999;i++) if(prime(i)&&prime(i/100)&&prime(i/10)) s++;printf("Total is: %d\n",si); }14. 若两个连续的自然数的乘积减1后是素数,则称此两个连续自然数为友数对,该素数称为友素数。

例如,由于 8*9-1=71, 因此,8与9是友数对,71是友素数。

求[100,200]之间的第10个友素数对所对应的友素数的值(按由小到大排列)。

17291 #include<math.h> int prime(int x) {int i,k; if(x<2)return(0); k=sqrt(x);for(i=2;i<=k;i++) if (x%i==0) break;if (i>k) return(1); else return(0); }main(){ int i,s=0;for(i=100;i<=200;i++) if (prime(i*(i+1)-1)) { s++;if (s==10) break;}printf("Total is:%d\n",i*(i+1)-1); } 15. 求[2,400]中相差为10的相邻素数对的对数。

516. 若两个连续的自然数的乘积减1后是素数,则称此两个连续自然数为友数对,该素数称为友素数。

例如,由于 8*9-1=71, 因此,8与9是友数对,71是友素数。

求[50,150]之间的友数对的数目。

38 17. 若两个自然连续数乘积减1后是素数,则称此两个自然连续数为友数对,该素数称为友素数,例:2*3-1=5,因此2与3是友数对,5是友素数,求[40,119]之间友素数对的数目。

18. 梅森尼数是指能使2^n-1为素数的数n ,求[1,21]范围内有多少个梅森尼数? 7#include<math.h> int prime(long x) { long k; long i; if(i<2)return(0); k=sqrt(x);for(i=2;i<=k;i++) if (x%i==0) break; if (i>k) return(1); else return(0); }main(){ int i,s=0;for(i=1;i<=21;i++) if(prime((long)(pow(2,i))-1)&&((long )(pow(2,i)-1)!=1)&&((long)(pow(2,i )-1)!=0)) {s++;printf("\nTotalis:%d,%ld\n",s,(long)(pow(2,i))-1);} } 2. 取数字19. [300,800]范围内同时满足以下两个条件的十进制数. ⑴其个位数字与十位数字之和除以10所得的余数是百位数字 ;⑵该数是素数;求满足上述条件的最大的三位十进制数。

相关文档
最新文档