高级语言程序设计A离线作业 下载本文

第一次 12. main()

{ int x=2,y=-1,z=2;

if(x

printf(“%d\\n”,z); }

写出程序输出结果 (1) 。 参考答案: 2

13. 下面程序的运行结果是 (2) 。 void fl(void) {int x=1;

static y=2; x++; y++;

printf(\}

void main() { int k;

for(k=1;k<=3;k++) fl(); }

参考答案:

2, 3 错一行扣1分 2, 4 无逗号扣1分 2, 5 无换行扣1分

14. #include ”stdio.h” void main() {char a[61],*s;int n; gets(a);

for(s=a;*s;s++) if(*s>=’A’ && *s<=’Z’) *s+=32; puts(a); }

若程序的输入为SWJTU,则输出结果为 (3) 。

参考答案: swjtu

15. #include “stdio.h” #define N 5

int swap(int *p, int *q) {int t;

if(p }

void f(int a[ ],int m)

{int *p, *q; p=a;q=a+m;

while(swap(p,q)) {p++; q--} }

void main( ) {int m,a[N];

for(m=0;m f(a,N-1);

for(m=0;m }

若程序的输入为8 9 2 3 4, 则输出结果为 (4) 。 参考答案:4 3 2 9 8

16. 写一个程序,建立N元整型数组,然后输入一个整数x,查找x是否包含在数组中,若在,则返回第一次出现的下标以及总的出现次数;否则,输出下标为-1, 总的出现次数为0. (8分) 参考答案:

#include “stdio.h” #define N 8

int locate(int a[N],int x,int *pc) { int i,first=-1; *pc=0;

for(i=0;i

void main()

{int a[N],i,count,p;

printf(“Input %d int numbers:\\n”,N); for(i=0;i

printf(“Input x=“);scanf(“%d”,&x); p=locate(a,x,&count);

printf(“First position=%d,count=%d\\n”,p,count); }

(1) 正确定义变量 1分

(2) 算法正确 5分 (3) 正确输入 1分 (4) 正确输出 1分

17. 输入若干双精度实数,直到0时停止,计算并输出这些实数的平均值。 参考答案:

#include “stdio.h” void main()

{ int n=0; double a, sum=0, av;

printf(“Input double type numbers until input 0:\\n”);

while(1)

{ scanf(“%lf”,&a); if(!a) break; n++;sum+=a; }

if(n==0) printf(“No input data.\\n”); else { av=sum/n;

printf(“av=%.4f\\n”,av);

} }

(1) 程序结构(主函数,包含文件)正确 1分 (2) 正确定义计数变量以及初始化 1分 (3) 正确定义求和变量并初始化 1分

(4) 循环控制结构正确 1分 (5) 输入语句及格式正确 1分 (6) 输出语句及格式正确 1分 (7) 计数、累加求和以及求均值正确 1分 (8) 求均值时先判断计数变量值是否为0 1分

18. C语言的三种循环语句是,do while循环、 循环和 循环;结构化程序设计方法主张限制使用 语句。 参考答案:

1) while 2) for 3) goto

19. 已知int a = 2, b = 3 , c=0; 执行下列语句后,写出各变量的值。 c = b++―a++ ; 变量a = ,b= ,c=

参考答案:3 4 1

20. 循环语句for( i=0; i<=10; i--); 其循环的次数为___ 参考答案:0

21. C语言提供了三种预处理功能,它们是:宏定义、包含文件和 参考答案:条件编译

22. 若有定义:int a=0,b=0,c=0,d=0;则执行语句a=(b=3,c=5*b++,d=++c+1);后,变量a的值是 ,变量b的值是 ,变量c的值是 ,变量d的值是 。 参考答案:

17 4_____16_____17__

23. 若有定义:int a=1,b=2,c=3,d=4;,则表达式:a<=b?a:c<=d?a:d的值

是 ,执行表达式 (a>b)&& (c++) 后,c的值为 。

参考答案:1 3

24. 有如下语句:char A[ ]={ \该字符串的长度

是 ,A[3]= 。 参考答案:5 ‘T’(允许无单引号和写ASCII码84)

25. 若有定义char ch='C'; 则puchar((ch>='A' && ch<='Z')? (ch + 32) : ch);语句的输出结果为 。