全国计算机等级考试二年级c笔试试题及答案

合集下载

计算机二级c考试真题及答案解析

计算机二级c考试真题及答案解析

计算机二级c考试真题及答案解析一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的字符常量?A. 'a'B. "a"C. 3D. 'ab'答案:A解析:在C语言中,字符常量需要用单引号括起来,因此'a'是合法的字符常量。

选项B是字符串常量,选项C是整数常量,选项D是两个字符的序列,不是单个字符常量。

2. 若有以下定义:```cint a = 3, b = 4;```则表达式`a + b`的值是:A. 7B. 3C. 4D. 0答案:A解析:根据题目中给出的变量定义,a的值为3,b的值为4。

因此,表达式`a + b`的值是3 + 4,即7。

3. 在C语言中,以下哪个选项是正确的整型变量声明?A. int a;B. float b;C. double c;D. All of the above答案:D解析:在C语言中,int、float和double都是合法的整型和浮点型变量声明。

因此,选项A、B和C都是正确的整型变量声明。

4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D解析:在C语言中,&&代表逻辑与,||代表逻辑或,!代表逻辑非,它们都是C语言中的逻辑运算符。

5. 若有以下定义:```cint x = 10;```则表达式`x % 3`的值是:A. 1B. 2C. 3D. 0答案:A解析:表达式`x % 3`表示x除以3的余数。

10除以3的商是3,余数是1,因此`x % 3`的值是1。

6. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[10] = "Hello";B. char str[] = "Hello";C. Both A and BD. None of the above答案:C解析:在C语言中,选项A和B都是正确的字符串声明方式。

全国计算机等级考试二级C笔试试卷(含参考答案)

全国计算机等级考试二级C笔试试卷(含参考答案)

全国计算机等级考试二级C笔试试卷(含参考答案)以下各题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)PDL(过程设计语言) B)PAD图 C)N-S图 D)DFD图(7)以下表达中正确的选项是A)软件交付使用后还需要进展维护B)软件一旦交付使用就不需要再进展维护C)软件交付使用后其生命周期就完毕D)软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决A)数据共享问题 B)数据平安问题C)大量数据存储问题 D)简化数据维护(9)设有如下关系表:R S TA B C A B C A B C1 123 1 3 1 1 22 23 2 2 33 1 3那么以下操作中正确的选项是A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S(10)数据库系统的核心是A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员(11)以下表达中错误的选项是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(12)以下表达中错误的选项是A)C语句必须以分号完毕B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(13)以下表达中正确的选项是A)调用printf函数时,必须要有输出项B)使用putchar函数时,必须在之前包含头文件stdio.hC)在中,整数可以以十二进制、八进制或十六进制的形式输出D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码(14)以下关于函数的表达中正确的选项是A)每个函数都可以被其它函数调用(包括main函数)B)每个函数都可以被单独编译C)每个函数都可以单独运行D)在一个函数内部可以定义另一个函数(15)假设有语句:char *line[5];,以下表达中正确的选项是A)定义line是一个数组,每个数组元素是一个基类型为char 的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针(16)有以下程序段typedef struct NODE{ int num; struct NODE *next;} OLD;以下表达中正确的选项是A)以上的说明形式非法 B)NODE是一个构造体类型C)OLD是一个构造体类型 D)OLD是一个构造体变量(17)以下表达中错误的选项是A)C语言中对二进制文件的访问速度比文本文件快B)C语言中,随机文件以二进制代码形式存储数据C)语句 FILE fp; 定义了一个名为fp的文件指针D)C语言中的文本文件以ASCII码形式存储数据(18)当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是A)k%2 B)k%2==1 C)(k%2)!=0 D)!k%2==1(19)以下不能正确计算代数式值的C语言表达式是A)1/3*sin(1/2)*sin(1/2) B)sin(0.5)*sin(0.5)/3C)pow(sin(0.5),2)/3 D)1/3.0*pow(sin(1.0/2),2)(20)以下能正确定义且赋初值的语句是A)int n1=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;(21)以下程序的功能是:给r输入数据后计算半径为r的圆面积s。

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

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

全国计算机二级c考试题库及答案全国计算机二级C考试题库及答案1. 单项选择题1.1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A1.2. 下列哪个选项是正确的C语言函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a; int b);D. int function(int a, int b)答案:A1.3. 在C语言中,下列哪个选项表示逻辑与运算?A. &&B. ||C. !D. ^答案:A2. 填空题2.1. 在C语言中,使用____关键字可以定义一个指针变量。

答案:指针2.2. C语言中,用于文件操作的库函数通常存放在____头文件中。

答案:stdio.h2.3. C语言中,____运算符用于取地址。

答案:&3. 简答题3.1. 请简述C语言中数组和指针的关系。

答案:在C语言中,数组名可以作为指向数组第一个元素的指针。

数组的每个元素可以通过指针运算访问。

3.2. 解释C语言中宏定义的作用。

答案:宏定义允许程序员定义一个名字,该名字可以被编译器替换为一个字符串。

这通常用于代码复用、条件编译和调试。

4. 编程题4.1. 编写一个C语言函数,计算并返回两个整数的和。

答案:```cint add(int a, int b) {return a + b;}```4.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\n", str);return 0;}```请注意,以上提供的是示例答案,实际考试中的答案可能会有所不同。

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

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

2级计算机等级考试c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项是合法的变量名?A. 2ndVariableB. intC. _firstVariableD. variable-name答案:C2. 在C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D3. 下列哪个选项不是C语言的标准库函数?A. printfB. scanfC. strcatD. main答案:D4. C语言中,以下哪种数据类型用于存储字符?A. intB. charC. floatD. double5. 在C语言中,以下哪个选项是正确的字符串定义?A. "Hello"B. 'Hello'C. "Hello"[]D. 'Hello'[]答案:A6. C语言中,以下哪个选项用于定义一个整型数组?A. int array[10];B. int array[];C. int array[10]={0};D. int array[]={0};答案:A7. 在C语言中,以下哪个选项是正确的二进制数表示?A. 0b1010B. 0x2AC. 0101D. 0B1010答案:A8. C语言中,以下哪个选项是正确的注释方式?A. // This is a commentB. /* This is a comment */C. //* This is a comment */D. /* This is a comment */答案:B9. C语言中,以下哪个选项用于定义一个结构体?B. classC. unionD. enum答案:A10. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include "stdio.h"B. #include <stdio.h>C. #include "stdio.h"D. #include <stdio.h>答案:B二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。

二年级C笔试试题及答案

二年级C笔试试题及答案

一、选择题1—40每题1分,41—50每题2分,共60分下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分;1 在32位计算机中,一个字长所占的字节数为A 1B 2C 4D 82 与十进制数511等值的十六进制数为A 1FFB 2FFC 1FED 2FE3 能将高级语言编写的源程序转换成目标程序的是A 编程程序B 编译程序C 解释程序D 链接程序4 在计算机系统中,存储一个汉字的国标码所需要的字节数为A 1B 2C 3D 45 下列带有通配符的文件名中,能表示文件的是A BC.B A.CBC.D .6 在多媒体计算机系统中,不能用以存储多媒体信息的是A 光缆B 软盘C 硬盘D 光盘7 DOS命令“COPY/”的功能是A 将当前盘当前目录中的所有文件复制到当前盘的根目录下B 将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下C 以提示方式复制文件D 显示COPY命令的帮助信息8 在Windows环境下,若要将当前活动窗口存入剪贴板,则可以按A Ctrl+PrintScreen键B Ctrl+PrintScreen键C Shift+PrintScreen键D PrintScreen键9 在Windows环境下,单击当前应用程序窗口中的“关闭”按钮,其功能是A 将当前应用程序转为后台运行B 退出Windows后再关机C 退出Windows后重新启动计算机D 终止当前应用程序的运行10 在Windows环境中,粘贴按钮是A B C D11 以下叙述中正确的是A 构成C程序的基本单位是函数B 可以在一个函数中定义另一个函数C main函数必须放在其它函数之前D 所有被调用的函数一定要在调用之前进行定义12 以下选项中合法的实型常数是A B E-3 C .2E0 D13 以下选项中合法的用户标识符是A longB _2TestC 3Dmax D14 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是A 字符A B字符a C字符e D非法的常量15 以下非法的赋值语句是A n=i=2,++i; Bj++; C ++i+1; Dx=j>0;16 设a和b均为double型变量,且a=、b=,则表达式inta+b/b的值是A B6 C D17 已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是A scanf“%2d%2d%2d”,&i,&j,&k;B scanf“%d %d %d”,&i,&j,&k;C scanf“%d,%d,%d”,&i,&j,&k;D scanf“i=%d,j=%d,k=%d”,&i,&j,&k;18 与数学式子对应的C语言表达式是A 3x^n2x-1B 3xn2x-1C 3powx,n1/2x-1D 3pown,x/2x-119 设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是Aprintf“x=%d\n”,x; B printf“x=%1d\n”,x;Cprintf“x=%8dL\n”,x; Dprintf“x=%LD\n”,x;20 若有以下程序:main{ int k=2,i=2,m;m=k+=i=k;printf“%d,%d\n”,m,i;}执行后的输出结果是A 8,6B 8,3C 6,4D 7,421 已有定义:int x=3,y=4,z=5;,则表达式x+y+z-1 && y+z/2的值是A 6B 0C 2D 122 有一函数, ,以下程序段中不能根据x值正确计算出y值的是A ifx>0 y=1;B y=0;else ifx==0 y=0; ifx>0 y=1;else y=-1; else ifx<0 y=-1;Cy=0; Difx>=0ifx>=0; ifx>0 y=1;ifx>0 y=1 ; else y=0;else y=-1; else y=-1;23 以下选项中,与k=n++完全等价的表达式是A k=n,n=n+1B n=n+1,k=nC k=++nD k+=n+124 以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:main{ int n,k;float score ,sum,ave;sum=;forn=1;n<=10;n++{ fork=1;k<=4;k++{ scanf“%f”,&score; sum+=score;}ave=sum/;printf“NO%d:%f\n”,n,ave;}}上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确;这条语句是A sum=;B sum+=score;C ave=sun/;D printf“NO%d:%f\n”,n,ave;25 有以下程序段int n=0,p;do{scanf“%d”,&p;n++;}whilep=12345 &&n<3;此处do—while循环的结束条件是A P的值不等于12345并且n的值小于3B P的值等于12345并且n的值大于等于3C P的值不等于12345或者n的值小于3D P的值等于12345或者n的值大于等于326 有以下程序main{ int a=15,b=21,m=0;switcha%3{ case 0:m++;break;case 1:m++;switchb%2{ default:m++;case 0:m++;break;}}printf“%d\n”,m;}程序运行后的输出结果是A 1B 2C 3D 427 C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是A voidB intC floatD double28 若有说明:int n=2,p=&n,q=p;,则以下非法的赋值语句是A p=q;B p=q;C n=q;D p=n;29 有以下程序float funint x,int y{ returnx+y; }main{ int a=2,b=5,c=8;printf“%\n”,funintfuna+c,b,a-c;}程序运行后的输出结果是A 编译出错B 9C 21 D30 有以下程序void funchar c,int d{ c=c+1;d=d+1;printf“%c,%c,”,c,d;}main{ char a=’A’,b=’a’;fun&b,a; printf“%c,%c\n”,a,b;}程序运行后的输出结果是AB,a,B,a B a,B,a,B C A,b,A,b D b,B,A,b31 以下程序中函数sort的功能是对a所指数组中的数据进行由大到小的排序void sortint a,int n{ int i,j,t;fori=0;i<N-1;I++forj=i+1,j<N;J++ifai}main{ int aa10={1,2,3,4,5,6,7,8,9,10},i;sort&aa3,5;fori=o;i<10;i++ print“%d,”,aai;printf‘\n”;}程序运行后的输出结果是A1,2,3,4,5,6,7,8,9,10 B 10,9,8,7,6,5,4,3,2,1,C 1,2,3,8,.9,10D 1,2,10,9,8,7,6,5,4,332 有以下程序int fint n{ if n==1 return 1;else return fn-1+1;}main{ int i,j=0;fori=i;i<3;i++ j+=fi;printf“%d\n”,j;}程序运行后的输出结果是A 4B 3C 2D 133 有以下程序main{ char a ={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’}; int i,j;i=sizeofa; j=strlena;printf“%d,%d\b”i,j;}程序运行后的输出结果是A9,9 B8,9 C1,8 D9,834 以下程序中函数reverse的功能是将a所指数组中的内容进行逆置; void reverseint a ,int n{ int i,t;fori=0;i{ t=ai; ai=an-1-i;an-1-i=t;}}main{ int b10={1,2,3,4,5,6,7,8,9,10}; int i,s=0;reverseb,8;fori=6;i<10;i++ s+=bi;printf“%d\n”,s;}程序运行后的输出结果是A 22B 10C 34D 3035 有以下程序main{ int aa44={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};int i,s=0fori=0;i<4;i++ s+=aai1;printf“%d\n”,s;}程序运行后的输出结果是A 11B 19C 13D 2036 有以下程序includemain{ char p=“abcde\Ofghjik\0”; printf“%d\n”,strlenp;}程序运行后的输出结果是A 12B 15C 6D 537 程序中头文件的内容是:define N 5define M1 N3程序如下:define “”define M2 N2main{ int i;i=M1+M2; printf“%d\n”,i;}程序编译后运行的输出结果是:A 10 B 20 C 25 D 3038 有以下程序includemain{ FILE fp; int i=20,j=30,k,n;fp=fopen“”“w”;fprintffp,“%d\n”,i;fprintffp,“%d\n”j;fclosefp;fp=fopen“”, “r”;fp=fscanffp,“%d%d”,&k,&n; printf“%d%d\n”,k,n;fclosefp;}程序运行后的输出结果是A 20 30B 20 50C 30 50D 30 2039 以下叙述中错误的是A 二进制文件打开后可以先读文件的末尾,而顺序文件不可以B 在程序结束时,应当用fclose函数关闭已打开的文件C 在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D 不可以用FILE定义指向二进制文件的文件指针40 有以下程序includemainint argc,char argv{ int i,len=0;fori=1;iprintf“%d\n”,len;}程序编译连接后生成的可执行文件是,若运行时输入带参数的命令行是:ex1 abcd efg 10<回车>则运行的结果是:A 22B 17C 12D 941 有以下程序int faint x{ return xx; }int fbint x{ return xxx; }int fint f1,int f2,int x{ return f2x-f1x; }main{ int i;i=ffa,fb,2; printf“%d\n”,i;}程序运行后的输出结果是A -4B 1C 4D 842 有以下程序int a=3;main{ int s=0;{ int a=5; s+=a++; }s+=a++;printf“%d\n”,s;}程序运行后的输出结果是A 8B 10C 7D 1143 有以下程序void sschar s,char t{ whiles{ ifs==t s=t-‘a’+’A’;s++;}}main{ char str1100=“abcddfefdbd”,c=’d’; ssstr1,c; printf“%s\n”,str1;}程序运行后的输出结果是A ABCDDEFEDBDB abcDDfefDbDC abcAAfefAbAD Abcddfefdbd44 有以下程序struct STU{ char num10; float score3; };main{ struct stu s3={{“20021”,90,95,85}, {“20022”,95,80,75}, {“20023”,100,95,90}},p=s;int i; float sum=0;fori=0;i<3,i++sum=sum+p->scorei;printf“%\n”,sum;}程序运行后的输出结果是A B C D45 设有如下定义:struck sk{ int a;float b;}data;int p;若要使P指向data中的a域,正确的赋值语句是A p=&a;B p=;C p=&;D p=;46 有以下程序includestruct NODE{ int num; struct NODE next; };main{ struct NODE p,Q,R;p=struct NODEmallocsizeofstruct NODE;q=struct NODEmallocsizeofstruct NODE;r=struct NODEmallocsizeofstruct NODE;p->num=10; q->num=20; r->num=30;p->next=q;q->next=r;printf“%d\n”,p->num+q->next->num;}程序运行后的输出结果是A 10B 20C 30D 4047 若有以下说明和定义typedef int INTEGER;INTEGER p,q;以下叙述正确的是A P是int型变量B p是基类型为int的指针变量C q是基类型为int的指针变量D 程序中可用INTEGER代替int类型名48 有以下程序main{ unsigned char a,b,c;a=0x3; b=a|0x8; c=b<<1;printf“%d%d\n”,b,c;}程序运行后的输出结果是A –11 12B –6 –13C 12 24D 11 2249 有以下程序includemain{ char p,q;p=charmallocsizeofchar20; q=p;scanf“%s%s”,p,q; printf“%s%s\n”,p,q;}若从键盘输入:abc def<回车>,则输出结果是:A def defB abc defC abc dD d d50 以下程序中函数f的功能是将n个字符串按由大到小的顺序进行排序; includevoid fchar p10,int n{ char t20; int i,j;fori=0;i<N-1;I++forj=i+1;j<N;J++ifstrcmppi,pj<0{ strcpyt,pi;strcpypi,pj;strcpypj,t;}}main{ char p10={“abc”,“aabdfg”,“abbd”,“dcdbe”,“cd”};int i;fp,5; printf“%d\n”,strlenp0;}程序运行后的输出结果是A 6B 4C 5D 3二、填空题每空2分,共40分请将答案分别写在答题卡中序号为1至20的横线上,答在试卷上不得分;1、计算机软件分为系统软件和应用软件,操作系统属于1 ;2、在DOS环境下,代表键盘和显示器的设备文件名为2 ;3、支持Internet基本服务的协议是3 ;4、从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为4 ;5、某微型机的运算速度为2MIPS,则该微型机每秒执行5 条指令;6、设有定义:int n,k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整;scanf“%d, ” 6 ;printf“%d\n”, 7 ;;7、以下程序运行后的输出结果是8 ;main{ int x=10,y=20,t=0;ifx==yt=x;x=y;y=t;printf“%d,%d \n”,x,y;}8、以下程序运行后的输出结果是9 ;main{ int x=15;whilex>10 && x<50{ x++;ifx/3{x++;break;}else continue;}printf“%d\n”,x;}9、有以下程序:includemain{ char c;whilec=getchar =’’ putchar--c;}程序运行时,如果从键盘输入:YN<回车>,则输出结果为10 ;10、以下程序运行后的输出结果是11 ;void funint x,int y{ x=x+y;y=x-y;x=x-y;printf“%d,%d,”,x,y; }main{ int x=2,y=3;funx,y;printf“%d,%d\n”,x,y;}11、以下函数的功能是计算s=1+ + +……+ ,请填空;double funint n{ double s=,fac=; int i;fori=1,i<=n;i++{ fac=fac 12 ;s=s+fac;}return s;}12 fun函数的功能是:首先对a所指的N行N列的矩阵,找出各行中的最大的数,再求这N个最大值中的最小的那个数作为函数值返回;请填空;includedefine N 100int funintaN{ int row,col,max,min;forrow=0;row<N;ROW++{ formax=arow0,col=1;col<N;COL++if 13 max=arowcol;if row==0min=max;else if 14 min=max;}return min;}13、函数sstrcmp的功能是对两个字符串进行比较;当s所指字符串和t所指字符串相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0功能等同于库函数strcmp;请填空;includeint sstrcmpchar s,char t{ whiles&&t&& s== 15{ s++;t++;}return 16 ;}14、下面程序的运行结果是17 ;define N 10define sx xxdefine fx xxmain{ int i1,i2;i1=1000/sN; i2=1000/fN;printf“%d %d\n”,i1,i2;}15、下面程序的运行结果是:18 ; void swapint a,int b{ int t;t=a; a=b; b=t;}main{ int x=3,y=5,p=&x,q=&y; swapp,q;p rintf“%d%d\n”,p,q;}16、下面程序的运行结果是:19 ; typedef union student{ char name10;long sno;char sex;float score4;}STU;{ STU a5;printf“%d\n”,sizeofa;}17、若fp已正确定义为一个文件指针,为二进制文件,请填空,以便为“读”而打开此文件:fp=fopen 20 ;;一、选择题⑴-40题每题1分,41-50题每题2分,其60分1 C 2A 3B 4B 5 C6 A7 D8 D9 D 10 D11 A 12 D 13 B 14 A 15 C16 D 17 C 18 C 19 B 20 C21 D 22 C 23 A 24 A 25 D26 A 27 B 28 D 29 B 30 D31 C 32 B 33 D 34 A 35 B36 D 37 C 38 A 39 D 40 D41 C 42 A 43 B 44 B 45 C46 D 47 B 48 D 49 A 50 C二、填空题答案每空2分,共40分1 1 系统软件2 2 CON 或CON:3 3 TCP/IP 或者传输控制协议/网际协议4 4 EXIT 或者exit5 5 二百万或者两百万或者2百万或者200万或者2000000 或者2,000,0006 6 20,08 8 X9 9 3,2,2,31010 /i 或者i 或者1/i 或者i 或者/doublei 1111 1000 101212 3 51313 801414 "","rb""","r+b""","rb+"1515 k1616 k1717 max<="arowcol">max 或者arowcol>=max 1818 max<="min" min>max 或者min>=max 1919 t 或者t02020 s-t 或者s-t0 或者s0-t 或者s0-t0。

全国计算机2级c试题及答案

全国计算机2级c试题及答案

全国计算机2级c试题及答案一、单项选择题(每题1分,共20分)1. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str[] = {"Hello"};D. char str[6] = {"Hello"};答案:A2. 下列关于C语言中数组的描述,错误的是?A. 数组的索引从0开始。

B. 数组的大小在声明时必须确定。

C. 数组可以存储不同类型的数据。

D. 数组的元素在内存中是连续存储的。

答案:C3. 在C语言中,哪个关键字用于声明函数?A. classB. functionC. defD. int答案:D4. 以下哪个选项是C语言中的合法整数常量?A. 0x1AB. 01AC. 1.2E3D. 0b1010答案:A5. C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //这是注释D. /*这是注释*/答案:B6. 在C语言中,以下哪个选项是正确的二进制数表示?A. 0b1010B. 0x2AC. 0101D. 02A答案:A7. 以下哪个选项是C语言中的合法浮点数常量?A. 1.23B. .23C. 123.D. 1.23E+5答案:D8. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int a;float b;};B. struct Student {int age;float height;};C. struct Student {int age;float height;} student1;D. All of the above答案:D9. 在C语言中,以下哪个选项是正确的指针声明?A. int *p;B. int *p = 0;C. int *p = NULL;D. All of the above答案:D10. 以下哪个选项是C语言中正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include "stdio"D. #include <stdio>答案:A11. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI 3.14159;D. #define PI 3.14159答案:A12. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if (x > 0) {// code}D. All of the above答案:C13. 在C语言中,以下哪个选项是正确的循环语句?A. for (int i = 0; i < 10; i++)B. for (i = 0; i < 10; i++)C. for (int i = 0; i <= 10; i++)D. All of the above答案:A14. 在C语言中,以下哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int, int);C. int add();D. All of the above答案:D15. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {RED, GREEN, BLUE};B. enum {RED, GREEN, BLUE};C. enum Color {0, 1, 2};D. All of the above答案:D16. 在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. All of the above答案:D17. 在C语言中,以下哪个选项是正确的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D18. 在C语言中,以下哪个选项是正确的类型转换?A. (int)xB. int(x)C. x(int)D. All of the above答案:A19. 在C语言中,以下哪个选项是正确的多文件程序结构?A. main.cB. main.hC. main.c and main.hD. All of the above答案:C20. 在C语言中,以下哪个选项是正确的内存分配方式?。

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

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

计算机二级考试c语言考试真题及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A2. 若有定义:int a=5, b=10; 则以下哪个表达式的值不为5?A. a+bB. a-bC. a*bD. a/b答案:C3. 在C语言中,以下哪个选项不是标准输入输出库函数?A. printf()B. scanf()C. puts()D. strcat()答案:D4. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. variable-2答案:B5. 若有定义:char c='A'; 则以下哪个表达式的值不为65?A. cB. 'A'C. "A"D. '\101'答案:C6. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. =答案:A7. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[5] = "ABCDE";B. char str[5] = {'A', 'B', 'C', 'D', 'E'};C. char str[5] = {'A', 'B', 'C', 'D'};D. char str[5] = "ABC" "DE";答案:D8. 若有定义:int x=10; 则以下哪个表达式的值不为10?A. x++B. x--C. ++xD. --x答案:D9. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][] = {1, 2, 3};C. int array[3][];D. int array[2, 3];答案:A10. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D二、程序填空题(每空2分,共20分)给定以下程序片段,请在空白处填入正确的代码。

计算机二级c 类试题及答案

计算机二级c 类试题及答案

计算机二级c 类试题及答案计算机二级C类试题及答案一、选择题(共40题,每题2分,共80分)1. 微型计算机的操作系统是指()A. 硬件系统B. 软件系统C. Windows系统D. Linux系统2. TCP/IP 协议族中的 TCP 是指()A. 传输控制协议B. 互联网协议C. 网际控制协议D. 传输互联协议3. 在C语言中,变量名的命名规则不包括()A. 由字母、数字、下划线组成B. 不能以数字开头C. 区分大小写D. 可以使用保留字4. 下列哪个不是C语言中的逻辑运算符()A. &&B. ||C. !D. \\5. 在C语言中,以下哪个函数用于向控制台输出结果()A. printf()B. scanf()C. gets()D. puts()二、填空题(共10题,每题5分,共50分)1. C语言中,定义常量使用关键字________。

2. 以下哪个函数原型不需要引用任何头文件:________。

3. 在C语言中,使用______关键字来声明函数。

4. 函数参数通过______的方式进行传递。

5. C语言中的指针是用来存储________的变量类型。

6. 声明一个整型数组,数组名为`numbers`,元素个数为10,可以使用的数据类型是______。

7. 在C语言中,使用______运算符来获取某个变量的地址。

8. 静态全局变量的作用域为______。

9. 在C语言中,sizeof运算符返回的结果是变量的________。

10. 在C语言中,用`__FILE__`宏可以返回当前源文件的________。

三、简答题(共4题,每题10分,共40分)1. 简述计算机编程中的“算法”的概念,并列举一个实例。

2. 请解释“位运算”的概念,并举例说明其用途。

3. 简要描述一下指针在C语言中的作用以及使用方法。

4. 请简述动态内存分配的概念,并说明在C语言中如何进行动态内存分配和释放操作。

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

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

计算机二级考试c语言试题及答案计算机二级考试C语言试题及答案一、选择题1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x123B. 123.0C. 123e2D. 123.0L答案:A2. 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!", 'Hello, World!'D. "Hello, World!'"答案:A4. 在C语言中,以下哪个选项是正确的函数定义?A. int add(int a, int b) { return a + b; }B. int add(int a; int b) { return a + b; }C. int add(int a, int b) { return a - b; }D. int add(a, b) { return a + b; }答案:A5. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. int array = 10;答案:A二、填空题1. 在C语言中,用于输入的函数是___________。

答案:scanf2. 在C语言中,用于输出的函数是___________。

答案:printf3. 在C语言中,用于计算两个整数的差的运算符是___________。

答案:-4. 在C语言中,用于定义一个整型变量的关键字是___________。

答案:int5. 在C语言中,用于定义一个字符型变量的关键字是___________。

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

全国计算机等级考试二级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;}```解析:本题考查了循环语句、输入输出函数等基本知识。

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

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

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

全国计算机二级c考试真题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言B. C语言具有丰富的数据类型C. C语言可以直接操作硬件D. C语言不支持面向对象编程答案:D2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 若有以下代码片段:```cint a = 10;int b = 20;int c;c = a + b;```则变量c的值是:A. 10B. 20C. 30D. 40答案:C4. 在C语言中,以下哪个运算符用于计算两个数的乘积:A. +B. -C. *D. /答案:C5. 在C语言中,以下哪个函数用于计算一个数的平方根:A. sqrt()B. pow()C. log()D. abs()答案:A6. 在C语言中,以下哪个关键字用于声明一个函数:A. intB. voidC. returnD. function答案:B7. 在C语言中,以下哪个关键字用于定义一个循环结构:A. ifB. whileC. forD. switch答案:C8. 在C语言中,以下哪个关键字用于定义一个条件判断结构:A. ifB. elseC. switchD. case答案:A9. 在C语言中,以下哪个函数用于将字符串转换为整数:A. atoi()B. atof()C. strcpy()D. strcat()答案:A10. 在C语言中,以下哪个函数用于输出格式化的字符串:A. printf()B. scanf()C. gets()D. puts()答案:A二、填空题(每题2分,共20分)1. C语言中,用于声明一个字符型变量的关键字是________。

答案:char2. C语言中,用于声明一个浮点型变量的关键字是________。

答案:float3. 在C语言中,________运算符用于比较两个数是否相等。

计算机二级c考试题目及答案详解

计算机二级c考试题目及答案详解

计算机二级c考试题目及答案详解一、考试题目:1. 下列哪个选项中的标识符是非法的?A. student1B. _nameC. 2studentD. A123答案:C. 2student2. 下列哪个选项中的语句是合法的?A. if a == b then print("Equal")B. if a = b print("Equal")C. if a == b:print("Equal")D. if a = b:print("Equal")答案:C. if a == b:print("Equal")3. 在C语言中,下列哪个选项的循环结构是错误的?A. for(int i = 0; i < 10; i++)printf("%d ", i);B. while(i < 10)printf("%d ", i++);C. do {printf("%d ", i++);} while(i < 10);D. int i = 0;do {printf("%d ", i++);} while(i < 10);答案:D. int i = 0;do {printf("%d ", i++);} while(i < 10);二、答案详解:1. 标识符是用于命名变量、函数、类等在程序中使用的名称。

在C 语言中,标识符的命名规则包括以下要求:- 第一个字符必须是字母或下划线('_')。

- 标识符中的其他字符可以是字母、数字或下划线。

根据这些规则,选项C中的2student是非法的标识符,因为它以数字开头。

2. 判断语句是否合法时,需要注意C语言的语法规则:- if语句中的条件表达式需要用小括号括起来。

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

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

计算机二级C语言考试试题及答案计算机二级C语言考试试题及答案C语言是一门通用计算机编程语言,应用广泛。

下面小编整理了计算机二级C语言考试试题及答案,希望对大家有帮助!1.(A )是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从(C) 开始执行。

A、程序中第一条可执行语句B、程序中第一个函数C、程序中的main函数D、包含文件中的第一个函数3、以下说法中正确的是( C )。

A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的'说法错误的是( B ) 。

A、 C程序的工作过程是编辑、编译、连接、运行B、 C语言不区分大小写。

C、 C程序的三种基本结构是顺序、选择、循环D、C程序从main函数开始执行5.下列正确的标识符是(C )。

A、-a1B、a[i]C、a2_iD、int t5-8题为相同类型题考点:标识符的命名规则只能由字母、数字、下划线构成数字不能作为标识符的开头关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B )。

A、3axB、xC、caseD、-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C )。

A、 %xB、a+bC、a123D、123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是( A)。

A、print _3d db8 aBcB、Iam one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D )。

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

计算机等级考试二级C语言试题及答案
{return (*a)++;} main( ) { int s=0;
{ int a=5; s+=f(&a);
}
s+=f(&a); printf(“%d\nC)7 D)8
38、有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2);
15、 若以下选项中的变量已正确定义,则正确的赋值语句 是
(C) A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3;
//%为模式运算,又称为求余运算,二侧均为整形数据 16、 设有以下定义
int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中错误的是(D) A)a++; B)b++ C)c++; D)d++;
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(“%d\n”,s);
} 程序执行后的输出结果是(D)
A)自然数1~9的累加和
B)自然数1~10的累加和
C)自然数1~9中的奇数之和 D)自然数1~10中的偶数 之和
25、有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf(“n=%d\n”,n); } 程序执行后的输出结果是(D) A)n=5 B)n=2 C)n=3 D) n=4

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

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

2级计算机等级考试c语言试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. stringD. array答案:A2. 在C语言中,用于定义一个字符型变量的关键字是?A. charB. stringC. intD. float答案:A3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. <=答案:A4. C语言中,用于定义一个整型数组的语法是?A. int array[10];B. int [10] array;C. int array=10;D. int array(10);答案:A5. 下列哪个函数用于将字符串转换为浮点数?A. atoi()B. atof()C. itoa()D. sprintf()答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个无符号整数变量的关键字是________。

答案:unsigned int2. C语言中,用于计算两个整数相加的运算符是________。

答案:+3. 在C语言中,用于声明一个指针变量的语法是________。

答案:type *var_name;4. C语言中,用于输出字符串的函数是________。

答案:printf("%s", str);5. C语言中,用于定义一个函数的关键字是________。

答案:void 或 int 或其他类型三、简答题(每题10分,共20分)1. 请简述C语言中结构体的定义和作用。

答案:结构体在C语言中用于创建复杂的数据类型,它允许将多个不同类型的数据项组合成一个单一的数据结构。

定义结构体使用关键字struct,后跟结构体的名称和一对花括号,花括号内定义了结构体的成员。

2. 解释C语言中的递归函数是什么,并给出一个简单的例子。

答案:递归函数是在其定义中调用自身的函数。

递归函数通常用于解决可以分解为更小、相似问题的任务。

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

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

全国计算机等级考试二级C语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。

2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。

选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。

3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。

因此,5除以4的结果为1。

4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。

calloc()函数也用于动态分配内存,但会初始化分配的内存空间。

alloc()和new()不是C语言中的标准函数。

二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。

答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。

2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。

答案:2解析:在C语言中,%运算符表示求余运算。

因此,5除以3的余数为2。

3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。

计算机二级c考试题目及答案解析

计算机二级c考试题目及答案解析

计算机二级c考试题目及答案解析一、选择题1. 下列不属于计算机硬件的是()。

A. 内存B. 显卡C. CPUD. 操作系统答案:D解析:操作系统属于软件,不属于计算机硬件。

2. 下列选项中,不属于C语言关键字的是()。

A. ifB. elseC. whileD. case答案:D解析:case是C语言中的关键字。

3. 下列选项中,不属于C语言数据类型的是()。

A. intB. floatC. stringD. double答案:C解析:C语言中没有string数据类型,可以使用字符数组来表示字符串。

4. 在C语言中,下列语句输出结果为20的是()。

A. printf("%d\n", 10/2);B. printf("%d\n", 2*10);C. printf("%d\n", 10%8);D. printf("%d\n", 15-5);答案:A解析:10/2的结果为5,使用%d格式输出时会将其作为整数输出。

5. 下列选项中,不属于C语言流程控制语句的是()。

A. ifB. whileC. forD. do-while答案:C解析:for是C语言中的流程控制语句之一。

二、填空题1. C语言中,字符串结束的标志是()。

答案:'\0'解析:C语言中的字符串使用字符数组表示,以'\0'作为结束标志。

2. 下面的代码中,循环体执行的次数是()。

```cint i;for (i = 0; i < 5; i++) {printf("%d\n", i);}```答案:5解析:循环条件为i < 5,循环体会执行5次。

3. 下面的代码中,switch语句执行的分支是()。

```cint a = 2;switch (a) {case 1:printf("a is 1\n");break;case 2:printf("a is 2\n");break;default:printf("a is other\n");}```答案:a is 2解析:a的值为2,对应的分支是case 2。

计算机二级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试题及答案解析

计算机二级c试题及答案解析题目一:1. 以下关于程序执行流程的描述中,正确的是:a) 程序从上往下顺序执行,逐行解析并执行代码b) 程序从下往上逆序执行,逐行解析并执行代码c) 程序根据条件判断选择性地执行代码d) 程序通过循环重复执行代码答案解析:正确答案是a) 程序从上往下顺序执行,逐行解析并执行代码。

程序的执行流程是按照代码编写的顺序,从上往下逐行执行。

每一行代码都会被解析并执行,直到程序结束或者遇到其他控制流程的语句(如条件判断或循环语句)。

2. 在C语言中,用于定义变量的关键字是:a) intb) voidc) floatd) char答案解析:正确答案是a) int。

在C语言中,使用关键字int来定义整型变量。

void关键字用于标识无返回值的函数,float关键字用于定义浮点型变量,而char关键字则用于定义字符型变量。

3. 下面的代码执行后,i的值是多少?```cint i = 10;int j = 5;i = i + j++;```a) 15b) 16c) 20d) 21答案解析:正确答案是d) 21。

在此代码中,i = i + j++语句中的j++是先将j的值赋给i,然后再将j的值加1。

所以i的值为10 + 5 = 15,j的值为6。

最后,i的值经过赋值运算变为21。

4. 在C语言中,下列哪个不是合法的标识符命名?a) myVarb) _123abcc) 123abcd) My-Var答案解析:正确答案是d) My-Var。

在C语言中,标识符命名需要遵循一定的规则,包括只能由字母、数字和下划线组成,且不能以数字开头。

所以选项d) My-Var不是一个合法的标识符命名。

5. 以下关于数组的描述中,错误的是:a) 数组是由相同类型的元素组成的集合b) 数组的长度可以在定义后随意改变c) 数组的下标从0开始d) 在定义数组时需要指定数组的长度答案解析:正确答案是b) 数组的长度可以在定义后随意改变。

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

全国计算机等级考试二年级c笔试试题及答案公司内部档案编码:[OPPTR-OPPT28-OPPTL98-OPPNN08]全国计算机等级考试二级笔试试卷基础部分和C语言程序设计(考试时间:120分钟,满分100分)2000年9月一、选择题((1)--(40)每小题1分, (41)--(50)每小题2分, 共60分下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项在答题卡相应位置上涂黑,答在试卷上不得分。

(1) 下列电子邮件地址中正确的是(其中□表示空格)A) Malin& B)C) Lin□Ma& D)(2) 下列说法中正确的是A) 为了使用Novell网提供的服务,必须采用FTP协议B) 为了使用Internet网提供的服务,必须采用TELNET协议C) 为了使用Novell网提供的服务,必须采用TCP/IP协议D) 为了使用Internet网提供的服务,必须采用TCP/IP协议(3) 下列说法中不正确的是A) 调制解调器(Modem)是局域网络设备B) 集线器(Hub)是局域网络设备C) 网卡(NIC)是局域网络设备D) 中继器(Repeater)是局域网络设备(4) 十进制数397的十六进制值为A) 18D B) 18E C) 277 D) 361(5) 下列说法中不正确的是A) CD-ROM是一种只读存储器但不是内存储器B) CD-ROM驱动器是多媒体计算机的基本部分C) 只有存放在CD-ROM盘上的数据才称为多媒体信息D) CD-ROM盘上最多能够存储大约650兆字节的信息(6) Windows应用环境中鼠标的拖动操作不能完成的是A) 当窗口不是最大时,可以移动窗口的位置B) 当窗口最大时,可以将窗口缩小成图标C) 当窗口有滚动条时可以实现窗口内容的滚动D) 可以将一个文件移动(或复制)到另一个目录中去(7) 从Windows中启动MS-DOS方式进入了DOS状态,如果想回到Windos状态,在DOS提示符下,应键入的命令为A) EXIT B) QUIT C) WIN D) DOS -U(8) 要在WINDOWS标准窗口的下拉菜单中选择命令,下列操作错误的是A) 用鼠标单击该命令选项B) 用键盘上的上下方向键将高亮度条移至该命令选项后再按回车键C) 同时按下ALT键与该命令选项后括号中带有下划线的字母键D) 直接按该命令选项后面括号中带有下划线的字母键(9) ASCLL码(含扩展)可以用一个字节表示,则可以表示的ASCLL码值个数为A) 1024 B) 256 C) 128 D) 8O(10) 字长为32位的计算机是指A) 该计算机能够处理的最大数不超过232B) 该计算机中的CPU可以同时处理32位的二进制信息C) 该计算机的内存量为32MBD) 该计算机每秒钟所能执行的指令条数为32MIPS(11) 在DOS系统中,下列文件名中非法的是A) ABCDEFG1 B) C)ABCD_EFG D)ABCD\EFG(12) DOS系统启动后,下列文件中驻留内存的是A) B) C) D)(13) DOS下的“DIR *2”命令将列出当前目录下的A) 所有名字末尾为字符2的非隐含文件和目录B) 所有名字末尾为字符2的非隐含文件C) 所有非隐含文件D) 所有非隐含文件和目录(14) 软驱的盘符为A,A盘上只有一个目录\XYZ,而\XYZ下有若干子目录和文件,若想把A盘的所有内容复制到C盘根目录下,应使用的命令为A) COPY A:\*.* C: B) COPY A:\*.*C:\*.*C) XCOPY A:\*.* C:\ /S D) DISKCOPY A: C:(15) 若要将当前盘目录下的文件连接在文件后面,应使用的命令为A) COPY >> B) MOVE >>C) PATH >> D) TYPE >>(16) 若变量已正确定义并赋值,下面符合C语言语法的表达式是A) a:=b+1 B) a=b=c+2 C) int %3 D)a=a+7=c+b(17) C语言中运算对象必须是整型的运算符是A) %= B) / C) = D) 〈=(18) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是A) 1 B) 2 C) D)(19) 若变量a、iI已正确定义,且i已正确赋值,合法的语句是A) a==1 B) ++i; C) a=a++=5; D)a=int(i);(20) 若有以下程序段,int c1=1,c2=2,c3;c3=c2*c1;则执行后,c3中的值是A) 0 B) C) 1 D) 2(21) 有如下程序main0{ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}运行该程序的输出结果是A) 3 4 B) 4 2 C) 4 3 D) 3 3(22) 能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=0(23) 有如下程序main0{ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++case 2: a++;b++}printf(“a=%d,b=%d\n”,a,b);}该程序的输出结果是A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2(24) 有如下程序main0{ float x=,y;if(x< y=;else if(x< y=x;else y=;printf(“%f\n”,y);}该程序的输出结果是A) B) C) D)(25) 有如下程序main0{ int a=2,b=-1,c=2;if(a<b)if(b<0) c=0;else c++printf(“%d\n”,c);}该程序的输出结果是A) 0 B) 1 C) 2 D) 3(26) 有如下程序main0{ int i,sum;for(i=1;i<=3;sum++) sum+=i;printf(“%d\n”,sum);}该程序的执行结果是A) 6 B) 3 C) 死循环 D) 0(27) 有如下程序main0{ int x=23;do{ printf(“%d”,x--);}while(!x);}该程序的执行结果是A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环(28) 有如下程序main0{ int n=9;while(n>6) {n--;printf(“%d”,n);}}该程序段的输出结果是A) 987 B) 876 C) 8765 D) 9876(29) 设有说明语句:char a=’\72’;则变量aA) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法(30) 有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5);该函数调用语句中,含有的实参个数是A) 3 B) 4 C) 5 D) 有语法错(31) 有如下程序int runc(int a,int b){ return(a+b);}main0{ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r);}该程序的输出的结果是A) 12 B) 13 C) 14 D) 15(32) 有如下程序段int *p,a=10,b=1p=&a; a=*p+b;执行该程序段后,a的值为A) 12 B) 11 C) 10 D) 编译出错(33) 对于基类型相同的两个指针变量之间,不能进行的运算是A) < B) = C) + D) -(34) 以下函数返回a所指数组中最小的值所在的下标值fun(int *a, int n){ int i,j=0,p;p=j;for(i=j;i<n;i++)if(a[i]<a[p])__________;return(p);}在下划线处应填入的是A) i=p B) a[p]=a[i] C) p=j D) p=i(35) 有如下程序long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));else return(2);}main0{ printf(“%d\n”,fib(3));该程序的输出结果是A) 2 B) 4 C) 6 D) 8(36) 在C语言中,函数的隐含存储类别是A) auto B) static C) extern D) 无存储类别(37) 有如下程序#define N 2#define M N+1#define NUM 2*M+1#main(){ int i;for(i=1;i<=NUM;i++)printf(“%d\n”,i);}该程序中的for循环执行的次数是A) 5 B) 6 C) 7 D) 8(38) 有以下函数char fun(char *p){ return p; }该函数的返回值是A) 无确切的值 B) 形参p中存放的地址值B) 一个临时存储单元的地址 D) 形参p自身的地址值(39) 有如下程序段int a=14,b=15,x;char c=’A’;x=(a&&b)&&(c<’B’);执行该程序段后,x的值为A) ture B) false C) 0 D) 1(40) 若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是A) EOF B) 0 C) 非零值 D) NULL(41) 若有以下说明和定义fun(int *c){ }main(){ int (*a)()=fun,*b(),w[10],c;┆}在必要的赋值之后,对fun函数的正确调用语句是A) a=a(w); B) (*a)(&c); C) b=*b(w); D) fun (b);(42) 有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是A) *P+9 B) *(P+8) C) *P+=9 D) P+8(43) 有如下程序main0{ int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++) n[i]=n[i]+1;printf(“%d\n”,n[k]);}该程序的输出结果是A) 不确定的值 B) 2 C) 1 D) 0(44) 若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是A) &t[3][2] B) t[3] C) t[1] D) t[2](45) 有如下程序main0{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<i;j++) s+=a[i][j]printf(“%d\n”,s);}该程序的输出结果是A) 18 B) 19 C) 20 D) 21(46) 有如下定义struct person{char name[9]; int age;};strict person class[10]={“Johu”, 17,“Paul”, 19“Mary”, 18,“Adam 16,};根据上述定义,能输出字母M的语句是A) prinft(“%c\n”,class[3].mane);B) pfintf(“%c\n”,class[3].name[1]);C) prinft(“%c\n”,class[2].name[1]);D) printf(“%^c\n”,class[2].name[0]);(47) 以下对结构体类型变量的定义中,不正确的是A) typedef struct aa B) #define AA struct aa{ int n; AA {int n;float m; float m;}AA; }td1;AA td1;C) struct D) struct{ int n; { int n;float m; float m;}aa; }td1;stuct aa td1;(48) 若已建立如下图所示的单向链表结构,Pdata next在该链表结构中,指针p、s分别指向图中所示结点,则不能将s所指的结点插入到链表末尾仍构成单向链表的语句组是A) p =p->next; s->next=p; p->next=s;B) p =p->next; s->next=p->next; p->next=s;C) s->next=NULL; p=p->next; p->next=s;D) p=(*p).next; (*s).next=(*p).next; (*p).next=s;(49) 有如下程序main(){ char s[]=”ABCD”, *P;for(p=s+l; p<s+4; p++) printf (“%s\n”,p);}该程序的输出结果是A) ABCD B) A C) B D) BCDBCD B C CD CD C D DD D(50) 有如下程序main(){ char ch[2][5]={“6937”,”8254”},*p[2];int i,j,s=0;for(i=0;i<2;i++) p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>’\0’;j+=2)s=10*s+p[i][j]-‘0’;printf(“%d\n”,s);}该程序的输出结果是A) 69825 B) 63825 C) 6385 D) 693825二、填空题(每空2分,共40分)请将每空的正确答案写在答题卡上[1]至[20]序号的横线上,答在试卷上不得分。

相关文档
最新文档