计算机二级 数组
- 格式:doc
- 大小:54.00 KB
- 文档页数:7
计算机⼆级考试C语⾔例题(1)第⼀套给定程序的功能是:求⼆分之⼀的圆⾯积,函数通过形参得到圆的半径,函数返回⼆分之⼀的圆⾯积(注:圆⾯积公式为:2,在程序中定义的变量名要与公式的变量相同)。
例如,输⼊圆的半径值:19.527,输出为:s=598.949991。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在横线上填⼊所编写的若⼲表达式或语句。
试题程序:#includedouble fun( double r){return 3.14159*【1】/2.0;}void main(){double x;printf("Enter x: ");scanf("%lf",【2】);printf("s=%lf\n",fun(【3】));}【参考答案】 (1)r*r (2)&x (3)x【考点分析】本题考查:圆⾯积计算公式*r*r;scanf( )函数的形式,其⼀般形式为"scanf("格式控制字符串",地址表列);",注意地址是由地址运算符"&"后跟变量名组成的;printf( )函数的形式,其⼀般形式为"printf("格式控制字符串",输出表列);";函数实参调⽤,函数作为另⼀个函数调⽤的实际参数出现。
【解题思路】填空1:计算圆的⾯积,公式为:*r。
填空2:scanf( )函数⼀般形式为scanf(格式控制,地址表列),因此填⼊&x。
填空3:函数的实际参数是圆的半径x。
下列给定程序中,函数fun的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。
例如,当n为5时,函数值应为10.407143。
f(x)函数定义如下:f(x)=请改正程序中的错误,使它能得出正确的结果。
计算机二级机试1. 引言计算机二级机试是为了评估考生在计算机程序设计方面的知识和能力而设立的考试。
通过这项考试,可以测试考生对计算机编程语言、数据结构、算法和数据库等相关知识的掌握程度,并对其在实际工作中的应用能力进行评估。
2. 考试的内容计算机二级机试的内容主要包括以下方面:2.1 计算机编程语言考生需要熟悉至少一种计算机编程语言,如C、Java、Python等,并能运用该语言进行程序设计。
在机试中,考生可能会遇到编程题目,需要用所学的编程语言编写相应的程序来解决问题。
2.2 数据结构与算法计算机二级机试还会涉及到数据结构与算法的知识。
考生需要掌握常见的数据结构,如数组、链表、栈、队列、树等,并能运用这些数据结构解决实际问题。
此外,对于算法的掌握也是很重要的,包括排序、查找、图算法等。
2.3 数据库在机试中,考生可能会涉及到数据库相关的问题。
需要对关系型数据库的基本概念、SQL语言的使用以及数据库设计有一定的了解。
对于常见的数据库操作,如增删改查,考生也应该能够熟练运用。
3. 考试的形式和要求计算机二级机试一般会采用在线考试的形式,考试时间一般为2-3小时。
在考试过程中,考生需要根据题目要求编写代码,并在规定时间内提交。
考试的评分一般是根据代码的正确性、实现的功能和代码的质量来进行评判的。
考试要求考生具备一定的计算机编程知识和实战经验,能够快速分析问题并给出解决方案。
另外,考生需要具备良好的编码习惯和代码调试能力。
4. 考试的准备为了顺利通过计算机二级机试,考生需要做好以下准备工作:4.1 系统学习计算机编程语言考生需要系统学习一种计算机编程语言,掌握其基本语法和常用函数库的使用方法。
可以通过自学、参加课程培训或参考相关教材来进行学习。
4.2 多做编程练习通过多做编程练习,考生可以提高自己的编程能力和代码质量。
可以尝试解决一些经典的编程问题,参加编程竞赛等。
4.3 复习数据结构和算法考生需要复习数据结构和算法的基本知识,掌握各种数据结构的特点和常见的算法思想。
计算机二级(VF)60(总分4230,考试时间90分钟)选择题(每小题2分,共70分) 下列各题四个选项中,有一个是正确的,请选择正确答案。
1. 下列关于数组的叙述中,错误的是()。
A. 6B. 7C. 8D. 92. 要运行表单文件form1,下列命令正确的是()。
A. ASCII文件和二进制文件B. 文本文件和数据文件C. 数据文件和可执行文件D. 顺序文件和随机文件3. 在SQL SELECT 语句的ORDER BY 短语中如果指定了多个字段,则________。
A. 无法进行排序B. 只按第一个字段排序C. 按从左至右优先依次排序D. 按字段排序优先级依次排序4. 有关参照完整性的删除规则,正确的描述是()。
A. 如果删除规则选择的是“限制”,则当用户删除父表中的记录时,系统将自动删除子表中的所有相关记录B. 如果删除规则选择的是“级联”,则当用户删除父表中的记录时,系统将禁止删除与子表相关的父表中的记录C. 如果删除规则选择的是“忽略”,则当用户删除父表中的记录时,系统不负责做任何工作D. 上面三种说法都不对5. 有关查询设计器,正确的描述是()。
A. “联接”选项卡与SQL语句的GROUP BY 短语对应B. “筛选”选项卡与SQL语句的HA VING短语对应C. “排序依据”选项卡与SQL语句的ORDER BY短语对应D. “分组依据”选项卡与SQL语句的JOIN ON短语对应6. 下列关于报表带区及其作用的叙述,错误的是()。
A. 一条命令B. 一个过程C. 激活另一个菜单D. 以上3种均可以7. 在当前表中,查找第2个男同学的记录,应使用命令()。
A. 一个空格加一个下划线“_”B. 一个下划线“_”C. 一个造字符“_”D. 一个空格加一个连字符“-”8. SELECT-SQL语句中,可以对查询结果进行排序的短语是()。
A. HideB. ShowC. LoadD. Unload9. 以下关于表单数据环境叙述错误的是()。
第九章数组和指针1、有以下程序main(){ int a[]={2,4,6,8,10}, y=0, x, *p;p=&a[1];for(x= 1; x< 3; x++) y += p[x];printf("%d\n",y);}程序运行后的输出结果是A)10 B)11 C)14 D)152、有以下程序void sum(int a[]){ a[0] = a[-1]+a[1]; }main(){ int a[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf("%d\n", a[2]);}程序运行后的输出结果是A)6 B)7 C)5 D)83、有以下程序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)42 B)45 C)56 D)604、设有定义语句 int x[6]={2,4,6,8,5,7},*p=x,i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是A)for(i=0;i<6;i++) printf("%2d",*(p++));B)for(i=0;i<6;i++) printf("%2d",*(p+i));C)for(i=0;i<6;i++) printf("%2d",*p++);D)for(i=0;i<6;i++) printf("%2d",(*p)++);5、有以下程序#include < stdio.h >main(){ int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL; *q=*(p+5);printf("%d %d\n",*p,*q); }程序运行后的输出结果是A)运行后报错 B)6 6 C)6 11 D)5 106、有以下程序段int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是A)5 B)6 C)8 D)97、已有定义:int i,a[10],*p;则合法的赋值语句是A)p=100; B)p=a[5]; C)p=a[2]+2; D)p=a+2;8、以下能正确定义一维数组的选项是A)int num []; B)#define N 100int num [N];C)int num[0..100]; D)int N=100;int num[N];9、有以下程序main(){ int p[7]={11,13,14,15,16,17,18},i=0,k=0;while(i< 7&&p[i]%2){k=k+p[i];i++;}printf("%d\n",k);}执行后输出结果是A)58 B)56 C)45 D)2410、有以下程序main(){ int x[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);}执行后输出结果是A)随机值 B)0 C)5 D)611、若有定义:int aa[8];。
全国计算机二级c语言计算机二级c语言考试是全国各地计算机专业学生必须参加的一项考试。
C语言是一种广泛使用的高级编程语言,被广泛应用于机器控制、嵌入式系统、编译器、操作系统等领域。
掌握C语言对于学习计算机专业或从事计算机相关工作的人来说非常重要。
下面将详细介绍关于计算机二级c语言考试内容、难点与备考技巧。
一、计算机二级c语言考试内容计算机二级c语言考试内容主要包括以下几个方面:1. C语言基础知识C语言基础知识包括数据类型、变量、常量、运算符、流程控制语句、函数等。
需要掌握C语言中各种数据类型的定义和使用,包括int、float、double、char、short等。
同时,还需要掌握变量、常量的定义和使用方法,例如如何定义整型变量、字符型变量、浮点型变量等。
此外,还需要了解C语言中的运算符、流程控制语句及函数的相关知识。
2. 数组和指针数组和指针是C语言中重要的概念和内容。
需要掌握数组的定义方法、数组的初始化和访问等内容。
需要了解C语言中指针的定义和使用方法,包括指针的类型、指针变量的定义、指针的运算符和指针的使用。
3. 结构体和文件操作结构体是C语言中一个重要的数据类型,用于组织不同类型的数据。
需要了解结构体的定义和使用方法,包括结构体类型的定义、结构体变量的定义和结构体数组的使用。
文件操作也是C语言中重要的内容之一,需要掌握文件的打开、读、写和关闭操作。
二、难点对于C语言初学者来说,最大的困难就在于掌握C语言语法和基本编程思想。
以下是一些学习C语言时常见的难点:1. 指针和数组指针和数组是C语言中比较困难的概念,需要花费大量的时间来学习和掌握。
指针的使用需要了解指针变量和指针运算符的概念,掌握指针变量和数组之间关系的技巧。
数组的使用需要掌握数组的定义、初始化、访问方法以及数组在函数中的传递等。
2. 递归函数递归函数在C语言中是一种常见的编程技巧,但对于初学者来说很难理解。
递归函数的调用方式和普通函数的调用方式不同,需要注意递归函数中的出口条件,防止进入死循环。
1、找出2xM整型二维数组中最大元素的值,并将此值返回调用函数。
int fun (int a[][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)for(j=0;j<M;j++)if(max<a[i][j])max=a[i][j];return max;}2、根据以下公式求π值。
double fun ( double eps){ double s=0.0,s1=1.0;int n=0;while(s1>=eps){ s=s+s1;s1=s1*n/(2*n+1);n++;}return 2*s;}3、求出1~1000之间能被7或11整除但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。
void fun (int *a, int *n){ int i,j=0; for(i=1;i<=1000;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}4、删除字符串中所有*号。
void fun( char *a ){ int i,j=0;for(i=0;a[i]!='\0';i++)if(a[i]!='*')a[j++]=a[i];a[j]='\0';}5、实现两个字符串的连接(不要同时使用库函数),即把p2所指的字符串连接到p1所指的字符串的后面。
void fun(char p1[], char p2[]){int i,j;for(i=0;p1[i]!='\0';i++) ;for(j=0;p2[j]!='\0';j++)p1[i++]=p2[j];p1[i]='\0';}6、某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能:求出平均分,并放入记录的ave成员中。
计算机⼆级题库含答案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、I\am 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 )。
全国计算机二级考试大纲基本要求1.具有计算机的基础知识。
2.了解操作系统的基本概念,掌握常用操作系统的使用。
3.掌握基本数据结构和常用算法,熟悉算法描述工具──流程图的使用。
4.能熟练地使用一种高级语言或数据库语言编写程序、调试程序。
考试内容一、基础知识与基本操作(一)基础知识1.计算机系统的主要技术指标与系统配置。
2.计算机系统、硬件、软件及其相互关系。
3.微机硬件系统的基本组成。
包括:中央处理器(运算器与控制器),内存储器(RAM与ROM),外存储器(硬盘、软盘与光盘),输入设备(键盘与鼠标)输出设备(显示器与打印机)。
4.软件系统的组成,系统软件与应用软件;软件的基本概念,文档;程序设计语言与语言处理程序(汇编程序、编译程序、解释程序)。
5.计算机的常用数制(二进制、十六进制及其与十进制之间的转换);数据基本单位(位、字节、字、字长)。
6.计算机的安全操作;计算机病毒的防治。
7.计算机网络的一般知识。
8.多媒体技术的一般知识。
(二) DOS的基本操作1.操作系统的基本功能与分类。
2.DOS操作系统的基本组成。
3.文件、目录、路径的基本概念。
4.常用DOS操作,包括:初始化与启动;文件操作(TYPE,COPY,DEL,REN,XCOPY,ATTRIB);目录操作(DIR,MD,CD,RD,TREE,PATH);磁盘操作(FORMAT,DISKCOPY,CHKDSK);功能操作(VER,DATE,TIME,CLS,PROMPT,HELP);批处理(批处理文件的建立与执行,自动批处理文件);输入输出改向。
(三) WINDOW的基本操作1.Windows的特点、基本构成及其运行环境。
2.Windows用户界面的基本元素。
包括:窗口、图标、菜单、对话框、按钮、光标等。
3.Windows基本操作。
包括:启动与退出,鼠标操作,窗口操作,图标操作、菜单操作,对话框操作。
二、程序设计1.能运用结构化程序设计方法编写程序。
计算机二级考试《java》试题及答案计算机二级考试《java》试题及答案「篇一」1、以下不是Java中有效的关键字。
A、constB、NULLC、falseD、this本题考查的是Java的关键字。
Java中常量null,false,true,new,this,const,break都是小写。
故本题答案为B。
2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是。
A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B、可以被两种类访问和引用:该类本身、该类的所有子类C、只能被该类自身所访问和修改D、只能被同一个包中的类访问本题考查的是成员变量的修饰符。
private修饰的变量说明变量为私有访问。
只能被该类自己访问或调用,是对成员变量的高级保护。
故本题答案为C。
3、当检索一个压缩文件时,首先要建立压缩文件输入流对象。
该对象。
A、以选中的压缩文件为参数B、以FileInputStream对象为参数C、以InputStreamReader对象为参数D、以BufferedReader对象为参数本题考查的是压缩文件。
在java.io包中提供了对压缩文件进行操作的能力。
它是通过压缩文件输入流与压缩文件输出流来实现的,其分别继承自InflaterInputStream与DeflaterOutputStream。
在创建压缩文件输入流时,其初始化参数是一个FileInputStream类的实例。
故本题答案为B。
4、计算机中的流是______ 。
A、流动的字节B、流动的对象C、流动的文件D、流动的数据缓冲区本题考查的是流的概念。
流,最早从C语言中引入的。
其可以看成是一个流动的数据缓冲区。
数据从数据源方向经过缓冲区流向数据的目的地。
在传送的过程中,其传送方式是串行的。
在Java中的java.io包中定义了Java中常见流的接口与类。
其中包括两个最基本的流的抽象类,它们分别是OutputStream与InputStream。
六,数组补充程序一补充程序,实现将输入的一行字符中的大写字母转变为相应的小写字母,小写字母则转变为相应的大写字母,其余字符不变。
#include <stdio.h>void main(){ char s[80];int i;printf("Please input a string: ");for(i=0;((s[i]=getchar())!='\n')&&(i<80);i++);s[i]='\0';for(i=0;s[i]!='\0';/**/ i++ /**/){if(s[i]>='a'&&s[i]<='z')s[i]=s[i]-32;else if(/**/ s[i]>='A'&&s[i]<='Z' /**/)s[i]=s[i]+32;printf("%c",s[i]);}}二补充程序,使其从键盘上输入一个4行4列的二维整型数组表示4×4阶矩阵,并计算第1列元素之和。
如输入:1 2 3 45 6 7 89 10 11 1213 14 15 16输出28(审题要注意,不是对所有元素求和;第一列的元素其列下标是0!)#include <stdio.h>#include <math.h>main(){int i,/**/ j /**/;int a[4][4],sum;sum=/**/ 0 /**/;printf("Please input 16 numbers:\n");for(i=0; i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<4;i++)/**/ sum+=a[i][0]; /**/printf("%d\n",sum);getch();}111111111111111111111111111111111111111111111111111111111111111111111111111#include <stdio.h>#include <math.h>main(){int i,/**/ j /**/;int a[4][4],sum;sum=/**/0 /**/;printf("Please input 16 numbers:\n");for(i=0; i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<4;i++)/**/ if(j==0) sum=sum+a[i][j]; /**/printf("%d\n",sum);getch();}11111111111111111111111111111111111111111111111111111111111#include <stdio.h>#include <math.h>main(){int i,/**/ j /**/;int a[4][4],sum;sum=/**/0 /**/;printf("Please input 16 numbers:\n");for(i=0; i<4;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);for(i=0;i<4;i++)/**/sum=a[0][0]+a[1][0]+a[2][0]+a[3][0];/**/printf("%d\n",sum);getch();}三补充程序,实现用插入排序法对输入的10个整数按从大到小排序,输出排序结果。
例如:输入:2 9 3 4 8 4 1 6 5 7输出:9 8 7 6 5 4 4 3 2 1(注意数组类型!整型,以及数组元素个数和下标的最大值关系!在补充for的表达式2时,要注意条件并不是j>=1,这样的话就把所有的元素都后移了)#include <stdio.h>#include <conio.h>void main(){int i,j,k,x;/**/ int a[10]; /**/printf("Enter 10 numbers:");scanf("%d",&x);a[0]=x;for(k=1; k<=9; k++){ scanf("%d",&x);for(i=0; i<k; i++)if (a[i]<x) break;if(i<k){for(j=k; /**/ j>i /**/; j--)a[j]=a[j-1];}a[i]=x;}for(i=0;i<10;i++)printf("%d ",a[i]);getch();}四编写程序,使其实现从键盘输入一个同学的姓名(如”Jack”),输出问候该同学的信息(如”Hello, Jack”)字符串(注意:如果用strcat函数,必须加#include <string.h>,并且要注意第一个字符串所能容纳的字符个数)#include <stdio.h>main(){ char str[11];printf("Please input a name:\n");scanf("%s",str);printf("Hello,%s!\n", str);getch();}11111111111111111111111111111111111111111111111111111111111111111#include <stdio.h>#include <string.h>main(){ char str[20],s[20]="hello,";printf("Please input a name:\n");scanf("%s",str);strcat(s,str);strcat(s,"!");puts(s);getch();}1111111111111111111111111111111111111111111111111111111111111111111111#include<stdio.h>#include<string.h>void main(){int i=0;char a[10];gets(a);printf("Hello,");for(i=0;i<=10;i++){printf("%c",a[i]);if(a[i]=='\0') break;}printf("\n");}11111111111111111111111111111111111111111111111111111111111111111#include<stdio.h>void main(){char str1[]={"Hello,"},str2[10];gets(str2);printf("%s",strcat(str1,str2));getchar();}五编写程序,将升序数组a(5,10,15,27,46)和降序数组b(50,45,42,29,15,8,5,2)中的所有元素按降序存入数组c中,并将三个数组输出。
结果如下:a=(5,10,15,27,46)b=(50,45,42,29,15,8,5,2)c=(50,46,45,42,29,27,15,15,10,8,5,5,2)(在写循环的时候要注意,每组最后一个数据和括号之间没有逗号注意不一定是a先结束,要再加上对b是否结束的判断)#include <stdio.h>#define N 5#define M 8void main(){int a[N]={5,10,15,27,46},b[M]={50,45,42,29,15,8,5,2};int c[N+M],i=N-1,j=0,k=0,n;while (i>=0 && j<M){if (a[i]<b[j])c[k++]=b[j++];elsec[k++]=a[i--];}if (i<0)for (n=j;n<M;n++) c[k++]=b[n];elsefor (n=i;n>=0;n--) c[k++]=a[n];printf("a=(");for(k=0;k<N-1;k++)printf("%d, ",a[k]);printf("%d)\nb=(",a[k]);for(k=0;k<M-1;k++)printf("%d, ",b[k]);printf("%d)\nc=(",b[k]);for(k=0;k<N+M-1;k++)printf("%d, ",c[k]);printf("%d)\n",c[k]);getch();}1111111111111111111111111111111111111111111111111111111111111111111111111111#include<stdio.h>main(){int x[5]={5,10,15,29,46};int y[8]={50,45,42,29,15,8,5,2};int z[13];int a,b,c=0,d=0;for(a=4;a>=0;a--){ for(b=d;b<8;b++)if( x[a]>y[b]){ z[c]=x[a];c++;break; }else { z[c]=y[b];c++;d++;} }if (z[13]!=x[4]){for(b=d;b<8;b++)z[c]=y[b]; }for(a=0;a<5;a++)printf("%d ",x[a]);printf("\n");for(b=0;b<8;b++)printf("%d ",y[b]);printf("\n");for(c=0;c<13;c++)printf("%d ",z[c]);printf("\n");}修改程序一程序cmody1的功能是将输入字符串中’0’~’8’的数字字符变为比它大1的数字字符,将’9’变为’0’如输入:ab12cd56EF89GH4输出:ab23cd67EF90GH5(字符串的结束标识符’\0’不要忘了)#include <stdio.h>#include <string.h>main(){char str1[128], str2[128];int i,len;gets(str1);len = strlen(str1);/**/ for(i=0; i>len; i++) /**/改为/**/ for(i=0; i<len; i++) /**/{if( str1[i] >= '0' && str1[i] <= '8')str2[i] = str1[i] + 1;else if(str1[i] == '9')str2[i] = '0';elsestr2[i] = str1[i];}/**/ str2[i] = '\n'; /**/改为/**/ str2[i] = '\0'; /**/puts(str2);getch();}二程序cmody2实现输入一整型二维数组,计算其中数组元素的最大值与最小值的差。