2012年全国高等教育自学考试高级语言程序设计标准预测试卷(5)
-
输入一个整数n(n<10),如果n=3,则输出
1
222
33333
222
1
以此类推。
-
把文本文件x1.dat复制到文本文件x2.dat中,要求仅复制x1.dat中的非空格字符。
-
求f(x[0,10])的累加和,其中f(x)=2x+1。
#include<stdio.h>
int F(int x)
{return______;)/*第一空*/
int SumFun(int n)
{
int x,s=0:
for(x=0;x<n;x++)______;/*第二空*/
return s;
}
main()
{
printf("The sum=%d\n",______);/*第三空*/
}
-
SumColumMin()的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。
#include<stdio.h>
#define M 2
#define N 4
void SumColumMin(______)/*第一空*/
{int i,j,k,s=0;
for(i=0;i<N;i++)
{k=0;
for(j=1;j<M;j++)
if(______)k=j;/*第二空*/
s+=a[k][i];
}
______;/*第三空*/
}
main()
{int x[M][N]={3,2,5,1,4,1,8,3},s;
SumColumMin(x,&s);
printf("%d\n",s);
}
-
#include<stdio.h>
int f(int a[],int n)
{if(n>1)return a[0]}+f(&a[1],n-1);
else return a[0];
}
main()
{int aa[3]={1,2,3},s;
s=f(&aa[0],3);printf("%d\n",s);
}
-
以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。
#include<stdio.h>
main()
{int i,a[20],sum,count;
sum=count=0:
for(i=0;i<20;i++)scanf("%d",______);/*第一空*/
for(i=0;i<20;i++)
{if(______)/*第二空*/
{count++;
______;}/*第三空*/
}
printf("count=%d,sum=%d\n",count,sum);
}
-
#include<stdio.h>
Char *ss(char*s)
{return s+strlen(s)/2;)
main()
{char *P,*str="abcdefgh";
p=ss(str);printf("%s\n",p);
}
-
以下程序运行时输入:12<回车>,执行后输出结果
#include<stdio.h>
main()
{char ch1,ch2;int n1,n2;
ch1=getchar();ch2=getchar();
n1=ch1-'0';n2=n1*10+(ch2-'0');
printf("%d\n",n2);
}
-
#include<stdio.h>
void f(int y,int*x)
{y=y+*X; *x=*x+y;}
main()
{int x=2,y=4;
f(y,&,x);
printf("%d%d\n",x,y);
}
-
写出n小于m的奇数的表达式______。
-
指针变量的使用主要有两种,一是______;二是引用所指向的变量。
-
若要以八进制输出整型变量,则要在输出语句中加上格式输出符______。
-
______是双目运算符,其运算对象是表达式,其值是右边表达式的值。
-
若要使用系统函数getchar(),必须在程序的开头使用预编译命令______。
-
语句";"是无任何操作的语句,被称为______。
-
若定义了 int a[9],*p;,将数组元素a[8]的地址赋给指针变量p的赋语句是______。
-
C语言的保留字主要用于语句的构成,所有保留字均由______组成。
-
若有定义:double w [6];,则数组元素下标的上限为______。
-
若有定义语句:int a[]={10,2,20,3,30,4,40},p;p=a;,则执行"p2+=;之后p的值是______。
-
以下程序的执行结果是( )
#include<stdio.h>
main()
{printf("%d\n",NULL);
}
- A.-1
- B.0
- C.1
- D.2
-
若有以下语句:
char *language[]={"fortran","basic","C","java"};
char *q;q=language+3;
则语句printf("%c\n",*q;的输出是( )
- A.q的值
- B.字符串"C"
- C.&language[3]的值
- D.程序错误,无法得到输出
-
以下程序输出的结果是( )
main()
{int I,j,m=0,n=0;
for(I=0;I<2;I++)
for(j=0;j<2;j++)
if(j>=I)m=1;n++;
printf("%d\n",n);
}
- A.4
- B.2
- C.1
- D.0
-
执行下面程序段后,变量k的值是( )
- A.10
- B.30
- C.3
- D.不确定
-
设有如下程序段
char str[]="Hello!";
char *ptr;
ptr=str;
执行完以上程序段后*(ptr+6)的值为( )
- A.'o'
- B.'\0'
- C.'\o
- D.'o'
-
若定义了int m,n=0,*p1=&m;,则与m=n等价的语句是( )
- A.m=*p1
- B.*p1=&*n
- C.*p1=*&n
- D.*&p1=&*n
-
若有宏定义:#define MOD(x,y)x%y
则执行下面语句后的输出结果是
int a=13,b=96;
printf("%d\n",MOD(b,a));( )
- A.1
- B.2
- C.5
- D.6
-
若x=100;,则表达式x++>100? x+20:x+10的值是( )
- A.110
- B.120
- C.130
- D.101
-
对于文件打开方式"rb+"描述正确的是( )
- A.可读写文本文件
- B.只读文本文件
- C.可读写二进制文件
- D.只读二进制文件
-
设int a=1,b=2,c=4;
经过表达式(c=a!=b)&&(a==b)&&(c=b)运算后,a、b和C的值分别是( )
- A.1,2,0
- B.1,2,1
- C.1,2,2
- C.1,2,3
-
下列运算符,优先级最低的是( )
- A.&&
- B.!
- C.->
- D.+=
-
若内部变量在离开了定义所在的函数或复合语句后,仍在生存期内。则该变量是 ( )
- A.auto变量
- B.register变量
- C.局部变量
- D.static变量
-
设int x=1;a=9,b=6,c=9,d=8;执行语句:
if(a>b)if(c>b)if(b>d)x=2;else x=6;
后x的值是( )
- A.1
- B.2
- C.6
- D.不确定
-
汇编程序的功能是( )
- A.将汇编语言程序转换成目标程序
- B.将汇编语言程序转换成高级语言程序
- C.将高级语言程序转换为目标程序
- D.将汇高级语言程序转换为编语言程序
-
设int a[10],*p=a;
则对数组的正确引用是( )
- A.a[p]
- B.p[a]
- C.*(p+2)
- D.p+2