2012年全国高等教育自学考试高级语言程序设计标准预测试卷(3)
-
输入一个无符号整数,然后按用户输入的代号,分别以十进制(代号D)、八进制(代号O)输出和十六进制(代号X)。
-
-
输入2个整数,输出它们的最小公倍数和最大公约数。
#include<stdio.h>
void main()
{int m,n,gbs,gys;
scanf("%d,9/6d",m,n);
gbs=m;
while(______)/*第一空*/
gbs=______;/*第二空*/
gys=______;/*第三空*/
printf("%d %d\n",gbs,gys);
}
-
下面程序由终端键盘输入一个文件名。然后把从终端键盘输入的字符依次存放到该文件中,用#作为结束输入的标志。
#include<stdio.h>
#include<stdlib.h>
main()
{FILE*fp;
char ch,fname[10];
printf("Please input the file name.\n");
gets(fname);
if((fp=______)==NULL)/*第一空*/
{printf("()pen it error\n");______;}/*第二空*/
else(printf("Enter the content\n");
while((ch=getchar())!='#')
______;/*第三空*/
}
fclose(fp);
}
-
下面rotate函数的功能是:将n行n列的矩阵A转置为A。
#define N 4
void rotate(int a[][N])
{int i,j,t;
for(i=0;i<N;I++)
for(j=0;______;j++)/*第一空*/
{t=a[i][j];
______;/*第二空*/
a[j][i]=______;/*第三空*/
}
}
-
#include<stdio.h>
#include%<string.h>
main()
{char p1[10]="abc",p2[10]="ABC",str[50]="xyz":
strcpy(str+2,strcat(p1,p2)):
printf("%s\n",str);
}
-
#include<stdio.h>
#include<string.h>
main()
{int y=9;
for(;y>0;y--)
{if(y%03==0)
{printf("%d",--y);continue;}
printf("%d",--y);
}
}
-
#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);
}
-
设a、b、c为整型数,且a=2、b=3、c=4;则执行完下列语句后a的值是______。
a*=16+(b++)-(++c);
-
#inclucde<stdio.h>
void prly(int *x)
{prinlf("%d\n",++*x);}
main()
{int a=25;
prty(&a):
printf("%d\n",a):
}
-
下的findrnax函数返M数组s中最大元素的下标。数组中元素的个数由t传入。
findmax(int s[],int t)
{int k,p;
for(p=0,k=0;p<t;p++)
if(s[p]>s[k])______;
return k:
}
-
语句printf("a\bre\'hi\'y\\bou\n");输出的结果是______。
-
外部函数的存储类型符是______。
-
与标准错误输出设备相对应的文件型指针是______。
-
将大写字母转换为小写字母的函数是______。
-
C语言标识符的第一个字符只能字母或______
-
文件定位函数包含在头文件______中。
-
C语言中整型常量的书写形式包括:八进制,十进制和______。
-
有以下程序( )
main()
{int i,s=0;
for(i=1;i<10;i+=2)s+=i+1;
printf("%d\n",s);
}
程序执行后的输出结果是
- A.自然数1~9的累加和
- B.自然数1~10的累加和
- C.自然数1~9中的奇数之和
- D.自然数1~10中的偶数之和
-
一个C程序-般应由多个函数组成,但也可以由一个函数组成。这个函数是______。
-
设有int a[]={10,11,12},*p=&a[0];,则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是( )
- A.10,11,12
- B.11,12,12
- C.10,12,12
- D.11,11,12
-
如果打开文件时,选用的文件操作方式是"wb+"则下列说法中正确的是( )
- A.要打开的文件必须存在
- B.打开文件后只能渎数据
- C.文件打开后删除原内容再写
- D.打开文件后只能写数据
-
设有数组定义:char array[]="china";,则数组array所占用的空间为( )
- A.4个宁节
- B.5个字节
- C.6个字节
- D.7个字节
-
若x是整型变量,pb是基本类型为整型的指针变量,则正确的赋值表达式为( )
- A.pb=x
- B.pb=&x
- C.*pb=&x
- D.*pb=*x
-
有以下程序( )
#include<stdio.h>
int a=2;
int f(int *A)
{return(*A)++;}
main()
{int s=0;
{int a=5;
s+=f(&a):
}
s+=f(&a);
printf("%d\n",s);
}
执行后输出结果是
- A.10
- B.9
- C.7
- D.8
-
有以下程序( )
#include<stdio.h>
char fun(char X,char y)
{
if(x)return Y;
}
main()
{int a='9',b='8',c='7';
printf("%c\n",fun(fun(a,b),fun(b,c))):
}
程序的执行结果是
- A.7
- B.8
- C.9
- D.函数调用出错
-
有以下程序( )
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);
}
程序执行后的输出结果是
- A.n=2
- B.n=3
- C.n=4
- D.n=5
-
设变量已正确定义,则以下能正确计算f=n!的程序段是( )
- A.f=0:
- for(j=1;j<=n;j++)f*=j;
- B.f=1;
- for(j=1;j<n;j++)f*=j;
- C.f=1;
- for(j=n;j>1;j++)f*=j;
- D.f=1
- for(j=n;j>-2;j--)f*=j;
-
有以下程序段( )
main()
{int x=0,y=5,z=3;
while(z-->0&&++x<5)y=y-1;
printf("%d,%d,%d\n",x,y,z);
程序执行后的输出结果是
- A.3,2,0
- B.3,2,-1
- C.4,3,-1
- D.5,-2,-5
-
有以下程序段( )
int n,t=1,s=0;
scanf("%d",&n);
do{s=s+t;t=t-2;}while(t!=n);
为使此程序不陷入死循环,从键盘输入的数据应该是
- A.任意正奇数
- B.任意负偶数
- C.任意正偶数
- D.任意负奇数
-
设有定义"char a=2,b=5;"求表达式"~a^b<<2"的值(假定现有计算机字长为16) ( )
- A.-32
- B.32
- C.-23
- D.23
-
设整型变量a的值是6,执行下列语句后a的值是( )
switch(a%2)
{
case 0:a-=2;
case 1:a+=1;
default:a=6;
}
- A.4
- B.5
- C.6
- D.7
-
以下符合C语言语法的实型常量是( )
- A.1.2E0.5
- B.3.14.159E
- C.5E-3
- D.E15
-
下列关于C程序的描述不正确的是( )
- A.C程序是由C语句组成的语句序列
- B.C程序由若干个函数构成
- C.主函数可以调用其他任何函数
- D.C程序的执行可以从任何函数开始