2012年全国高等教育自学考试高级语言程序设计标准预测试卷(1)
-
从键盘上输入若干个正整数,求其中最大数和最小数,输入的数以0为终止标记。
-
-
在C盘根目录下创建一个名为”c.txt”的文本文件,文本文件的内容从键盘读取,直到遇到"\n"(回车键)为止。程序清单如下:
#include<stdio.h>
#included<______>/*第一空*/
void main()
{FILE*fp;
char c;
if((fp=fopen("C:\c.txt","______"))==NULL)/*第二空*/
{printf("can not open file!\n");exit(0);)
while((______)!=='\n')/*第三空*/
fput(c,fp);
fclose(fp);
}
-
输入一个字符串,(换行为结束标志)统计数字(0~9不单独统计)、空白和其他字符出现的次数。
#include<stdio. h>
main()
{char c;
int______;/*第一空*/
while((c=getchar())!='\n')
{if(______)/*第二空*/
digit++:
elseif(c=="||c=='\t')++blank;
else______;/*第三空*/
}
printf("digit=%d,blank=%d,other=%d",digit,blank,other);
}
-
下面程序的作用是求以下算式中X、Y、Z的值,请在"______"处填入正确的内容。
main()
{int X,Y,Z,j,result=768;
for(x=0;______;x++) /*第一空*/
for(y=0;y<10;y++)
for(z=0;z<10;z++)
{j=( )+(100*y+10*z+z); /*第二空*/
if(______) /*第三空*/
printf(”X=%d,Y=%d,Z=%d\n”,x,y,z);
}
-
请在该程序段右侧写出其输出结果。
fun3(int x)
{static int a=3;
a+=x;
return(a);}
main()
{int k=2,m=1,n;
n=fun3(k);
n=fun3(m);
printf("%d\n",n);)
-
请在该程序段右侧写出其输出结果。
main()
{int n[3],j,k,l;
for(j=0;j<3;j++)
n[j]=0;
l=3:
for(j=0;j<l;j++)
for(k=0;k<l;k++)
n[k]=n[j]+1:
print(("%d\n",n[1]);
}
-
请在该程序段右侧写出其输出结果。
main()
{char *s="121";
int k=0,a=0,b=0;
do{
k++:
if(k%2==0)
{a=a+s[k]-'0';continue;)
b=b+s[k]-'0';
a=a+s[k]-'0';}while(s[k+1]);
printf("k=%d a=%d b=%d\n",k,a,b);
}
-
如果形参是数组名,则传递方式称为"______"。
-
请在该程序段右侧写出其输出结果。
int aa[3][3]={{2},{4},{6}};
main()
{int j,*p=&aa[0][0];
for(j=0;j<2;j++)
{if(j==0)
aa[j][j+1]=*p+1;
else ++P;
print(("%d",*p);}
}
-
下列语句执行后输出的结果是______。
main()
{double d=3.2;int x,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
-
没int b=2;表达式(b>>2)/(b>>1)的值是______。
-
下列程序语句执行后的结果是______。
main()
{int x='f';printf("%c\n",'A'+(x-'a'+1));}
-
表示条件"10<x<100或x<0"的c语言表达式是______。
-
若已知a=10、b=20,则表达式!a<b的值为______。
-
下面程序的输出结果是______。
#include<stdio. h>
main()
{static char b[]="Hello! world! ";
char *chp=&b[6];
while(--chp>=&b[0])putchar (*chp);
putchar('\n');
}
-
请写出以下数学表达式的C语言表达式:______。
-
关于函数fseek(a,b,c)的说法错误的是( )
- A.参数a是文件型指针,指向所需要的文件
- B.参数b是int型,表示从开始位置的偏移字节数
- C.参数c是int型,表示定位的起始位置
- D.函数返回值是int型,定位正确返回0;定位错误返回非0
-
位运算的对象只能是______。
-
高级语言编写的程序被称为______,它是不能在计算机上直接运行的,必须将其翻译成二进制程序后才能执行。
-
若a、b为int型变量,则执行以下语句后a的值为( )
- a=1;b=10;
- do{b-=a;
- a++; )while(b-->0);
- A.1
- B.3
- C.4
- D.5
-
若x、y、z、m、n均为int型变量,则执行下面语句后z的值为( )
m=10;n=5;
x=(--m=n++)?--m: ++n;
y=m++;
z=n;
- A.5
- B.6
- C.7
- D.10
-
定义函数时,下列选项中可以作为函数存储类型的是( )
- A.register
- B.auto
- C.extern
- D.void
-
执行语句“char a[10]={"abcd"),* p=a;”后,*(p+2)的值是( )
- A."abcd"
- B.'b'
- C.'C'
- D.'\0'
-
函数调用“strcpy(str3,strcat(str1,str2))”的功能是( )
- A.将字符串str1复制到字符串str2中,再连接到字符串str3后
- B.将字符串str1连接到字符串str2后,再复制到str3中
- C.将字符串str2连接到str1后,再复制到str3中
- D.将字符串str2复制到str1中,再连接到str3后
-
若有以下语句:
int x[]={1,3,5,10,12};
int * ptr=X;
则数据组元素“10”的地址是( )
- A.x+3
- B.&(x+3)
- C.ptr
- D.ptr+10
-
若有以下宏定义:
#define N 2
#define Y(n) ((n+1)*N)
则执行语句z=8*N+Y(1);后z的值为( )
- A.20
- B.16
- C.14
- D.不确定
-
在位移位运算中,操作数左移一位,其结果相当于操作数( )
- A.乘以2
- B.除以2
- C.乘以4
- D.除以4
-
调用函数时,若实参是一个数组名,则向函数对应的形参传送的是( )
- A.数据的长度
- B.数组的首地址
- C.数组的第一个元素的值
- D.整个数据元素的值
-
下列关于do-while语句的描述错误的是( )
- A.可构成多重循环结构
- B.循环次数不可能为0
- C.循环次数可能为0
- D.先执行后判断
-
在C语言中,'c'和"c"存储所占用的字节数分别是( )
- A.1,1
- B.1,2
- C.2,1
- D.2,2
-
下列程序段运行后,x的值是( )
int a=1,b=0,x=1;
if(!(--a))x--;
if(b)x=7;else ++x;
- A.0
- B.1
- C.7
- D.8
-
下列选项中不是转义字符的是( )
- A.\'
- B.\0
- C.\t
- D.O74
-
下列语言中不属于面向过程的语言是( )
- A.B语言
- B.C语言
- C.汇编语言
- D.ALGOL语言