2012年全国高等教育自学考试高级语言程序设计标准预测试卷(8)
-
有一个字符串,包含n个字符。写一个函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。要求在主函数中输入字符串及m值并输出复制结果。
-
将10个数输入数组中,求出其中最大数和最小数并输出。
#include<stdio.h>
main()
{
int i,max,min,a[10];
for(i=0;i<10;i++)
seanf("%d",______);/*第一空*/
max=a[0]:
min=a[0];
for(i=1;______;i++)/*第二空*/
if(a[i]>max)
max=a[i];
else if(a[i]<min)
______;/*第三空*/
printf("max=%d,min=%d",max,min);
}
-
编一个程序其功能是输入一个正整数,判断是否是素数,若为素数则输出1,否则输出0。(素数是只能被1和本身整除且大于1的自然数)
-
将一个文本文件ma.dat拷贝到另一个文本文件na.dat中。
#include<stdio.h>
main()
{
FILE*ma,*na;
ma=fopen("ma.dat",______);/*第一空*/
na=fopen("na.dat","w");
while(!feof(ma))fputc(fgete(ma),______)/*第二空*/
felose(na);______;/*第三空*/
}
-
一个三位整数(100~999),若各位数的立方和等于该数自身,则称其为"水仙花数"(如:153=13+53+33),找出所有的这种数。
#include<stdio.h>
main()
{int n,a,b,c;
for(c=1;c<=9;c++)
for(b=0;b<=9;b++)
for(a=0;______;a++)/*第一空*/
{
n=______;/*第二空*/
if(a*a*a+b*b*b+C*C*c==______)/*第三空*/
printf("%d\n",n);
}
}
-
#include<stdio.h>
void swap(int *P,int *q)
{
int t;
t=*P;*P=*q;*q=t;
}
main()
{int a=10,b=20;swap(&a,&b);
printff"%d%d\n",a,b);
}
-
#include<stdio.h>
typedef struct abc
{int a,b,c;
};
main()
{struct abe s[2]={{1,2,3),{4,5,6}};
int t=-s[0].a+s[1].b;
printf("%d\n",t);
}
-
若输入3个整数3,2,1<回车>则下面程序的输出结果是
#include<stdio.h>
main()
{int i,n,aa[10]={0,0,0,0,0,0};
scanf("%d%d%d",&n,&aa[0],&aa[1]);
for(i=0;i<=n;i++)
printf("%d",aa[i]);
}
-
写出"n是小于整数m的偶数"的C语言表达式:______
-
输入数据:2743<回车>。
#include<stdio.h>
main()
{int c;
while((c=getchar())!='n')
{switch(c-'2')
{case 0:
case 1:putchar(c+4);
case 2:putchar(c+4);break;
case 3:putchar(c+3);
case 4:putchar(c+2);break;}
}
printf("\n");}
-
指针s所指字符串的长度为______。
char*s="\"Name\Address\n";
-
以下程序运行后输出的结果是______。
main()
{int a=1,b;
for(b=1;b<=10;b++)
(if(a>=8)break;
if(a%2==1){a+=5;continue;}
a==3:
}
printf("%d\n",b);
}
-
已知在ASCⅡ代码中,字母A的序号为65,以下程序输出的结果是______。
#include<stdio.h>
main()
{char c1='A',c2='Y';
printf("%d,%d\n",c1,c2);
}
-
在C语言中,如果下面的变量都是int类型,则输出的结果是______。
sum=pad=5;
pad=sum++,pad++,++pad;
printf("%d\n",pad);
-
以下程序的输出结果是______。
#include
main()
{int i=010,j=10;
printf("%d,%d\n",++i,j--);}
-
表示空类型的保留字是______。
-
设for(k=0;k>0;k--)++k;,则该循环共执行______次。
-
设char a,b;,则表达式a/'c'*b的值的类型为______。
-
设char strl[7]="ABCDEF",str2[5]="xyz";;则执行语句:
printf("%d",strlen(strcpy(str1,str2)));
后的输出是______。
-
下列关于if和else的配对规则描述正确的是( )
- A.else总是和前面最远的if配对
- B.else总是和前面最近的if配对
- C.if和else的配对按程序缩进格式进行
- D.else可以和前面所有的if配对
-
在C语言中,被视为程序模块的是( )
- A.语句
- B.行语句
- C.程序语句块
- D.函数
-
下列关于continue和break的描述正确的是( )
- A.continue只能用于循环体中
- B.break只能用于循环体中
- C.continue只是一个语句标记
- D.break只能用于switch语句块中
-
下列语句中把P定义为一个文件指针的是( )
- A.FILE *P
- B.FILE p
- C.file P
- D.file *P
-
fgetc函数是作为一个从指定文件读入一个字符的函数,下列有关描述正确的是( )
- A.只能读二进制文件
- B.只能读文本文件
- C.其参数是一个指针变量
- D.其参数是一个字符串
-
若x为int型变量,则执行以下语句后,x的值为( )
x=6;
x=+x-=x*x
- A.6
- B.-24
- C.36
- D.-60
-
设char *s="china";则printf("%s,%c,%c\n",s,*s,s[3]);的输出是( )
- A.china,c,n
- B.china,china,i
- C.c,c,n
- D.china,china,n
-
下面程序段执行后输出的结果是( )
#include<stdio.h>
main()
{int a[2][2]={{1,2),{5,7)),*P,i;
p=&a[0][0];
for(i=0;i<2;i++)
"P++=i+1:
printf("%d",*(p-2));
}
- A.1
- B.2
- C.5
- D.7
-
下面程序段执行后输出的结果是( )
#include<stdio.h>
main()
{int i;
for(i=1;i<8;i++)
{{if(i%3){printf("*");continue;}}
printf("#");
}
printf("\n");
}
- A.*#**#**#
- B.**#**#*
- C.*#**#**
- D.**#**
-
以下程序输出的结果是
#include<stdio.h>
int fun(int k)
{if(k>0)fun(k-1);
printf("%d",k);
}
main()
{int w=3;fun(w);
printf("\n");
}
- A.3 2 1 0
- B.0 1 2 3
- C.2 1 0
- D.0 1 2
-
在定义了数组int a[6][10]之后,对数组元素的引用不正确的是
- A.*(a[6]+2)
- B.a[6][8]
- C.*(&a[6][1]+4)
- D.&a[6]+5
-
若当前文件目录为C:\tc,在C语句中下列能表示文件tc.c的是
- A.tc.c
- B.C:tc\tc.c
- C.C:\tc\tc.c
- D.C\tc\tc.c
-
下列说法中正确的是
- A.字符'\0'是字符串的结束标记
- B.字符'0'是字符串的结束标记
- C.字符'\o'是字符串的结束标记
- D.字符'o'是字符串的结束标记
-
以下运算符中,优先级最低的是
- A.&&
- B.&
- C.&=
- D.=
-
在函数内定义变量时,存储类型符可省略的是
- A.static
- B.extern
- C.auto
- D.register