全国自考高级语言程序设计(一)精选试题及答案6
-
下列函数的主要功能是从形参fp指向的文件中读取形参n-1个字符(或读到字符'\n',或遇到文件尾,)补充字符串结束标记符组成字符串,存人形参str指向的内存。
#include< stdio.h>
void f( char *st, int n, FILE *fp) { int k; for(k=0;k<n-1;k++) { if( feof(fp)) break; ________; if (*(st+k)=='\n') ________;break;}{ }
________ ='\0' ;
return ;
}
-
编写程序输入30个学生的学号、姓名、3门课程的成绩,存入一个结构体类型的数组。统计每个学生的总分并输出学生的学号、姓名、总分。
-
利用循环嵌套输出以下图形。
1
121
12321
1234321
123454321
-
函数f用于计算数组各元素值的平方,函数调用f并输出各元素的值。
#include< stdio.h>
void(int a,int s[])
{
int i;
for(i=0;i<________ ;i++)
s[i]=s[i]*s[i];
}
main()
{
int i,b[5]={1,2,3,4,5};
f(5,________);
for(i=0;i<5;i++)
printf("%5d",________);
printf("\n");
}
-
统计文本文件 letter txt中字符'b'、'e'、'g'和'n'各自出现的次数。
#include< stdio.h>
void main()
{
char ch;
FILE______;
int b=0,e=0,g=0,i=0,n=0;
fp =fopen ("letter. txt",______);
while(! feof(fp))
{
ch= fgetc(fp);
switch(______)
{
case'b':b++;break;
case'e':++;break;
case'g':++; break;
case'i':++;break;
case'n': n++;
}
}
printf("%d, %d, %d, %d, %d\n", b,e,g,i,n);
felose(fp);
}
-
#include< stdio.h>
void main()
{
int x=5;
if(x--<5)
printf("%d\n",x);
else printf("%\",x++);
}
-
#include <stdio. h>
#define PRI printf
#define NL "\n"
#define D "%d"
#define D1 D NL
#define D2 D D NL
#define D3 D D D NL
#define D4 D D D NL
#define S "%s"
int main(void)
{
int a=2,b=3,c=4,d=5;
char s[ ] ="STRING";
PRI(D1, a);
PRI(D2, a, b);
PRI(D3,a, b,c);
PRI(D4, a, b,c,d);
PRI(S,s);
return 0;
}
-
#include< stdio.h>
void main()
{}
int a[3][4]={1,3,5,7,12,14,16,18,9,6,4,2},j,k,m,n,x;
x=m=n=0;
for(j=2;j>-1;j--)
for(k=0;k<4;k++)
if(x<a[j][k])
x=a[j][k],m=j,n=k;
printf("a[%d][%d]=%d\n",m,n,x);
}
-
#include< stdio.h>
int fun()
{
int m=1;
static int n=2;
++m;++n;
return(m+n);
}
void main()
{
int a,b;
a=fun();
b=fun();
printf("a=%d,b=%d\n",a,b);
}
-
在缓冲文件系统中,对文件的读/写是通过________实现的。
-
结构体类型的成员本身也可以是结构体类型,这称为结构体类型的_______。
-
格式输入/输出函数中,用于输入/输出单个字符的格式字符是________,用于输入输出字符串的格式字符是s。
-
若一个函数直接或间接地调用了其自身,这种调用称为_______。
-
程序中,若使用库函数 stremp()时,应在程序开头用include令包含_______头文件。
-
函数中的变量,若不专门声明为 static型,则隐含为______变量。
-
设有语句 typedef float*F;,则数据定义语句Fx,y,z[2];,相当于数据定义语句_______。
-
设int i=100;,则循环语句 while(i>=1)i- -;执行后,i的值为________。
-
C语言中,实现多分支选择结构的是_______语句或if-else-if语句。
-
设int x=3;,执行语句x<<=2;后x的值是()
- A.0
- B.1
- C.6
- D.12
-
C语言把文件看作是一个字符(字节)的序列,根据数据的组织形式可分为_______和二进制文件两种。
-
在C语言中,下列说法不正确的是()
- A.调用函数时,只能把实参的值传送给形参
- B.在函数中,最好使用全局外部变量
- C.形式参数只是局限于所在函数
- D.被声明为 static存储类型的内部变量是全局变量
-
下列语句中,不能将fp指向的文件的内部指针指向文件尾的是()
- A.fseek(fp,20L,1);
- B.fseek(fp,0L, SEEK_END);
- C.fp =fopen("a. txt","ab");
- D.fp=fopen("a.txt","ab+");
-
函数的递归调用是()
- A.函数的自我调用
- B.函数的嵌套调用
- C.自定义函数调用主函数
- D.系统函数调用主函数
-
不属于C语言转义字符的是()
- A.\
- B.Iddd
- C.\b
- D.Ir
-
设有定义int x=8,y,z;,则执行y=z=x++,x=y==z后,变量x值是()
- A.0
- B.1
- C.8
- D.9
-
转义字符\n的作用是()
- A.竖向跳格
- B.回车
- C.退格
- D.回车换行
-
若要定义一个只允许本源程序文件中的所有函数使用的全局变量,则该变量的存储类型是()
- A.extern
- B.register
- C.static
- D.auto
-
关于指针运算符“*”的说法错误的是()
- A.是单目前缀运算符
- B.运算对象只能是指针变量
- C.运算结果是运算对象对应的变量或数组元素等
- D.运算结合性是自右向左
-
下列函数返回值的类型是()
int fun(float x)
float y;
y=3*x-4;
return y:
- A.int
- B.void
- C.float
- D.double
-
设char s[]="BeijingChina",执行语句printf("%d,&d\n",stren(s),sizeof(s))后输出结果是()
- A.12,12
- B.12,13
- C.13,12
- D.13,13
-
设有数据定义语句char s1[10]="abc",s2[10]="ABCD";,则执行语句“printf("%d",strlen( strcat(s1,s2)));"后的输出结果是()
- A.3
- B.5
- C.8
- D.7
-
设float,x,y,z,用语句fun(z,((x,y),x+z));中参数的个数是
- A.4
- B.3
- C.2
- D.1
-
计算机的组成部分包括输入设备、输出设备、存储器、运算部件和()
- A.寄存器
- B.编译器
- C.控制部件
- D.缓存
-
已知:char*p,*q;,正确的语句是()
- A.p*5
- B.p/=q
- C.p+=5
- D.p+=q