内容正文:
编写说明:本冲刺卷严格依据山东省软件与应用技术类高考考纲编写,依托《编程语言基础—C语言》(高教版第五版),聚焦高三考生冲刺需求,助力高效提分。内容上深度覆盖考纲掌握、理解层级考点,既系统梳理构建知识框架,又强化应用能力训练;同时结合近五年高考真题,精准把握高频考点、命题趋势与题型特点,确保贴合高考方向。
山东省软件与应用技术类
《C语言程序设计》高教版第五版
高频考点冲刺卷(十)解析版
时间:60分钟 总分:100分
班级 姓名 学号 成绩
一、单选题(共25小题,每题2分,共50分)
1. 以下C语言标识符中,合法的是( )
A. 3abc B. _int C. a-b D. a/b
答案:B
解析:C语言标识符只能由字母、数字和下划线组成,且不能以数字开头。_int是合法的。2. 设有定义:int a=7; float x=2.5, y=4.7;,则表达式x+a%3*(int)(x+y)%2/4的值是( )
A. 2.5 B. 2.75 C. 3.5 D. 3.0
答案:A
解析:计算过程:x+a%3*(int)(x+y)%2/4 = 2.5+7%3*(int)(7.2)%2/4 = 2.5+1*7%2/4 = 2.5+1/4 = 2.5+0 = 2.5。
3. 若变量已正确定义并赋值,下面符合C语言语法的表达式是( )
A. 5++ B. int 18.5%3 C. a=a+7=c+b D. a=7+b+c,a++
答案:D
解析:A错误,自增运算符只能应用于变量,不能应用于常量和表达式;B错误,强制类型转换的格式为:(类型说明符)(表达式);C错误,不能赋值给表达式。所以选D,逗号表达式。
4. 以下叙述错误的是( )
A. C程序中的#include和#define行均不是C语句
B. 逗号运算符的优先级最低
C. 在C程序中,赋值运算符的优先级最低
D. 在C程序中,j++;是一条赋值语句
答案:C
解析:赋值运算符优先级是14,逗号运算符是15。
5. 有以下程序段:int k=0;while(k=1) k++;,while循环执行的次数是( )
A.无限次 B. 有语法错,不能执行
C. 一次也不执行 D. 执行1次
答案:A
解析:while(k=1)是赋值语句,将1赋给k,条件永远为真,无限循环。
6.以下程序的输出结果是( )
#include <stdio.h>
main()
{
int a=5, b=4, c=3, d=2;
if(a>b>c)
printf("%d
", d);
else if((c-1>=d)==1)
printf("%d
", d+1);
else
printf("%d
", d+2);
}
A.2 B. 3
C. 4 D. 编译时有错,无结果
答案:B
解析:a>b>c等价于(5>4)>3,即1>3为假,执行else if。(c-1>=d)==1即(3-1>=2)==1,(2>=2)==1,1==1为真,输出d+1即3。
7.有如下程序,该程序的输出结果是( )
#include <stdio.h>
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. a=2,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2
答案:A
解析:x=1,从case 1开始执行,由于没有break,会穿透执行case 2,所以a自增两次,b自增一次。
8.以下程序的输出结果是( )
#include <stdio.h>
main() {
int i, j, x=0;
for(i=0; i<2; i++) {
x++;
for(j=0; j<=3; j++) {
if(j%2) continue;
x++;
}
x++;
}
printf("x=%d
", x);
}
A. x=4 B. x=8 C. x=6 D. x=12
答案:B
解析:外层循环2次,内层循环4次。当j%2为真时(j为奇数),continue跳过x++。计算可得x=8。
9.对以下程序,正确的描述是( )
#include <stdio.h>
main()
{
int x=0, y=0;
while(x<15)
y++, x+=++y;
printf("%d,%d", y, x);
}
A. while循环执行10次 B. 循环是无限循环
C. 循环体语句一次也不执行 D. 输出结果是8,20
答案:D
解析:分析循环:x=0,y=0→y=1,x=2→x=2,y=2→y=3,x=6→x=6,y=4→y=5,x=12→x=12,y=6→y=7,x=20,此时x≥15,循环结束。输出8,20。
10.以下对一维整型数组a的正确说明是( )
A. int a(10); B. int n=10, a[n];
C. int n; D. #define SIZE 10
scanf("%d", &n); int a[SIZE];
int a[n];
答案:D
解析:数组定义格式:类型说明符 数组名[数组长度],数组长度不能是变量,可以是常量或常量表达式。所以D正确。
11. 以下能正确定义字符串的语句是( )
A. char str[]={'\064'}; B. char str="\x43";
C. char str=''; D. char str[]="\0";
答案:D
解析:A是字符数组,B缺少[],C是单个字符。
12.以下程序的输出结果是( )
#include <stdio.h>
#include <string.h>
main() {
char st[20]="hello\0\t\\";
printf("%d %d
", strlen(st), sizeof(st));
}
A. 9 20 B. 5 20 C. 13 20 D. 20 20
答案:B
解析:strlen遇到第一个\0结束,长度为5;sizeof是数组大小,为20。
13. 若有定义:int a[3][4];,则对数组a元素的正确引用是( )
A. a[2][4] B. a[1,3] C. a[1+1][0] D. a(2)(1)
答案:C
解析:数组下标从0开始,a[1+1][0]即a[2][0]。
14.以下程序的输出结果是( )
#include <stdio.h>
void fun(int *x, int *y)
{
printf("%d %d", *x, *y);
*x=3;
*y=4;
}
main() {
int x=1, y=2;
fun(&y, &x);
printf("%d %d", x, y);
}
A. 2 1 1 2 B. 1 21 2 C. 2 14 3 D. 1 2 3 4
答案:C
解析:fun(&y, &x)将y地址传给x指针,x地址传给y指针。函数内输出2 1,然后修改*x(y)为3,*y(x)为4。返回后x=4,y=3。
15.以下程序的输出结果是( )
#include <stdio.h>
int f(int x, int y){
return (y-x);
}
main() {
int a=5, b=6, c=2;
int d;
d=f(f(a,b), f(a,c));
printf("%d
", d);
}
A.3 B. -3 C. 4 D. -4
答案:D
解析:d=f(f(a,b),f(a,c))=f(f(5,6),f(5,2))=f(1,-3)=-4
16.以下程序的输出结果是( )
#include <stdio.h>
int a=3;
main() {
int s=0;
{
int a=5;
s+=a++;
}
s+=a++;
printf("%d
", s);
}
A. 8 B. 10 C. 7 D. 11
答案:A
解析:第一个作用域中a=5,s=5;第二个作用域使用全局变量a=3,s=5+3=8。
17.以下程序的输出结果是( )
#include <stdio.h>
int f(int n) {
if(n==1) return 1;
else return f(n-1)+1;
}
main() {
int i, j=0;
for(i=1; i<3; i++)
j+=f(i);
printf("%d
", j);
}
A. 4 B. 3 C. 2 D. 1
答案:B
解析:f(1)=1,f(2)=f(1)+1=2,j=1+2=3。
18. 若有定义:int *p[3];,则以下叙述正确的是( )
A. 定义了一个指针数组p,该数组有3个元素,每个元素都是整型指针
B. 定义了一个可指向一维数组的指针变量p,所指一维数组应具有3个整型元素
C. 定义了一个名为*p的整型数组,该数组含有3个int类型元素
D. 定义了一个基类型为int的指针变量p,该变量具有3个指针
答案:A
解析:int *p[3]是指针数组,有三个元素,每个都是int指针。
19. 以下程序段中,不能正确赋字符串的是( )
A. char s[10]="abcdefg"; B. char t[]="abcdefg", *s=t;
C. char s[10]; s="abcdefg"; D. char s[10]; strcpy(s, "abcdefg");
答案:C
解析:数组名是常量指针,不能直接赋值。
20. 若有定义:int a[5], *p=a;,则对a数组元素的正确引用是( )
A. *&a[5] B. a+2 C. *(p+5) D. *(a+2)
答案:D
解析:A下标越界,B是地址,C下标越界。
21.有以下程序,程序运行后的输出结果是( )
#include <stdio.h>
void fun(char *c, int d) {
*c=*c+1;
d=d+1;
printf("%c,%c,", *c, d);
}
main() {
char b='a', a='A';
fun(&b, a);
printf("%c,%c
", b, a);
}
A. b,B,b,A B. b,B,B,A C. a,B,B,a D. a,B,a,B
答案:C
解析:主函数中函数调用传递参数b的地址和a的值。fun函数中让变量b的值+1,变量d+1。输出b,B,。函数调用结束回到主函数,输出b,A。
22.设有以下结构体类型和变量定义:
struct student {
char name[10];
int age;
char sex;
} std[3], *p=std;以下各输入语句中错误的是( )
A. scanf("%d", &(*p).age); B. scanf("%s", &std.name);
C. scanf("%c", &std[0].sex); D. scanf("%c", &(p->sex));
答案:B
解析:std.name应该是std[0].name。
23.有以下程序,执行后输出结果是( )
#include <stdio.h>
struct STU {
char num[10];
float score[3];
};
main() {
struct STU s[3]={{"20021",90,95,85},
{"20022",95,80,75},
{"20023",100,95,90}}, *p=s;
int i;
float sum=0;
for(i=0; i<3; i++)
sum=sum+p->score[i];
printf("%6.2f
", sum);
}
A.260.00 B. 270.00 C. 280.00 D. 285.00
答案:B
解析:指针p指向数组STU的第一个元素{“20021”,90,95,85},而for循环实现将p所指向元素的score域的值进行累加到sum里,即sum=90+95+85=270。所以选B。
24.以下程序的输出结果是( )
#include <stdio.h>
main() {
char a[10]="abcd", *p;
p=a;
*(p+3)+=1;
printf("%c,%c
", *p, *(p+3));
}
A.a,d B. a,e C. b,d D. b,e
答案:B
解析:*(p+3)是'd',加1后变为'e'。
25.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是( )。
A.c = *p1 + *p2; B. p2 = c;
C.p1 = p2; D.c = *p1*(*p2);
答案:B
解析:p2是指针变量,c是字符变量,将字符直接赋值给指针属于类型不匹配。
二、简答题(共3小题,每题5分,共15分)
1. 阅读程序,写出运行结果。
#include <stdio.h>
main() {
int i, n=0;
for(i=2; i<5; i++) {
do {
if(i%3) continue;
n++;
} while(!i);
n++;
}
printf("n=%d
", n);
}
答案:n=4
2.阅读程序,写出运行结果。
#include <stdio.h>
void swap(int *p1, int *p2)
{
int *p;
p=p1; p1=p2; p2=p;
}
main() {
int a=5, b=8, *pa=&a, *pb=&b;
swap(pa, pb);
printf("%d,%d,", a, b);
printf("%d,%d
", *pa, *pb);
}
答案:5,8,5,8
3.阅读程序,指出错误并改正。
#include <stdio.h>
main() {
char *str="I love China!";
str[0]='i';
printf("%s
", p);
}
答案:
错误:char *str="I love China!";`定义的是指向字符串常量的指针,不能修改其内容。
修改:改为字符数组char str[]="I love China!";str[0]='i';
三、案例分析题(共3小题,每题5分,共15分)
1. 计算N*N矩阵的主对角线元素和副对角线元素之和,并作为函数值返回。(要求:先累加主对角线元素中的值,然后累加副对角线元素中的值。)
例如,若N=3,有下列矩阵: 1 2 3
4 5 6
7 8 9
fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。请将程序补充完整。
#include <stdio.h>
#define N 3
fun(int t[][N], int n)
{int i, sum;
① ;
for(i=0; i<n; i++)
sum+= ② ;
for(i=0;i<n;i++)
sum+=t[i][n-i-1];
return sum;
}
main()
{
int t[][N]={1,2,3,4,5,6,7,8,9},i,j;
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%4d",t[i][j]);
printf("
");
}
printf("The result is: %d
", ③ );
}
答案:①sum=0;②t[i][i] ③fun(t,N)
2.下面程序功能:根据健康码颜色和体温判断是否能够通行。健康码颜色为绿色且体温正常(37.3°),则可同行;健康码为黄色且体温正常,需要进行登记。其他情况不可同行。
#include <stdio.h>
main() {
char health_code; // R-红, Y-黄, G-绿
int temperature;
printf("请输入健康码颜色(R/Y/G): ");
scanf("%c", &health_code);
printf("请输入体温: ");
scanf("%d", &temperature);
if( ① ) {
printf("允许通行
");
}
else if( ② ) {
printf("请进行登记
");
}
else {
printf("禁止通行
");
}
}
答案:①health_code=='G'&&temperature<=37.3②health_code=='Y'&&temperature<=37.3
3.以下程序的功能是:通过指针操作,找出3个整数中的最小值并输出。请将程序补充完整。
#include <stdio.h>
main() {
int ① ,num,x,y,z;
a=&x;b=&y;c=&z;
printf("请输入3个整数:");
scanf("%d%d%d", ② );
printf("%d,%d,%d",*a,*b,*c);
num=*a;
if(*a>*b) ③ ;
if(num>*c)num=*c;
printf("输出最小整数:%d
", ④ );
}
答案:
①*a,*b,*c
②a,b,c
③num=*b
④num
四、综合应用题(共2小题,每题10分,共20分)
1. 用递归法计算第 6 层台阶的高度。已知第 1 层台阶高 15 厘米,从第 2 层开始,每一层比前一层高 3 厘米,求第 6 层台阶的高度
答案:
参考程序:
#include <stdio.h>
int h(int n) {
if (n == 1) {
return 15;
} else {
return h(n - 1) + 3;
}
}
main() {
int n = 6;
int result = h(n);
printf("第%d层台阶的高度:%d 厘米
", n, result);
}
2. 将字符串"algorithm"赋给一个字符数组,然后从第二个字符开始,每间隔一个字符输出该串(即输出第2、4、6、8...个字符)。请用指针实现。
答案:
参考程序:
#include <stdio.h>
main() {
// 将字符串赋给字符数组
char str[] = "algorithm";
// 用指针指向字符串
char *p = str;
//移动到第二个字符(下标1)
p++; // 现在p指向第二个字符'l'
printf("原字符串: %s
", str);
printf("从第二个字符开始间隔输出: ");
// 间隔输出(步长为2)
while (*p != '\0') {
printf("%c", *p);
p += 2; // 跳过下一个字符
// 检查是否超出字符串末尾
if (*p == '\0') {
break;
}
}
printf("
");
}
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:本冲刺卷严格依据山东省软件与应用技术类高考考纲编写,依托《编程语言基础—C语言》(高教版第五版),聚焦高三考生冲刺需求,助力高效提分。内容上深度覆盖考纲掌握、理解层级考点,既系统梳理构建知识框架,又强化应用能力训练;同时结合近五年高考真题,精准把握高频考点、命题趋势与题型特点,确保贴合高考方向。
山东省软件与应用技术类
《C语言程序设计》高教版第五版
高频考点冲刺卷(十)原卷版
时间:60分钟 总分:100分
班级 姓名 学号 成绩
一、单选题(共25小题,每题2分,共50分)
1. 以下C语言标识符中,合法的是( )
A. 3abc B. _int C. a-b D. a/b
2. 设有定义:int a=7; float x=2.5, y=4.7;,则表达式x+a%3*(int)(x+y)%2/4的值是( )
A. 2.5 B. 2.75 C. 3.5 D. 3.0
3. 若变量已正确定义并赋值,下面符合C语言语法的表达式是( )
A. 5++ B. int 18.5%3 C. a=a+7=c+b D. a=7+b+c,a++
4. 以下叙述错误的是( )
A. C程序中的#include和#define行均不是C语句
B. 逗号运算符的优先级最低
C. 在C程序中,赋值运算符的优先级最低
D. 在C程序中,j++;是一条赋值语句
5. 有以下程序段:int k=0;while(k=1) k++;,while循环执行的次数是( )
A.无限次 B. 有语法错,不能执行
C. 一次也不执行 D. 执行1次
6.以下程序的输出结果是( )
#include <stdio.h>
main()
{
int a=5, b=4, c=3, d=2;
if(a>b>c)
printf("%d
", d);
else if((c-1>=d)==1)
printf("%d
", d+1);
else
printf("%d
", d+2);
}
A.2 B. 3
C. 4 D. 编译时有错,无结果
7.有如下程序,该程序的输出结果是( )
#include <stdio.h>
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. a=2,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2
8.以下程序的输出结果是( )
#include <stdio.h>
main() {
int i, j, x=0;
for(i=0; i<2; i++) {
x++;
for(j=0; j<=3; j++) {
if(j%2) continue;
x++;
}
x++;
}
printf("x=%d
", x);
}
A. x=4 B. x=8 C. x=6 D. x=12
9.对以下程序,正确的描述是( )
#include <stdio.h>
main()
{
int x=0, y=0;
while(x<15)
y++, x+=++y;
printf("%d,%d", y, x);
}
A. while循环执行10次 B. 循环是无限循环
C. 循环体语句一次也不执行 D. 输出结果是8,20
10.以下对一维整型数组a的正确说明是( )
A. int a(10); B. int n=10, a[n];
C. int n; D. #define SIZE 10
scanf("%d", &n); int a[SIZE];
int a[n];
11. 以下能正确定义字符串的语句是( )
A. char str[]={'\064'}; B. char str="\x43";
C. char str=''; D. char str[]="\0";
12.以下程序的输出结果是( )
#include <stdio.h>
#include <string.h>
main() {
char st[20]="hello\0\t\\";
printf("%d %d
", strlen(st), sizeof(st));
}
A. 9 20 B. 5 20 C. 13 20 D. 20 20
13. 若有定义:int a[3][4];,则对数组a元素的正确引用是( )
A. a[2][4] B. a[1,3] C. a[1+1][0] D. a(2)(1)
14.以下程序的输出结果是( )
#include <stdio.h>
void fun(int *x, int *y)
{
printf("%d %d", *x, *y);
*x=3;
*y=4;
}
main() {
int x=1, y=2;
fun(&y, &x);
printf("%d %d", x, y);
}
A. 2 1 1 2 B. 1 21 2 C. 2 14 3 D. 1 2 3 4
15.以下程序的输出结果是( )
#include <stdio.h>
int f(int x, int y){
return (y-x);
}
main() {
int a=5, b=6, c=2;
int d;
d=f(f(a,b), f(a,c));
printf("%d
", d);
}
A.3 B. -3 C. 4 D. -4
16.以下程序的输出结果是( )
#include <stdio.h>
int a=3;
main() {
int s=0;
{
int a=5;
s+=a++;
}
s+=a++;
printf("%d
", s);
}
A. 8 B. 10 C. 7 D. 11
17.以下程序的输出结果是( )
#include <stdio.h>
int f(int n) {
if(n==1) return 1;
else return f(n-1)+1;
}
main() {
int i, j=0;
for(i=1; i<3; i++)
j+=f(i);
printf("%d
", j);
}
A. 4 B. 3 C. 2 D. 1
18. 若有定义:int *p[3];,则以下叙述正确的是( )
A. 定义了一个指针数组p,该数组有3个元素,每个元素都是整型指针
B. 定义了一个可指向一维数组的指针变量p,所指一维数组应具有3个整型元素
C. 定义了一个名为*p的整型数组,该数组含有3个int类型元素
D. 定义了一个基类型为int的指针变量p,该变量具有3个指针
19. 以下程序段中,不能正确赋字符串的是( )
A. char s[10]="abcdefg"; B. char t[]="abcdefg", *s=t;
C. char s[10]; s="abcdefg"; D. char s[10]; strcpy(s, "abcdefg");
20. 若有定义:int a[5], *p=a;,则对a数组元素的正确引用是( )
A. *&a[5] B. a+2 C. *(p+5) D. *(a+2)
21.有以下程序,程序运行后的输出结果是( )
#include <stdio.h>
void fun(char *c, int d) {
*c=*c+1;
d=d+1;
printf("%c,%c,", *c, d);
}
main() {
char b='a', a='A';
fun(&b, a);
printf("%c,%c
", b, a);
}
A. b,B,b,A B. b,B,B,A C. a,B,B,a D. a,B,a,B
22.设有以下结构体类型和变量定义:
struct student {
char name[10];
int age;
char sex;
} std[3], *p=std;以下各输入语句中错误的是( )
A. scanf("%d", &(*p).age); B. scanf("%s", &std.name);
C. scanf("%c", &std[0].sex); D. scanf("%c", &(p->sex));
23.有以下程序,执行后输出结果是( )
#include <stdio.h>
struct STU {
char num[10];
float score[3];
};
main() {
struct STU s[3]={{"20021",90,95,85},
{"20022",95,80,75},
{"20023",100,95,90}}, *p=s;
int i;
float sum=0;
for(i=0; i<3; i++)
sum=sum+p->score[i];
printf("%6.2f
", sum);
}
A.260.00 B. 270.00 C. 280.00 D. 285.00
24.以下程序的输出结果是( )
#include <stdio.h>
main() {
char a[10]="abcd", *p;
p=a;
*(p+3)+=1;
printf("%c,%c
", *p, *(p+3));
}
A.a,d B. a,e C. b,d D. b,e
25.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是( )。
A.c = *p1 + *p2; B. p2 = c;
C.p1 = p2; D.c = *p1*(*p2);
二、简答题(共3小题,每题5分,共15分)
1. 阅读程序,写出运行结果。
#include <stdio.h>
main() {
int i, n=0;
for(i=2; i<5; i++) {
do {
if(i%3) continue;
n++;
} while(!i);
n++;
}
printf("n=%d
", n);
}
2.阅读程序,写出运行结果。
#include <stdio.h>
void swap(int *p1, int *p2)
{
int *p;
p=p1; p1=p2; p2=p;
}
main() {
int a=5, b=8, *pa=&a, *pb=&b;
swap(pa, pb);
printf("%d,%d,", a, b);
printf("%d,%d
", *pa, *pb);
}
3.阅读程序,指出错误并改正。
#include <stdio.h>
main() {
char *str="I love China!";
str[0]='i';
printf("%s
", p);
}
三、案例分析题(共3小题,每题5分,共15分)
1. 计算N*N矩阵的主对角线元素和副对角线元素之和,并作为函数值返回。(要求:先累加主对角线元素中的值,然后累加副对角线元素中的值。)
例如,若N=3,有下列矩阵: 1 2 3
4 5 6
7 8 9
fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。请将程序补充完整。
#include <stdio.h>
#define N 3
fun(int t[][N], int n)
{int i, sum;
① ;
for(i=0; i<n; i++)
sum+= ② ;
for(i=0;i<n;i++)
sum+=t[i][n-i-1];
return sum;
}
main()
{
int t[][N]={1,2,3,4,5,6,7,8,9},i,j;
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%4d",t[i][j]);
printf("
");
}
printf("The result is: %d
", ③ );
}
2.下面程序功能:根据健康码颜色和体温判断是否能够通行。健康码颜色为绿色且体温正常(37.3°),则可同行;健康码为黄色且体温正常,需要进行登记。其他情况不可同行。
#include <stdio.h>
main() {
char health_code; // R-红, Y-黄, G-绿
int temperature;
printf("请输入健康码颜色(R/Y/G): ");
scanf("%c", &health_code);
printf("请输入体温: ");
scanf("%d", &temperature);
if( ① ) {
printf("允许通行
");
}
else if( ② ) {
printf("请进行登记
");
}
else {
printf("禁止通行
");
}
}
3.以下程序的功能是:通过指针操作,找出3个整数中的最小值并输出。请将程序补充完整。
#include <stdio.h>
main() {
int ① ,num,x,y,z;
a=&x;b=&y;c=&z;
printf("请输入3个整数:");
scanf("%d%d%d", ② );
printf("%d,%d,%d",*a,*b,*c);
num=*a;
if(*a>*b) ③ ;
if(num>*c)num=*c;
printf("输出最小整数:%d
", ④ );
}
四、综合应用题(共2小题,每题10分,共20分)
1. 用递归法计算第 6 层台阶的高度。已知第 1 层台阶高 15 厘米,从第 2 层开始,每一层比前一层高 3 厘米,求第 6 层台阶的高度
2. 将字符串"algorithm"赋给一个字符数组,然后从第二个字符开始,每间隔一个字符输出该串(即输出第2、4、6、8...个字符)。请用指针实现。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$