当前位置:文档之家› NOIP2008提高组初赛(C语言)试题及答案

NOIP2008提高组初赛(C语言)试题及答案

NOIP2008提高组初赛(C语言)试题及答案
NOIP2008提高组初赛(C语言)试题及答案

第十四届(NOIP2008)信息学奥赛联赛提高组C语言初赛试题

●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●

一、单项选择题(共10题,每题1.5分,共计15分。每题有且仅有一个正确答案)。

1. 在以下各项中,(C )不是操作系统软件。

A. Solaris

B. Linux

C. Sybase

D. Windows Vista

E. Symbian 2.微型计算机中,控制器的基本功能是( A )。

A. 控制机器各个部件协调工作

B. 实现算术运算和逻辑运算

C. 存储各种控制信息

D. 获取外部信息

E. 存放程序和数据

3. 设字符串S=”Olympic”,S的非空子串的数目是( B)。

A. 29

B. 28

C. 16

D. 17

E. 7 4.完全二叉树共有2*N-1个结点,则它的叶节点数是( C )。

A. N-1

B. 2*N

C. N

D. 2N-1

E. N/2 5.将数组{8, 23, 4, 16, 77, -5, 53, 100}中的元素按从大到小的顺序排列,每次可以交换任意两个元素,最少需要交换( B )次。

A. 4

B. 5

C. 6

D. 7

E. 8 6.设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈S,出栈的序列为b,d,c,f,e,a,则栈S的容量至少应该是( D )。

A. 6

B. 5

C. 4

D. 3

E. 2

7. 与十进制数28.5625相等的四进制数是()。

A. 123.21

B. 131.22

C. 130.22

D. 130.21

E. 130.20 8.递归过程或函数调用时,处理参数和返回地址,通常使用一种称为(E)的数据结构。

A. 队列

B. 多维数组

C. 线性表

D. 链表

E. 栈

9. TCP/IP是一组构成互联网基础的网络协议,字面上包括两组协议:传输控制协议(TCP)和网际协议(IP)。TCP/IP 协议把Internet网络系统描述成具有四个层次功能的网络模型,其中提供源节点和目的节点之间的信息传输服务,包括寻址和路由器选择等功能的是(B)。

A. 链路层 B.网络层 C. 传输层 D. 应用层 E.会话层

10.对有序数组{5, 13, 19, 21, 37, 56, 64, 75, 88, 92, 100}进行二分查找,等概率的情况下查找成功的平均查找长度(平均比较次数)是( C )。

A. 35/11

B. 34/11

C. 33/11

D. 32/11

E. 34/10

二、不定项选择题(共10题,每题1.5分,共计15分。每题正确答案的个数大于或等于1。多选或少选均不得分)。

11. 在下列关于图灵奖的说法中,正确的有( ABD )。

A. 图灵奖是美国计算机协会于1966年设立的,专门奖励那些对计算机事业作出重要贡献的个人

B. 图灵奖有“计算机界诺贝尔奖”之称

C. 迄今为止,还没有华裔计算机科学家获此殊荣

D. 图灵奖的名称取自计算机科学的先驱、英国科学家阿兰?图灵

12.计算机在工作过程中,若突然停电,( AC )中的信息不会丢失。

A. 硬盘

B. CPU

C.ROM

D. RAM

13. 设A=true,B=false,C=true,D=false,以下逻辑运算表达式值为真的有( BC )。

A. (A∧B)∨(C∧D∨ A)

B. (( A∧B)∨C)∧ D

C. (B∨C∨D)∨D∧A

D. A∧(D∨ C)∧B

14.Web2.0是近年来互联网的热门概念之一,其核心思想是互动与分享。下列网站中,( B )是典型的Web2.0应用。

A. Sina

B. Flickr

C. Yahoo

D. Google

15. (2008)10 + (5B)16的结果是()。

A. (833)16

B. (2099)10

C. (4063)8

D. (100001100011)2

16. 二叉树T,已知其先根遍历是1 2 4 3 5 7 6(数字为结点的编号,以下同),后根遍历是4 2 7 5 6 3 1,则该二叉树的可能的中根遍历是( ABD )。

A. 4 2 1 7 5 3 6

B. 2 4 1 7 5 3 6

C. 4 2 1 7 5 6 3

D. 2 4 1 5 7 3 6

17. 面向对象程序设计(Object-Oriented Programming)是一种程序设计的方法论,它将对象作为程序的基本单元,将数据和程序封装在对象中,以提高软件的重用性、灵活性和扩展性。下面关于面向对象程序设计的说法中,正确的是( BCD )。

A. 面向对象程序设计通常采用自顶向下设计方法进行设计。

B. 面向对象程序设计方法具有继承性(inheritance)、封装性(encapsulation)、多态性(polymorphism)等几大特点。

C. 支持面向对象特性的语言称为面向对象的编程语言,目前较为流行的有C++、JAVA、C#等。

D. 面向对象的程序设计的雏形来自于Simula语言,后来在SmallTalk语言的完善和标准化的过程中得到更多的扩展和对以前思想的重新注解。至今,SmallTalk 语言仍然被视为面向对象语言的基础。

18. 设T是一棵有n个顶点的树,下列说法正确的是( ABC )。

A. T是连通的、无环的

B. T是连通的,有n-1条边

C. T是无环的,有n-1条边

D. 以上都不对

19. NOIP竞赛推荐使用的语言环境有( ACD )。

A. Dev-C++

B. Visual C++

C. free pascal

D. Lazarus

20. 在下列防火墙(firewall)的说法中,正确的有( ABCD )。

A. 防火墙是一项协助确保信息安全的设备,其会依照特定的规则,允许或是限制数据通过

B. 防火墙可能是一台专属的硬件或是安装在一般硬件上的一套软件

C. 网络层防火墙可以视为一种 IP 数据包过滤器,只允许符合特定规则的数据包通过,其余的一概禁止穿越防火墙

D. 应用层防火墙是在 TCP/IP的“应用层”上工作,可以拦截进出某应用程序的所有数据包

三.问题求解(共2题,每题5分,共计10分)

1.有6个城市,任何两个城市之间都有一条道路连接,6个城市两两之间的距离如下表所示,则城市1到城市6的最短距离为______7_______。

城市1 城市2 城市3 城市4 城市5 城市6

城市1 0 2 3 1 12 15

城市2 2 0 2 5 3 12

城市3 3 2 0 3 6 5

城市4 1 5 3 0 7 9

城市5 12 3 6 7 0 2

城市6 15 12 5 9 2 0

2.书架上有21本书,编号从1到21,从其中选4本,其中每两本的编号都不相邻的选法一共有___3060___种。

四.阅读程序写结果(共4题,每题8分,共计32分)

1. #include

int main()

{

int i, a, b, c, d, f[4];

for(i = 0; i < 4; i++)

scanf("%d", &f[i]);

a = f[0] + f[1] + f[2] + f[3];

a = a / f[0];

b = f[0] + f[2] + f[3];

b = b / a;

c = (b * f[1] + a) / f[2];

d = f[(b / c ) % 4];

if(f[(a + b + c + d) % 4] > f[2])

printf("%dn", a + b);

else

printf("%dn", c + d);

return 0;

}

输入:9 19 29 39

输出:_______________

2.#include

void foo(int a, int b, int c)

{

if(a > b)

foo(c, a, b);

else

printf("%d,%d,%dn", a, b, c);

}

int main()

{

int a, b, c;

scanf("%d %d %d", &a, &b, &c); foo(a, b, c);

return 0;

}

输入:2 1 3

输出:__________

3.#include

void f(int a, int b, int c)

{

printf("%d%d%d/", a, b, c);

if(a == 3 && b == 2 && c == 1) return;

if(b < c)

f(a, c, b);

else if(a < b)

{

if(a < c)

f(c, a, b);

else

f(b, c, a);

}

}

int main()

{

int a, b, c;

scanf("%d %d %d", &a, &b, &c); f(a, b, c);

printf("n");

return 0;

}

输入: 1 3 2

输出:________________________________________

4. #include

#include

int i,j,len;

char s[50];

int main()

{

scanf("%s", s);

len = strlen(s);

for (i = 0;i < len; ++i)

{

if (s[i] >= 'A' && s[i] <= 'Z') s[i] -= 'A' - 'a';

}

for (i = 0;i < len; ++i)

{

if (s[i] < 'x') s[i] += 3; else s[i] += -23;

}

printf("%s/", s);

for (j = 1;j < 4;j ++)

{

for (i = 0;i < len-j; i = i + j)

{

s[i] = s[i + j] ;

}

}

printf("%sn", s);

return 0;

}

输入:ABCDEFGuvwxyz

输出:___________________________________________

五.完善程序(前6空,每空3分,后5空,每空2分,共28分)

1.(找第k大的数) 给定一个长度为1,000,000的无序正整数序列,以及另一个数n(1<=n<=1000000),接下来以类似快速排序的方法找到序列中第n大的数(关于第n大的数:例如序列{1,2,3,4,5,6}中第3大的数是4)。

#include

#include

int a[1000001],n,ans = -1;

void swap(int *a,int *b)

{

int c;

c = *a; *a = *b; *b = c;

}

int FindKth(int left, int right, int n)

{

int tmp,value,i,j;

if (left == right) return left;

tmp = rand()% (right - left) + left;

swap( &a[tmp], &a[left] );

value = ①

i = left;

j = right;

while (i < j)

{

while (i < j && ②) j --;

if (i < j) {a[i] = a[j]; i ++;} else break;

while (i < j && ③) i ++;

if (i < j) {a[j] = a[i]; j - -;} else break;

}

if (i < n) return FindKth( ⑤);

if (i > n) return ⑥

return i;

}

int main()

{

int i;

int m = 1000000;

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

scanf("%d", &a[i]);

scanf("%d", &n);

ans = FindKth(1,m,n);

printf("%dn", a[ans]);

return 0;

}

2.(矩阵中的数字)有一个n*n(1<=n<=5000)的矩阵a,对于1<=i < n,1<=j<=n, a[i,j] < a[i + 1,j] a[j,i] < a[j,i+1]。即矩阵中左右相邻的两个元素,右边的元素一定比左边的大。上下相邻的两个元素,下面的元素一定比上面的大。给定矩阵a中的一个数字k,找出k所在的行列(注意:输入数据保证矩阵中的数各不相同)。

#include

int n,k,answerx,answery;

int a[5001][5001];

void FindKPosition()

{

int i = n,j = n;

while (j > 0)

{

if (a[n][j] < k) break;

j --;

}

while (a[i][j] != k)

{

while ( ②&& i > 1) i --;

while ( ③&& j <= n) j ++;

}

}

int main()

{

int i,j;

scanf( "%d", &n );

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

for (j = 1;j <= n;j ++)

scanf( "%d", &a[i][j]);

scanf( "%d", &k );

FindKPosition();

printf("%d %dn", answerx, answery); return 0;

}

历年二级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,程序运行后的输出结果是

noip205信息学奥赛普及组初赛c++试题

2015 年第二十一届全国青少年信息学奥林匹克联赛初赛普及组 C++语言试题竞赛日寸间: 2015 年 10 月 l 1 日 14:30~16:30 选手注意: ?试题纸共有 7 页,答题纸共有 2 页,满分 100 分。请在答题纸上作答,写在试题纸上的一律无效。?不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。 一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项) 1.1MB 等于( ) 。 A .1000 字节 B .1024 字节 C . 1000X 1000 字节 D .1024X 1024 字节 2.在 PC机中, PENTIUM(奔腾)、酷睿、赛扬等是指 ( ) 。 A .生产厂家名称 B .硬盘的型号 C .CPU的型号 D .显示器的型号 3.操作系统的作用是( ) 。 A .把源程序译成目标程序 B .便于进行数据管理 C .控制和管理系统资源 D .实现硬件之间的连接 4.在计算机内部用来传送、存贮、加工处理的数据或指令都是以( ) 形式进行的。 A .二进制码 B .八进制码 C .十进制码 D .智能拼音码 5.下列说法正确的是 ( ) 。 A . CPU的主要任务是执行数据运算和程序控制 B .存储器具有记忆能力,其中信息任何时候都不会丢失 C .两个显示器屏幕尺寸相同,则它们的分辨率必定相同 D .个人用户只能使用 Wifi 的方式连接到 Internet 6.二进制数 00100100 和 00010100 的和是 ( ) 。 A.00101000 B. 01001001 C. 01000100 D.00111000 7.与二进制小数 0.1 相等的十六进制数是( ) 。 A . 0.8 B . 0.4 C . 0.2 D . 0.1 8.所谓的“中断”是指 ( ) 。 A .操作系统随意停止一个程序的运行 B .当出现需要时, CPU暂时停止当前程序的执行转而执行处理新情况的过程 C .因停机而停止一个程序的运行 D .电脑死机 9.计算机病毒是 ( ) 。 A .通过计算机传播的危害人体健康的一种病毒 B .人为制造的能够侵入计算机系统并给计算机带来故障的程序或指令集合 C .一种由于计算机元器件老化而产生的对生态环境有害的物质 D .利用计算机的海量高速运算能力而研制出来的用于疾病预防的新型病毒 10. FTP可以用于 ( ) 。 A .远程传输文件 B .发送电子邮件 C .浏览网页 D .网上聊天 11.下面哪种软件不属于即时通信软件 ( ) 。 A .QQ B . MSN C .微信 D . P2P 12.6 个顶点的连通图的最小生成树,其边数为 ( ) 。 A . 6 B . 5 C . 7 D . 4 13. 链表不具备的特点是 ( ) 。 A .可随机访问任何一个元素 B .插入、删除操作不需要移动元素 C .无需事先估计存储空间大小 D .所需存储空间与存储元素个数成正比 14. 线性表若采用链表存储结构,要求内存中可用存储单元地址( ) 。 A .必须连续 B .部分地址必须连续 c .一定不连续 D .连续不连续均可 15.今有一空栈 S,对下列待进栈的数据元素序列 a,b ,c, d,e,f 依次进行进栈,进栈,出栈,进栈,进栈,出栈的操作,则此操作完成后,栈S 的栈顶元素为 ( ) 。 A. f B .c C .a D . b

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

2008noip普及组复赛--排座位--代码C++

2.排座椅 (seat.pas/c/cpp) 【问题描述】 上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳。同学们在教室中坐成了M行N列,坐在第i行第j列 的同学的位置是(i,j),为了方便同学们进出,在教室中设置了K条横向的通道,L条纵向的通道。于是,聪明的小雪想到了一个办法,或许可以减少上课时学生交头接耳的问题:她打算重新摆放桌椅,改变同学们桌椅间通道的位置,因为如果一条通道隔开了两个会交头接耳的同学,那么他们就不会交头接耳了。 请你帮忙给小雪编写一个程序,给出最好的通道划分方案。在该方案下,上课时交头接耳的学生对数最少。 【输入】 输入文件seat.in的第一行,有5各用空格隔开的整数,分别是M,N,K,L,D(2<=N,M<=1000,0<=K

NOIP初赛普及组C++题目及答案

第二十二届全国青少年信息学奥林匹克联赛初赛 普及组C++语言试题 竞赛时间:2016年10月22日14:30~16:30 选手注意: ● 试题纸共有9页,答题纸共有2页,满分100分。请在答题纸上作答,写在试题纸 上的一律无效。 ● 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。一、单项选择题(共20题,每题分,共计30分;每题有且仅有一个正确选 项) 1.以下不是微软公司出品的软件是()。 A. Powerpoint B. Word C. Excel D. AcrobatReader 2. 如果256种颜色用二进制编码来表示,至少需要()位。 A. 6 C. 8 3.以下不属于无线通信技术的是()。 A. 蓝牙 B. WiFi C. GPRS D. 以太网 4. 以下不是CPU生产厂商的是()。 D. IBM A. Intel B. AMD C. Microsoft 5. 以下不是存储设备的是()。 D. 鼠标 A. 光盘 B. 磁盘 C. 固态硬盘 6.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、 字母键A、字母键S和字母键D的顺序循环按键,即CapsLock、A、S、D、 CapsLock、A、S、D、……,屏幕上输出的第81个字符是字母()。 A. A C. D D. a 7. 二进制数00101100和00010101的和是()。 A. 00101000 C. 01000100 D. 00111000 8. 与二进制小数相等的八进制数是()。 D. A. 初赛普及组C++语言试题第1页,共9 页

9. 以下是32位机器和64位机器的区别的是()。 A. 显示器不同 B. 硬盘大小不同 C. 寻址空间不同 D. 输入法不同 10. 以下关于字符串的判定语句中正确的是()。 A. 字符串是一种特殊的线性表 B. 串的长度必须大于零 C. 字符串不可以用数组来表示 D. 空格字符组成的串就是空串 11.一棵二叉树如右图所示,若采用顺序存储结构,即用一维 数组元素存储该二叉树中的结点(根结点的下标为1,若 某结点的下标为i,则其左孩子位于下标2i处、右孩子位 于下标(2i+1)处),则图中所有结点的最大下标为 ()。 A.6 B.10 C.12 D.15 12.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值 (c大于0)。 s=a; for(b=1;b<=c;b++)s=s+1; 则与上述程序段修改s值的功能等价的赋值语句是()。 A.s=a+b; B.s=a+c; C.s=s+c; D.s=b+c; 13.有以下程序: #include usingnamespacestd; intmain(){ intk=4,n=0; while(n。如果L中存在x(i1x i+1>...>x n,则称L是单峰的,并称x i是L的 CCFNOIP2016初赛普及组C++语言试题 第2页,共9页

C语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是() A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中() A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是() A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是() A )x1=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是() A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue 7.在while (!x )语句中的!x 与下面条件表达式等价的是() A)x!=0B)x==1C)x!=1D)x==0

8、有以下程序: #include voidmain(){ inti=1,j=1,k=2; if((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 9、有以下程序: #include voidmain(){ inti,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: voidfun(intn,doublex){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(inty,doublem); B)k=fun(10,12.5); C)fun(x,n);D)voidfun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

NOIP2008提高组复赛试题及题解

全国信息学奥林匹克联赛(NOIP2008)复赛 提高组 一、题目概览 二、提交源程序文件名 三、编译命令(不包含任何优化开关) 四、运行内存限制 注意事项: 1. 文件名(程序名和输入输出文件名)必须使用大写。 2. C/C++中函数main()的返回值类型必须是int,程序正常结束时的返回值必须是0。 3. 全国统一评测时采用的机器配置为:CPU 1.9GHz,内存512M,上述时限以此配置为准。各省在自测时可根据具体配置调整时限。

1. 笨小猴 (word.pas/c/cpp) 【问题描述】 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn 是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。 【输入】 输入文件word.in只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。【输出】 输出文件word.out共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”; 第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0。 【输入输出样例1】 【输入输出样例1解释】 单词error中出现最多的字母r出现了3次,出现次数最少的字母出现了1次,3-1=2,2是质数。 【输入输出样例2】 【输入输出样例2解释】 单词olympic中出现最多的字母i出现了2次,出现次数最少的字母出现了1次,2-1=1,1不是质数。 基本的字符串处理,细心一点应该没问题的,不过判断素数时似乎需要考虑下0和1的情况。var a:array['a'..'z']of integer; s:string; l,i,max,min,n:integer; ch:char;flag:boolean; begin assign(input,'word.in'); reset(input); assign(output,'word.out'); rewrite(output); readln(s);

noip2010初赛普及组c试题及答案

第十六届全国青少年信息学奥林匹克联赛初赛试题 (普及组 C++语言两小时完成) 一、单项选择题(共20题,每题1.5分,共计30分。每题有且仅有一个正确选项。) 1.2E+03表示()。 A.2.03 B.5 C.8 D.2000 2.一个字节(byte)由()个二进制位组成。 A.8 B.16 C.32 D.以上皆有可能 3.以下逻辑表达式的值恒为真的是()。 A.P V(?PΛQ)V(?PΛQ) B.Q V(?PΛQ)V(PΛ?Q) C.P V Q V(PΛ?Q)V(?PΛQ) D.P V?Q V(PΛ?Q)V(?PΛ?Q) 4.Linux下可执行文件的扩展名为()。 A.exe B.com C.dll D.以上都不是 5.如果树根算第1层,那么一棵n层的二叉树最多有()个结点。 A.2n-1 B.2n C.2n+1 D.2n+1 6.提出“存储程序”的计算机原理的是()。 A.克劳德·香农B.戈登·摩尔C.查尔斯·巴比奇D.冯·诺依曼 7.设X、Y、Z分别代表三进制下的一位数字,若等式XY+ZX=XYX在三进制下成立,那么同样在三进制下,等式XY*ZX=( )也成立。10 21 A.YXZ B.ZXY C.XYZ D.XZY 8.Pascal语言、C语言和C++语言都属于()。 A.面向对象语言B.脚本语言C.解释性语言D.编译性语言 9.前缀表达式“+3*2+5 12”的值是()。 A.23 B.25 C.37D.65 10.主存储器的存取速度比中央处理器(CPU)的工作速度慢得多,从而使得后者的效率受到影响。 而根据局部性原理,CPU所访问的存储单元通常都趋于聚集在一个较小的连续区域中。于是,为了提高系统的整体执行效率,在CPU中引入()。 A.寄存器B.高速缓存C.闪存D.外存 11.一个字长为8位的整数的补码是1111 1001,则它的原码是()。 A.0000 0111 B.0111 1001 C.1111 1001 D.1000 0111 12.基于比较的排序时间复杂度的下限是(),其中n表示待排序的元素个数。 A.Θ(n)B.Θ(n log n)C.θ(log n)D.Θ(n2)

大学C语言考试题库(含标准答案)

单项选择 ================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10 。printf("%d",a++) 。 A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A' 的ASCⅡ代码值是65, 字符变量c1的值是'A',c2 的值是'D'. 执行语句printf("%d,%d",c1,c2-2) 。后, 输出结果是 A、65,66 B、A,B C、 65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10] 。合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B 题号:45 能正确表示逻辑关系:" a ≥10或a≤0 " 的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0

D 题号:157 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",a,b) 。} 该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f 是实型,i 是双精度型,则表达式10+'a'+i*f 值的 数据类型为()。 A、不确定 B、double C、int D、 float 答案: B 题号:1647 以下程序中,while 循环的循环次数是______ main() { int i=0 。 while(i<10) { if(i<1) continue 。 if(i==5) break 。 i++ 。 } } A、死循环,不能确定次数 B、6 C、4 D、1

2018NOIP普及组初赛试题

第二十四届全国青少年信息学奥林匹克联赛初赛 普及组C++语言试题 竞赛时间:2018 年10 月13 日14:30~16:30 选手注意: 试题纸共有7 页,答题纸共有2 页,满分100 分。请在答题纸上作答,写在试题纸上的一律无效。 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。 一、单项选择题(共15 题,每题2 分,共计30 分;每题有且仅有一个正确选项) 1、以下哪一种设备属于输出设备:() A.扫描仪 B. 键盘 C. 鼠标 D. 打印机 2、下列四个不同进制的数中,与其它三项数值上不相等的是()。 A.(269)16 B.(617)10 C.(1151)8 D.(1001101011)2 3、1MB 等于()。 A.1000 字节 B. B. 1024 字节 C.1000 X 1000 字节 D. D. 1024 X 1024 字节 4、广域网的英文缩写是()。 https://www.doczj.com/doc/a67397490.html,N B.WAN C.MAN D.LNA 5、中国计算机学会于()年创办全国青少年计算机程序设计竞赛。 A.1983 B.1984 C.1985 D.1986 6、如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、 字母键A、字母键S、字母键D、字母键F 的顺序循环按键,即CapsLock、A、S、D、F、CapsLock、A、S、D、F、??,屏幕上输出的第81 个字符是字母

( )。 A. A B. S C. D D. a 7、根节点深度为0,一棵深度为h 的满k(k>1)叉树,即除最后一层无任何子节点外,每一层上的所有结点都有k 个子结点的树,共有()个结点。 A.(k h+1 - 1) / (k - 1) B.k h-1 C.k h D.(k h-1) / (k - 1) 8、以下排序算法中,不需要进行关键字比较操作的算法是()。 A.基数排序 B.冒泡排序 C.堆排序 D.直接插入排序 9、给定一个含N 个不相同数字的数组,在最坏情况下,找出其中最大或最小的数,至少需要N - 1 次比较操作。则最坏情况下,在该数组中同时找最大与最小的数至少需要()次比较操作。(? ? 表示向上取整,? ? 表示向下取整) A.? 3N / 2? - 2 B.? 3N / 2? - 2 C.2N - 2 D.2N - 4 10、下面的故事与()算法有着异曲同工之妙。从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:“从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事??'” A.枚举 B. 递归 C. 贪心 D. 分治 11、由四个没有区别的点构成的简单无向连通图的个数是()。 A. 6 B.7 C.8 D.9 12、设含有10 个元素的集合的全部子集数为S,其中由7 个元素组成的子集数为 T,则T / S 的值为()。 A. 5 / 32 B.15 / 128 C. 1 / 8 D.21 / 128 13、10000 以内,与10000 互质的正整数有()个。 A. 2000 B.4000 C.6000 D.8000

C语言试题及答案

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。 第2章数据类型运算符和表达式习题 1. 单项选择题 (1) 以下选项中,正确的 C 语言整型常量是 D 。 A. 32L B. 510000 C. -1.00 D. 567 (2) 以下选项中, D 是不正确的 C 语言字符型常量。

NOIP2008初赛普及组试题

第十四届全国青少年信息学奥林匹克联赛初赛试题 (普及组Pascal语言二小时完成) ●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●● 一、单项选择题(共20题,每题1.5分。每题有且仅有一个正确答案。) 1.微型计算机中,控制器的基本功能是()。 A.控制机器各个部件协调工作B.实现算术运算和逻辑运算 C.获取外部信息D.存放程序和数据 2.设A=True,B=False,C=True,D=False,以下逻辑运算表达式值为真的是()。A.(A∧B)∨(C∧D∨﹁A) B.((﹁A∧B)∨C)∧﹁D C.(B∨C∨D)∧D∧A D.A∧(D∨﹁C)∧B 3.在下列关于图灵奖的说法中,不正确的是()。 A.图灵奖是美国计算机协会于1966年设立的,专门奖励那些对计算机事业作出重要贡献的个人 B.图灵奖有“计算机界诺贝尔奖”之称 C.迄今为止,还没有华裔计算机科学家获此殊荣 D.图灵奖的名称取自计算机科学的先驱、英国科学家阿兰·图灵 4.计算机在工作过程中,若突然停电,()中的信息不会丢失。 A.ROM 和RAM B.CPU C.ROM D.RAM 5.完全二叉树共有2*N-1个结点,则它的叶节点数是()。 A.N-1 B.N C.2*N D.2N-1 6.在以下各项中,( )不是操作系统软件。 A.Solaris B.Linux C.Windows Vista D.Sybase 7.设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈S,出栈的序列为b,d,f,e,c,a,则栈S的容量至少应该是()。 A.6 B.5 C.4 D.3 8.与十进制数28.5625相等的四进制数是()。 A.123.21 B.131.22 C.130.22 D.130.21 9.设字符串S=”Olympic”,S的非字串的数目是()。 A.28 B.29 C.16 D.17 10.Web2.0 是近年来互联网的热门概念之一,其核心思想是互动与分享。下列网站中,()是典型的Web 2.0应用。 A.Sina B.Flicker C.Yahoo D.Google

NOIP2016信息学奥赛普及组初赛C试题及答案解析较完美版

NOIP2016第二十二届全国青少年信息学奥林匹克联赛初赛 试 题 普及组C++语言 时间:2016 年10 月22 日14:30 ~16:30 竞赛 项) 一、单项选 择题(共20 题,每题 1.5 分,共计30 分;每题有且仅有一个正确选 1.以下不是微软公司出品的软件是( ) 。 A .Powerpoint B .Word C.Excel D. Acrobat Reader 2.如果256 种颜色用二进制编码来表示,至少需要( ) 位。 A .6 B .7 C .8 D .9 3.以下不属于无线通信技术的是( ) 。 A .蓝牙B.WiFi C .GPRS D .以太网 4.以下不是CPU生产厂商的是( ) 。 A.Intel B.AMD C.Microsoft D.IBM 5.以下不是存储设备的是( ) 。 A .光盘 B .磁盘 C .固态硬盘 D .鼠标 6.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照C apsLock、字母键A、字母键S C apsLock、A、S、D、CapsLock、A、S、D、??,屏幕上输出的第81 个 D的顺序循环按键,即 和字母键 字符是字母( ) 。 A .A B .S C . D D .a 7.二进制数00101100 和00010101 的和是( ) 。 A.00101000 B.01000001 C.01000100 D.00111000 8.与二进制小数0.1 相等的八进制数是( ) 。 A .0.8 B .0.4 C .0.2 D .0.1 9.以下是32 位机器和64 位机器的区别的是( ) 。 A.显示器不同B.硬盘大小不同 C.寻址空间不同D.输入法不同 10.以下关于字符串的判定语句中正确的是( ) A.字符串是一种特殊的线性表 B .串的长度必须大于零 C.字符串不可以用数组来表示 D .空格字符组成的串就是空串 11.一棵二叉树如右图所示,若采用顺序存储结构,即用一维数组元素存储该二 2i 为i ,则其左孩子位于下标 叉树中的结点(根结点的下标 为1,若某结点的下标 大下标为( ) 。 (2i+1) 处),则图中所有结点的最 处、右孩子位于下标 A.6 B .10 C .12 D .15 12.若有如下程序段,其中s、a、b、c 均己定义为整型变量,且a、c 均己赋值( c 大于0)。 s=a; for (b=1;b<=c;b++) s=s+1; 则与上述程序段修改 s值的功能等价的赋值语句是( ) 。 A. s=a+b; B. s=a+c; C. s=s+c; D. s=b+c; 13.有以下程序: #include using namespace std; int main() { int k=4,n=0; while(n

C语言上机作业试题5套含答案

第一次上机作业(2014): 要求: ?独立完成,上机调试通过后上交 ?作业提交邮箱: ?邮件主题命名:班级学号姓名(第1次作业), 例如:电1301班2王鹏(第1次作业) ?以附件形式将每次作业的所有程序源程序压缩打包后提交,压缩文件命名格式同上。 ?程序必须采用缩进格式 1.大写字母转换成小写字母 从键盘输入一个大写英文字母,输出相应的小写字母。 例:输入G 输出g 2.求平方根 输入一个实数x,计算并输出其平方根(保留1 位小数)。 例:输入17 输出The square root of 17.0 is 4.1 3.温度转换 设计一个程序将华氏温度转换成摄氏温度c = 5/9(f-32) a)输入华氏温度(实型) b)输出的摄氏温度结果保留两位小数 例:Please input Fahrenheit temperature: 76.8 The corresponding Celsius temperature is 24.89 4. 计算旅途时间 输入二个整数time1 和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 (输入的有效的时间范围是0000 到2359,不需要考虑出发时间晚于到达时间的情况。) 例:输入712 1411 (出发时间是7:12,到达时间是14:11) 输出The train journey time is 6 hours 59 minutes. 5. 数字加密 输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10 取余,做为该位上的新数字,最后将第1 位和第3 位上的数字互换,第2 位和第4 位上的数字互换,组成加密后的新数。 例:输入1257 输出The encrypted number is 4601 思考题:你能否编程找出谁做的好事? 有四位同学中的一位做了好事,不留名,表扬信来了之后,校长问这四位是谁做的好事。 ?A说:不是我。 ?B说:是C。 ?C说:是D。 ?D说:他胡说。 已知三个人说的是真话,一个人说的是假话。现在要根据这些信息,找出做了好事的人。 第二次上机作业(2014): 要求: ?独立完成,程序必须采用缩进格式,上机调试通过后上交

noip普及组复赛入门训练12(答案)

PASCAL复习12 1.自然数(文件名ZRS.PAS) 【问题描述】任意给定一个自然数M(M<999999999),如果它的所有各位数字都是由0或1组成,则输出YES,否则输出NO.例: 输入:100 输出:YES 输入:31 输出: NO Var m,x,a:longint; f:boolean; Begin readln(m); x:=m; f:=true; while (x>0)and f do begin a:=x mod 10; if (a<>0)and(a<>1) then f:=false; x:=x div 10; end; if f then writeln(‘YES’) else writeln(‘NO’); readln; End. 2.字符串(文件名ZFC.PAS) 【问题描述】由键盘输入一个超过10个字符的字符串,已知其中有两个“A”,以回车键结束。请你编个程序实现一下两个功能, 1、打印出第一个“A”所在的位置 2、打印出两个“A”之间的字符以及字符个数。 输入:TEACHERSTUDENTAND 输出:3 CHERSTUDENT 11 V AR T,T1:INTEGER; C:CHAR; BEGIN T:=0;t1:=0; Read(c); Repeat t:=t+1;

if c=‘A’then begin writeln(t); read(c); repeat write(c); t1:=t1+1; read(c); until c=‘A’; end; read(c); Until c=chr(13); Writeln; Writeln(t1); END. 3.数位和与积(文件名HWHJ.pas) 【问题描述】试编写程序求出n个自然数的各个数位之和与之积。输入:一个自然数n(n<=5)及n个自然数 输出:各行依次输出每一个自然数n的各个数位之和与之积。例如: 输入: 3 92 23 1024 输出 11 18 5 6 7 0 var i,t,x,y,z:integer; begin readln(t); for i:=1 to t do begin read(x); y:=0; z:=1; while x>0 do begin y:=y+x mod 10; z:=z*(x mod 10); x:=x div 10; end; writeln(y,' ',z); end; readln; readln end. 4. 黑色星期五(文件名HSXQW.PAS)

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】A) 函数B) 语句C) 字符D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】A) 整型、实型、逻辑型B) 整型、实型、字符型 C) 整型、双精度型、布尔型D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】A) 固定的B) 由用户自己定义的 C) 任意的D) 与机器字长有关

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