文档库 最新最全的文档下载
当前位置:文档库 › 2012年3月全国计算机等级考试二级笔试试卷 C语言程序设计

2012年3月全国计算机等级考试二级笔试试卷 C语言程序设计

2012年3月全国计算机等级考试二级笔试试卷 C语言程序设计
2012年3月全国计算机等级考试二级笔试试卷 C语言程序设计

2012年3月全国计算机等级考试二级笔试试卷

C语言程序设计

(考试时间90分钟,满分100分)

一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是

A)循环队列是队列的一种顺序存储结构B)循环队列是队列的一种链式存储结构

C)循环队列是非线性结构D)循环队列是一直逻辑结构

(2)下列叙述中正确的是

A)栈是一种先进先出的线性表B)队列是一种后进先出的线性表

C)栈和队列都是非线性结构D)以上三种说法都不对

(3)一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为

A)4 B)6 C)10 D)16

(4)在下列模式中,能够给出数据库物理存储结构与物理存取方法的是

A)内模式B)外模式C)概念模式D)逻辑模式

(5)在满足实体完整性约束的条件下

A)一个关系中可以没有候选关键词

B)一个关系中只能有一个候选关键词

C)一个关系中必须有多个候选关键词

D)一个关系中应该有一个或者多个候选关键词

(6)有三个关系R、S和T如下:

则由关系R和S得到关系T的操作是

A)自然连接B)并C)差D)交

(7)软件生命周期中的活动不包括

A)软件维护B)市场调研C)软件测试D)需求分析

(8)下面不属于需求分析阶段任务的是

A)确定软件系统的功能需求B)确定软件系统的系能需求

C)制定软件集成测试计划D)需求规格说明书审评

(9)在黑盒测试方式中,设计测试用例的主要根据是()。

A)程序外部功能B)程序内部逻辑C)程序数据结构D)程序流程图

(10)在软件设计中不使用的工具是()。

A)系统结构图B)程序流程图

C)PAD图D)数据流图(DFD图)

(11)针对简单程序设计,以下叙述的实施步骤正确的是()。

A)确定算法和数据结构、编码、调试、整理文档

B)编码、确定算法和数据结构、调试、整理文档

C)整理文档、确定算法和数据结构、编码、调试

D)确定算法和数据结构、调试、编码、整理文档

(12)关于C语言中数的表示,以下叙述正确的是()。

A)只有整型数在允许范围内能精确无误的表示,实型数会有误差

B)只要在在允许范围内整型和实型都能精确表示

C)只有实型数在允许范围内能精确无误的表示,整型数会有误差

D)只有八进制表示的数在不会有误差

(13)以下关于算法叙述错误的是()。

A)算法可以用伪代码、流程图等多种形式来描述

B)一个正确的算法必须有输入

C)一个正确的算法必须有输出

D)用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码

(14)以下叙述错误的是()。

A)一个C程序可以包含多个不同名的函数

B)一个C程序只能有一个主函数

C)C程序在书写时,有严格的缩进要求,否则不能编译通过

D)C程序的主函数必须用main作为函数名

(15)设有以下语句

Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);

若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是()。

A)A和B之间用逗号间隔B)A和B之间不能有任何间隔符C)A和B之间可以用回车间隔D)A和B之间用空格间隔

(16)以下选项中非法的字符常量是()。

A)'\101' B)'\65' C)'\xff' D)'\019'

(17)有以下程序

#include

Main()

{ int A=0,B=0,C=0;

C=(A-=A-5);(A=B,B+=4);

Printf(“%d, %d, %d\n”,A,B,C)

}

程序运行后输出的结果是()。

A)0,4,5 B)4,4,5 C)4,4,4 D)0,0,0

(18)设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是()。

A)x++;printf((“%d\n”,x); B)n=++x;printf((“%d\n”,n);

C)++x;printf((“%d\n”,x); D)n=x++;printf((“%d\n”,n);

(19)以下选项中,能表示逻辑值“假”的是()。

A)1 B)0.000001 C)0 D)100.0

(20)有以下程序

#include

Main()

{ int a;

Scanf(“%d”,&a);

If(a++<9) printf((“%d\n”,a);

Else printf((“%d\n”,a--);

}

程序运行时键盘输入9<回车>,则输出的结构是()。

A)10 B)11 C)9 D)8

(21)有以下程序

#include

main()

{ int s=0,n;

for (n=0;n<3;n<++)

{ switch(s)

{ case 0;

case 1;s+=1;

case 2;s+=2;break;

case 3;s+3;

case 4;s+=4;

}

printf((“%d\n”,s);

}

}

程序运行后的结果是()。

A)1,2,4 B)1,3,6 C)3,10,14 D)3,6,10

(22)若k是int类型变量,且有以下for语句

for(k=-1;k<0;k++)printf(****\n”);

下面关于语句执行情况的叙述中正确的是()。

A)循环体执行一次B)循环体执行两次

C)循环体一次也不执行D)构成无限循环

(23)有以下程序

#include

Main()

{ char A,B,C;

B=…1?;C=…A?

for(A=0;A<6;A++)

{ if(A%2) putchar(B+A);

else putchar(C+A);

}

}

程序运行后输出的结果是()。

A)1B3D5F B)ABCDFE C)A2C4E6 D)123456

(24)设有如下定义语句

Int m[ ]={2,4,6,8},*k=m;

以下选项中,表达式的值为6的是()。

A)*(k+2) B)k+2 C)*k+2 D)*k+=2

(25)fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。在下列划线处应该填写的是()。

#include

#define N 5

viod fun(int x[N])

{ int m;

for(m=N-1;m>0;m--) scanf(“%d\n”, );

}

A)&x[++m] B)&x[m+1] C)x+(m++) D)x+m

(26)若有函数

Viod fun(double a[], int *n)

{………}

以下叙述中正确的是()。

A)调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送

B)形参a和n都是指针变量

C)形参a是一个数组名,n是指针变量

D)调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组

(27)有以下程序

#include

Main()

{ int a,b,k,m,*p1,*p2;

k=1,m=8;

p1=&k,p2=&m;

a=/*p1-m; b=*p1+*p2+6;

printf(“%d ”,a); printf(“%d\n”,b);

}

编译时编译器提示错误信息,你认为出错的语句是()。

A)a=/*p1-m B)b=*p1+*p2+6

C)k=1,m=8; D)p1=&k,p2=&m;

(28)以下选项中有语法错误的是()。

A)char *str[ ]={“guest”}; B)char str[10 ]={“guest”};

C)char *str[3] *str[1]={“guest”}; D)char str[3][10];str[1]={“guest”};

(29)avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10,则下列函数说明语句错误的是()。

A)int avg(int *a,int n); B)int avg(int a[10],int n);

C)int avg(int a,int n); D)int avg(int a[],int n);

(30)有以下函数

#include

#include

main()

{ printf(“%d\n”,strren”A TS\n012\1”) );}

程序运行后的输出结果是()。

A)3 B)8 C)4 D)9

(31)有以下函数

#include

main()

{ char a[20],b[20],c[20];

scanf(”%s%s”,a,b);

get(c);

printf(”%s%s\n”,a,b,c);

}

程序运行时从第一行开始输入this is a cat!<回车>,则输出结果是()。

A)thisisacat! B)this is a C)thisis a cat! D)thisisa cat!

(32)有以下函数

#include

viod fun(char c)

{ if(c>…x?) fun(c-1);

printf (“%c”,c);

}

main()

{ fun”z”;}

程序运行输出结果是()。

A)xyz B)wxyz C)zyxw D)zyx

(33)有以下函数

#include

viod func(int n)

{ int i;

for(i=0;i<=n;i++) printf(“*”);

printf(“#”);

}

main()

{ func(3); printf(“????”); func(4); printf(“\n”); }

程序运行输出结果是()。

A)****#????***# B)***#????*****#

C)**#????*****# D)****#????*****#

(34)有以下函数

#include

viod fun(int *s)

{ staic int j=0;

do {s[j]=s[j]+s[j+1];} wihle(++j<2);

}

main()

{ int k,a[10]={1,2,3,4,5};

for(K+1;k<3;k++) fun(a);

for(K+1;k<5;k++) printf(“%d”,a[k]);

printf(“\n”);

}

程序运行输出结果是()。

A)12345 B)23445 C)34756 D)35745

(35)有以下函数

#include

#define S(x) (x)*x*2

main()

{ int k=5,j=2;

printf(“%d,”,S[k+j]); printf(“%d\n”,S(k-j)));

}

程序运行输出结果是()。

A)98,18 B)39,11 C)39,18 D)98,11

(36)有以下函数

#include

Viod exch(int t[ ])

{ t[0]=t[5]; }

main()

{ int x[10]={1,2,3,4,5,6,7,8,9,10},i=0;

while(i<=4) {exch(&x[i])?i++;}

for(i=0;i<5;i++) printf(“%d”,x[i]);

printf(“\n”);

}

程序运行输出结果是()。

A)2 4 6 8 10 B)1 3 5 7 9 C)1 2 3 4 5 D)6 7 8 9 10

(37)设有以下程序段

Struct MP3

{ char name[20];

char color;

float price;

}std,*ptr;

ptr=& std;

若要引用结构体变量std中的color成员,写法错误的是()。

A)std.color B)ptr-> color C)std-> color D)(*ptr) .color

(38)有以下函数

#include

struct stu

{ int mun; char name[10]; int age;};

viod fun(struct stu *p)

{ printf(“%s\n”,p->name); }

mian()

{ struct stu x[3]={{01,”zhang”,20},{02,”wang”,19},{03,”zhao”,18}};

fun(x+2);

}

程序运行输出结果是()。

A)zhang B)zhao C)wang D)19

(39)有以下函数

#include

mian()

{ int a=12,c;

c=(a<<2)<<1;

printf(“%d\n”,c):

}

程序运行输出结果是()。

A)3 B)50 C)2 D)96

(40)以下函数不能用于向文件写入数据的是()。

A)ftell B)fwrite C)fputc D)fprintf

二、填空题(每空2分,共30分)

请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。

(1)将长度为n的顺序存储在线性表中删除一个元素,最坏情况下需要移动表中的元素个数为【1】。

(2)设循环队列的存储空间为Q(1:3),初始状态为front=rear=30。现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有【2】个元素。

(3)数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是【3】。

(4)在将E-R图转换到关系模式时,实体和联系都可以表示成【4】。

(5)常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于【5】。

(6)设变量a和b已定义为int类型,若要通过scanf(”a=%d,b=%d”,&a,&b);语句分别给a和b输入1和2,则正确的数据输入内容是【6】。

(7)以下程序的输出结果是【7】。

#include

mian()

{ int a=37;

a+=a%=9; printf(“%d\n”,a);

}

(8)设A.B.c都是整型变量,如果a的值为1,b的值为2,则执行c=a++||b++;语句后,变量b的值是【8】。

(9)有以下程序段

s=1.0;

for(k=1,k<=n;k++) s=s+1.0(k*(k+1));

printf(“%f\n”,s);

请填空,使以下程序段的功能与上面的程序段完全相同。

s=1.0; k=1;

while( 【9】 )

{ s=s+1.0(k*(k+1)); k=k+1; }

printf(“%f\n”,s);

(10)以下程序段的输出结果是【10】。

#include

mian()

{ char a,b;

for(a=0;a<20;a+=7) { b=a ; putchar(b+?0?); }

}

(11)以下程序段的输出结果是【11】。

#include

mian()

{ char *ch[4]={“red”,”green”,”blue”};

int i=0;

while(ch[i]);

{ putchar(ch[i][0]; i++; }

}

(12)有以下程序

#include

mian()

{ int arr[]={1,3,5,7,2,4,6,8{, i, start;

sca nf(“%d”, &start);

for(i=0,i<3,i++)

printf(“%d”,arr[(start+i)%8]);

}

若在程序运行时输入整数10 <回车>,则输出结果为【12】。

(13)以下程序的功能是输出a数组中的所有字符串,请填空

#include

mian()

{ char *a[]={“ABC”,”DEFGH”,”IJ”,”KLMNOP”};

int i=0;

f or(;i<4;i++) printf(“%s\n”,【13】 );

}

(14)以下程序的输出结果是【14】。

#include

#include

#include

mian()

{ char *p, *q, *r;

p=q=r=(char *)malloc(sizeof(char)*20);

strcpy(p,”attaboy,welcome!”);

printf(“%c%c%c\n”,p[11], q[3], r[4]);

free(p);

}

(15)设文件test.txt中原已写入字符串Begin,执行以下程序后,文件中的内容为【15】。

#include

mian()

{ file *fp;

fp=fopen(“test.txt”,”w+”);

fputs(“test”,fp);

fclose(fp);

}

2012年3月全国计算机等级考试

二级C参考答案及解析

一、选择题

(1)A) 【解析】循环队列是一种顺序存储的线性结构,所以,“循环队列是队列的一种链式存储结构”、

“循环队列是非线性结构”和“循环队列是一种逻辑结构”的说法都是错误的。

(2)D) 【解析】栈和队列都是线性结构,并且栈是后进先出,队列是先进后出,所以三种说法都不对。

(3)D) 【解析】根据公式n0=n2+1,叶子结点个数为5,则度为2的结点数为4,那么度为1的结点数n1=n-n0-n2=25-4-5=16。

(4)A) 【解析】数据库系统在其内部具有三级模式;概念模式、内部模式与外部模式,其中,内模式(又称物理模式)给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash 等存取方式与存取路径,内模式的物理特性主要体现在操作系统及文件级上,它还未深入到设备级(如磁盘及磁盘操作)上。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户(应用)的公共数据视图,主要描述数据的概念记录类型以及它们之间的关系,它还包括一些数据间的语义约束。外模式(子模式或用户模式)是用户的数据视图,也就是用户所见到的数据模式,它由概念模式推导而出的,在一般的DBMS中都提供相关的外模式描述语言(外模式DDL)。

(5)D) 【解析】在关系R中如记录完全函数依赖于属性(组)X,则称X为关系R中的一个候选关键字。候选关键字的性质有:①在一个关系中,候选关键字可以有多个;②任何两条记录候选关键字值都是不相同的;③关键字可能由一个属性构成,也可能由多个属性构成;④在任何关系中至少有一个关键字。所以,在满足实体完整性约束的条件下,一个关系中应该有一个或多个候选关键字。

(6)C) 【解析】自然连接是二元运算,其结果是得到两个关系中公共属性名字上相等的所有元组的组合;并是指将两个关系中的元素全部合并到一个新的关系之中;交是指将那些同时属于两个关系的元素组成一个新的关系;差是指将属于前一个集合但不属于后一个集合的元素组成新的关系。由图中可以看出,关系T是由属于R但不属于S的元组组成的集合,所以答案为差。

(7)B) 【解析】一个软件产品或软件系统通常要经历孕育、诞生、成长、成熟、衰亡等阶段,一般称为软件生存周期。通常而言,软件生命周期可以划分为六个阶段:问题的定义及规划、需求分析、软件设计、编码、软件测试、运行维护。所以,软件生命周期中的活动不包括市场调研。

(8)C) 【解析】需求分析的基本任务是:①问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。②分析与综合,导出软件的逻辑模型。③编写文档:包括编写需求规格说明书,编写初步用户使用手册,确认测试计划,修改完善软件开发计划。制定软件集成测试计划属于概要设计。

(9)A) 【解析】通常,软件的测试方法包括白盒测试与黑盒测试。白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,把程序看作一个不能打开的黑盒子,主要针对软件界面和软件功能进行测试。

(10)D) 【解析】软件设计包括概要设计和详细设计,软件概要设计中,面向数据流的设计方法有变换型系统结构图和事务型数据流两种。软件详细设计,程序流程图(PDF)和PAD(问题分析图)是过程设计的常用工具。数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,由于它只反映系统必须完成的逻辑功能,所以它是一种功能模型,是在可行性研究阶段用到的。

(11)A) 【解析】程序设计的实施步骤为确定算法和数据结构、编码、调试、整理文档。

(12)B) 【解析】只要在允许范围内,整型数和实型数都可以精确的表示一个数。

(13)B) 【解析】一个正确的算法有零个或多个输入,必须要有一个或多个输出。所以选项B)说法错误。

(14)C) 【解析】程序在书写时,缩进要求是为了增加程序的可读性,没有严格按照缩进要求,不会影响编译和运行。

(15)B) 【解析】在scanf语句里,%c比较特殊,它是输入单个字符,此处输入格式为“%c%c”,所以输入字符A和B时,不能有间隔。

(16)D) 【解析】“\”后需八进制数据,不能出现数据“9”,所以选项D)错误。

(17)A) 【解析】根据优先级,a-=a-5即a=a-(a-5)=5;又c=(a-=a-5)=5;再根据a=b得,a=0;又b+=4得b=b+4=4。经计算,a=0,b=4,c=5。

(18)D) 【解析】A、B、C输出的均是x+1,而D选项输出的是x。

(19)C) 【解析】在逻辑表示中,“1”可以表示逻辑值“真”,“0”可以表示逻辑值“真”。

(20)A) 【解析】a的初始值为9,执行a++<9时,为假,a加1,此时,a=10;执行else语句,输出a=,即先输出a的值(此时,a=10),a的值再减1。

(21)C) 【解析】第一次循环:s=0,n=0,执行swith语句中的case1和case2语句,输出3;第二次循环:s=3,n=1,执行swith语句中的case3和default语句,输出10;第三次循环:s=10,n=2,执行swith语句中的default语句,输出14。故,输出结果为:3,10,14。

(22)A) 【解析】第一次K=-1小于0,执行循环体;第二次执行K++,k=0,此时K<0不成立,推出循环。

(23)C) 【解析】第一次循环:a%2=0执行else中语句,输出A;第二次循环:a%2=1执行putchar(b+a),输出2;以此类推,……最后输出的是A2C4E6,即选项C)。

(24)A) 【解析】k是指向数组m的指针,即k指向数组的第一个元素m[0].A)选项,K+2指向m [2],即*(K+2)=m[2]=6;B)选项中,K+2是一个指向m[2]的指针;C)选项中,*K+2=4;D)选项中,*K+=2即*K=*K+2=4。

(25)D) 【解析】x[5]有五个元素,分别为x[0],x[1],x[2],x[3],x[4]。A)选项中,第一次循环时,m=4,x[++m]越界;B)选项,同A,越界;C)选项,m++和m—造成死循环;D)选项,可以实现五个元素的全部地址访问。

(26)C) 【解析】形参a是一个数组名,不是变量,所以选项C)正确。

(27)A) 【解析】B)、C)、D)均符合正确语法和逻辑。

(28)D) 【解析】本题考察字符数组的定义。选项D)中,str[1]是str[1][0]的地址,不能直接赋值,所以选项D)错误。

(29)C) 【解析】C)选项中,传递的是单值,不符合题目要求。

(30)B) 【解析】strlen函数是计算字符串s的长度,不包括’\0’在内。

(31)C) 【解析】数组a的长度为20,而输入的字符串长度不足2.0,即输入的字符串全部赋值给数组a。

(32)A) 【解析】先从main函数运行,参数为z,满足c>”x”,执行fun()函数,参数变为y,满足c>’x’,执行fun()函数,此时,参数为x,不再满足条件,开始逆序输出x,输出y,输出z。

(33)D) 【解析】从main函数开始,执行func()函数,连续输出四个“*”和一个“#”,再次调用func(),连续输出五个“*”和一个“#”,故选项D)正确。

(34)D) 【解析】从main函数开始,第一个for循环:k=1,k<3,运行fun(a),s是指向数组a的指针,得s[0]=s[0]+s[1]=3,s[1]=s[1]+s[2]=5,j=2,退出fun();接着,执行第一个for循环;k=2,k<3,运行fun(a),得s[2]=s[2]+s[3]=7,j=3,退出fun();此时,k=3,不再满足循环条件,退出第一个循环,执行第二个循环输出五个数,即35745。

(35)C) 【解析】由#define的定义知,x是在预编译阶段替换参数值,即第一个s(k+j)替换成(k+j)*k+j*2,带入数值得39;第二个s((k-j))替换成((k-j))*(k-j)*2,带入数值得18,故选C)。

(36)D) 【解析】这里考察数组地址问题,执行main函数,t指向x数组第一个元素,t[0]=t[5]=6;以此类推,最后输出x数组的值,即6 7 8 9 10。

(37)C) 【解析】结构体变量的引用有两种方式:①用箭头操作符:”->”,其中,左操作数必须是指向结构的指针,右操作数是该结构的成员;②结构体变量名.成员名。故答案C)是错误的。

(38)B) 【解析】从main函数开始,请用fun()函数,x指向数组第一个元素,x+2指向第三个元素,然后即p指向第三个元素,输出变量name,即Zhao。

(39)D) 【解析】考察左移运算符“<<”,将12转换为二进制为1100,左移2位,再左移1位,为1100000,即96。故选择答案D)。

(40)A) 【解析】A)ftell用于返回当前文件指针;B)fwnte用于向文件读入写入一个数据块;C)fputc 用于送一个字符到一个流中;D)传送格式化输出到一个文件中。故答案选A)。

二、填空题

(1)n-1

【解析】线性表的存储结构有两种:顺序存储(称为线性表)和链式存储(线性链表)。在长度为n 的顺序存储线性表中删除一个元素,最坏情况下需要移动表中n-1个数据。

(2)29

【解析】通过题干的描述可在此循环队列共30个空间,另外队尾指针rear的值小于队头指针front的值,所以利用公式(rear-front+30)%30=29,可知此循环队列的元素个数为29。

(3)数据操纵语言

【解析】数据库管理系统提供以下的数据语言:(1)数据定义语言(DDL):负责数据的模式定义与数据的物理存取构建;(2)数据操纵语言(DML):负责数据的操纵、如查询与增加、删除、修改等;(3)数据控制语言:负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等。

(4)关系

【解析】关系数据库逻辑设计的主要工作是将E-R图转换成指定RDBMS中的关系模式,这种转换是比较直接的,实体与联系都可以表示成关系。

(5)面向对象方法

【解析】面向对象方法是一种基于对象模型的程序设计方法,包括面向对象分析、面向对象设计、面向对象编程、是目前应用范围最广的设计方法。其中对象模型包括六个要素:封装、抽象、模块化、层次结构、类、并发性、持久。面向对象方法的主要特征是封装、继承和多态性。

(6)a=1,b=2

【解析】由于输入格式为“a=%d,b=%d”,所以在输入时,需要按照“a=1,b=2”输入,注意:不要忽略“,”。

(7)2

【解析】本题考查的是C语言运算符优先级的相关知识,程序在计算赋值运算符时,从右到左。先计算a%=9的值,即a=a%9=1,然后计算a=a+1=2。

(8)2

【解析】在“或”运算中,如果第一个表达式成立,则不计算第二个表达式。这里a++为1,为“真”,故不再计算“b++”,所以b的值为2。

(9)k<=n

【解析】要实现同样的功能,由于函数体一样,所以要循环一样的次数,上面循环n次,这里必须使的k<=n。

(10)074

【解析】执行循环,第一次a=0,b=0;第二次a=7,b=7;第三次a=14,b=14;第四次a=21,循环结束。

(11)rgb

【解析】这里依次输出每个元素的第一个字母,即rgb。

(12)572

【解析】start=10,然后循环执行输出arr[(start+i)%8]的值,即输出arr[2]、arr[3]和arr[4],所以答案为572。

(13)a[i]

【解析】数组元素用数组名[下标]来遍历。

(14)cab

【解析】p、q、r指向同一个20个字符大小的空间,把该段字符串拷贝到该空间,然后输入第12、4、5个字符,即cab。

(15)test

【解析】fp=fop en(“test.txt”,“w+”)新建一个文件名为“test.txt”的文件,会将原来的“test.txt”覆盖。将“test”写入“tesst.txt”文件中,所以结果为“test”。

C语言程序设计模拟试题1(附答案)

《C语言程序设计》模拟试卷一 一、单项选择题(每题2分,共30分) 1、下列有关C语言的叙述中错误的是()。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被看作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的是()。 A) MAIN B) _HJ C) 2ong D) LINE1 3、下列符号中用来表示C语言中的回车换行的是()。 A) \r B) \n C) \b D) \t 4、如有如下定义:int a=1,则语句printf(“%d,%d”, a, ++a);的运行结果为()。 A) 1, 1 B) 1, 2 C) 2, 2 D) 2, 1 5、已知ch为字符型变量,下面表达式中正确的是()。 A) ch=’\xff ’B) ch=’\ff ’C) ch=’ ff ’D) ch=” ff ” 6、以下能正确定义一维数组的是()。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5}; 7、以下语句中能正确定义变量并赋初值的是()。 A) char c=65; B) float f=f+1.1; C) double x=12.3e3.6; D) int m=n=2.0; 8、在执行下列程序时输入:1357924,则程序的运行结果为()。 main( ) { int x, y; scanf(“%2d%2d”,&x,&y); printf(“%2d”,x*y); } A) 13 B) 1357 C) 74 D) 741 9、执行下列程序段后输出的结果是()。 x = 9; while (x > 7)

历年二级C语言笔试真题及答案

1 2009年9月全国计算机等级考试二级笔试 试卷 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-S 图 B) PAD 图 C) 程序流程图 D) E-R 图 8)数据库管理系统是 A )操作系统的一部分B) 在操作系统支持下的系统软件C) 一种编译系统 D) 一种操作系统 9)在E-R 图中,用来表示实体联系的图形是 A) 椭圆图B) 矩形C) 菱形D) 三角形 10)有三个关系R ,S 和T 如下: 其中关系T 由关系R 和S 通过某种操作得到,该操作为 A) 选择 B) 投影 C) 交 D) 并 11)以下叙述中正确的是 A )程序设计的任务就是编写程序代码并上机 B )程序设计的任务就是确定所用数据结 构 C )程序设计的任务就是确定所用算法 D )以上三种说法都不完整 12)以下选项中,能用作用户标识符的是 A )void B )8_8 C )_0_ D )unsigned 13)阅读以下程序 #include main() { int case; float printF; printf(“请输入2个数:”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %f \n”,case,printF); } 该程序编译时产生错误,其出错原因是 A )定义语句出错,case 是关键字,不能 用作用户自定义标识符B )定义语句出错,printF 不能用作用户自定义标识符 C )定义语句无错,scanf 不能作为输入函 数使用 D )定义语句无错,printf 不能输出case 的值 14)表达式:(int)((double)9/2)-(9)%2的值是 A )0 B )3 C )4 D )5 15)若有定义语句:int x=10;,则表达式 x-=x+x 的值为 A )-20 B )-10 C )0 D )10 16)有以下程序 #include main() { int a=1,b=0; printf(“%d,”,b=a+b); printf(“%d \n”,a=2*b); } 程序运行后的输出结果是 A )0,0 B )1,0 C )3,2 D )1,2 17)设有定义:int a=1,b=2,c=3;,以下语 句中执行效果与其它三个不同的是 A )if(a>b) c=a,a=b,b=c; B )if(a>b) {c=a,a=b,b=c;} C ) if(a>b) c=a;a=b;b=c; D ) if(a>b) {c=a;a=b;b =c;} 18)有以下程序 #include main() { int c=0,k; for (k=1;k<3;k++) switch (k) {default: c+=k case 2: c++;break; case 4: c+=2;break; } printf(“%d \n”,c); } 程序运行后的输出结果是 A )3 B )5 C )7 D )9 19)以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是 A )if((a>b)&&(b>c)) k=1;else k=0; B )if((a>b)||(b>c) k=1;else k=0; C )if(a<=b) k=0;else if(b<=c) k=1; D )if(a>b) k=1;else if(b>c) k=1; else k=0; 20)有以下程序 #include main() { char s[]={“012xy”};int i,n=0; for(i=0;s[i]!=0;i++) if(s[i]>=?a?&&s[i]<=?z?) n++; printf(“%d \n”,n); } 程序运行后的输出结果是 A )0 B )2 C )3 D )5 21)有以下程序 #include main() { int n=2,k=0; while(k++&&n++>2); printf(“%d %d \n”,k,n); } 程序运行后的输出结果是 A )0 2 B )1 3 C )5 7 D )1 2 22)有以下定义语句,编译时会出现编译错误的是 A )char a=?a? B )char a=?\n?; C )char a=?aa?; D )char a=?\x2d?; 23)有以下程序 #include main() { char c1,c2; c1=?A?+?8?-…4?; c2=?A?+?8?-…5?; printf(“%c,%d \n”,c1,c2); } 已知字母A 的ASCII 码为65,程序运行后的输出结果是

C语言程序设计试题1

C语言程序设计试题1 一、单项选择题 1.C语言规定,在一个源程序中main函数的位置______d___ 。 A.必须在最开始B.必须在最后 C.必须在预处理命令的后面D.可以在其他函数之前或之后 2.以下选项中,_________d__ 是C语言关键字 A.printf B.include C.fun D.default 3.已知有声明"int a=3,b=4,c;",则执行语句"c=1/2*(a+b);"后,c的值为____a_ 。 A.0 B.3 C.3.5 D.4 4.设指针变量占4个字节的内存空间,若有声明"char *p="123";int c;",则执行语句 "c=sizeof(p);"后,c的值为__d__ A.1 B.2 C.3 D.4 5.已知有声明"int a=3,b=4;",下列表达式中合法的是_d___。 A.a+b=7 B.a=|b| C.a=b=0 D.(a++)++ 6.已知有声明"char s[20]="Hello";",在程序运行过程中,若要想使数组s中的内容修改为"Good",则以下语句中能够实现此功能的是___d_。 A.s="Good"; B.s[20l="Good"; C.strcat(s,"Good"); D.strcpy(s,"Good"); 7.已知有声明"int a[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};",若需要引用值为12的数组元素,则下列选项中错误的是_a___ 。 A.*(a+2)+3 B.*(*(a+2)+3) C.*(a[2]+3) D.a[2][3] 8.已知有声明"int n;float x,y;",则执行语句"y=n=x=3.89;"后,y的值为_b___ 。 A.3 B.3.0 C.3.89 D.4.0 9.已知有声明"int a=12,b=15,c;",则执行表达式"c=(a||(b-=a))"后,变量b和c的值分别为 __b__。 A.3,1 B.15,12 C.15,1 D.3,12 10.下面的函数定义正确的是_____d________ A)float fun (float x ; float y) {return x*y;} B)float fun (float x,y) {return x*y;} C)float fun (x,y) {int x,y;return x*y;} D)int fun (int x, int y) {return x*y;} 11.某程序需要使用一个代表常数3.14的符号常量名P,以下定义中正确的是_d___。 A.#define P 3.14; B.#define P(3.14) C.#define P=3.14; D.#define P 3.14 12.下列四个选项中,属于C语言关键字的是__c__ 。 A.Float B.single C.double D.real 13.已知某编译系统中signed int类型数据的长度是16位,该类型数据的最大值是_D___。 A.32767 B.32768 C.127 D.65535

c语言程序设计试题答案

习题7 7.1选择题。 (1)下列对字符串的定义中,错误的是: A 。 A) char str[7] = "FORTRAN"; B) char str[] = "FORTRAN"; C) char *str = "FORTRAN"; D) char str[] = {'F','O','R','T','R','A','N',0}; (2)以下程序段的输出结果是:____D_________ char a[] = "ABCDE" ; char *p = NULL; for (p=a; p main() { static char a[5]; a = "abcde" ; printf("%s\n", a); }

B) #include <> main() { static char a[7]= "goodbye!"; printf("%s\n", a) ; } C) #include <> main() { char a[5] = "abcde"; printf("%s\n", a) ; } D) #include <> main() { static char a[]="abcde"; printf("%s\n", a) ; } (4)阅读下列函数,函数功能为___A_____。 void Exchange(int *p1, int *p2) { int p; p = *p1; *p1 = *p2; *p2 = p; } A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值 C)交换*p1和*p2的地址 D)可能造成系统故障

C语言程序设计模拟试题A附答案

《C语言程序设计》模拟试卷A 一、单项选择题(每题2分,共20分) 1、下列有关C语言的叙述中错误的就是(D)。 A) C语句必须以分号结束 B) 任何一个C程序中有且只有一个主函数 C) 复合语句在语法上可被瞧作一条语句 D) C程序中对数据的任何操作都可由运算符实现 2、以下不能定义为用户标识符的就是(C)。 A) MAIN B) _HJ C) 2ong D) LINE1 3、以下能正确定义一维数组的就是(C)。 A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”; C) char a[ ]=”012345”;D) char a[5]={0,1,2,3,4,5}; 4、执行下列程序段后输出的结果就是(C)。 x = 9; while (x > 7) { printf(“*”); x- -; } A) **** B) *** C) ** D) * 5、设char str1[10] = “ABCDE”, str2[10] = “xyz”; 则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果就是(D)。 解析: strcpy(str1,str2); 后,str1[] 里就是"XYZ", Z 后面有字符串结束符 strcpy(str1,str2); 执行后,函数返回的就是str1, 因为str1[] 里就是新值"XYZ", 而 strlen(strcpy(str1,str2)) 就就是strlen(str1的新值),所以得3。 strlen 统计到字符串结束符以前,即,不计入字符串结束符。 A) 9 B) 8 C) 5 D) 3 6、若用数组名作为函数调用的实参,则传递给形参的就是(A)。

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

2010年9月全国计算机二级C语言笔试试题及答案 一、选择题((1)-(10),(21)-(40)每题2分,(11)-(20)每题1分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。 1. 下列叙述中正确的是 A 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的 B 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构 C 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构 D 上述三种说法都不对 答案:B 2. 下列叙述中正确的是 A 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化 B 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化 C 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化 D 上述三种说法都不对 答案:C 3. 软件测试的目的是 A 评估软件可靠性 B 发现并改正程序中的错误 C 改正程序中的错误 D 发现程序中的错误 答案:B 4. 下面描述中,不属于软件危机表现的是 A 软件过程不规范 B 软件开发生产率低 C 软件质量难以控制 D 软件成本不断提高 答案:A 5. 软件生命周期是指 A 软件产品从提出、实现、使用维护到停止使用退役的过程 B 软件从需求分析、设计、实现到测试完成的过程 C 软件的开发过程 D 软件的运行维护过程

答案:A 6. 面向对象方法中,继承是指 A 一组对象所具有的相似性质 B 一个对象具有另一个对象的性质 C 各对象之间的共同性质 D 类之间共享属性和操作的机制 答案:D 7. 层次型、网状型和关系型数据库划分原则是 A 记录长度 B 文件的大小 C 联系的复杂程度 D 数据之间的联系方式 答案:D 8. 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是 A 一对一 B 一对多 C 多对多 D 多对一 答案:C 9. 数据库设计中反映用户对数据要求的模式是 A 内模式 B 概念模式 C 外模式 D 设计模式 答案:C 10. 有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是 A 自然连接 B 交 C 投影 D 并 答案:A

c语言程序设计期末试题B(含答案)

c语言程序设计期末试题B(含答案) 一单项选择题(每小题1分,共10分) 1. A 2. C 3. D 4. A 5. B 1.以下4组用户定义标识符中,全部合法的一组是() A)_total clu_1 sum B)if -max turb C)txt REAL 3COM D)int k_2 _001 2.以下程序的输出结果是() #include main( ) { int a = 1, b = 2, c = 3; printf(“%d”, c>b>a); } A) 2 B) 1 C) 0 D) 3 3.以下正确的叙述是() A) 在C语言中,main函数必须位于文件的开头 B) C语言每行中只能写一条语句 C) C语言本身没有输入、输出语句 D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误 4.设有定义:int a,*pa=&a; 以下scanf语句中能正确为变量a读入数据的是() A)scanf("%d",pa); B)scanf("%d",a); C)scanf("%d",&pa); D)scanf("%d",*pa); 5.若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是() A) 0 B) 0.5 C) 1 D) 2 6. D 7. D 8. A 9. C 10. D 6.能正确表示逻辑关系:“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 7.执行下面的程序时,将1、2、3、4分别赋给a、b、c、d,正确的输入是() main( ) { int a,b,c,d; scanf(“%d,%d,%d%d”,&a,&b,&c,&d); … } A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4

C语言程序设计期末考试试题(含答案)

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( )

#include { int i=10,j=10; printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、 1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、 1 B、 1 2 C、 1 2 3

江苏省二级C笔试模拟练习题(7)

江苏省高等学校非计算机专业学生 计算机基础知识和应用能力等级考试 二级C语言全真模拟试卷(7) (本试卷包括计算机基础知识部分和程序设计部分,考试时间共120分钟) 说明: 1.本试卷满分为60分,分选择题和填空题,试卷不分A、B类型。 2.选择题用答题卡答题。每一项有A、B、C、D四个可供选择的答案,请选择其中一个你认为正确的答案,用HB铅笔涂写在答题卡的相应答题号内。每选对一项得1分,不选或选错不得分。 3.填空题用答题纸答题。请将答案填写在答题纸的相应答题号内,每个答案只占一行,不得换行。每填对一个答案得1分,不填或填错不得分。 4.请认真填写并仔细核对答题卡和答题纸上的学校名称、准考证号和姓名是否填写正确。 第一部分计算机基础知识 1.现代信息技术的主要特征是以数字技术为基础,以1为核心,采用电子技术进行信息的收集、传递、加工、存储、显示与控制,它包括通信、广播、计算机、微电子、遥感遥测、自动控制、机器人等诸多领域。 A.微电子B.自动控制C.计算机D.机器人2.现代集成电路使用的半导体材料通常是2。 A.硅B.碳C.铜D.铝3.为提供线路的利用率,数据通信中常用多路复用和交换技术,下面说法中错误的是__3 。 A.多路复用技术主要有时分多路复用和频分多路复用 B.电路交换时节点之间有一条专用物理线路,通信完毕后,通信链路即被拆除 C.分组交换线路利用率较高, 适宜用于实时或交互通信方式的应用 D.目前有线电视采用频分多路复用技术在同一电缆上传输多套电视节目4.十进制数1989对应的二进制数是4。 A.11111000101 B.11000111101 C.11111100101 D.11111101001 5.当一个PC机要扩充内存时,装上内存条后却不能正常工作,产生这种现象的原因多半是5。 A.所扩内存条与主板不匹配B.操作系统不支持所扩的内存条 C.CPU可支持的存储空间已不能再扩大D.不是同一公司生产的内存条6.关于I/O接口的叙述中,正确的是12。 A.I/O接口即I/O控制器,它用来控制I/O设备的操作 B.I/O接口在物理上是一些插口,它用来连接I/O设备与主机 C.I/O接口即扩充卡(适配卡),它用来连接I/O设备与主机 D.I/O接口即I/O总线,它用来传输I/O设备的数据 7.使用一个像素为320万的数码相机时,它所拍摄的数字图像能达到的最大分辨率是7。 A.1280×960 B.1920×1440 C.2048×1536 D.2560×1920

C语言程序设计期末考试试题及答案知识分享

C语言程序设计试题 (2008 /2009 学年第二学期) 一.选择题(满分30分,每题2分) 1.若a、b、c都定义为int类型且初值为0,则以下不正确的赋值语句是 D 。 A. a=b=c+8; B. a+=y+3; C. c++; D. a+b+c 2. 已知int j,i=1;执行语句“j=i++;”后,变量i的值是 B 。 A. 1 B. 2 C. –1 D. -2 3.执行下面程序: #include "stdio.h" void main() { int a=1,b=2,c=3; c=(a+=a+2),(a=b,b+3); printf(“%d,%d,%d”,a,b,c); } 则输出结果是: A 。 A. 2,2,4 B. 4,2,3 C. 5,5,3 D. 4,2,5 4.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为 D 。 A. a< >0 B. !a C. a=0 D. a 5. for (j=0;j<11;j++);循环结束后,j的值是 B 。 A. 12 B. 11 C. 10 D. 9 6. C语言中函数返回值的类型由 D 决定的。 A. return语句中的表达式类型 B. 调用该函数的主调函数的类型 C. 调用函数时临时决定 D. 定义函数时所指定的函数类型 7. 下列说法中正确的是 B 。 A 在调用用户自定义函数时,必须对其进行声明。 B 函数可以返回一个值,也可以什么值也不返回。 C 说明函数时,必须明确参数的类型和返回值。 D 在程序设计中空函数没有什么作用。8. 若int i=10;执行下列程序后,变量i的正确结果是 D 。 switch ( i ) {case 0: i+=1; case 10: i+=1; case 11: i+=1; default: i+=1; } A. 10 B. 11 C. 12 D. 13 9. 下列语句中不正确的字符串赋值或初始化的是 C 。 A. char str[10]={"strings"}; B.char str[8]={'s','t','r','i','n ','g','s','\0'}; C. char str[10]; str= "strings"; D. char str[]= "strings"; 10. 有如下程序: #include void main() { int a=1,b=0,c=0; if (a

C语言程序设计模拟试题2(附答案)

《C语言程序设计》模拟试卷二 一、填空题。(每空2分,共30分) 1.设有变量说明语句 int x=1,y=2; 则执行下述printf语句的输出结果是___1.000000___ _____。 printf("%f\n",1.0+x/y); 2.执行下述程序 #include main() { int x,y; scanf("%2d%*2s%1d",&x,&y); printf("%d\n",x+y); } 若从键盘输入 12345671 则程序的输出结果是__17______。 3.以下程序的功能是:从键盘上输入若干名学生的成绩(百分制,可带小数,以输入负数或0为结束标志),统计并输出最高成绩和最低成绩。请填空。 #include main() {

float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while ( X>0&&X<=100 ) { if (x>amax) amax=x; else if (x

_k++ _________; d=1.0/(k*(k+1)); } while (k<=n); printf("%f\n",s); 5.执行下述程序的输出结果是_-3 -4 0 4 4 3___ ____。 #inclued main() { int a[6],i; for (i=0;i<6;i++) { a[i]=9*(i-2+4*(i>3))%5; printf("%3d",a[i]); } printf("\n"); } 6.执行下述程序时的输出结果是____6_____ ________。 #include main() { int a[]={2,4,6,},*ptr=&a[0],x=8,y,z; for (y=0;y<3;y++) z=(*(ptr+y)

二级C笔试

试题5(每小题3分,共12分) 【程序】 int f1(int n) { if(n==1) return 1 ; else return f1(n-1) + n; } int f2(int n) { switch(n){ case 1: case 2:return 1; default: return f2(n-1) + f2(n-2); } } void f3(int n) { printf(“%d”,n%10); if(n/10 !=0) f3(n/10); } void f4(int n) { if (n/10 !=0) f4(n/10); printf(“%d”, n%10); } #include main() { printf(“%d\n”,f1(4)); printf(“%d\n”,f2(4)); f3(123); printf(“\n”); f4(123); printf(“\n”); } (17) 程序运行时,第1行输出(17) 。 A、10 B、24 C、6 D、1 (18) 程序运行时,第2行输出(18) 。 A、1 B、3 C、2 D、4 (19) 程序运行时,第3行输出(19) 。 A、123 B、3 C、321 D、1 (20) 程序运行时,第4行输出(20) 。 A、1 B、123 C、3 D、321 试题6(每小题3分,共12分) #include struct num{ int a,b;}; void f(struct num s[], int n) { int index, j, k; struct num temp; for(k=0;k< n-1;k++){ index=k; for(j=k+1;j

C语言程序设计期末考试试卷

一、单项选择题(本大题共20题,每题2分,共40分) 1、以下不是C语言的特点的是 A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是 A、ABC B、abc C、a_bc D、ab.c3、一个C语言程序是由。 A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为

A、int B、float C、double D、不确定6、在C语言中,char型数据在内存中的存储形式是。 A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、3458、若有以下定义int a,b; float x,则正确的赋值语句 是。 A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是。 #include { int i=10,j=10;

printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果 是。 #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,8911、下列运算符中优先级最高的是。 A、< B、十 C、% D、!=12、设x、y和z是int型变量,且x=3,y=4,z =5,则下面表达式中值为0的是。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z||1) 13、判断char型变量cl是否为小写字母的正确表达式 为。 A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1)(‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为。

2016年9月计算机二级C语言笔试题及答案

201 6年9月全国计算机等级考试二级笔试试卷 C语言程序设计 (考试时间90分钟,满分100分) 一、选择题((1)-(10)、(21)-(40)每题2分,(11)-(20)每题1分,共70分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上答在试卷上不得分。 (1)下列叙述中正确的是( )。 A)算法就是程序B)设计算法时只需要考虑数据结构的设计 C)设计算法时只需要考虑结果的可靠性D)以上三种说法都不对 (2)下列关于线性链表的叙述中,正确的是( )。 A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致 B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续 C)进行插入与删除时,不需要移动表中的元素 D)以上三种说法都不对 (3)下列关于二叉树的叙述中,正确的是( )。 A)叶子结点总是比度为2的结点少一个 B)叶子结点总是比度为2的结点多一个 c)叶子结点数是度为2的结点数的两倍 D)度为2的结点数是度为1的结点数的两倍 (4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。 A)学生成绩管理系统 B)C语言编译程序 C)UNIX操作系统 D)数据库管理系统 (5)某系统总体结构图如下图所示: 该系统总体结构图的深度是( )。 A)7 B)6 C)3 D)2 (6)程序调试的任务是( )。 A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误 (7)下列关于数据库设计的叙述中,正确的是( )。 A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典 C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括( )。 A)概念模式B)内模式C)外模式D)数据模式 (9)有三个关系R、S利T如下: 则由关系R和s得到关系T的操作是( )。 A)自然连接B)差C)交D)并 (10)下列选项中属于面向对象设计方法主要特征的是( )。

C语言程序设计试题集及其答案

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。

C语言程序设计模拟试题1

C语言程序设计模拟试题. 一、填空题. 1. C语言程序的三种基本结构是顺序结构,选择结构,循环结构。 2.if语句控制表达式只有其值为非0表示逻辑值“真”,其值为0表示逻辑值“假”。 3.说明语句:int b[10]; 定义了数组b有10个整型元素,这些数组元素的下标是从0开始,最大为9。 4. 有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]=0,a[2][1]=6. 5. 设x,y,z均为int 型变量,C语言描述”x或y中有一个小于z”的表达式是x

8. 在C语言中,十进制数30的八进制表示形式是036 ,十六进制表示形式是0x1e 9. C程序是由函数组成的。一个C程序由一个main()函数和若干个子函数构成。函数的构成可分为两部分:函数说明(或函数头) 和函数体。 10.标识符是指程序中的符号常量、变量、函数等对象的名称。在C语言中,标识符只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。 11.在C语言中整型常量有十进制、八进制和十进制三种表示方法。实型常量有小数形式和指数两种表示方法。 12.C语言中语句的作用是向计算机系统发出操作命令,从而完成一定的操作任务。C语句可以分为:表达式语句、函数调用语句、控制语句、复合语句和空语句等五种类型。 二、单项选择题) 1.一个C语言的执行是从 A (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的 最后一个函数结束

C语言程序设计的试题及答案

C语言程序设计的试题及答案 C语言程序设计的试题及答案C语言程序设计的试题及答案第一章基础知识 一、填空 1.每个C程序都必须有且仅有一个________函数。 2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3.软件是程序,以及______、使用和维护所需要的所有文档。 4.国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5.程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6.C语言是由________组成的。 7.C语言的函数可分为主函数ain、标准库函数和_________。 8.一个函数是由两部分组成的,即:________和函数体。 9.编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自

动化、管理信息系统、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11.机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12.与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。 13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14.C程序的执行均是由执行_________开始。15.函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C语句组成的执行部分。 16.C语言程序中一条简单语句是以________字符作为结束符的。 17.C语言是结构化、________的程序设计语言。 18.由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19.用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.第一个系统体现结构化程序设计思想的教学工具语言是_______语言。

相关文档
相关文档 最新文档