全国自考高级语言程序设计(一)精选试题及答案8
- 
				
编写程序,要求输入两个数,比较大小,输出大数和小数(用指针实现)。
 - 
				
从键盘向一维数组中输入10个实数,计算并输出其最大值和平均值。
 - 
				
将20名学生的姓名和成绩由键盘输入,计算并输出平均成绩。
#include< stdio.h>
#define N 20
struct student{char name[20];
float score;
};
void main()
{
struct student s[N]
int i;
float average=________;
for(i=0;i<N;i++)
{
scanf("%s%f", s[i]. name, &s[i]. score);
average+=________;
}
average=________;
printf("average =%7.2f\n",average);
}
 - 
				
以下程序的功能是将无符号八进制数字构成的字符串转换为十进制整数。
#include< stdio.h>
#include< string.h>
main() { char s[6], *p________; int n; gets(p); n=*p-________; while(________p!='\0') n=n*8+*p-'0'; printf("%d\n",n); }  - 
				
#include< stdio.h>
struct node
{
char name[20]
int age;}
;void fun1( struct node s)
{
struct node n={"zhangsan", 23}
s=n;
}
void fun2 (struct node *t)
{
struct node n ={"lisi", 24};
*t=n;
}
int main(void)
{
struct node stu1={" wangwu",25},stu2={"zhaoliu",26};
Fun1 (stu1);
fun2(&stu2);
printf("%d, %d\n", stu1. age, stu2. age);
return 0;
}
 - 
				
#include<stdio.h>
func(int y) { static int x =0; x+=y; printf("%,d", x); } void main() { int a=5;
func(a);
func(a);
}
 - 
				
以下程序的功能为:从键盘输入若干学生的成绩,计算出平均值,并输出低于平均值的学生成绩,输入为负数时结束输入。
#include <stdio.h>
void main()
{
float x[200],sum=0.0,ave,a;
int n=0,i;
printf("Please input the mark: \n");
scanf("%f", &a);
while(a>=0.0&&n<200)
{
sum+=_______;
x[n]=a;
n++;
scanf("%f", &a);
}
ave=_______;
printf("OUTPUT: \n");
printf("ave =%f\n",ave);
for(i=0;i<n;i++)
if_______
printf("%f\n", x[i]);
}
 - 
				
#include< stdio.h>
#define A2
#define B(x) A*x/2
int main(void)
{
float c,a=6;
c=B(a);
printf("%.lf\n",c);
return 0;
}
 - 
				
#include< stdio.h>
void f( int x, int *y)
{*y+=++x;}
void main()
{
int a=7,b=8;
f(a,&b);
printf("a=%d, b =%d\n",a,b);
}
 - 
				
C语言中,实现单分支选择结构的是_______语句,实现双分支选择结构的是if-else语句。
 - 
				
指针运算符“*”的运算对象必须是_______。
 - 
				
C语言的多行注释总是“/*”开头,并以________结尾。
 - 
				
设short[5][3];,如果数组a首地址为1000,则a[1][0]的地址为______(按行存储)。
 - 
				
设有定义int x=0;,则表达式++*&x的值是_______。
 - 
				
指针函数的函数名前需加_______,表示函数的返回值是指针型数据。
 - 
				
宏定义不是语句,不必以________结束。
 - 
				
利用计算机语言将所要解决问题中的数据以及处理问题的方法和步骤进行完整而准确地描述,这一描述的过程称为______。
 - 
				
20世纪50年代末期,出现的第二代计算机是以________为主要元件。
 - 
				
C语言是当今最流行的计算机语言之一,是一种________的高级语言。
 - 
				
函数调用语句func((exp1,exp2),(exp3,ep4,exp5));中,实参的个数为()
- A.0
 - B.3
 - C.2
 - D.5
 
 - 
				
定义二维数组并初始化,正确的是()
- A.int a[3][]={{1,2,3},{4,5,6}};
 - B.int a[][3]={{1,2,3},4,5,6}};
 - C.int a[3][3]=[{1,2,3},14,5,6}];
 - D.int a[][]={1,2,3,4,5,6};
 
 - 
				
设 char str1[]="ABCD";
char str2[ ]={'A', 'B','C','D'};
则下列叙述正确的是()
- A.数组str1的长度小于str2的长度
 - B.数组str1的长度大于str2的长度
 - C.数组str1和str2的长度相等
 - D.数组str1和数组str2等价
 
 - 
				
计算机语言的发展历程是()
- A.汇编语言一机器语言一高级语言
 - B.机器语言一汇编语言一高级语言
 - C.高级语言一汇编语言一机器语言
 - D.机器语言一高级语言一汇编语言
 
 - 
				
表达式的值为0的是()
- A.5/5%5
 - B.5>2
 - C.!4
 - D.0x7&7
 
 - 
				
系统的标准输入设备是()
- A.键盘
 - B.磁盘
 - C.显示器
 - D.硬盘
 
 - 
				
正确的字符常量是()
- A.'\010'
 - B.'68'
 - C."B"
 - D.GO
 
 - 
				
设int a=2,b=3,x,y;,则能正确执行的语句是()
- A.scanf("%d, %d", x-y,x+y);
 - B.printf("%d\n", a%b);
 - C.printf("%f\n",a+b);
 - D.scanf( "%d, %d", x,y)
 
 - 
				
设inta=10,*p=&a;,则执行语句 printf("%d\n",*p+a);的结果是()
- A.10
 - B.20
 - C.30
 - D.40
 
 - 
				
运行下列程序后,输出结果是()
void fun(int x,int y,int *cp,int *dp)
{
*cp=x+y;*dp=x-y
}
void main()
{
int a=6, b=2;
fun(a+b,a-b, &a,&b);
printf("%d,%d\n",a,b);
}
- A.6,2
 - B.8,4
 - C.12,4
 - D.8,2
 
 - 
				
下列数据定义语句中正确的是()
- A.struct{int x;}x1
 - B.struct xx {int x;};
 - C.struct xx {int x};
 - D.struct xx {int x} x1.
 
 - 
				
下列不是C语言运算符的是()
- A.sizeof
 - B.=
 - C.==
 - D.<>
 
 - 
				
在冯·诺伊曼体系结构中,指令和数据采用的进制为()
- A.二进制
 - B.八进制
 - C.十进制
 - D.十六进制
 
 - 
				
若定义int i,*p;,使p指向i的赋值语句是()
- A.p=&i;
 - B.*p=&i;
 - C.*p=i;
 - D.p=*&i;
 
 - 
				
关于C语言程序描述正确的是()
- A.函数必须要有 return语句
 - B.主函数必须位于程序的开头
 - C.程序中每行只能写一条语句
 - D.一个程序中只能有一个主函数