专升本C语言练习册答案补充
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一讲 C程序和C程序概述
模拟题
C语言程序设计试卷(A)
考试时间:120分钟
请考生注意:本卷共五道大题,请将第一、二、三题的正确答案填在答题卡对应的编号上。
一、填空(10分,每题1分)
1.一个C语言程序总是从main函数开始执行。
2.x=2,y=-3,z=3,则表达式x||y+z&&y-z的值为 1 。
3.系统判断字符串结束的标志是…\0‟。
4.能正确表示“当ch为小写字母为真,否则为假”的表达式是.ch>‟a‟&&ch<‟z‟。5.C语言中while和do-while循环的主要区别是do-while 的循环体至少无条件执行一次。6.说明char s1[]=“china”,s2[10];要将s1的值复制到s2中的正确语句是strcpy(s2,s1) 。7.若用数组名作为函数调用的实参,则传递给形参的是数组的首地址。8.说明:char s[]=“world”,*p;执行语句p=s后,*(p+5)的值是‘\0‟。9.语句int (*p)()的含义是定义一个指向函数的指针,函数的返回值为不不整型。10.全局变量的作用范围是从定义点到开始文件结束。
二、阅读程序,写出程序运行结果(30分,每题6分)
else printf(“%3d”,i);
}
2 4 6 8 10 2.
2.main( ) { int i,j,k; printf(“\n”); }
}
3.main() {int i,j,sum=0,a[3][3]; if(i==j) sum+=a[i][j]; } printf(“%d”,sum);
}
6
4.int x,y num() printf("%d,%d",x,y) }
5,11
5. main() printf(“%d,%d\n”,*p,*(a+2))printf(“%d,%d\n”, *(p+3),*p++);
} 1,5
7,1
三、程序填空(20分,每空2分)
阅读程序说明及程序,把它补充成一个完整的程序
1.下面程序是用冒泡法对10个数进行从小到大排序的程序。
{ int a[10] ,i,j,temp; scanf("%d", &a[i] ); for(j=0; j
printf("%5d",a[i]);
}
2.下面程序将按如下形式输出杨辉三角形。
main() { a[i][0]=1; a[i][i]=1;} for(i=2;i 3.for(j=0; j<=i;j++) } } 四、问答题(10分,每题5分) 1.简述字符常量与字符串常量的区别。 字符常量:单引号括起来的一个字符,用字符变量存放 字符串常量:双引号括起来的一串字符,用字符数组存放 2.简述局部变量的三种存储方式。 auto,static,register 五、编写程序(30分,每题10分) 1. 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。 2. 编写程序,输入一个字符串,计算出这个字符串的长度(要求不能使用strlen函数) 3. 编写程序,在主函数中输入10个数,在函数invert中将10个数按反序存放,并在主函数中输出结果。 1、main() {int number[10]; aa(number); bb(number); cc(number); } aa(int *array) {int i; for(i=0;i<10;i++) scanf("%d,",&array[i]); } bb(int *array) {int *max,*min,t; int *p; p=max=min=array; for(p=array+1;p if(*max<*p) max=p; else if(*min>*p) min=p; t=*max;*max=array[9];array[9]=t; t=*min;*min=array[0];array[0]=t; } cc(int *array) { int *p; for(p=array;p printf("%d,",*p); printf("%d\\n",array[9]); getch(); } 2、#include"stdio.h" int get_str_length(char c[]){ int length=0; int i=0; while(c[i++]) length++; return length; } void main(){ char c[10000]; printf("请输入一个字符串:"); scanf("%s",c); printf("字符串的长度为:%d\n",get_str_length(c)); } 3.#include "stdio.h" #include "math.h" #define N 10 void invert(int x[]) { int i,t; for(i=0;i {t=x[i];x[i]=x[N-1-i];x[N-1-i]=t;} } main() { int i,a[N]; printf("please input %d integers:\n",N); for(i=0;i { printf("the %dth number is:",i); scanf("%d",&a[i]); } printf("the integers you input is:\n"); for(i=0;i printf("%5d ",a[i]); invert(a); printf("\nthe integers after invert is:\n"); for(i=0;i printf("%5d ",a[i]); printf("\n"); }