2012年全国高等教育自学考试高级语言程序设计标准预测试卷(10)
-
建立一个磁盘文件,文件名由键盘输入,文件内容也由键盘输入。文件内容的输入以"*"作为输入结束标志。
-
下面程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。
#include<stdio.h>
int fun(int n)
{int m=0,f=1,i;
for(______;i<-n;i++)/*第一空*/
{m+=i*f;
f=______;/*第二空*/
}
return m;
}
main()
{printf("m=%d\n",______);)/*第三空*/
-
下面程序的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线之和。
#include<stdio.h>
main()
{
int a[3][3],sum;
int i,j;
______;/*第一空*/
for(i=0;i<3;i++)
for(______)/*第二空*/
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
sum=______;/*第三空*/
printf("sum=%d\n",sum);
}
-
编程要求输出两个字符串对应位置相等的字符,并输出其位置号(自然编号)。
-
#include<stdio.h>
int fun(int h)
{static int a[3]={1,2,3);
int k;
for(k=0;k<3;k++)a[k]+=a[k]-h;
for(k=1;k<3;k++)printf("%d\t",a[k]);
return(a[h]);
}
main()
{int t=1;fun(fun(t));}
-
以下程序求a数组中的所有素数的和,函数isprime用来判断自变量是否为素数。素数是只能被1和本身整除且大于1的自然数。
#include<stdio.h>
int isprime(int x)
{int i,r=1;
for(i=2;i<=x/2;i++)
if(x%i==0){r=0;break;)
______;}/*第一空*/
main()
{int i,a[10],sum=0;
printf("Enter 10 nums:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
if(______)/*第二空*/(printf("%d",a[i]);
______;/*第三空*/
}
printf("\nThe sum=%d\n",sum);
}
-
#include<stdio.h>
main()
{char*a="12134211";
int v1=0,v2=0,v3=0,v4=0,k;
for(k=0;k<=strlen(a);k++)
switch(*a++)
{default:v4++;
case'1':v1++;
case'3':v3++;
case'2':v2++;)
printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);}
-
#include<stdio.h>
void swap(int x,int y)
{int t;
t=x;x=y;y=t;
printf("%d%d",x,y);
}
main()
{int a=3,b=4;
swap(a,b);
printf("%d%d\n",a,b);
}
-
#include<stdio.h>
void fun(int m,int n,int ar[][4],int *bar)
{
int i,j,x;
for(i=0;i<3;i++)
{x=ar[i][0];
for(j=0;j<3;j++)
bar[i]=X;
}
}
main()
{int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1)},b[3],i;
fun(3,4,a,b);
for(i=0;i<3;i++)printf("%4d",b[i]);
printf("\n");
}
-
判断一个字符是否是英文字母的函数是______。
-
读字符串函数是______。
-
在函数调用过程中,如果形参是指针变量,则实参必须是______。
-
在Turbo C中语言源程序的扩展名为______。
-
表示整数X的绝对值大于5时值为"真"的C语言表达式是:______。
-
分别用十进制表示整形常量-0xlf为______。
-
用来定义寄存器类型变量的C语言保留字是______。
-
以下程序运行时若从键盘输入:10 20 30<回车>,输出结果是______。
#include<stdio.h>
main()
{
int i=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d\n",i,j,k);
}
-
有如下程序
#include<stdio.h>
int rune(int a,int b)
{return(a+b);)
main()
{int x=2,y=5,z=8,r;
r=rune(rune(x,y),z);
printf("%dkn",r);
}
该程序的输出结果是______。
-
下列关于文件随机定位函数fseek()的描述正确的是( )
- A.若定位正确返回非零值
- B.包含在头文件stdlib.h中
- C.本函数只能用于二进制文件
- D.本函数可以使用文件内部指针直接指向需要的某个数据
-
有以下程序
#include<stdio.h>
main()
{char s[]="159",*P;
p=s;
printf("%C",*p++);
printf("%C",*p++);
}
程序运行后的输出结果是______。
-
通常适用于从被调用函数中将一个值传回主调函数的参数传递方式是( )
- A.利用返回值数据传递方式
- B.利用形参与实参传递数据的方式
- C.利用全局变量传递数据的方式
- D.以上都不对
-
执行下列程序段后,*p的值是( )
char*p="asdf";
printf("%c",*(p+strlen(p)));
- A.语句错误
- B.s
- C.d
- D.a
-
下列关于函数的说法不正确的是( )
- A.函数是一个可反复使用的程序段
- B.main()函数也可以做被调函数
- C.函数参数的输入和输出统称为"函数问数据的传递"
- D.从定义的角度来分,可分为用户函数和系统函数两类
-
字符串"2008 Olympic"在存储单元中所占用的字节数是( )
- A.9
- B.10
- C.11
- D.13
-
设a=5,b=3;,执行语句"printf("%d,%d,(a,b),(b,a));"输出是( )
- A.5,3
- B.3,5
- C.5,5
- D.3,3
-
下列表达式的值为0的是( )
- A.3%5
- B.3*5
- C.3/5.0
- D.3>5
-
当执行以下程序段时( )
do{y--;}while(--y)
printf("%d\n",y--);
- A.循环体将执行一次
- B.循环体将执行两次
- C.循环体将执行无限次
- D.系统将提示有语法错误
-
设char str[100];int I=5;,则引用数组元素的错误形式的是( )
- A.str[I+10]
- B.*(srr+I)
- C.(str+I-1)
- D.*(&(str++)+I)
-
设char c[5]={'a','b','\0','C','\0');则printf("%s",c);的输出是( )
- A.'a''b'
- B.ab
- C.abc
- D."ab\0c"
-
以下程序的运行结果是( )
#include<stdio.h>
main()
{
int a[]={1,2,3,4,5,6,7,8,9,10,11,12};
int *p=&a[5],*q=NULL;
printf("%d%d\n",*p,*q);
}
- A.运行后报错
- B.6 0
- C.6 12
- D.5 5
-
设置变量定义为:int a=0x53;int b=6;,求表达式~a|b的值(假定现有计算机字长为16)( )
- A.82
- B.-82
- C.72
- D.-72
-
为了判定两个字符串是否相等应当使用( )
- A.if(s1==s2)
- B.if(s1=s2)
- C.if(strcmp(s1,s2)==0)
- D.if(strcmp(s1,s2)=0)
-
设int b=2;表达式(b<<2)/(b>>1)的值是( )
- A.2
- B.4
- C.6
- D.8
-
下列不属于面向机器语言的是( )
- A.符号语言
- B.二进制语言
- C.汇编语言
- D.C语言