2012年全国高等教育自学考试高级语言程序设计标准预测试卷(7)
-
编一个程序,对名为"abc.txt"的磁盘文件中"@"之前的所有字符加密,加密方法是每个字节的内容减10。
-
函数huiwen的功能是检查一个字符串是否是回文。当字符串是回文时,函数返回字符串:"yes!",否则函数返回字符串:"no!",并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adgda。
-
下面程序可用来统计文件中字符的个数。
#include<stdio.h>
main()
{FILE *fp;
long num=0;
if((fp=______)==NULL)/*第一空*/
{printf("Can not open file\n");exit(0);}
while(______)/*第二空*/
{______;}/*第三空*/
printf("num=%d\n",num);
fclose(fp);
}
-
下面程序段可以求出n!的值。
#include<stdio.h>
main()
{int i,n;
long np;
scanf("%d",&n);
______;/*第一空*/
for(i=2;______;i++)/*第二空*/
______;/*第三空*/
printf("n=%d,n!=%ld\n",n,np);
}
-
#include<stdio.h>
int f1(int x,int y){return x>y? x:y;)
int f2(int x,int y){return x>y? y:x;}
main()
{
int a=4,b=3,c=5,d=2,e,f,g;
e=f2(f1(a,b),f1(C,d));f=f1(f2(a'b),f2(c,d));
g=a+b+c+d-e-f;
printf("%d,%d,%d\n",e,f,g);
}
-
函数YangHui的功能是把杨辉i角形的数据赋给二维数组的下半三角,形式如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
其构成规律是:(1) 第0列元素和主对角线元素均为1(2) 其余元素为其左上方和正上方元素之和(3) 数据的个数每行递增1
#include<stdio.h>
#define N 5
void YangHui(int x[N][N])
{int i,j;
x[0][0]=1;
for(i=1;i<N;i++)
{x[i][0]=______=1;/*第一空*/
for(j=1;j<i;j++)
if(______)/*第二空*/
x[i][j]=______;/*第三空*/
}
}
-
#include<stdio.h>
int ast(int x,int y,int*cp,int*dp)
{*cp=x+y;
*dp=x-Y;
}
main()
{int a,b,C,d;
a=4;b=3;
ast(a,b,&c,&d);
printf("%d%d\n",c,d);
}
-
#include<stdio.h>
main()
{char b[]="ABCDEFG";
char *chp=e&b[7];
while(--chp>&b[0])
putchar(*chp);
}
-
#include<stdio.h>
int fun(int*a,int i,int j)
{if(i<j&&j<5)
{i++;j--;
a[i]+=a[j]:
{un(a,i,j);
return a[i];
}
}
main()
{int x[]={2,6,18,10,12},i;
for(i=0;i<5;i++)
if(i==2)
print{("%d\n",fun(x,0,3));
}
-
执行语句"n=1;if(n=5)n++;"后,变量n值为______。
-
计算a、b、C中最小值的条件表达式为______。
-
执行语句"a=5+(c=6);"后,变量a、c的值依次为______。
-
访问结构体数组元素a[k]的成员b,写作______。
-
执行语句"for(s=0,i=1;i<11;i++){if(i==6)continue;s+=i;).t后,s值为______。
-
程序中使用了字符串函数(如scanf),则必须包含的头文件名为______。
-
执行语句"int s=0,n=5;while(--n)s+=n;"后,变量s、n值依次为______。
-
若有说明int i,j,k;则表达式i=10,j=20,k=30,k*=i+j的值为______。
-
print{("%5.3f\n",123456.12345);输出为______。
-
表达式~3&(2&3^4)的值为______。
-
执行下列程序后输出的结果是( )
#include<stdio.h>
main()
{
int j,i,k=0,m=0;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
k++,k-=j;
}
m=i+j;
print{("k=%d,m=%d\n",k,m);
}
- A.k=0,m=5
- B.k=0,m=3
- C.k=1,m=5
- D.k=1,m=3
-
日期型结构date是由系统自动定义的,其所在的头文件是( )
- A.stdio.h
- B.dos.h,
- C.date.h
- D.stdlib.h
-
设charx='a',则printf("X=%c,y=%c\n",x,97);的输出是( )
- A.x=a,y=a
- B.x=97,y=a
- C.x=97,y=97
- D.x=a,y=97
-
若有以下说明和语句( )
struct worker{
int no;
char *name;
}work,*p=&work;
则以下引用方式不正确的是
- A.work.no
- B.(*p).no
- C.p->no
- D.work->no
-
以下程序的输出结果是( )
int d=1;
fun(int p)
{
static int d=5;
d+=P:
printf("%d",d);
return(d);
}
main()
{
int am=3;
printf("%d\n",fun(a+fun(d))):
}
- A.6 9 9
- B.6 6 9
- C.6 15 15
- D.6 6 15
-
已知程序清单如下( )
#include<stdio.h>
main()
{char c1,c2;
scanf("%c,%c",&c1,&c2);
switch(c1)
{
case 'a':printf("100");break
case 'b':
{switch(c2)
{case'+':printf("90");break;
case'-':printf("85");)break
}break;
}
}
当输入"b,-"时,程序的输出结果是
- A.100
- B.90
- C.85
- D.不确定
-
设int类型的数据长度为2个字节,则unsigned int类型的数据取值范围是( )
- A.0~255
- B.-256~255
- C.0~65535
- D.-32768~32767
-
以下程序的输出结果是( )
#define f(x)x*x
main()
{int a=6,c;
c=f(a);
printf("%d\n",c);
)
- A.6
- B.9
- C.18
- D.36
-
系统提供的文件尾测试函数是( )
- A.feof()
- B.fgectc()
- C.fseek()
- D.rewind()
-
将字符串转换成浮点数的函数是( )
- A.atof()
- B.atoi()
- C.stof()
- D.stoj()
-
下列程序执行后的输出结果是( )
main()
{int x='C';printf("%d\n",'A'-x+3);)
- A.1
- B.2
- C.3
- D.5
-
字符串"save me!"在内存中所占用的字节数是( )
- A.4
- B.6
- C.8
- D.9
-
下列不属于C语言标识符的是( )
- A.abc
- B.ABC
- C.AB_C
- D.2abc
-
设有数据定义语句:float a,*pa=&a;,则下列选项错误的是( )
- A.*&pa
- B.&*pa
- C.&*a
- D.*&a
-
下列关于变量赋值及表达式计算时的数据类型转换规则描述正确的是( )
- A.变量赋值时数据类型转换规则是就长不就短,表达式计算时数据类型转换规则是就左不就右
- B.变量赋值时数据类型转换规则是就左不就右,表达式计算时数据类型转换规则是就长不就短
- C.变量赋值及表达式计算时的数据类型转换规则是具有强制性而不自动的
- D.变量赋值及表达式计算时的数据类型转换规则是具有强制性而自动的