2013年9月份考试C语言程序设计第二次作业

合集下载

(完整版)C语言程序设计题库及答案,推荐文档

(完整版)C语言程序设计题库及答案,推荐文档

A.552 B.264 C.144 D.-264 30 . int a=3,b=2;printf(“%d,%d\n”,--a,b++);输出结果是(A )。
A.2,2 B.2,3 C.3,2 D.3,3
判断题(共 5 题,每题 2 分) 1 . 只能在循环体内和 switch 语句体内使用 break 语句。(对) 2 . 一个算法应该具备有穷性、确定性、输入、输出和有效性。(对) 3 . C 语言中,每个程序都必须要有一个且只有一个 main 函数。(对) 4 . 调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。(对)
5 . 表达式 16/8*sqrt(4.0)/2 值的数据类型为 double 双精度实型。(对)
第二套试题
单选题(共 20 题,每题 4 分) 1 . 若有输入语句 scanf( %d%d%d,&x,&y,&z);则不能使 x 值为 5,y 值为 6,z 值为 7 的输入是___A___。
A.5,6 ,7
A.5,6 ,7
B.5 回车换行 6 7 C.5 6 7
D.5,6,7
12 . 若 i,j 已定义为 int 类型,则下程序段中内循环体的总的执行次数是( B )。 for (i=3;i>0;i--) for (j=0;j<=4;j++){...}
A.12
B.15
C.16
13 . 下列选项中,合法的 C 语言关键字是_D___。
A.1
B.3
C.2.0
D.2.5
19 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C )个实参。 A.1 B.2 C.3 D.6 20 . 有 int x=3,y=4,z=5;则下面表达式中值为 0 的是__B____。 A.x&&y B.! (x<y&&!z||1) C.x||y+z&&y-z D.x<=y 21 . 已定义 c 为字符型变量,则下列语句中正确的是____C__。

2013年9月份全国计算机等级考试二级C语言(笔试+上机)题库[1]

2013年9月份全国计算机等级考试二级C语言(笔试+上机)题库[1]

2013年3月份全国计算机等级考试二级C语言笔试+上机题库(全)选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的。

(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图C)结构图D)数据流图(2)结构化程序设计主要强调的是A)程序的规模B)程序的效率C)程序设计语言的先进性D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序B)冒泡排序C)直接插入排序D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并B)自然连接C)笛卡尔积D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF Case D)2a, DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b;D)double a=00;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是A)409 B)277 C)1 D)91 (18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&& c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&& c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错B)3,5,3 C)3,5,5 D)3,5,7 (20)有以下程序#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d\n",a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1 (21)下列程序的输出结果是#include "stdio.h"main(){ int i,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4};(25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd (26)有如下程序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)(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]); (28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行B)预处理命令行的最后不能以分号表示结束C)#define MAX 是合法的宏定义命令行D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名B)PER是结构体类型名C)typedef struct 是结构体类型D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′}; C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#include<string.h>main(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include <stdio.h>#include <string.h>void fun(char *s[],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#include <stdio.h>int f(int x){ int y;if(x==0||x==1) return(3);y=x*x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符′C′的地址D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。

2013年9月份国家计算机等级考试二级C语言题库(共100套)(1)

2013年9月份国家计算机等级考试二级C语言题库(共100套)(1)

第四十一套请补充函数fun,该函数的功能是:判断一个数是否为素数。

该数是素数时,函数返回字符串"yes!",否则函数返回字符串"no!",并在主函数中输出。

注意:部分源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

试题程序:#include <stdlib.h>#include <conio.h>#include <stdio.h>【1】{int I, m;m=1;for(I=【2】;I<n; I++)if (【3】){m=0;break;}if (m==1&&n>1)return("yes!");elsereturn("no!");}void main(){int k=0;system("CLS");printf("Input:");scanf("%d",&k);printf("%s\n",fun(k));}【参考答案】(1) char *fun(int n) (2) 2(3) n%i==0或!(n%i)【考点分析】本题考查:函数的定义;for循环语句中循环变量的取值范围;判定非素数算法。

【解题思路】填空1:根据main( )中调用的函数fun(k),可知函fun的形参为int型变量,函数的返回值为字符型指针。

填空2:判断一个数是否为素数时,也就是判断这个数是否有除了1和其自身之外的因子,所以for循环的变量从2开始,直到这个数的前一个数。

填空3:如果一个数能被除了1和其自身之外的数整除(即余数为0),则这个数不是素数。

下列给定程序中,函数fun的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。

二级C语言真题2013年09月-(2)

二级C语言真题2013年09月-(2)

二级C语言真题2013年09月-(2)(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.设循环队列为Q(1:m),其初始状态为front=rear=m。

经过一系列入队与退队运算后,front=15,rear=20。

现要在该循环队列中寻找最大值的元素,最坏情况下需要比较的次数为______。

(分数:1.00)A.4 √B.6C.m-5D.m-6解析:[解析] 循环队列是队列的一种顺序存储结构,用队尾指针rear指向队列中的队尾元素,用排头指针指向排头元素的前一个位置,因此,从排头指针front指向的后一个位置直到队尾指针rear指向的位置之间所有的元素均为队列中的元素,队列初始状态为front=rear=m,当front=15,rear=20时,队列中有5个元素,比较次数为4次,故A选项正确。

2.下列叙述中正确的是______。

(分数:1.00)A.循环队列属于队列的链式存储结构B.双向链表是二叉树的链式存储结构C.非线性结构只能采用链式存储结构D.有的非线性结构也可以采用顺序存储结构√解析:[解析] 循环队列是队列的一种顺序存储结构,A选项错误。

双向链表为顺序存储结构,二叉树通常采用链式存储结构,B选项错误。

完全二叉树是属于非线性结构,但其最佳存储方式是顺序存储方式,C选项错误,故D选项正确。

3.某二叉树中有n个叶子节点,则该二叉树中度为2的节点数为______。

(分数:1.00)A.n+1B.n-1 √C.2nD.n/2解析:[解析] 对任何一棵二叉树,度为0的节点(即叶子节点)总是比度为2的节点多一个。

二叉树中有n 个叶子节点,则度为2的节点个数为n-1,故B选项正确。

4.下列叙述中错误的是______。

(分数:1.00)A.算法的时间复杂度与算法所处理数据的存储结构有直接关系B.算法的空间复杂度与算法所处理数据的存储结构有直接关系C.算法的时间复杂度与空间复杂度有直接关系√D.算法的时间复杂度与算法程序执行的具体时间是不一致的解析:[解析] 算法的时间复杂度是指执行算法所需要的计算工作量。

2013年9月份全国计算机二级C语言考试参考资料1——真题

2013年9月份全国计算机二级C语言考试参考资料1——真题

2013年9月二级C语言真题及答案(考试时间:120分钟,满分100分)一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分)) (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)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0?x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)(22)有以下程序#includemain(){int y=9;for( y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’ D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#includemain(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。

2013年9月全国计算机等级考试二级c语言笔试试题(含参考答案)

2013年9月全国计算机等级考试二级c语言笔试试题(含参考答案)

全国计算机等级考试二级笔试试卷基础部分和C语言程序设计(考试时间120分钟,满分100分)2013年9月一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。

(1) 十进制数1385转换成十六进制数为A) 568 B) 569 C) D85 D) D55(2) 下列叙述中正确的是A) 计算机病毒只能传染给可执行文件B) 计算机软件是指存储在软盘中的程序C) 计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失D) 硬盘虽然装在主机箱内,但它属于外存(3) 一个字长的二进制位数是A) 8 B) 16 C) 32 D) 随计算机系统而不同的(4) CPU主要由运算器与控制器组成,下列说法中正确的是A) 运算器主要负责分析指令,并根据指令要求作相应的运算B) 控制器主要完成对数据的运算,包括算术运算和逻辑运算C) 控制器主要负责分析指令,并根据指令要求作相应的运算D) 控制器直接控制计算机系统的输入与输出操作(5) 下列叙述中正确的是A) 将数字信号变换成便于在模拟通信线路中传输的信号称为调制B) 以原封不动的形式将来自终端的信息送入通信线路称为调制解调C) 在计算机网络中,一种传输介质不能传送多路信号D) 在计算机局域网中,只能共享软件资源,而不能共享硬件资源(6) 各种网络传输介质A) 具有相同的传输速率和相同的传输距离B) 具有不同的传输速率和不同的传输距离C) 具有相同的传输速率和不同的传输距离D) 具有不同的传输速率和相同的传输距离(7) 多媒体计算机系统的两大组成部分是A) 多媒体功能卡和多媒体主机B) 多媒体通信软件和多媒体开发工具C) 多媒体输入设备和多媒体输出设备D) 多媒体计算机硬件系统和多媒体计算机软件系统(8) 按通信距离划分,计算机网络可以分为局域网和广域网。

2013年9月份全国计算机等级考试二级C语言题库及详解

2013年9月份全国计算机等级考试二级C语言题库及详解

1 2013年9月份 全国计算机等级考试二级C 语言 试题题库(无纸化考试专用)(说明:无纸化考试选择题40分,程序题60分。

学会这些题,保证二级高空飘过!!!)第一套给定程序的功能是:求二分之一圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S r π=2,在程序中定义的变量名要与公式的变量相同)。

例如,输入圆的半径值:19.527,输出为:s=598.949991。

注意:部分源程序给出如下。

请勿改动main 函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h> double 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【考点分析】 本题考查:圆面积计算公式S π=*r*r;scanf( )函数的形式,其一般形式为"scanf("格式控制字符串",地址表列);",注意地址是由地址运算符"&"后跟变量名组成的;printf( )函数的形式,其一般形式为"printf("格式控制字符串",输出表列);";函数实参调用,函数作为另一个函数调用的实际参数出现。

【解题思路】填空1:计算圆的面积,公式为:s r π=*r 。

填空2:scanf( )函数一般形式为scanf(格式控制,地址表列),因此填入&x 。

填空3:函数的实际参数是圆的半径x 。

下列给定程序中,函数fun 的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。

2013年9月计算机二级C语言上机题库(可打印)

2013年9月计算机二级C语言上机题库(可打印)

第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。

函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII 码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。

/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。

函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。

/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

2013年9月份二级C语言填空题

2013年9月份二级C语言填空题

2013年9月21日二级C 语言 “无纸化”考试“填空题”复习资料填空题复习方法: 1、填空题占“无纸化”考试中的18分,一般情况下有3个空,每个空6分。

经过总结和分析,这些题目可以根据“考点”进行分类,各位考生将下面的题目认真理解并准确记忆,则填空题中的18分一般可以轻松拿下。

2、做填空题,必须注意以下几点:(1)读题目。

注意关键词和函数返回内容,例如:“从小到大排序”、“将a 的值赋值给b ”等,这些提示可以让考生快速的分析出要填入的空。

(2)注意上下行的程序,因为有的答案就来自下一行的代码。

例如:“交换的格式”就可以从上下行得到。

(3)必须重点分析:函数调用、函数定义首部和函数返回值,这些部分考试常考。

(4)有的空比较难,因此考生只能死记,这个不要太纠结。

3、下面所列举的题目,对做题没有影响的代码已经省略,考生只用分析剩余代码即可将题目做出。

一、数学公式类题目6、计算下列式前n 项的和作为函数返回值。

double fun(int n) { int i; double s, t; /**********found**********/ s=__1__;填入:0。

因为s 是求和变量。

/**********found**********/ for(i=1; i<=__2__; i++) 填入:n 。

因为循环的范围{ t=2.0*i;是1到n。

/**********found**********/s=s+(2.0*i-1)*(2.0*i+1)/__3__; 填入:(t*t )。

此处计算s }的和,通项中缺少了分母,return s;根据公式可知应填入(t*t ) }记住不能缺少小括号。

main() { int n=-1;printf("\nThe result is: %f\n",fun(n)); }25、给定程序中,函数fun 的功能是计算下式29、double fun(int n) { int i, k; double s, t; s=0;/**********found**********/ k=__1__;填入:1。

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

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

2013计算机二级考试c语言试题及答案第二套2013计算机二级考试C语言试题及答案第二套-------------------------------------------------------题目一:请编写一个C语言程序,实现输入两个整数,输出其中较大的数。

解答:```c#include <stdio.h>int max(int a, int b) {if (a > b)return a;elsereturn b;}int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("较大的数为:%d\n", max(num1, num2));return 0;}```题目二:请编写一个C语言程序,实现计算1到100之间所有正整数的和并输出。

解答:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("1到100之间所有正整数的和为:%d\n", sum);return 0;}题目三:请编写一个C语言程序,实现输入一个整数n,输出n的阶乘。

解答:```c#include <stdio.h>int factorial(int n) {if (n == 0)return 1;elsereturn n * factorial(n - 1);}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("%d的阶乘为:%d\n", num, factorial(num));return 0;}题目四:请编写一个C语言程序,实现输入一个字符串,将其中的小写字母转换为大写字母并输出。

2013年9月计算机二级C语言上机题库及答案(破译版)

2013年9月计算机二级C语言上机题库及答案(破译版)

2013年9月计算机二级c语言上机题库.第1套填空题请在函数FUN的横线上填写若干表达式,使从键盘上输入一个整数N,输出斐波纳契数列。

斐波纳契数列是一种整数数列,其中每数等于前面两数之和,如:0 1 1 2 3 5 8 13…..请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h>int fun(int n);main(){int i, n = 0;scanf("%d", &n);for (i=0; i<n; i++)printf("%d ", fun(i));}int fun(int n){if (n==0___1___)return 0;else if (___2__n==1_)return 1;elsereturn ___fun(n-1+fun(n-2))_;}第1处填空:n==0或0==n或!n第2处填空:n==1或1==n第3处填空:fun(n-1)+fun(n-2)或fun(n-2)+fun(n-1)改错题下列给定程序中,函数FUN的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。

例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH。

请改正程序中的错误,使程序能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序: #include <stdio.h>#include <string.h>void fun(char *p, char *q, char *c){/********found********/int k = 1 ;k==0/********found********/while (*p != *q) (*p||*q ){if (*p < *q)c[k] = *q;elsec[k] = *p;if (*p)p++;if (*q)q++;k++;}}main(){char a[10] = "aBCDeFgH", b[10] = "ABcd", c[80] = {'\0'};fun(a, b, c);printf("The string a:");puts(a);printf("The string b:");puts(b);printf("The result:");put s(c);}第1处:int k=1应改为int k=0;第2处:while(*p!=*q)应改为while(*p||*q)编程题请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7或11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。

2013年9月计算机二级c语言考试真题及答案

2013年9月计算机二级c语言考试真题及答案

2013年9月计算机二级c语言考试真题及答案一、选择题(每题2分,共40分)1. 下列关于C语言中变量的描述,错误的是:A. 变量名可以包含数字和下划线B. 变量名必须以字母或下划线开头C. 变量名区分大小写D. 变量名可以包含空格答案:D2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个选项不是合法的标识符?A. _nameB. 2nameC. name$D. name答案:B4. 若有定义 int a=5, b=3;,则表达式 a%b 的值是:A. 2B. 1C. 0D. 错误答案:B5. 在C语言中,以下哪个运算符不能用于浮点数?A. %B. +C. -D. /答案:A6. 以下哪个选项不是C语言中的基本数据类型?A. intB. floatC. stringD. double答案:C7. 在C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A8. 若有定义 int a=10;,则执行语句 a+=a-=a*a; 后,a 的值是:A. -80B. -70C. 0D. 10答案:A9. 在C语言中,以下哪个选项是正确的二维数组的声明?A. int array[3,4];B. int array[3][4];C. int array[][4];D. int array[3][4];答案:B10. 下列关于C语言中函数的描述,错误的是:A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数必须有返回值D. 函数可以有默认参数答案:B11. 在C语言中,以下哪个选项不是控制语句?A. ifB. switchC. forD. include答案:D12. 若有定义 int a=5, b=10;,则执行语句 a=b>a?b:a; 后,a 的值是:A. 5B. 10C. 15D. 0答案:B13. 在C语言中,以下哪个选项不是合法的指针类型?A. int *B. float *C. char *D. double *答案:D14. 在C语言中,以下哪个函数用于动态分配内存?A. malloc()B. free()C. calloc()D. realloc()答案:A15. 在C语言中,以下哪个选项不是合法的数组初始化方式?A. int array[3] = {1, 2, 3};B. int array[] = {1, 2, 3};C. int array[3] = {1};D. int array[] = {1, 2, 3, 4, 5};答案:D16. 在C语言中,以下哪个选项是正确的结构体声明?A. struct Student { int age; char name[20]; };B. struct { int age; char name[20]; };C. struct Student { int age; char name; };D. struct { int age; char name[20]; } student;答案:A17. 在C语言中,以下哪个选项不是合法的文件操作函数?A. fopen()B. fclose()C. fgetc()D. fgets()答案:D18. 在C语言中,以下哪个选项不是合法的宏定义?A. #define PI 3.14159B. #define SQUARE(x) x*xC. #define PRINT printf("Hello World")D. #define PRINT(x) printf(x)答案:C19. 在C语言中,以下哪个选项不是合法的预处理指令?A. #includeB. #defineC. #ifdefD. #end答案:D20. 在C语言中,以下哪个选项不是合法的位运算符?A. &B. |C. ^D. %答案:D二、填空题(每题2分,共20分)1. C语言中,用于定义一个字符型变量的关键字是________。

2013年9月份国家计算机等级考试二级C语言题库(共100套)(2)

2013年9月份国家计算机等级考试二级C语言题库(共100套)(2)

请补充函数fun,该函数的功能是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。

例如,若输入"Are you come from Sichuan?",则输出"are you come from sichuan?"。

注意:部分源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h>#include <string.h>#include <conio.h>char *fun(char tt[]){int i;for(i=0;tt[i];i++){if((tt[i]>='A')&&( 【1】))【2】;}return (【3】) ;}void main(){char tt[81];printf("\nPlease enter a string:");gets(tt);printf("\nThe result string is: \n%s", fun(tt));}【参考答案】(1) tt[i]<='Z' (2) tt[i]+=32 (3) tt【考点分析】本题考查:if语句,一般需根据题意确定条件表达式;大写字母转换成小写字母的方法;通过return语句将函数值返回。

【解题思路】填空1:此处考查判断大写字母的方法,如果字符的ASCII码大于字符A的ASCII码,并且小于字符Z的ASCII码,则此字符为大写字母。

填空2:考生必须掌握大写字母转换为小写字母的方法,小写字母的ASCII码比大写字母的ASCII码大32。

填空3:函数fun的返回值为字符型指针,而字符型的数组名就是字符型指针,所以返回tt。

下列给定程序中函数fun的功能是:求出字符串中最后一次出现的子字符串的位置,通过函数值返回,在主函数中输出从此位置开始的字符串;若未找到,则函数值为NULL。

2013c语言二级考试及答案

2013c语言二级考试及答案

2013c语言二级考试及答案一、选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x12B. 0x12.5C. 0x12LD. 0x12U答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. _variableD. variable!答案:B3. 若有定义:int a=5, b=2;,则表达式a%b的值是多少?A. 1B. 2C. 0D. 5答案:A4. 下列哪个选项是C语言中的合法字符串常量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\"D. "Hello, World"答案:A5. 在C语言中,以下哪个选项是正确的二维数组定义?A. int a[2][2] = {{1, 2}, {3, 4}};B. int a[2][2] = {1, 2, 3, 4};C. int a[2][2] = {1, 2, 3};D. int a[2][2] = {1, 2};答案:A6. 下列哪个选项是C语言中的合法函数定义?A. void func(int a, int b) {}B. int func() {}C. void func(int a) {}D. int func(int a, int b) {}答案:D7. 若有定义:int a=1, b=2;,则表达式a++的值是多少?A. 1B. 2C. 3D. 0答案:A8. 在C语言中,以下哪个选项是正确的逻辑运算符?A. &&B. ||C. ||D. &&答案:A9. 下列哪个选项是C语言中的合法指针声明?A. int *p;B. int *p[];C. int (*p)[];D. int p;答案:A10. 若有定义:int a=10, b=20;,则表达式a<b的值是多少?A. 1B. 0C. -1D. 10答案:B二、填空题(每题2分,共20分)1. 在C语言中,字符'A'的ASCII码值是 65 。

C语言作业1

C语言作业1

B .纯小数型 C .复数型 D .双精度型 学生答案: A 分数:3 得分:3.0 9. 以下的非法赋值语句是( )。 A .n=(i+2,i++) B .j++ C .++(i+1) D .x=j>0 学生答案: C 分数:3 得分:3.0 10. 下述语句执行后,变量k的值是( )。 int k=1; while(k++〈10〉; A .10 B .11 C .9 D .为无限循环,值不定 学生答案: B 分数:4 得分:4.0 11. 下面程序段的运行结果是( )。 int n=0; while(n++<=2); printf(“%d”,n); A .2 B .3 C .4 D .有语法错 学生答案: C 分数:4 得分:4.0 12. 当把以下四个表达式用做if语句的控制表达式时,有一个选项与其他 三个选项含义不同,这个选项是( )。 A .k%2 B .k%2= =1 C .(k%2)!=0 D .!k%2= =1 学生答案: D 分数:4 得分:4.0 13. 在以下程序段中,while循环执行的次数是( )。 int k=0; while(k=1) k++; A .执行一次 B .一次也不执行
B. 句号 C. 分号 D. 冒号 正确答案:C 满分:4 分 得分:4 12. 当把以下四个表达式用做if语句的控制表达式时,有一个选项与 其他三个选项含义不同,这个选项是( )。 A. k%2 B. k%2= =1 C. (k%2)!=0 D. !k%2= =1 正确答案:D 满分:4 分 得分:4 13. 若x的初值为10,则表达式(x>10?x+100 : x-10)的值是( )。 A. 10 B. 0 C. 100 D. 1 正确答案:B 满分:4 分 得分:4 14. 关于printf函数的格式字符,以下叙述正确的是( )。 A. 整形变量的输出格式符只有%d一种 B. %x是格式符,它可以适用于输出任何一种类型的数据 C. %8f表示输出实数的整数部份占8个字符宽度 D. %ld表示输出长整型数据 正确答案:D 满分:4 分 得分:4 15. 以下程序的输出结果是( )。 main( ) { int a, b; for(a=1,b=1;a<=100;a++) { if(b>=10) break; if(b%3==1) { b+=3; continue;} } printf(“%dn”,a); } A. 101 B. 6 C. 5 D. 4 正确答案:D 满分:4 分 得分:4 16. 若有如下程序段,则循环体语句共执行( )次。 int k=10; while(k>0) {k--;} A. 10 B. 9 C. 11 D. 0

2013年9月全国计算机二级C语言程序设计上机模考试卷2

2013年9月全国计算机二级C语言程序设计上机模考试卷2

2013年9月全国计算机二级C语言程序设计上机模考试卷2 填空题请补充main函数,该函数的功能是:从键盘输入一组字符串,以’*’结束输入,并显示出这个字符串。

例如,输入abcdef *, 结果显示abcdef。

仅在横线上添入所编写的若干表达式或语句,勿改动函数中的其他任何内容。

#include#define N 80main(){ 考试大(www.Examda。

com)int i = -1, j = 0;charstr[N];printf("\n Input a string \n");do{i++;scanf(_1_);} while (_2_);printf("\n ******* display the string ******* \n");while (j < i){printf(_3_);j++;}}答案: (1)“%c”,&str[i](2)str[i]!=’*’(3)”%c”,str[j]改错题:下列给定程序中,函数fun的功能是:计算并输出high 以内最大的10个素数之和。

High由主函数传给fun 函数。

若high的值为100,则函数的值为732。

#include#include#includeint fun(int high){int sum = 0, n = 0, j, yes;while ((high >= 2) && (n < 10)){yes = 1;for (j=2; j<=high/2; j++)/********found********/if (high%j == 0){yes = 0;break}if (yes){sum += high;n++;}high--;}return sum;}main(){printf("%d\n", fun(100));}答案:break改为break;程序设计:请编写函数 fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。

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

2013年9月份考试C语言程序设计第二次作业一、单项选择题(本大题共100分,共 25 小题,每小题 4 分)1. 下面程序fun3(int x){static int a=3;a +=x; return(a);}main(){int k=2, m=1, n;n=fun3(k);m=fun3(m);printf("%d\n",n);}的输出是().A. 3B. 4C. 5D. 92. 以下叙述中正确的是().A. 局部变量说明为static存储类,其生存期将得到延长B. 全局变量说明为static存储类,其作用域将被扩大C. 任何存储类的变量在未赋初值时,其值都是不确定的D. 形参可以使用的存储类说明符与局部变量完全相同3. 若有以下说明和定义union dt{int a;char b;double c;}data;以下叙述中错误的是().A. data的每个成员起始地址都相同B. 变量data所占的内存字节数与成员c所占字节数相等C. 程序段:data.a=5;printf("%f\n",data.c);输出结果为5.000000D. data可以作为函数的实参4. 以下程序运行后的输出结果是()fun(int a, int b){if(a>b) return a;else return b;}main(){int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf("%d\n", r);}A. 3B. 6C. 8D. 125. 有以下程序#include 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 6C. 6 11D. 5 106. 设有以下语句,其中对数组元素a不正确的引用是:()(其中0≤i<10) int a[10]={0,1,2,3,4,5,6,7,8,9,},*p=a;A. a[p-a]B. *(&a[i])C. p[i]D. *(*(a+i))7. 下面程序main(){enum team{my,your=4,his,her=his+10};printf("%d %d %d %d\n",my,your,his,her);}的输出是().A. 0 1 2 3B. 0 4 0 10C. 0 4 5 15D. 1 4 5 158. 下面程序的输出是()。

void prtv(int *x){printf("%d\n",++*x);}main(){int a=25;prtv(&a);}A. 23B. 24C. 25D. 269. 有以下说明和定义语句struct student{int age;char num[8];};struct student stu[3]={{20,"200401"},{21,"200402"},{10\9,"200403"}}; struct student *p=stu;以下选项中引用结构体变量成员的表达式错误的是().A. (p++)->numB. p->numC. (*p).numD. stu[3].age10. 以下程序的输出结果是( )A. 0B. 29C. 31D. 无定值11. 设有以下语句typedef struct S{int g;char h;}T;则下面叙述中正确的是().A. 可用S定义结构体变量B. 可以用T定义结构体变量C. S是struct类型的变量D. T是struct S类型的变量12. 以下函数值的类型是( )A. intB. 不确定C. voidD. float13. 以下程序的输出结果是( )A. 19B. 17C. 15D. 1214. 执行下面的程序后,a的值是()#define SQR(X) X*X main( ){int a=10,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf("%d\n",a);}A. 10B. 1C. 9D. 015. 设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是().A. p=1;B. *q=2;C. q=p;D. *p=5;16. 下列关于c语言数据文件的叙述中正确的是().A. 文件由ASCII码字符序列组成,C语言只能读写文本文件B. 文件由二进制数据序列组成,C语言只能读写二进制文件C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件17. 已定义以下函数,该函数的返回值是()。

fun(int *p){return *p;}A. 不确定的值B. 形参p中存放的值C. 形参p所指存储单元中的值D. 形参p的地址值18. 以下程序执行后输出结果是()int *f(int *x, int *y){if (*x < *y) return x;else return y;}main(){int a=7,b=8,*p,*q, *r;p=&a;q=&b;r = f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}A. 7,8,8B. 7,8,7C. 8,7,7D. 8,7,819. 设有以下定义和语句int a[3][2]={1,2,3,4,5,6},*p[3];p[0]=a[1];则*(p[0]+1)所代表的数组元素是().A. a[0][1]B. a[1][0]C. a[1][1]D. a[1][2]20. 已定义以下函数fun(char *p2, char *p1){while((*p2=*p1)!=''''\0''''){p1++;p2++;}}函数的功能是().A. 将p1所指字符串复制到p2所指内存空间B. 将p1所指字符串的地址赋给指针p2C. 对p1和p2两个指针所指字符串进行比较D. 检查p1和p2两个指针所指字符串中是否有''''\0''''21. 下面程序的输出结果是()main(){int a[ ]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf(“%d\n”,*p+9);}A. 0B. 1C. 10D. 922. 以下程序的正确运行结果是()#include main(){int k=4,m=1,p;p=func(k,m);printf("%d",p);p=func(k,m);printf("%d\n",p) ;}func(int a,int b){static int m=0,i=2;i+=m+1;m=i+a+b;return(m) ;}A. 817B. 816C. 820D. 8823. 有以下程序main(){int a[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++) p[i]=i+1;printf("%d\n",a[1][2]);}程序运行后的输出结果是().A. 3B. 6C. 9D. 224. 下面函数的功能是()sss(char *s, char *t){while((*s)&&(*t)&&(*t++== *s++));return(*s-*t);}A. 求字符串的长度B. 比较两个字符串的大小C. 将字符串s复制到字符串t中D. 将字符串s接续到字符串t中25. 以下函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是()A. 3B. 4C. 5D. 6答案:一、单项选择题(100分,共 25 题,每小题 4 分)1. C2. A3. C4. D5. A6. D7. C8. D9. D 10. C 11. B 12. A 13. D14. B 15. D 16. D 17. C 18. B 19. C 20. A 21. C 22. A 23. B 24. B 25.A。

相关文档
最新文档