第一篇:2009年12月计算机程序设计C语言考试试卷
2009年(下)全国信息技术水平考试计算机程序设计技术水平证书(C语言)考
试试卷
第一大题:单选题(40 分)
1.(2分)以下程序的功能是()。
#include
#include
void main()
{
int m,k,i;
for(m=2;m<=10;m++)
{
k=sqrt(m);
for(i=2;i<=k;i++)
if(m%i==0)
break;
if(i>=k+1)
printf(“%3d”,m);
}
}
(A)求10以内偶数之和(B)求10以内质数之和
(C)求10以内质数(素数)(D)求10以内奇数之和
2.(2分)以下程序输出的结果是()。
#include
void main()
{
int a=2,b=4,c=6,x=1,y=2;
y=(x=a+b),(b+c);
printf(“y=%d,x=%d”,y,x);
}
(A)y=6,x=6(B)y=10,x=6(C)y=2,x=1(D)y=10,x=2
3.(2分)设有int a[ ]={20,21,22},*p=&a[2];则执行完(*p)--;*(p-1)=20;后,a[0],a[1],a[2]的值为()。
(A)21,21,22(B)20,22,22(C)20,20,22(D)20,20,214.(2分)以下程序段输出的结果是()。
#include
#include
void main()
{ chars1[20]=“12345”,s2[20]=“1234”;
printf(“%dn”,strlen(strcpy(s2,s1)));
}
(A)4(B)5(C)9(D)105.(2分)已知int a=20;a+=2;则a的值为()。
(A)0(B)18(C)22(D)206.(2分)以下叙述中正确的是()。
(A)在程序的一行上可以出现多个有效的预处理命令行
(B)使用带参数的宏时,参数的类型应与宏定义时的一致
(C)宏替换不占用运行时间,只占用编译时间
(D)在以下定义中C R是称为“宏名”的标识符#define C R 0457.(2分)当说明一个结构体变量时系统分配给它的内存是()。
(A)各成员所需内存量的总和
(B)结构中第一个成员所需内存量
(C)成员中占内存量最大者所需的容量
(D)结构中最后一个成员所需内存量8.(2分)在C语言程序中下列选项正确的是()。
(A)函数的定义可以嵌套,但函数的调用不可以嵌套
(B)函数的定义不可以嵌套,但函数的调用可以嵌套
(C)函数的定义和函数的调用不可以嵌套
(D)函数的定义和函数的调用均可以嵌套9.(2分)下列描述正确的是()。
(A)continue 语句的作用是终止整个循环的执行
(B)continue 语句的作用是结束本次循环的执行
(C)continue 语句和break 语句都可以在switch语句中使用
(D)break 语句的作用是结束本次循环的执行10.(2分)已知:
char str1[10], str2;请选择正确的输入语句()。
(A)scanf(“%s%c”, str1, &str2);
(B)scanf(“%s%s”, &str1,str2);
(C)scanf(“%c%c”, &str1,str2);
(D)scanf(“%c%s”, &str1,str2);11.(2分)以下数组声明语句中正确的是()。
(A)int a,a[n];(B)int a[ ];
(C)int a[3][]={{1},{2},{3}};(D)int a[3][3]={{1},{2},{3}};
12.(2分)在一个C语言的源程序中,main()函数的位置()。
(A)必须在最开始(B)必须在系统调用的库函数的后面
(C)可以任意(D)必须在最后13.(2分)判断char型变量ch是否为小写字母的正确表达式为()。
(A)’A’<=ch<=’Z’
(B)(ch>=’A’)&(ch<=’Z’)
(C)(ch>=’A’)&&(ch<=’Z’)
(D)(ch>=’A’)AND(ch<=’Z’)14.(2分)判断字符串s1是否大于s2,应
当使用()。
(A)if(s1>s2)(B)if(strcmp(s1,s2))
(C)if(strcmp(s1,s2)>0)(D)if(strcmp(s2,s1)>0)15.(2分)在函数的复合语句中定义变量,则该变量()。
(A)只在复合语句中有效(B)只在函数中有效
(C)在本程序范围内有效(D)不能这样定义16.(2分)为了向ASCII文件尾部增加数据,打开文件的方式应采用()。
(A)″a″(B)″r+″(C)″w″(D)″w+″17.(2分)为了使字符串向左靠,下列选项中输出格式正确的是()。
(A)%-m.ns(B)%ms(C)%m.ns(D)%s18.(2分)以下选项中不能正确把cl定义成结构体变量的是()。
(A)typedef struct
{ int red;
int green;
int blue;
}COLOR;
COLOR cl;
(B)struct color cl
{ int red;
int green;
int blue;
};
(C)struct color
{ int red;
int green;
int blue;
}cl;
(D)struct
{ int red;
int green;
int green;
int blue;
} cl;19.(2分)下面的程序当输入字符串”qwert?”时,输出的结果是
()。
#include
void main()
{ char c;
while((c=getchar())!='?')putchar(--c);
}
(A)qwert(B)pvdqs(C)QWERT(D)PVDQS20.(2分)若希望当A的值为偶数时,表达式的值为“真”,A的值为奇数时,表达式的值为“假”。则以下不能满足要求的表达式是()。
(A)A%2==0(B)!(A%2==1)(C)!(A%2)(D)A%2第二大题:操作题(60 分)1.(30分)有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。程序分析:请注意分子与分母的变化规律(即i项的分子是i-1项的分子与分母之和,分母是i-1项的分子)。(题目保存文件名为:1.c与1.exe)2.(30分)设计程序,从键盘输入10个学生的平时成绩和期末成绩(成绩均为百分制),按平时成绩*0.4+期末成绩*0.6计算总评成绩,再按总评成绩从低到高排序后输出。(题目保存文件名为:2.c与
2.exe)
第二篇:2010年3月计算机c语言考试题
#include
#defineN80
voidfun(int*w, intp, intn)
{
}
main()
{inta[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
inti,p,n=15;void NONO();
printf(“The original data:n”);
for(i=0;i printf(“nnEnterp:”);scanf(“%d”,&p); fun(a,p,n); printf(“nThe data after moving:n”); for(i=0;i printf(“nn”); NONO(); } void NONO() {/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。FILE *rf,*wf;int a[N], i, j, p, n; rf = fopen(“K:k1124003520in.dat”,“r”); wf = fopen(“K:k1124003520out.dat”,“w”); for(i = 0;i < 5;i++){ fscanf(rf, “%d %d”, &n, &p); for(j = 0;j < n;j++)fscanf(rf, “%d”, &a[j]); fun(a, p, n); for(j = 0;j < n;j++)fprintf(wf, “%3d”, a[j]);fprintf(wf, “n”); } fclose(rf);fclose(wf); } */ 2011年计算机二级考试C语言程序设计考试大纲 ◆ 基本要求 1.GoShu8.Com熟悉 Visual C++ 6.0 集成开发环境。 2.掌握结构化程序设计的方法,具有良好的程序设计风格。 3.掌握程序设计中简单的数据结构和算法并能阅读简单的程序。 4.在 Visual C++ 6.0 集成环境下,能够编写简单的C程序,并具有基本的纠错和调试程序的能力 ◆ 考试内容 一、C语言程序的结构 1.程序的构成,main函数和其他函数。 2.头文件,数据说明,函数的开始和结束标志以及程序中的注释。 3.源程序的书写格式。 4.C语言的风格。 二、数据类型及其运算 1.C的数据类型(基本类型,构造类型,指针类型,无值类型)及其定义方法。 2.C运算符的种类、运算优先级和结合性。 3.不同类型数据间的转换与运算。 4.C表达式类型(赋值表达式,算术表达式,关系表达式,逻辑表达式,条件表达式,逗号表达式)和求值规则。 三、基本语句 1.表达式语句,空语句,复合语句。 2.输入输出函数的调用,正确输入数据并正确设计输出格式。 四、选择结构程序设计 1.用if语句实现选择结构。 2.用switch语句实现多分支选择结构。 3.选择结构的嵌套。 五、循环结构程序设计 1.for循环结构。 2.while和do-while循环结构。 3.continue语句和break语句。 4.循环的嵌套。 2018年3月计算机二级C语言练习题(1) 第1章 程序设计基本概念 1.1 程序和程序设计 1[单选题] 以下叙述中错误的是()。 A.C语言源程序经编译后生成后缀为.obj的目标程序 B.C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C.用c语言编写的程序称为源程序,它以ASCIl代码形式存放在一个文本文件中 D.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 参考答案:D 参考解析:并不是源程序中的所有行都参加编译。在条件编译形式下,相关内容只在满足一定条件时才进行编译。选项D)中的非执行语句不在其范围内。 2[单选题] 下列描述中正确的是()。 A.算法是指对解题方案的准确而完整的描述 B.算法的有穷性是指算法程序的长度是有限的 C.算法是否有效与拥有的情报无关 D.算法的基本特征有可行性、确定性和有穷性 参考答案:A 参考解析:算法是指对解题方案的准确而完整的描述。算法具有4个特征:可行性、确定性、有穷性和拥有足够的情报。有穷性指算法必需在有限时间内做完,即算法必需能在执行有限个步骤之后终止。当算法拥有足够的情报时,此算法才是有效的;而当提供的情报不够时,算法可能无效。 3[单选题] 下列数据结构中属于非线性结构的是()。 A.队列 B.线性表 C.二叉树 D.栈 参考答案:C 参考解析:线性结构满足两个条件:有且只有一个根结点;每个结点最多只有一个前件,也最多只有一个后件。栈、队列、线性表都属于线性结构,二叉树是一种非线性结构,因为除叶子结点外,每个结点都有两个后件,不满足线性结构的条件。 4[单选题] 4个元素A、B、C、D依次入栈,入栈过程中允许栈顶元素出栈,假设某一时刻栈的状态是C(栈顶)、B、A(栈底),则不可能的出栈顺序是()。 A.D、C、B、A B.C、B、D、A C.C、A、D、B D.C、D、B、A 参考答案:C 参考解析:栈的特点是先进后出,所以后入栈的最先出栈。在栈的状态是c(栈顶)、B、A(栈底)时,D未入栈,栈顶元素可以出栈,但A不可能比B先出栈,所以c选项错误。 5[单选题] 下面概念中,不属于面向对象方法的是()。 A.对象 B.继承 C.类 D.过程调用 参考答案:D 参考解析:类是指具有共同属性、共同方法的对象的集合,所以类是对象的抽象,对象是对应类的一个实例。继承是指能够直接获得已有的性质和特征,而不必重复定义它们。所以选项A、B、C属于面向对象方法,选项D属于面向过程方法。 6[单选题] 下列选项中属于软件生命周期开发阶段任务的是()。 A.可行性研究 B.需求分析 C.详细设计 D.软件维护 参考答案:C 参考解析:软件生命周期可分为软件定义、软件开发和软件运行维护3个阶段。软件开发期包括概要设计、详细设计、实现和测试4个阶段。 7[单选题] 软件设计中衡量模块独立性的度量标准是()。 A.抽象和信息隐蔽 B.局部化和封装化 C.内聚性和耦合性 D.激活机制和控制方法 参考答案:C 参考解析:耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。 8[单选题] 下列不属于过程设计工具中图形工具的是()。 A.N—S B.PAD C.程序流程图 D.DFD 参考答案:D 参考解析:常用的过程设计工具有图形工具(程序流程图、N-S图、PAD图、HIPO)、表格工具(判定表)、语言工具(PDL)。 9[单选题] 下列叙述中错误的是()。 A.数据库管理系统是数据库的核心 B.数据库系统由数据库、数据库管理系统、数据库管理员三部分组成 C.数据共享最好的是数据库系统阶段 D.数据库中的数据独立于应用程序而不依赖于应用程序 参考答案:B 参考解析:数据库管理系统是数据库系统的核心,它位于用户和操作系统之间,属于系统软件。数据库系统由数据库、数据库管理系统、数据库管理员、硬件平台和软件平台五部分组成。数据库技术的发展经历了3个阶段,人工管理、文件系统和数据库系统,数据共享最好的是数据库系统阶段,数据库中的数据独立于应用程序而不依赖于应用程序。 10[单选题] 在下列选项中,哪个不是一个算法一般应该具有的基本特征()。 A.无穷性 B.可行性 C.确定性 D.有穷性 参考答案:A 参考解析:作为一个算法,一般应具有以下几个基本特征:可行性、确定性、有穷性、拥有足够的情报。本题答案为A)。 11[单选题] 下列关于栈的叙述中正确的是()。 A.在栈中只能插入数据,不能删除数据 B.在栈中只能删除数据,不能插入数据 C.栈是先进后出(FILO)的线性表 D.栈是先进先出(FIFO)的线性表 参考答案:C 参考解析:栈是限定在一端进行插入与删除的线性表。栈是按照“先进后出”的或后进先出的原则组织数据的,因此,栈也被称为“先进后出”表或“后进先出”表。本题答案是C)。 (试卷来源:厚学网) 2018年3月计算机二级C语言考试操作题冲刺题 一、程序填空题 [填空题] 下列给定程序中,函数fun的功能是:在形参S所指字符串中寻找与参数C相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。 例如,若s所指字符串为“baacda”,c中的字符为a,执行后S所指字符串为“baaaacdaa”。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构! 试题程序: 参考解析: 【参考答案】 【解题思路】 填空1:for语句循环条件是判断是否到达字符串结尾,即当前字符是否为‘ ’。 填空2:while语句用以确定字符串的长度,所以变量n赋初值为0。 填空3:题目要求如果找到与参数c相同的字符,就在后面插入一个相同的字符,且找到后应该给数组元素赋值,本题目给出参数为c。 二、程序修改题 [简答题] 下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。 例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“Abcd”,则c中的字符串应为“aBcdeFgH”。 请改正程序中的错误,使它能得出正确的结果。 注意:部分源程序在文件MODl1.C中,不得增行或删行,也不得更改程序的结构! 参考解析: 【参考答案】(1)int k=0; (2)while(*p||*q) 【考点分析】 本题考查:变量初始化,需根据题意确定变量含义,然后对其进行初始化操作;while循环语句。 【解题思路】 (1)变量k存放数组e的下标,因此应初始化为0。 (2)while循环语句的循环条件是判断两个字符串是否到达结尾。 三.程序设计题 [简答题] 规定输入的字符串中只包含字母和*号。请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。 例如,字符串中的内容为:“****A*BC*DEF*G*******”.删除后,字符串中的内容应当是:“****A*BC*DEF*G”。在编写函数时,不得使用C语言提供的字符串函数。 注意:部分源程序在文件PROG1.C中。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 参考解析: 【参考答案】 【考点分析】 本题考查:删除字符串尾部+号;删除的主要思想是把不删除的字符保留起来。 【解题思路】 对于一个字符串要删除其尾部的*号,只需要在最后一个不是*号的字符后面加上结束符号‘ ’。具体操作为:首先找到字符串的结尾,然后从最后一个字符开始往前逐个判断是否为*号,直到找到非*号字符为止,最后在该字符后面加上结束符号‘ ’。 (内容来源:厚学网)第三篇:2011年计算机二级考试C语言程序设计考试大纲
第四篇:2018年3月计算机二级C语言练习题
第五篇:2018年3月计算机二级C语言考试操作题冲刺题