一、单项选择题
1.题
(3.0分) 以下叙述正确的是()。
A.在C程序,至少要包含一个库函数
B.C程序的一行可以写多条语句
C.对一个C程序进行编译就可以生成可执行文件
D.C程序中的注释只能单独一行,不能位于某条语句的后面
2.题
(3.0分) 下面选项中,不是C语言关键字的是()。
A.short
B.enum
C.register
D.include
3.题
(3.0分) C程序中以下叙述不正确的是()。
A.语句char x=’\n’;则变量x包含1个字符
B.表达式3+’a’值的数据类型为字符型
C.表达式sizeof(double)是一个整型表达式
D.char类型数据在内存中存储形式是ASCII码
4.题
(3.0分) C程序中以下叙述正确的是()。
A.输入数据可以是常量,如scanf(“%f”,3.14);
B.输入数据可以没有,如 scanf(“pi=%f”);
C.格式控制对于实数输入必须要说明小数点后倍数,如scanf(“%8.2f”,&f);
D.对于输入必须指明变量的地址,如,scanf(“%f”,&pi);
5.题
(3.0分)
运行语句int x=2,y=3,z=4,m=8,n=9;
(m=x>y)||(n=y>z);,变量n的取值为()。
A.8
B.9
C.0
D.1
6.题
(3.0分) C语言中代数关系a<=b<=c,表达式为下面选项( )
A.(a<=b)&&(b<=c)
B.(a<=b)or(b<=c)
C.(a<=b<=c)
D. (a<=b)||(b<=c)
7.题
(3.0分) C语言中有语句: char a[10]; a=”c “; printf(“%s\n”,a); 则输出结果是( )
A.c program
B.c
C.cprogram
D.编译出错
8.题
(3.0分) 已有整型变量x=-2,语句do{x=x*x;}while(!x); 以下叙述正确的是()。
A. while循环执行1次
B. 有语法错误
C. while循环是无限循环
D. while循环一次也没有执行
9.题
(3.0分) 语句while(!x)等价于()。
A. while(x==0)
B. while(x!=0)
C. while(x==1)
D. while(x!=1)
10.题
(3.0分) C语言中有语句: char a[]=”program”; 则数组 a所占的内存空间的字节数为( )
A.0
B.7
C.8
D.9
11.题
(3.0分) C语言中,有语句int a[2][3]={1};则下面描述正确的是()
A.此语句不能初始化数组。
B.只有元素a[1][1] 初始值为1
C.元素a[1][0] 初始值为0
D.数组中所有元素初始值为1
12.题
(3.0分) 若已定义:char s [] = “c program”; char *p ; p = s;
下面选项正确的是( )
A.*p与s[0]的值是相同的
B.数组s中的内容和变量p中的内容相同
C.*p表示整个字符串
D.s和p是相同的
13.题
(3.0分) C语言中,有函数定义为 f(float x){return x;}则此函数f的函数类型为( )
A.int
B.float
C.void
D.编译出错
14.题
(3.0分) C语言中,某个变量仅在当前源文件中所有函数使用,可以将此变量的存储类型定义为( )
A.register
B.auto
C.extern
D.static
15.题
(3.0分) 设带有头结点的单向循环链表的头指针变量为head,则其判空条件是( )。
A. head==0
B.head->next==0
C.head->next==head
D. head!=0
二、编程
1.题(10.0分)
随着数字经济的发展,影院在线软件可以提供更好的定制化优惠,一次购买5张及以上的30天内电影票兑换券,可以打9折;一次购买10张及以上的30天内电影票兑换券,可以打8折;一次购买20张及以上的30天内电影票兑换券,可以打75折(多个打折不累计,只选择最大折扣幅度)。电影院有宽荧幕和立体两种不同类型的放映厅,票价分别为35元和50元。现在来了一批网络订单,请编写程序,分别给出最终应支付的票款。
2.题(15.0分)
伴随着最新技术的发展,计算机内部的表达不再局限于传统的进制表达,为了便于记录,采用大写字母A-Z表示从11进制到36进制。现有一批进制数需要处理,请编写程序帮忙判断这批进制数的合法性,并从中找出数值最小的数。
输入说明:
第一行为一个正整数N(0<N≤1000),表示待处理数的数量。
第二行为N个待处理数,以空格隔开。在表示时,大写字母表示进制,小写字母表示数值(如D表示14进制,在14进制中’0’-‘9’对应十进制的0-9,’a’-‘d’对应十进制的10-13)。如果存在非法表达,则该组表示无效,输出-1。
输出说明:
找出数值最小的数,输出它对应的十进制数。
输入样例1:
3
A21 B10 Cb
输出样例1:
11
输入样例2:
5
B20 Cd B12 C2b D3a
输出样例2:
-1
样例说明:
样例1中的A21 对应十进制的23,B10对应十进制的12,Cb对应十进制的11,因此输出11;
样例2中有Cd,其中C表示13进制,不应出现d,因此输出-1。
3.题(15.0分)
空间中有N个顶点(顶点坐标用x,y,z表示),从中找出能构成三角形图形的最大周长,输出其值。
输入说明:
第一行是一个整数NN(0<N≤1000),表示顶点个数,之后N行是每个顶点的三维坐标,用整数表示,中间用空格隔开。
输出说明:
输出三角形最大周长,数值精确到小数点后2位(四舍五入)。
输入样例:
5
0 0 0
0 3 4
0 3 0
0 1 1
1 0 0
输出样例:
12.26
4.题(15.0分)
由于近期强降雨,某区域(由N*M个区块构成)发生了水灾,部分区块被淹,所有高于水面的区块组成了若干孤岛。
孤岛的定义:对于一个高于水面的区块,如果其上下左右四相邻区块中某几个区块未必淹没,则它们属于同一个孤岛。
请你编写程序,计算淹水后最小孤岛的区块数。
图示:深色方块表示未被淹没的区块,图中共有4个孤岛。