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

全国计算机等级考试二级c语言题库及答案1. 以下哪个选项不是C语言中的运算符?A. 赋值运算符B. 逗号运算符C. 条件运算符D. 逻辑运算符答案:C2. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. unionC. voidD. int答案:D3. 若有以下代码片段:```cint a = 5, b = 10;a = a + b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 20答案:C4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. do-while答案:B6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 若有以下代码片段:```cint x = 3;printf("%d", x++);```执行后,输出的结果是多少?A. 3B. 4C. 2D. 5答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strncpy()C. strcat()D. strcmp()答案:A9. 下列哪个选项不是C语言中的数组类型?A. 一维数组B. 二维数组C. 三维数组D. 指针数组答案:D10. 在C语言中,以下哪个关键字用于声明一个指针变量?A. intB. charC. floatD. void答案:D结束语:以上是全国计算机等级考试二级C语言的部分题库及答案,希望对您的学习和复习有所帮助。
全国计算机等级考试c语言试题及答案

全国计算机等级考试c语言试题及答案试题一:1. 下列程序段的输出结果是什么?```#include <stdio.h>int main() {int a = 3;int b = 4;printf("%d\n", a + b * a / b);return 0;}```A. 7B. 27C. 5D. 12答案:D解析:根据C语言的运算规则,乘除法的优先级高于加减法,因此先计算b * a得到12,再除以b得到12,最后和a相加得到12。
2. 下列程序段的输出结果是什么?```#include <stdio.h>#define PI 3.1415int main() {float radius = 3.5;float area = PI * radius * radius;printf("%.2f\n", area);return 0;}```A. 10.36B. 11.60C. 38.48D. 38.48答案:C解析:根据定义的宏常量,将PI乘以半径的平方得到面积,结果保留两位小数。
3. 下列程序段的输出结果是什么?#include <stdio.h>int main() {int i = 0;while (i < 5) {printf("%d ", i++);}return 0;}```A. 0 1 2 3 4B. 0 1 2 3 4 5C. 0 1 2 3 4 4D. 1 2 3 4 5答案:A解析:循环中先执行printf输出i的值,再执行i++,因此输出结果为0 1 2 3 4。
试题二:1. 下列程序段的输出结果是什么?#include <stdio.h>int main() {int a = 10;int b = 20;int c = (a > b) ? a : b;printf("%d\n", c);return 0;}```A. 10B. 20C. 0D. 编译错误答案:B解析:三目运算符的作用是根据条件判断选择表达式的值,根据a 大于b的条件选择a的值,所以输出结果为20。
ncre全国计算机等级考试二级

NCRE全国计算机等级考试二级以下是对NCRE全国计算机等级考试二级的更详细介绍:一、考试科目NCRE二级考试分为两个科目,分别是C语言程序设计和Java语言程序设计。
每个科目的考试时间为120分钟,总分为100分。
二、考试内容1. C语言程序设计(1)基本语法:掌握C语言的基本语法规则,如变量声明、数据类型、运算符、表达式、语句、循环结构、函数等。
(2)数据结构:掌握数组、指针、结构体等常用数据结构的定义、使用和操作。
(3)算法:掌握基本算法思想,如排序、查找、递归、动态规划等,能够编写简单的算法程序。
(4)文件操作:掌握文件的基本操作,如打开、读写、关闭等。
2. Java语言程序设计(1)基本语法:掌握Java语言的基本语法规则,如变量、数据类型、运算符、表达式、语句、循环结构、函数等。
(2)数据结构:掌握Java中常用数据结构的定义、使用和操作,如数组、集合、链表等。
(3)面向对象编程:掌握面向对象编程的基本概念,如类、对象、继承、多态等,能够编写面向对象的程序。
(4)异常处理:掌握Java中的异常处理机制,能够编写异常处理程序。
(5)多线程编程:掌握Java中的多线程编程技术,能够编写多线程程序。
三、考试形式NCRE二级考试采用笔试形式,考试内容主要包括选择题和操作题两部分。
1. 选择题选择题包括公共基础知识和综合应用基础两部分,共计40道题目,每题2.5分,共计100分。
其中,公共基础知识部分包括计算机基础知识、数据结构、操作系统、数据库等方面的知识;综合应用基础部分则考察考生对所学知识的综合应用能力,包括编程语言基础知识、算法设计、数据结构应用、操作系统和数据库应用等方面。
2. 操作题操作题主要考察考生的编程能力,包括程序设计和调试能力。
操作题部分包括两个题目,分别考察C语言程序设计和Java语言程序设计。
考生需要根据题目要求编写程序,并进行调试和测试。
四、考试难度NCRE二级考试难度适中,适合有一定计算机基础的考生参加。
全国计算机等级考试c语言试题及答案

全国计算机等级考试c语言试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言B. C语言可以直接在操作系统上运行C. C语言具有结构化的特点D. C语言具有丰富的库函数答案:B2. 在C语言中,用于定义数组的关键字是:A. structB. enumC. unionD. int答案:D3. 下列关于指针的描述中,正确的是:A. 指针可以存储函数的地址B. 指针不能存储变量的地址C. 指针不能存储数组的地址D. 指针不能存储指针的地址答案:A4. 在C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A5. 下列关于循环的描述中,错误的是:A. for循环可以嵌套使用B. while循环不能嵌套使用C. do-while循环至少执行一次D. 循环语句可以没有循环体答案:B6. 在C语言中,用于定义函数的关键字是:A. structB. unionC. enumD. int答案:D7. 下列关于文件操作的描述中,错误的是:A. 文件指针是指向文件的指针B. 文件操作需要包含头文件stdio.hC. 文件操作只能使用二进制方式打开D. 文件操作可以使用"r"、"w"、"a"等模式答案:C8. 在C语言中,用于定义枚举的关键字是:A. structB. unionC. enumD. typedef答案:C9. 下列关于预处理指令的描述中,错误的是:A. #include用于包含头文件B. #define可以定义宏C. #ifdef可以用于条件编译D. #pragma可以用于编译器指令答案:C10. 在C语言中,用于定义联合的关键字是:A. structB. unionC. enumD. typedef答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是______。
全国计算机等级考试c语言

全国计算机等级考试c语言
全国计算机等级考试中的C语言考试主要考察计算机基础知识和使用C语
言编写程序以及上机调试的基本技能。
C语言是计算机程序设计的重要基础,也是许多应用领域的首选语言。
C语言考试涉及的主要内容包括但不限于:
1. C语言的基本语法,包括数据类型、运算符、控制语句等。
2. 函数和程序结构,包括函数的定义和调用、程序流程控制等。
3. 数组和指针,包括数组的声明和使用、指针的声明和操作等。
4. 结构体和联合体,包括结构体的定义和使用、联合体的声明和操作等。
5. 文件操作,包括文件的打开、读写和关闭等操作。
6. 算法和数据结构,包括链表、树、图等基本数据结构及其操作。
考试形式为上机考试,考试时间一般为120分钟。
考试内容包含单选题和
程序填空题、程序修改题以及程序设计题。
其中,单选题一般为40道,涉
及的内容较为广泛,但难度适中;程序填空题、程序修改题和程序设计题则要求考生根据给定的程序或代码进行填空、修改或设计,以检验考生的编程能力和解决问题的能力。
为了顺利通过C语言考试,考生需要掌握C语言的基本语法和编程技巧,同时还需要具备一定的算法和数据结构知识。
此外,多做真题和模拟题也是提高考试成绩的有效途径。
计算机等级考试二级c语言习题答案

计算机等级考试二级c语言习题答案一、选择题1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. _variableD. variable-2答案:B、C2. 以下哪个选项是C语言中整型常量的正确表示?A. 0x1AB. 1.5e2C. 0755D. 1.23f答案:A、C3. 若有以下定义:```cint a = 10, b = 20, c = 30;```则表达式 `a > b ? a : c` 的值是多少?A. 10B. 20C. 30D. 编译错误答案:C4. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"\n"D. "Hello, World!"\"答案:A5. 以下哪个选项是C语言中正确的函数声明?A. int myFunction();B. void myFunction(int a);C. int myFunction(int);D. int myFunction();答案:C二、填空题1. 在C语言中,`sizeof(char)` 的值是 ________。
答案:12. 若有以下代码:```cint a = 10;printf("%d", a++);```输出的结果是 ________。
答案:103. 在C语言中,以下代码段的输出结果是什么?```cint x = 5;printf("%d", x++);```输出的结果是 ________。
4. 在C语言中,以下代码段的输出结果是什么?```cint x = 5;printf("%d", ++x);```输出的结果是 ________。
全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案全国计算机等级考试二级C语言题库及答案1. 以下关于C语言的叙述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. forC. returnD. void答案:D3. 若有定义:int a=3, b=4; 则表达式 a+b 的值是:A. 7B. 6C. 3.4D. 43答案:A4. 在C语言中,以下哪个选项不是合法的变量名?A. _sumB. sum_C. 2valueD. sum$答案:C5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. 若有定义:char c1='a', c2='b'; 则表达式 c1-c2 的值是:A. -1B. 1C. 97D. 98答案:A7. 在C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello"B. 'Hello'C. "123"D. "C\"Language"答案:B8. 若有定义:int x=10; 则表达式 x++ 的结果是:A. 10B. 11C. 9D. 无法确定答案:A9. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. pointer答案:B10. 若有定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式 a[2] 的值是:A. 3B. 4C. 5D. 无法确定答案:A11. 在C语言中,以下哪个选项不是合法的循环控制语句?A. forB. whileC. do-whileD. repeat答案:D12. 若有定义:float x=3.14; 则表达式 (int)x 的值是:A. 3B. 3.14C. 4D. 无法确定答案:A13. 在C语言中,以下哪个选项不是合法的函数参数类型?A. intB. floatC. doubleD. void答案:D14. 若有定义:int a=5, b=10; 则表达式 a%b 的值是:A. 5B. 0C. 1D. 无法确定答案:B15. 在C语言中,以下哪个选项不是合法的输入输出函数?A. printfB. scanfC. coutD. getchar答案:C16. 若有定义:int a=2, b=4; 则表达式 a&b 的值是:A. 0B. 2C. 4D. 6答案:B17. 在C语言中,以下哪个选项不是合法的逻辑运算符?A. &&B. ||C. !D. <答案:D18. 若有定义:int a=3; 则表达式 a<<2 的值是:A. 6B. 12C. 9D. 无法确定答案:B19. 在C语言中,以下哪个选项不是合法的文件操作函数?A. fopenB. fcloseC. removeD. delete答案:D20. 若有定义:int a=6; 则表达式 a==6 的值是:A. 1B. 0C. 6D. 无法确定答案:A。
全国计算机等级考试(二级c)

全国计算机等级考试(NCRE)二级C语言考试是针对计算机C 语言编程能力的国家级标准化考试,主要考查应试者运用C语言进行程序设计和编程的能力。
该考试由教育部考试中心主办,采取全国统一命题、统一考试的形式,对考生的C语言水平进行客观、公正的评定。
二级C语言考试一般分为笔试和上机考试两部分。
笔试主要考察C语言的基础知识,如数据类型、程序结构、控制语句等;上机考试则主要考察考生实际编程能力,包括调试程序、编写程序、解决实际问题的能力等。
通过二级C语言考试,考生可以获得教育部考试中心颁发的合格证书,该证书在全国范围内有效。
对于计算机科学与技术专业的学生和相关从业者来说,获得二级C语言证书是证明自己计算机能力的一种方式,也是在一些行业和岗位上求职的必要条件之一。
以上信息仅供参考,建议查阅相关网站获取更全面和准确的信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. /*求菲玻那契数列的前20项。
菲玻那契数列前2项分别是1,1,从第3项开始,各项分别是其前2项之和。
*/#include <stdio.h>void fibonacci(int f[]){ int i;/************Fill in the blanks************/for(i=2;i<20;i++)/************Fill in the blanks************/f[i]=f[i-1]+f[i-2];}main(){ int f[20]={1,1},i;fibonacci(f);printf("\n菲玻那契数列的前20项为: ");for(i=0;i<20;i++){if(i%5==0) printf("\n");/************Fill in the blanks************/printf("%12d",f[i]);}getch();}2. /*求广义菲玻那契数列的第n项。
广义菲玻那契数列前3项分别是1,1,1,从第4项开始,各项分别是其前3项之和。
广义菲玻那契级数的前n项为:1,1,1,3,5,9,17,31,……。
例如,若n = 20,则应输出广义菲玻那契级数的第20项为: 46499。
*/#include <stdio.h>long fibonacci(int n){ long a=1,b=1,c=1,d;int i;/************Fill in the blanks************/for(i=4;i<=n;i++){/************Fill in the blanks************/d=a+b+c;a=b;b=c;c=d;}/************Fill in the blanks************/return d;}main(){ int n=20;printf("广义菲玻那契级数的第%d项为: %ld\n",n,fibonacci(n));getch();}5. /*在sum函数中,根据整型形参m,计算如下公式的值。
1 1 1 1y = ------- + --------- + --------- + …… + -------100*100 200*200 300*300 m*m 例如,若形参m = 2000,则程序输出:The result is: 0.000160。
*/#include <stdio.h>/************Fill in the blanks************/double sum(int m){ int i;double y,d;/************Fill in the blanks************/y=0;for(i=100;i<=m;i+=100){d = (double)i * (double)i ;y += 1.0/d;}/************Fill in the blanks************/return(y);}main( ){ int n = 2000 ;printf("\nThe result is: %lf\n",sum(n));getch();}11. /*统计子字符串substr在字符串str中出现的次数。
例如,若字符串为This is a C Program,子字符串为is,则应输出2。
*/ #include <stdio.h>int count(char str[],char substr[]){ int i,j,k,num=0;/************Fill in the blanks************/for(i=0;str[i]!='\0';i++)for(j=i,k=0;substr[k]==str[j];k++,j++)/************Fill in the blanks************/if(substr[k+1]=='\0'){num++;break;}/************Fill in the blanks************/return num;}main(){char str[80],substr[80];printf("Input a string: ");gets(str);printf("Input a substring: ");gets(substr);printf("The result is: %d\n",count(str,substr));getch();}13. /*有一个3×4的矩阵,求所有元素中的最小值。
*/#include <stdio.h>min_value(int array[][4]){ int i,j,min;min=array[0][0];for(i=0;i<3;i++)/************Fill in the blanks************/for(j=0;j<4;j++)if(array[i][j]<min)/************Fill in the blanks************/min=array[i][j];/************Fill in the blanks************/return(min);}main(){ int a[3][4]={{-11,23,15,37},{29,48,6,-8},{15,17,34,12}}; printf("矩阵中所有元素的最小值=%d\n",min_value(a)); getch();}14. /*求班级学生考试成绩的平均值。
*/#include <stdio.h>float average(float array[],int n){ int i;float aver,sum=array[0];/************Fill in the blanks************/for(i=1;i<n;i++)sum=sum+array[i];/************Fill in the blanks************/aver=sum/n;/************Fill in the blanks************/return (aver);}main(){ float score_1[5]={98.5,97,91.5,60,55};float score_2[10]={67.5,89.5,99,69.5,77,89.5,76.5,54,60,99.5};printf("班级A学生考试成绩的平均值= %6.2f\n",average(score_1,5)); printf("班级A学生考试成绩的平均值= %6.2f\n",average(score_2,10)); getch();}17. /*求出以下分数序列的前n项之和。
2 3 5 8 13 21┄┄, ┄┄, ┄┄, ┄┄, ┄┄, ┄┄, ……1 2 3 5 8 13例如,若n = 5,则应输出:8.391667。
*/#include <stdio.h>/************Fill in the blanks************/double sum(int n){ int a,b,c,k;double s;/************Fill in the blanks************/s=0;a=2;b=1;for(k=1;k<=n;k++){s=s+(double)a/b;c=a;/************Fill in the blanks************/a=b+c;b=c;}return s;}main(){ int n=5;printf("\nThe value of function sum is: %lf\n",sum(n));getch();}20. /*输出M行M列整数方阵,并计算主对角线上各元素之和。
*/#include <stdio.h>#define M 5/************Fill in the blanks************/int count(int n,int a[M][M]){ int i,sum=0;for(i=0;i<n;i++)sum += a[i][i];/************Fill in the blanks************/return(sum);}main( ){ int arr[M][M]={{1,2,3,4,5},{4,3,2,1,0},{6,7,8,9,0},{9,8,7,6,5},{3,4,5,6,7}}; int i,j;printf("\n%d×%d 数组元素为:\n",M,M);for(i=0;i<M;i++ ){for(j=0;j<M;j++ )/************Fill in the blanks************/printf("%4d",arr[i][j]);printf("\n");}printf ( "主对角线上各元素之和为: %d",count(M,arr));getch();}24./*求出数组arr中的最大数,并把最大数和arr[0]中的数进行交换。
*/ #include<stdio.h>#define N 20/*************Fill in the blanks*************/Void swap(int a[],int n){int k,m,t;m=0;/*************Fill in the blanks************/for(k=0;k<n;k++)if(a[k]>a[m])m=k;t=a[0];/************Fill in the blanks************/a[0]=a[m];a[m]=t;}Main(){int I,n=10,arr[N]={0,5,12,10,23,6,9,7,10,8};printf(“\n交换前:”);For(i=0;i<n;i++)printf(“%4d”,arr[i]);Swap(arr,n);printf(“\n交换后:”);for(i=0;i<n;i++) printf(“%4d”,arr[i]);printf(“\n”);}3. /*将一个二维数组a的行和列元素互换,存到另一个二维数组b中。