2012年全国高等教育自学考试高级语言程序设计标准预测试卷(2)
-
下面程序用来输出两个字符串中较短的长度。
main()
{char pl[20],p2[20];
int i1,i2,num;
gets(p1);
gets(p2);
i1=______;/*第一空*/
i2=______;/*第二空*/
num=(______)?i1:i2;/*第三空*/
printf("%d\n",nurn);
}
-
编写一个程序,用循环结构输出以下图形。
-
从a盘根目录下名为"string.txt"的文本文件读取前20个字符组成字符串在屏幕上显示输出。
-
下面程序通过函数average()计算数组中各元素的平均值。
float average(______,int n)/*第一空*/
{int i;
float avg=0.0;
for(i=0;i<n;i++)
avg=avg+______;/*第二空*/
avg=______;/*第三空*/
return avg;
}
main()
{int i,a[5]={2,4,6,8,10);
float mean;
mean=average(a,5);
printf("%f\n",mean);
}
-
以下程序的功能是:从键盘输入若干个学生的成绩,统计出最高成绩和最低成绩,当输入负数时结束输入。
#include<stdio.h>
main()
{float x,amax,amin;
scanf("%f",&x);
amax=x:
amin=x;
while( )/*第一空*/
{if(______)amax=x;/*第二空*/
if(x<amin)______;/*第三空*/
scanf("%f",&x);
}
printf("amax=%3.2f,amin=%3.2f\n",amax,amin);
}
-
#inelude<stdio.h>
sub(x,y,z)
int x,y,*z;
{*z=y-X;}
main()
{int a,b,C;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
printf("%d,%d,%d\n",a,b,c);
}
-
#include<stdio.h>
main()
{int i,j,row,colum,m;
static int arry[3][3]={{100,200,300},{28,27,29},{850,26,5)};
m=arry[0][0];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(arry[i][j]<m)
{m=arry[i][j];row=i;colum=j;}
printf("%d,%d,%d\n",m,row,colum);
}
-
#include<stdio.h>
main()
{char b[]={"CDEFGH"};
char *chp=&b[3];
while(--chp<&b[0]);
putchar (*chp):
printf("n"):
}
-
#include<stdio.h>
main()
{int a[4][3]={1,5,9,12,8,17,13,6,10,24,22,23},i,s=1;
for(i=2;i<2=3;i++)
s=s+a[i][3-i];
printf("s=%d\n",s);
}
-
C语言中fputc()函数对文本文件的存取是以______为单位的。
-
若有数组char a[5]={97,99,107,'\0',108),(a~z的ASCⅡ值是97~122)则执行语句puts(a)的结果是______。
-
设char string[]="this_is_a_book!";,则数组的长度应是______。
-
移位运算被执行后,原对象中的数据______。
-
设i,j,k均为整型变量,则执行完"for(i=0,j=10;i<=j;i++,j--)k=i+j;"之后,k的值是______。
-
C语言中,输入和输出操作是由头函数______完成的。
-
若有语句:int i=-19,j=i%4;printf("%d\n",j);则输出结果是______。
-
以下程序运行后的输出结果是______。
main()
{int x=1,y=0,a=0,b=0;
switch(x)
{case 1:switch(y)
{case 0:a++;break;
case 1:b++;break;
}
case 2:a++;b++;break;
}
printf("%d%d\n",a,b);
}
-
定义存储在内存堆栈区的变量的存储类型符是( )
- A.extern
- B.static
- C.register
- D.auto
-
设int a=2,b=4,c=1,d;执行d=!(a-b+c);后d的值是______。
-
若有定义int a[3][4]={1,2,3,4,5,6,7,8};,则a[l][3]=______。
-
在C语言程序中,下列磁盘文件名错误的是( )
- A.abc.dat
- B.c:abc.dat
- C.\tc\abc.dat
- D.a:\abc.dat
-
包含用户类型符"FILE"的定义的头文件是( )
- A.string.h
- B.file.h
- C.stdio.h
- D.stdlib.h
-
有以下程序( )
main()
{char *p[10]={"abc","aabdfg","dcdbe","abbd","cd"};
printf("%d\n",strlen(p[4]));
}
执行后输出结果是
- A.2
- B.3
- C.4
- D.5
-
有以下程序( )
#include<stdio.h>
main()
{unsigned char a,b;
- a=4|3;
- b=4&3; printf("%d%d\n",a,b); } 执行后输出结果是
- A.7 0
- B.0 7
- C.1 1
- D.43 0
-
下面程序的功能是输出以下形式的金字塔图案:
#include<stdio.h>
main()
{int i,j;
for(i=1;i<=4;i++)
{for(j=1;j<=4-i;j++)printf("");
for(j=1;j<=______;j++)printf("*");
printf("\n");
}
}
在下划线处应填入的是( )
- A.i
- B.2*i-1
- C.2*i+1
- D.i+2
-
有以下定义( )
#include<stdio.h>
char a[10],*b=a;
不能给数组a输入字符串的语句是
- A.gets(a)
- B.gets(a[0])
- C.gets(&a[0]);
- D.gets(b);
-
有以下程序( )
main()
{
Int x=102,y=012;
printf("/0/02d,%2d\n",X,y);
}
执行后输出结果是
- A.10,01
- B.02,12
- C.102,10
- D.02,10
-
要调用字符串长度测试函数strlen()时,在#include命令行中应包含( )
- A."stdio.h"
- B."string.h"
- C."math.h"
- D."ctype.h"
-
有以下程序,程序运行后的输出结果是( )
main()
{int a[10]={1,2,3,4,5,6,7,8,9,10),*p=&a[3],*q=p+2;
printf("%d\11",*p+*q);
}
- A.16
- B.10
- C.8
- D.6
-
有以下程序( )
main()
{char p[]={'a','b','C'},q[]="abc";
printf("%d%d",sizeof(p),sizeof(q));
}
程序运行后输出的结果是
- A.4 4
- B.3 3
- C.3 4
- D.4 3
-
假定有以下变量定义:
int k=6,x=12;
则能使x、k值为5、6的表达式是( )
- A.x%=++k%10
- B.x%=k+k%5
- C.x-=++k%5
- D.x-=k++%5
-
表达式if(!x)中的"!x"等效于( )
- A.x==0
- B.x==1
- C.x!=0
- D.x!=1
-
下列符号中是正确的C标识符的是( )
- A.a-2
- B.x12
- C.2.78
- D.π
-
C语言程序的三种基本结构是顺序结构、循环结构和( )
- A.选择结构
- B.递归结构
- C.嵌套结构
- D.转移结构