专升本C语言练习册答案补充 联系客服

发布时间 : 星期日 文章专升本C语言练习册答案补充更新完毕开始阅读

C语言程序设计试卷(B)

考试时间:120分钟

请考生注意:本卷共五道大题,请将第一、二、三题的正确答案填在答题卡对应的编号上。

题号 得分 一 二 三 四 五 总分 1.3.5 2.ASCII 3.ch>?A?&&ch0&&x<5|| y>0&&y<5 5.在局部变量定义的函数或复合语句内 6.数组的首地址 7.strcat(s1,s2) 8.int (*p)() 9.a[2] 10.静态存储区 一、填空(10分,每题1分)

1.x=3.5,y=5,z=7.8,则表达式x+y/3*(int)(x+z)%2/5的值为 3.5 。 2.C语言中,char 型数据在内存中的存储形式是 ASCII 。 3.判断字符型变量ch是否为大写字母的表达式是 ch>?A?&&ch

4.表示“x,y中至少有一个大于0且小于5”的表达式是 x>0&&x<5|| y>0&&y<5 。 5.局部变量的作用范围是: 在局部变量定义的函数或复合语句内。 6.若定义x[5],则数组名x的含义是 数组的首地址 ;

7.若说明 char s1[20]=”hello”,s2[]=”world”;则将s2与s1连接的语句为 strcat(s1,s2) 。 8.定义一个指向函数的指针变量p的语句为 int (*p)() 。 9.若定义char a[5],*p=a;则*(p+2)表示 a[2] 。 10.全局变量放在内存的__静态存储区。

二、阅读程序,写出程序运行结果(30分,每题6分) 1.main()

{int a=2,b=3,c; c=a+b; printf(“%d,%d%d\\n”,a,b,c);

}

3 , 1 , 5 3 , 5 , 4

2.main( ) { b+=3; continue; } b-=5; printf(“%d\\n”,a);

} 8

- 5 -

3. main() {int i,f[10]; f[0]=0;f[1]=1; for(i=2;i<10;i++) f[i]=f[i-2]+f[i-1];

for(i=0;i<10;i++) printf(“%d,”,f[i]); }

0,1,1,2,3,5,8,13,21,34

4. main() {char *p,s[]=\ p=s; while(*p!= '\\0' ) {printf(\

p++; if(*p!= '\\0') p++; else break; } } ABCDEFG

CDEFG EFG G

5.main() {int i; for(i=2;i<5;i++) printf(\ printf(\ int fun(int x) {static int f=1; return(f*=x); } fun(2)=2 fun(3)=6 fun(4)=24 三、程序填空(20分,每空2分)

阅读程序说明及程序,把它补充成一个完整的程序 1.下面程序运行结果输出如下图形。

main( ) { int i; for(i=1; i<=4 ; i++) printstar(i) ;

} void printstar(int i ) {int j,k;char space=??; for(j=1;j<=5-i;j++) printf(“%c”, space); for(k=1; k<=2*i-1 ; k++) printf(“%c”, ?*?);

printf(“\\n”) }

2.下面程序将输入的一个字符串按逆序存放。 #include “stdio.h” main() {int i, n,temp; char a[50] ; gets( a ); n=strlen(a); for(i=0; i

四、问答题(10分,每题5分) 1.什么是全局变量和局部变量? 全局变量:函数外定义的变量

局部变量:函数内或复合语句内定义的变量

- 6 -

* * *** ***** *******

2.定义一个结构体变量,包括学号、姓名(最多8个字符)、性别、年龄和住址成员。 struct student

{int num; char name[8];char sex;int age;char addr[30];}p1; 五、编写程序(30分,每题10分)

1. 输入一行字符,统计其中字母字符、数字字符和其它字符的个数。

2. 编写程序, 输入10个学生3门课的成绩, 计算每个学生的平均成绩,按平均成绩降序排列并打印出结果。

3. 编写一个程序,将字符串a复制到b中。要求不能使用strcpy函数。 1、#include #include main() {char c;

int w=0,x=0,y=0,z=0; while((c=getchar())!='\\n')

{if((c>='a'&& c<='z')||(c>='A' && c<='z')) w++; else if (c==' ') x++;

else if (c>='0' && c<='9') y++; else z++; }

printf(\} 2 。

#include\#define M 10 #define N 3 main() { int i,j; float t;

- 7 -

float total=0; char name[M][5]; char change[1][5]; float score; score[M-1][N-1]*/ float average[M]; clrscr(); for(i=0;i

total = 0; /*here*/ printf(\ scanf(\ printf(\ for(j=0;j

scanf(\ total+=score; }

average[i] = total/N; }

for(i=0;i

for(j=0;j

t=average[j];average[j]=average[j+1];average[j+1]=t;

strcpy(change[0],name[j]); strcpy(name[j],name[j+1]); strcpy(name[j+1],change[0]); } }

for(i=0;i

printf(\

- 8 -