当前位置:文档之家› 2000年9月全国计算机等级考试二级笔试C语言试题

2000年9月全国计算机等级考试二级笔试C语言试题

2000年9月全国计算机等级考试二级笔试C语言试题
2000年9月全国计算机等级考试二级笔试C语言试题

2000年9月全国计算机等级考试二级笔试C语言试题

一、选择题((1)--(40)每小题1分, (41)--(50)每小题2分, 共60分

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

(1) 下列电子邮件地址中正确的是(其中□表示空格)

A) Malin&https://www.doczj.com/doc/d911859188.html, B) malin@https://www.doczj.com/doc/d911859188.html,

C) Lin□Ma&https://www.doczj.com/doc/d911859188.html, D) Lin□Ma@https://www.doczj.com/doc/d911859188.html,

(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) EXI T B) QUIT C) WIN D) DOS -U

(8) 要在WINDOWS标准窗口的下拉菜单中选择命令,下列操作错误的是

A) 用鼠标单击该命令选项

B) 用键盘上的上下方向键将高亮度条移至该命令选项后再按回车键

C) 同时按下ALT键与该命令选项后括号中带有下划线的字母键

D) 直接按该命令选项后面括号中带有下划线的字母键

(9) ASCII码(含扩展)可以用一个字节表示,则可以表示的ASCII码值个数为

A) 1024 B) 256 C) 128 D) 8O

(10) 字长为32位的计算机是指

A) 该计算机能够处理的最大数不超过232

B) 该计算机中的CPU可以同时处理32位的二进制信息

C) 该计算机的内存量为32MB

D) 该计算机每秒钟所能执行的指令条数为32MIPS

(11) 在DOS系统中,下列文件名中非法的是

A) ABCDEFG1 B) ABCDEFG1.234 C)ABCD_EFG D)ABCD\EFG

(12) DOS系统启动后,下列文件中驻留内存的是

A) CONFIG.SYS B) https://www.doczj.com/doc/d911859188.html, C) AUTOEXEC.BAT D) MEM.EXE

(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.TXT连接在文件B.TXT后面,应使用的命令为

A) COPY A.TXT>>B.TXT B) MOVE A.TXT>>B.TXT

C) PATH A.TXT>>B.TXT D) TYPE A.TXT>>B.TXT

(16) 若变量已正确定义并赋值,下面符合C语言语法的表达式是

A) a:=b+1 B) a=b=c+2 C) int 18.5%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) 2.0 D) 2.5

(19) 若变量a、i已正确定义,且i已正确赋值,合法的语句是

A) a==1 B) ++i; C) a=a++=5; D) a=int(i);

(20) 若有以下程序段,

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

则执行后,c3中的值是

A) 0 B) 0.5 C) 1 D) 2

(21) 有如下程序

main( )

{ 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) 有如下程序

main( )

{ 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) 有如下程序

main( )

{ float x=2.0,y;

if(x<0.0) y=0.0;

else if(x<10.0) y=1.0/x;

else y=1.0;

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

}

该程序的输出结果是

A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000

(25) 有如下程序

main( )

{ int a=2,b=-1,c=2;

if(aif(b<0) c=0;

else c++

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

}

该程序的输出结果是

A) 0 B) 1 C) 2 D) 3

(26) 有如下程序

main( )

{ int i,sum;

for(i=1;i<=3;sum++) sum+=i;

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

}

该程序的执行结果是

A) 6 B) 3 C) 死循环D) 0

(27) 有如下程序

main( )

{ int x=23;

do

{ printf(“%d”,x--);}

while(!x);

}

该程序的执行结果是

A) 321 B) 23 C) 不输出任何内容D) 陷入死循环

(28) 有如下程序

main( )

{ int n=9;

while(n>6) {n--;printf(“%d”,n);}

}

该程序段的输出结果是

A) 987 B) 876 C) 8765 D) 9876

(29) 设有说明语句:char a=?\72?;则变量a

A) 包含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);}

main( )

{ 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=1

p=&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;iif(a[i]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);

}

main( )

{ 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

执行该程序段后,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) 有如下程序

main( )

{ int n[5]={0,0,0},i,k=2;

for(i=0;iprintf(“%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) 有如下程序

main( )

{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

for(i=1;i<3;i++)

for(j=0;jprintf(“%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].n ame[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) 若已建立如下图所示的单向链表结构,

在该链表结构中,指针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}

该程序的输出结果是

A) ABCD B) A C) B D) BCD

BCD B C CD

CD C D D

D 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分)(资料来源:https://www.doczj.com/doc/d911859188.html,)

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

(1) 在DOS状态下,当执行当前盘目录中的程序A.EXE时,为了将本该在屏幕上显示的运行结果输出到文件

A.DAT中,应使用的DOS命令为[1] 。

(2) 在XCOPY、PATH、TREE三个DOS命令中,属于内部命令的是令是[2] 。

(3) 设当前盘为C盘,为了将当前盘当前目录中第三个字符为X的所有文件同名复制到A盘的当前目录中,应使用的DOS命令为[3] 。

(4) 要将当前盘的目录A\B\C设置为当前目录,应使用的DOS命令为[4]。

(5) 计算机网络按通信距离划分为局域网与广域网,Novell网属于[5] 。

(6) 以下程序的输出结果是 [6] 。

main()

{ unsigned short a=65536; int b;

prin tf(“%d\n”,b=a);

}

(7) 若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是[7] 。

c=(a-=(b-5));

c=(a%11)+(b=3);

(8) 表示“整数x的绝对值大于5”时值为“真”的C语言表达式是 [8] 。

(9) 要使以下程序段输出10个整数,请填入一个整数。

for(i=0;i<= [9] ;printf(“%d\n”,i+=2));

(10) 函数pi的功能是根据以下近似公式求π值:

(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)

现在请你在下面的函数中填空,完成求π的功能。

#include “math.h”

double pi(long n)

{ double s=0.0; long i;

for(i=1;i<=n;i++)s=s+ [10] ;

return(sqrt(6*s));

}

(11) 若输入字符串:abcde<回车>,则以下while循环体将执行[11] 次。

While((ch=getchar())==?e?) printf(“*”);

(12) 以下函数用来求出两整数之和,并通过形参将结果传回,请填空。

void func(int x,int y, [12] z)

{ *z=x+y; }

(13) 若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是 [13] 。

int w[10]={23,54,10,33,47,98,72,80,61}, *p=w;

(14) 设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的首部[14] 。要求形参名为b。

main()

{ double s[10][22];

int n; ┆

fun(s);

}

(15) 以下程序的输出结果是[15] 。

void fun()

{ static int a=0;

a+=2; printf(“%d”,a);

}

main()

{ int cc;

for(cc=1;cc<4;cc++) fun()

printf(“\n”);

}

(16) 以下程序的输出结果是[16] 。

#define MAX(x,y) (x)>(y)?(x):(y)

main()

{ int a=5,b=2,c=3,d=3,t;

t=MAX(a+b,c+d)*10;

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

}

(17) 若要使指针p指向一个double类型的动态存储单元,请填空。

p= [17] malloc(sizeof(double));

(18) 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是[18] 。

Struct stud

{ char num[6];

int s[4];

double ave;

} a,*p;

(19) 以下函数把b字符串连接到a字符串的后面,并返回a中新字符串的长度。请填空。Strcen(char a[], char b[])

{ int num=0,n=0;

while(*(a+num)!= [19] ) num++;

while(b[n]){*(a+num)=b[n]; num++; [20] ;}

return(num);

}

嵌入式C语言经典笔试题目

嵌入式c语言经典笔试题目 1 .用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题) #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情: 1) #define语法的基本知识(例如:不能以分号结束,括号的使用,等等) 2)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中有多少秒而不是计算出实际的值,是更清晰而没有代价的。 3)意识到这个表达式将使一个16位机的整型数溢出-因此要用到长整型符号L,告诉编译器这个常数是的长整型数。 4)如果你在你的表达式中用到UL(表示无符号长整型),那么你有了一个好的起点。记住,第一印象很重要。 2 .写一个"标准"宏MIN,这个宏输入两个参数并返回较小的一个。 #define MIN(A,B)((A)<= (B) ? (A) : (B)) 这个测试是为下面的目的而设的: 1)标识#define在宏中应用的基本知识。这是很重要的。因为在嵌入(inline)操作符变为标准C的一部分之前,宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。 2)三重条件操作符的知识。这个操作符存在C语言中的原因是它使得编译器能产生比if-then-else更优化的代码,了解这个用法是很重要的。 3)懂得在宏中小心地把参数用括号括起来 4)我也用这个问题开始讨论宏的副作用,例如:当你写下面的代码时会发生什么事? least = MIN(*p++, b); 3.预处理器标识#error的目的是什么? 如果你不知道答案,请看参考文献1。这问题对区分一个正常的伙计和一个书呆子是很有用的。只有书呆子才会读C语言课本的附录去找出象这种问题的答案。当然如果你不是在找一个书呆子,那么应试者最好希望自己不要知道答案。 死循环(Infinite loops) 4.嵌入式系统中经常要用到无限循环,你怎么样用C编写死循环呢? 这个问题用几个解决方案。我首选的方案是: while(1) { } 一些程序员更喜欢如下方案: for(;;) { } 这个实现方式让我为难,因为这个语法没有确切表达到底怎么回事。如果一个应试者给出这个作为方案,

全国计算机等级考试二级C语言真题

2009年3月二级C语言笔试真题((1)—(10)每小题2分,(11)—(50)每题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)下列叙述中正确的是 A)栈是“先进先出”的线性表 B)队列是“先进先出”的线性表 C)循环队列是非线性结构 D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈B)树C)队列D)二叉树 (3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10B)8C)6D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序 B)简单选择排序 C)直接插入排序 D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是 A)编译软件 B)操作系统 C)教务管理系统 D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性

C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计 B)数据库系统设计 C)数据库维护 D)数据库管理员培训 (9)有两个关系R,S如下: 由关系R通过运算得到关系S,则所使用的运算为 A)选择B)投影C)插入D)连接 (10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性B)键C)关系D)域 (11)以下选项中合法的标识符是 A)1-1B)1—1C)-11D)1-- (12)若函数中有定义语句:intk;,则 A)系统将自动给k赋初值0 B)这时k中值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)以下选项中,能用作数据常量的是 A)o115B)0118C))115L (14)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1 B)x++,2*x C)x*=(1+x)

2012年计算机二级C语言程序填空题及答案解析精选

2012年计算机二级C语言程序填空题及答案解析精选 【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ① ; b= ② ; a= ③ ; printf("a=%d,b=%d\n",a,b); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。#include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p if(s[p] ① ; } main() { int a[10],i,*k=&i; for(i=0;i<10;i++) scanf("%d",&a[i]); findmin(a,10,k); printf("%d,%d\n",*k,a[*k]); } 【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。

main() { int i,t=1,s=0; for(i=1;i<=101;i+=2) { ① ; s=s+t; ② ; } printf("%d\n",s); } 【3.5】有以下程序段: s=1.0; for(k=1;k<=n;k++) s=s+1.0/(k*(k+1)); printf("%f\n",s); 填空完成下述程序,使之与上述程序的功能完全相同。 s=0.0; ① ; k=0; do { s=s+d; ② ; d=1.0/(k*(k+1)); }while( ③ ); printf("%f\n",s); 【3.6】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); }

c语言笔试题(答案)(精心整理)

笔试题 一、填空题(每个空4分,共28分) 1)struct tagABC { char name[10]; char sex; long sno; float score[4]; }*pAbc;(四字节对齐) pAbc=NULL; 那么,执行pAbc+=2;之后pAbc的值为(64 ) 2)如下代码,最终value的值是(8) int *p1,*p2; int value; p1=(int*)0×400; p2=(int*)0×408; value = p2-p1; 3)如下代码,printf的结果为(2) #include〈stdio.h〉 #include〈string.h〉 void main(void) { char acNew[20]= “\\0\0”; printf(“%d\n”,strlen(acNew)); } 4) 有如下程序段,运行该程序的输出结果是(33) main () { int y=3,x=3,z=1; printf(“%d%d\n”,(++x,y++),z+2); } 5)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后,n的值为(2)6)struct tagAAA { Unsigned char ucId:1; Unsigned char ucPara0:2; Unsigned char ucState:6; Unsigned char ucTail:4; Unsigned char ucAvail; Unsigned char unTail2:4; Unsigned long ulData; }AAA_S 问:AAA_S在字节对齐分别为1,4情况下,占用的空间大小分别是多少?( 9)(12 )

计算机二级c语言历年真题及答案

计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】 class=txt>c语言程序设计 (考试时间90分钟,满分100分) 一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分) (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) 可封装 d) 自顶向下

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)阅读以下程序

c语言笔试题目及答案

c语言笔试题目及答案 C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。下面是c语言笔试题目及答案,请参考。 c语言笔试题目及答案 一、选择题((1)~(10)每小题2分,(11)~(50)每小题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选 项涂写在答题卡相应位置上,答在试卷上不得分。 (1)数据的存储结构是指________。 A)存储在外存中的数据 B)数据所占的存储空间量 C)数据在计算机中的顺序存储方式 D)数据的逻辑结构在计算机中的表示 答案:D 评析:数据的逻辑结构在计算机存储空间中的存放形式形式称为数据的存储结构(也称数据的物理结构)。 (2)下列关于栈的描述中错误的是________。 A)栈是先进后出的线性表

B)栈只能顺序存储 C)栈具有记忆作用 D)对栈的插入与删除操作中,不需要改变栈底指针 答案:B 评析:栈是一种特殊的线性表,又称先进后出表(FILO—First In Last Out)。 (3)对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是 ________。 A)冒泡排序为n2 B)冒泡排序为n C)快速排序为n D)快速排序为n(n一1)/2 答案:D 评析:假设线性表的长度为n,则在最坏情况下,冒泡排序需要经过n/2遍的从前往后扫描和n/2遍的从后往前扫描,需要比较次数为n(n-1)/2。快速排序法的最坏情况比较次数也是n(n-1)/2。 (4)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为________。 A)log2n B)n/2 C)n D)n+l 答案:C 评析:顺序查找过程中,如果被查找的元素是线性表中的最后一个元素,或者元素不在线性表中,则需要与线性表中所有的元素进行比较。对长度为n的线性表进行顺序查找,在最坏情况下需要比较

全国计算机二级C语言操作题题库

1.程序Cmody021.c输出如下所示图形: * *** ***** ******* ********* #include void main() { int i,j;for(i=1;i<=5;i++) { for(j=1;j<=5-i;j++)printf(" "); for(j=1;j<=2*i-1;j++) printf("*"); printf("\n"); } } 2.程序Cmody032.c的功能是:输出201-300之间的所有素数,统计总个数。#include #include void main() { int num; printf("\n"); num=fun(); printf("\nThe total of prime is %d",num); getch(); } int fun() { int m,i,k,n=0; for(m=201;m<=300;m++) { k=sqrt(m+1); for(i=2;i<=k;i++) /**/if(m/i==0)/**/ break; /**/if(i==k)/**/ { printf("%-4d",m); n++;

if(n%10==0)printf("\n"); } } return n; } 3. 程序Cmody041.c,其功能是统计输入字符串中小写英文字母的个数。如输入:abcdEFGHIJK123 输出:4 #include #include main() { char str1[128]; /**/int i,len,sum=0;/**/ gets(str1); len=strlen(str1); for(i=0;i='a'&&str1[i]<='z')/**/ sum++; } printf("%d\n",sum); getch(); } 4.程序Cmody051.c,其功能是统计输入字符串中大写英文字母的个数。如输入:abcDEFGH123 输出:5 #include #include main() { /**/char str1[128]/**/ int i,len,sum=0; printf("Please input a string:\n"); scanf("%s",str1); len=strlen(str1); for(i=0;i='A'&&str1[i]<='Z') /**/sum++;/**/

二级C语言程序填空

【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。 #include main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ① ; b= ② ; a= ③ ; printf("a=%d,b=%d\n",a,b); } 【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。#include double pi(long n) { double s=0.0; long i; for(i=1;i<=n;i++) s=s+ ① ; return( ② ); } 【3.3】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p if(s[p] ① ; } main() { int a[10],i,*k=&i; for(i=0;i<10;i++) scanf("%d",&a[i]); findmin(a,10,k); printf("%d,%d\n",*k,a[*k]); } 【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。 main() { int i,t=1,s=0; for(i=1;i<=101;i+=2)

{ ① ; s=s+t; ② ; } printf("%d\n",s); } 【3.5】有以下程序段: s=1.0; for(k=1;k<=n;k++) s=s+1.0/(k*(k+1)); printf("%f\n",s); 填空完成下述程序,使之与上述程序的功能完全相同。 s=0.0; ① ; k=0; do { s=s+d; ② ; d=1.0/(k*(k+1)); }while( ③ ); printf("%f\n",s); 【3.6】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); } 【3.7】下面程序的功能是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。 fun(int x,int b[])

新版计算机二级C语言测试题及答案解析

计算机二级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、-a1 B、a[i] C、a2_i D、int t 5~8题为相同类型题 考点:标识符的命名规则 只能由字母、数字、下划线构成

数字不能作为标识符的开头 关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int 为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B )。 A、3ax B、x C、case D、-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是( C )。 A、 %x B、a+b C、a123 D、123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)

计算机二级C语言测试题及答案解析(一)

2016年计算机二级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 )。

B、a[i] C、a2_i D、int t 5~8题为相同类型题 考点:标识符的命名规则 只能由字母、数字、下划线构成 数字不能作为标识符的开头 关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B )。 A、3ax B、x C、case D、-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C )。 A、%x B、a+b C、a123

选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C 中的while为关键字,不满足(3) 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是C 。 A、2.5 B、2 C、1 D、3 %为求余运算符,该运算符只能对整型数据进行运算。且符号与被模数相同。5%2=1;5%

计算机二级C语言题库之程序填空

计算机二级C语言题库之程序填空 找Armstrong(水仙花)数:371=3*3*3+7*7*7+1*1*1 #include <stdio.h> #include<math.h> void main() { int i,a,b,c; for(i=100;i<=999;i++) { a=i/100; _______1_______ // b=i%100/10; c=i%10; if (________2________) // a*a*a+b*b*b+c*c*c = = i printf("%d is a Armstrong number!\n",i); } } 输入1个整数后,输出该数的位数。(例:输入3214则输出4,输入-23156则输出5)。#include <stdio.h> void main() { int n,k=0; scanf("%d",&n); while( _____1_____ ){ // n!=0 k++; _____2_____; // n=n/10 } printf("%d\n",k); } 求输入的整数各位数字之和,如输入234则输出9,输入-312则输出6。 #include <stdio.h> #include <math.h> void main() { int n,s=0; scanf("%d",&n); ______ 1 ______ // if (n<0) n=-n; while(n!=0) { ______ 2 ______ // s+=n%10; n=n/10; } printf("%d\n",s);

历年全国计算机二级C语言试题库完整

. . . . 参考 50道C 语言知识题 1.以下叙述中正确的是 A)用C 程序实现的算法必须要有输入和输出操作 B)用C 程序实现的算法可以没有输出但必须要有输入 C)用C 程序实现的算法可以没有输入但必须要有输出 D)用C 程序实现的算法可以既没有输入也没有输出 2.下列可用于C 语言用户标识符的一组是 A)void,define,WORDB)a3_3,_123,Car C)For,-abc,IFCaseD)2a,DO,sizeof 3.以下选项中可作为C 语言合法常量的是 A)-80B)-080C)-8e1.0D)-80.0e 4.若有语句:char*line[5];,以下叙述中正确的是 A)定义line 是一个数组,每个数组元素是一个基类型为char 为指针变量 B)定义line 是一个指针变量,该变量可以指向一个长度为5的字符型数组 C)定义line 是一个指针数组,语句中的*号称为间址运算符 D)定义line 是一个指向字符型函数的指针 5.以下定义语句中正确的是 A)inta=b=0;B)charA=65+1,b=′b′; 6.有以下程序段 charch;intk; ch=′a′; k=12; printf("%c,%d,",ch,ch,k);printf("k=%d\n",k); 已知字符a 的ASCII 码值为97,则执行上述程序段后输出结果是 A)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值 C)a,97,12k=12 D)a,97,k=12 7.有以下程序 main() {inti,s=1; for(i=1;i<50;i++) if(!(i%5)&&!(i%3))s+=i; printf("%d\n",s);} 程序的输出结果是 A)409B)277C)1D)91 8.当变量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) 9.若变量已正确定义,有以下程序段

嵌入式C语言面试题汇总(超经典)

第一部分:基本概念及其它问答题 1、关键字static的作用是什么? 这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用: 1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。 2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。 3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。 大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。 2、“引用”与指针的区别是什么? 答、1) 引用必须被初始化,指针不必。 2) 引用初始化以后不能被改变,指针可以改变所指的对象。 3) 不存在指向空值的引用,但是存在指向空值的指针。 指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。 流操作符<<和>>、赋值操作符=的返回值、拷贝构造函数的参数、赋值操作符=的参数、其它情况都推荐使用引用。 3、.h头文件中的ifndef/define/endif 的作用? 答:防止该头文件被重复引用。 4、#include 与#include “file.h”的区别? 答:前者是从Standard Library的路径寻找和引用file.h,而后者是从当前工作路径搜寻并引用file.h。 5、描述实时系统的基本特性 答:在特定时间内完成特定的任务,实时性与可靠性。 6、全局变量和局部变量在内存中是否有区别?如果有,是什么区别? 答:全局变量储存在静态数据区,局部变量在堆栈中。 7、什么是平衡二叉树? 答:左右子树都是平衡二叉树且左右子树的深度差值的绝对值不大于1。 8、堆栈溢出一般是由什么原因导致的? 答:1.没有回收垃圾资源 2.层次太深的递归调用

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

2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。 或35 2.下列关于栈的叙述中,正确的是( )。 A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则 C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对 3.下列链表中,其逻辑结构属于非线性结构的是( )0、 A.双向链表 B.带链的栈 C.二叉链表 D.循环链表 4.在关系数据库中,用来表示实体间联系的是( )。 A.网状结构 B.树状结构 C.属性 D.二维表 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 :m联系 :n联系 :1联系 :l联系

6.右两个关系R和S如下: 则由关系R得到关系S的操作是( )。 A.自然连接 B.并 C.选择 D.投影 7.数据字典(DD)所定义的对象都包含于( )。 A.软件结构图 B.方框图 C.数据流图(DFD图) D.程序流程图 8.软件需求规格说明书的作用不包括( )。 A.软件设计的依据 B.软件可行性研究的依据 C.软件验收的依据 D.用户与开发人员对软件要做什么的共同理解 9.下面属于黑盒测试方法的是( )。 A.边界值分析 B.路径覆盖 C.语句覆盖 D.逻辑覆盖 10.下面不属于软件设计阶段任务的是( )。 A.制订软件确认测试计划 B.数据库设计 C.软件总体设计 D.算法设计 11.以下叙述中正确的是( )。 A.在C语言程序中,main函数必须放在其他函数的最前面 B.每个后缀为C的C语言源程序都可以单独进行编译 C.在C语言程序中,只有main函数才可单独进行编译

全国计算机等级考试二级C语言真题2013年3月

全国计算机等级考试二级C语言真题2013年3月 (总分40, 做题时间90分钟) 一、选择题 1. 程序流程图中带有箭头的线段表示的是______。 A 图元关系 B 数据流 C 控制流 D 调用关系 答案:C [解析] 在数据流图中,用标有名字的箭头表示数据流。在程序流程图中,用标有名字的箭头表示控制流。所以选择C。 2. 结构化程序设计的基本原则不包括______。 A 多态性 B 自顶向下 C 模块化 D 逐步求精 答案:A [解析] 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。 3. 软件设计中模块划分应遵循的准则是______。 A 低内聚低耦合 B 高内聚低耦合

C 低内聚高耦合 D 高内聚高耦合 答案:B [解析] 软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。 4. 在软件开发中,需求分析阶段产生的主要文档是______。 A 可行性分析报告 B 软件需求规格说明书 C 概要设计说明书 D 集成测试计划 答案:B [解析] A错误,可行性分析阶段产生可行性分析报告。C错误,概要设计说明书是总体设计阶段产生的文档。D错误,集成测试计划是在概要设计阶段编写的文档。B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。 5. 算法的有穷性是指______。 A 算法程序的运行时间是有限的 B 算法程序所处理的数据量是有限的 C 算法程序的长度是有限的 D 算法只能被有限的用户使用

全国计算机等级考试二级教程C语言程序设计课后习题答案

全国计算机等级考试二级教程C语言程序设计课后习题答案

《全国计算机等级考试二级教程--C语言程序设计》课后习题答案 第一章 1.1 EXE 1.2 C OBJ EXE 1.3 顺序选择循环 第二章 一. 选择题 2.1 B 2.2 D 2.3 B 2.4 A 2.5 C 2.6 A 2.7 B 2.8 B 2.9 D 2.10 C 2.11 B 2.12 B 2.13 A 二. 填空题 2.14 11 12 2.15 4.2 4.2 2.16 { } 定义执行语句 2.17 关键字用户标识符 2.18 int float double 2.19 float a1=1; float a2=1; 2.20 存储单元 2.21 3.5 2.22 (a*b)/c a*b/c a/c*b 2.23 把常量10赋给变量s 2.24 位1或0 2.25 8 127 0111111 -128 10000000 2.26 32767 -32768 0000 2.27 10 8 16 三. 上机改错题 2.28 #include "stdio.h"; 删除行尾的";" main(); / * main function * / 删除")"后的";",注释中的*要紧靠“/”,即应为“/*”和“*/” 函数开始处遗失了一个“{” float r,s ; /*/*r is radius*/,/* s is area of circuilar*/*/ 注释符号不可嵌套使用 r = 5.0 ; s = 3.14159 * r * r ; printf("%f\n",s) 行尾遗失了“;” 函数结束处遗失了一个“}” 2.29 #include "stdio.h" main /* main function */ main后遗失了“()” { float a,b,c,v; /*a,b,c are sides, v is volume of cube */ a=2.0; b=3.0; c=4.0 行尾遗失了“;”

c语言经典面试题

C语言面试题大汇总之华为面试题 1、局部变量能否和全局变量重名? 答:能,局部会屏蔽全局。要用全局变量,需要使用"::" ;局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。 2、如何引用一个已经定义过的全局变量? 答:extern 可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个编写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。 3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?答:可以,在不同的C文件中以static形式来声明同名全局变量。 可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错. 4、请写出下列代码的输出内容 #include int main(void) { int a,b,c,d; a=10;

c=++a; d=10*a++; printf("b,c,d:%d,%d,%d",b,c,d); return 0; } 答:10,12,120 5、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别? 答: 1) 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。这两者在存储方式上并无不同。这两者的区别在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。 而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效, 在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。 2) 从以上分析可以看出, 把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。3) static函数与普通函数作用域不同,仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。对

国家二级C语言机考程序设计题技巧

计算机国家二级C机考程序设计题技 巧 双击桌面上的,启动计算机等级考试二级模拟软件;启动软件后出现如下界面,选择练习模式后确定: 之后出现下面窗口,选择一套题,我们提供的模拟软件中共提供了50套模拟题目,这50套题目分别对应着二级上机题库的前50套题。输入1-50之间的数字确定后就可以抽取相应的题目,例如输入1后确定,按任意键继续。 桌面上出现了下图所示的窗口(取名:状态条) 和下图所示的窗口(取名:题目窗口)

考生状态条上面显示抽取的题目的序号和考试已经用去的时间。 考生窗口的左上角显示了考生的目录,图中的考生目录为:D:\Exam\24010001,从考生窗口的右上角可以看出,机考共有三个题目,分别是程序填空题、程序修改题,程序编写题。

做程序填空题的步骤如下: 1.选择考生窗口右上角的程序填空题按钮,就会在下面的空白区域出现填空题的具体题目和要求。考生读完题目要求之后就可以开始答题了。选择题目窗口左上角的答题菜单中的“启动Microsoft visual c++”选项就可以启动vc 编译软件。 2.选择文件菜单下的打开选项,如图所示: 之后会弹出一个打开窗口: 在窗口的1处单击,找到考生目录所指示的目录,本题的目录为D:\Exam\24010001,找到目录:

可以发现里面包含有三个文件,分别是blank1.c,modi1.c,prog1.c三个文件,这三个文件分别对应着填空题,修改题和程序设计题。做填空题只需要选中blank1.c后单击窗口右下角的打开按钮即可。这时vc编译软件就会帮我们打开这个文件,并出现填空题的代码。具体做题步骤参考《二级上机题库》第12页,对于程序修改题做题方法参照填空题,参见《二级上机题库》第75页。 下面详细介绍程序设计题的做题技巧: 对于程序设计题,我们分了一下三大类: 第一种:在考生的目录文件夹下含有in.dat文件:前50题中的: 1,3,4,5,7,8,9,10,12,13,15,17,18,19,22,24,25,26,27,28,29,30,31,32,35, 37,38,39,40,41,42,43,44,45,46,50属于第一类。 第二种:在考生的目录文件夹下找不到in.dat文件:前50题中的: 2,11,16,23,33,36,47属于第二类。

计算机二级C语言考试编程题题库

计算机c语言编程题库 1、求100之内自然数中最大的能被17整除的数。 void main() { int i; for(i=100;i>0;i--) if(i%17==0)break; printf("%d\n",i); } 2、已知a,b,c都是1位整数,求当三位整数abc、cba的和为1333时a、b、c的值。 void main() { int a,b,c; for(a=1;a<=9;a++) { for(b=0;b<=9;b++) { for(c=1;c<=9;c++) if(a*100+b*10+c+c*100+b*10+a==1333) printf("%d,%d,%d\n",a,b,c); } } } 3、计算并输出200-400之间不能被3整除的整数的和。 void main() { int i,sum=0; for(i=200;i<=400;i++) if(i%3!=0) sum=sum+i; printf("%d\n",sum); } 4、从键盘输入10个数,统计非负数的个数,并计算非负数的和。 void main() { int i,n=0,sum=0; int a[10]; printf(“请输入10个数:”);

for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;i<10;i++) if(a[i]>=0) { sum=sum+a[i]; n++;} printf("非负个数是%d,sum=%d\n",n,sum); } 5、求100之内自然数中偶数之和。 void main() { int i,sum=0; for(i=0;i<=100;i++) if(i%2==0) sum=sum+i; printf("sum=%d\n",sum); } 6、输入5个数,求和并输出。要求编写求和的函数。 void main() { int b(int x[],int n); int sum=0; int a[5]; int i; printf("请输入5个数:"); for(i=0;i<5;i++) scanf("%d",&a[i]); sum=b(a,5); printf("sum=%d\n",sum); } int b(int x[],int n) { int i,sum=0; for(i=0;i<5;i++) sum=sum+x[i]; return sum; } 7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。 void main() { int i,sum=0; for(i=1;i<=99;i=i+2) sum=sum+i*(i+1)*(i+2); printf("%d\n",sum); } 8、编写程序,将用户输入的字符串中所有的字符a用*代替,然后输出。void main()

相关主题
文本预览
相关文档 最新文档