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

合集下载

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

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

全国二级计算机考试c语言试题及答案全国二级计算机考试C语言试题及答案一、选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. _intC. intD. variable2答案:B2. 下列关于C语言中数组的描述,正确的是:A. 数组的大小在定义后可以改变B. 数组的索引从0开始C. 数组可以存储不同类型的数据D. 数组必须在程序开始时定义答案:B3. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. return答案:C4. C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. 下列关于C语言中指针的描述,错误的是:A. 指针可以存储地址B. 指针可以被赋值为NULLC. 指针可以存储任何类型的数据D. 指针可以被解引用答案:C6. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释 */D. /* 这是注释答案:A7. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A8. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D9. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A10. 在C语言中,以下哪个选项是正确的条件语句?A. if (x)B. if xC. if (x == 0)D. if (x != 0)答案:A二、填空题(每题2分,共10分)1. 在C语言中,______关键字用于声明一个变量。

答案:int2. 一个C语言程序的执行从______函数开始。

计算机二级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)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语言试题及答案

全国计算二级考试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语言考试试题及答案

计算机二级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语言一、单项选择题(每题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. 2abcB. abc123C. _abcD. abc$答案:C2. 在C语言中,下面哪个运算符具有左结合性?A. 赋值运算符B. 逻辑运算符C. 位运算符D. 关系运算符答案:A3. 下面哪个函数用于实现字符串的复制?A. strcpyB. strcatC. strlenD. strcmp答案:A4. 下面哪个选项是正确的整型常量的表示方法?A. 1234BB. 0x1234C. 1234DD. 01234答案:D5. 下面哪个选项是合法的实型常量的表示方法?A. 123.B. 123.C. 123.D. 123.答案:C6. 在C语言中,下面哪个函数用于实现字符串的连接?A. strcpyB. strcatC. strlenD. strcmp答案:B7. 下面哪个选项是正确的关于一维数组的描述?A. 数组名是一个指向数组首元素的指针B. 数组名是一个指向数组首元素的指针C. 数组名是一个指向数组首元素的指针D. 数组名是一个指向数组首元素的指针答案:A8. 下面哪个选项是正确的关于二维数组的描述?A. 二维数组可以看作是多个一维数组的组合B. 二维数组可以看作是多个一维数组的组合C. 二维数组可以看作是多个一维数组的组合D. 二维数组可以看作是多个一维数组的组合答案:A9. 在C语言中,下面哪个函数用于实现字符串的比较?A. strcpyB. strcatC. strlenD. strcmp答案:D10. 下面哪个选项是合法的C语言语句?A. if(条件) {B. while(条件)C. do {D. }答案:D二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的存储空间为_____个字节。

答案:42. C语言中,定义一个整型变量的一般形式为_____。

答案:int 变量名;3. C语言中,定义一个实型变量的一般形式为_____。

国家二级c语言考试试卷答案

国家二级c语言考试试卷答案

国家二级c语言考试试卷答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. _variableC. variable2D. variable-2答案:B2. C语言中,整型变量占用的字节数为:A. 1B. 2C. 4D. 8答案:C3. 若有定义:int a=5, b=2; 则表达式 a%b 的值是:A. 1B. 2C. 0D. 3答案:A4. 下列哪个选项不是C语言中的结构体类型?A. structB. unionC. enumD. int答案:D5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. C语言中,以下哪个选项是正确的函数声明?A. void function();B. int function;C. int function();D. void function int;答案:C7. 若有定义:int x=10; 则表达式 x++ 的值是:A. 10B. 11C. 9D. 错误答案:A8. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. printfD. scanf答案:A9. 若有定义:float x=3.14; 则表达式 sizeof(x) 的值是:A. 2B. 4C. 8D. 1答案:B10. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[5] = "hello";B. char str[] = "hello";C. char str[6] = "hello";D. char str = "hello";答案:B二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符变量的关键字是 ________。

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

C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(8)下列描述中正确的是______。

A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合(9)数据独立性是数据库技术的重要特点之一,所谓数据独立性是指______。

A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对(10)用树形结构表示实体之间联系的模型是______。

A.关系模型B.网状模型C.层次模型D.以上三个都是(11)算法具有五个特性,以下选项中不属于算法特性的是______。

A.有穷性B.简洁性C.可行性D.确定性(12)以下选项中可作为C语言合法常量的是______。

A.-80.B.-080C.-8e1.0D.-80.0e(13)以下叙述中正确的是______。

A.用C程序实现的算法必须要有输入和输出操作B.用C程序实现的算法可以没有输出但必须要输入C.用C程序实现的算法可以没有输入但必须要有输出D.用C程序实现的算法可以既没有输入也没有输出(14)以下不能定义为用户标识符的是______。

A.MainB._0C._intD.sizeof(15)以下选项中不能作为合法常量的是______。

A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0(16)数字字符0的ASCII值为48,若有以下程序main(){ char a='1',b='2 ';printf("%c,",b++);printf("%d\n",b-a);}程序运行后的输出结果是______。

A.3,2B.50,2C.2,2D.2,50(17)有以下程序main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是______。

A.B.C.D.(18)有定义语句:int b;char c[10];,则正确的输入语句是______。

A.scanf("%d%s",&b,&c);B.scanf("%d%s",&b, c);C.scanf("%d%s",b, c);D.scanf("%d%s",b,&c); 来源:考试大-计算机二级考试19)有以下程序main(){ int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是______。

A.m=123n=456p=789B.m=123 n=456 p=789C.m=123,n=456,p=789D.123 456 789(20)有以下程序main(){ int a,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b);}程序运行后的输出结果是______。

A)6,1B.2,1C.6,0D.2,0(21)有以下程序main(){int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf("%d %d %d\n",i,j,k);}程序运行后的输出结果是______。

A.1 2 3B.2 3 4C.2 2 3D.2 3 3(22)若整型变量a、b、c、d中的值依次为:1、4、3、2。

则条件表达式a A.1B.2C.3D.4(23)有以下程序main(){int p[8]={11,12,13,14,15,16,17,18},i=0,j=0;while(i++<7) if(p[i]%2) j+=p[i];printf("%d\n",j);}程序运行后的输出结果是______。

A.42B.45C.56D.60(24)有以下程序main(){char a[7]="a0\0a0\0"; int i,j;i=sizeof(a); j=strlen(a);printf("%d %d\n",i,j);}程序运行后的输出结果是______。

A.2 2B.7 6C.7 2D.6 2(25)以下能正确定义一维数组的选项是______。

A.int a[5]={0,1,2,3,4,5};B.char a[]={0,1,2,3,4,5};C.char a={'A','B','C'};D.int a[5]="0123";(26)有以下程序int f1(int x,int y){return x>y?x:y;}int f2(int x,int y){return x>y?y:x;}main(){int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);}程序运行后的输出结果是______。

A.4,3,7B.3,4,7C.5,2,7D.2,5,7(27)已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是______。

A.数组a和b的长度相同B.a数组长度小于b数组长度C.a数组长度大于b数组长度D.上述说法都不对(28)有以下程序void f(int *x,int *y){int t;t=*x;*x=*y;*y=t;}main(){int a[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p{f(p,q);p++;q--;}for(i=0;i<8;i++)printf("%d,",a[i]);}程序运行后的输出结果是______。

A.8,2,3,4,5,6,7,1,B.5,6,7,8,1,2,3,4,C.1,2,3,4,5,6,7,8,D.8,7,6,5,4,3,2,1,(29)有以下程序main(){int a[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);}程序运行后的输出结果是______。

A.012B.123C.234D.345 来源:考试大-计算机二级考试(30)以下叙述中错误的是______。

A.对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B.数组名代表的是数组所占存储区的首地址,其值不可改变C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D.可以通过赋初值的方式确定数组元素的个数(31)有以下程序#define N 20fun(int a[],int n,int m){ int i,j;for(i=m;i>=n;i--)a[i+1]=a[i];}main(){int i,a[N]={1,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i<5;i++)printf("%d",a[i]);}程序运行后的输出结果是______。

A.10234B.12344C.12334D.12234(32)有以下程序main(){int a[3][2]={0},(*ptr)[2],i,j;for(i=0;i<2;i++) {ptr=a+i; scanf("%d",ptr); ptr++; }for(i=0;i<3;i++){ for(j=0;j<2;j++) printf("-",a[i][j]);printf("\n");}}若运行时输入:1 2 3<回车>,则输出结果是______。

A.产生错误信息B.1 0C.1 2D.1 02 03 0 2 00 0 0 0 3 0(33)有以下程序prt(int *m,int n){ int i;for(i=0;i}main(){int a[]={1,2,3,4,5},i;prt(a,5);for(i=0;i<5;i++)printf("%d,",a[i]);}程序运行后的输出结果是______。

A.1,2,3,4,5,B.2,3,4,5,6,C.3,4,5,6,7,D.2,3,4,5,1,(34)有以下程序main(){ int a[]={1,2,3,4,5,6,7,8,9,0},*p;for(p=a;p}程序运行后的输出结果是______。

A.1,2,3,4,5,6,7,8,9,0,B.2,3,4,5,6,7,8,9,10,1,C.0,1,2,3,4,5,6,7,8,9,D.1,1,1,1,1,1,1,1,1,1,(35)有以下程序#define P 3void F(int x){return(P*x*x);}main(){printf("%d\n",F(3+5));}程序运行后的输出结果是______。

A.192B.29C.25D.编译出错(36)有以下程序main(){int c=35;printf("%d\n",c&c);}程序运行后的输出结果是______。

A.0B.70C.35D.1(37)以下叙述中正确的是______。

A.预处理命令行必须位于源文件的开头B.在源文件的一行上可以有多条预处理命令C.宏名必须用大写字母表示D.宏替换不占用程序的运行时间来源:考试大-计算机二级考试(38)若有以下说明和定义union dt{int a;char b;double c;}data;以下叙述中错误的是______。

相关文档
最新文档