《2015年电大本科C语言程序设计A试题》由会员分享,可在线阅读,更多相关《2015年电大本科C语言程序设计A试题(21页珍藏版)》请在人人文库网上搜索。
1、2015年电大本科C语言程序设计A一、单选题1在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。A. main B. MAIN C. name D. function 2每个C语言程序文件的编译错误分为(B)类。 A. 1 B. 2 C. 3 D. 4 3. 字符串a+b=12n的长度为(B)。 A. 6 B. 7 C. 8 D. 94. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。 A. for B. while C. do D. if 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为。
2、(C)。int i=0; do i+; while(i0 & x10 Bx10 Cx0 & x10 13当处理特定问题时的循环次数已知时,通常采用(A)循环来解决。Afor Bwhile Cdo-while Dswitch 14假定i的初值为0,则在循环语句“while(i0|y=5)的相反表达式为(B)。A.xO|y!=5 D.xO&y=5 43.循环体至少被执行一次的循环语句为 (C)。 A.for B.while C.do-while D.任一种循环 44.假定 n的值为5,则表达式n+的值为(B)。 A.6 B.5 C.4 D.745.假定一个二维数组的定义为int a34=3,4,2。
3、,8,6号,则元素a2O值为(A)。 A.0 B.2 C.4 D.646.假定一个函数原型为char *func(int n),则该函数的返回类型为(D)。A. int B. int* c.char D.char*47.假定a为一个字符数组名,则元素ai的指针访问方式为(B)。A.a+i B.*(a+i) C.&a+i D.*a+i48.假定有语句为int *p=calloc(10+20,sizeof(int),则p所指向的动态数组中所包含的元素个数为(C)。 A.10 B.20 c.30 D.4049.十进制数 50表示成符合C语言规定的八进制数为(D)。 A. 20 B.32 C.62 D。
4、.06250.若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为(C)。 A.r+ B.ab+ C. rh+ D.wb+二、填空题1.在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理命令为(#include )2.用于从键盘上为变量输入值的标准输入函数的函数名为(scanf) 3.假定一个枚举类型的定义为enum RAab,ac,ad,ae;,则ac的值为(1)4. double类型的长度为(8)5.执行int x=45, y=13; printf(%d,x/y);语句序列后得到的输出结果为(3)6.把表达式x=x+y。
5、转换成复合赋值表达式为(x+=y)7.假定x的值为5,则执行a=(!x)?10:20);语句后a的值为(20) 8.假定一维字符指针数组的定义为char* a8;,则该数组占用的存储空间的字节数为(32)9.假定二维数组的定义为double aMN;则数组元素的行下标取值范围在(0M-1)之间 10.空字符串的长度为 (0)11.在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为(0)12.若p指向x,则(*p)与x的表示是等价的。13. 直接访问表达式(*fp).score所对应的间接访问表达式为(fp-score)14一个函数定义由 函数头_和函数体两部分组成。15. 。
6、执行“printf(%c,F-2);”语句后得到的输出结果为 D 。 16int类型的长度为 4 。17. 表达式(float)25/4的值为 6.25 。18若x=5,y=10,则xy的值为0(假)。33. 假定二维数组的定义为“int a35;”,则该数组所含元素的个数为15 。34. 执行“typedef int ABC10;”语句把ABC定义为具有10个整型元素的_数组_类型。35. strcat()函数用于连接两个字符串。36假定p所指对象的值为25,p+1所指对象的值为46,则*p+的值为 25 。37. 若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为(char*)p。
7、 。38. NULL是一个符号常量,通常作为空指针值,它对应的值为 0 。 39. 假定要动态分配一个类型为struct Worker的对象,并由r指针指向这个对象,则使用的表达式为 struct Worker* r =malloc(sizeof(struct Worker)。40. 在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理命令为#include。41. 用于从键盘上为变量输入值的标准输入函数的函数名为scanf 。42. 假定一个枚举类型的定义为“enum RAab,ac,ad,ae;”,则ac的值为_1 。43double类型的长度为_8_。44. 执行“。
8、int x=45,y=13;printf(%d,x/y);”语句序列后得到的输出结果为_3_。45. 表达式x=x+y表示成复合赋值表达式为 x+=y 。46. 假定x=5,则执行“a=(!x? 10: 20);”语句后a的值为_20_。 47. 假定一维字符指针数组的定义为“char* a8;”,则该数组占用的存储空间的字节数为_32_。48. 假定二维数组的定义为“double aMN;”,则每个数组元素的行下标取值范围在_0M-1 之间。 49. 空字符串的长度为_0_。50. 在函数外定义的变量,若没有被初始化则系统隐含对它所赋的初值为 0_。51. 若p指向x,则 *p 与x的表示是。
9、等价的。52. 与结构成员访问表达式(*fp).score等价的表达式为 fp-score 。53执行“printf(%c,A+2);”语句后得到的输出结果为_C_。 54short int类型的长度为_2_。55. 用类型关键字表示十进制常数3.26f的类型为 float 。 56. 假定y=10,则表达式+y*3的值为_33_。57. 逻辑表达式(x=0 & y5)的相反表达式为(x!=0 | y void main() int i,j,k=0; for(i=0; i void main() int x=20; int i=2; while(i void main() int a8=70,。
10、63,54,95,40,75,90,66; int i, s=0; for(i=0; i=70 & ai int WF(int x, int y) x=x+y; y+=x; return x+y; void main() int x=3, y=5;printf(%dn,WF(x,y); 运行结果: 215. #include int LA(int *a, int n) int i,s=0;for(i=0;i void main() int x=5; switch(2*x-1) case 4: printf(%d ,x); break; case 7: printf(%d ,2*x); brea。
11、k; case 10: printf(%d ,3*x); break; default: printf(%s ,default); printf(%sn,switch end.); 运行结果:default switch end.7. #include void main() int f1,f2,i; f1=1;printf(%d ,f1); for(i=2;i void main() int a10=12,39,26,41,55,63,72,40,83,95; int i, i1=0, i2=0; for(i=0;i #include void main( ) char s15=; int 。
12、i, n=strlen(s) ; for(i=0; iint LB(int *a, int n) int i,s=1;for(i=0;i void main() int i, s=0; for(i=1;i+) if(s30) break; if(i%2=0) s+=i; printf(s=%dn,s); 运行结果:s=4212. #include void main() int a9=36,25,48,24,55,40,18,66,20; int i, b1, b2; b1=b2=a0;for(i=1; ib1) b1=ai; if(ai void SB(char ch) switch(ch)。
13、 case A: case a: printf(WW ); break; case B: case b: printf(GG ); break; default:printf(BB ); break; void main() char a1=a,a2=B,a3=f; SB(a1);SB(a2);SB(a3); printf(n); 运行结果:WW GG BB14. #include #define M 6 void main() int i,x;int aM=10,15,22,37,46,58; for(i=0; i struct Worker char name15; int age; fl。
14、oat pay; ; void main() struct Worker x=wanghua,52,2350; struct Worker y, *p; y=x; p=&x;printf(%d %7.2fn, y.age+p-age, p-pay+20); 运行结果:104 2370.0016. #include void main() int i,s=0;for(i=1;i #define N 6 void main() int i,aN=2,5,8,10,15,21; for(i=0; i #include void main() int i;unsigned int len;char* 。
15、a5=student,worker,cadre,soldier,zzeasan123; len=strlen(a0); for(i=1; ilen) len=strlen(ai); printf(%dn,len); 运行结果:1019. #include void main() int a,b;for(a=2,b=3; bvoid LE(int* a, int* b) int x=*a; *a=*b; *b=x; void main() int x=15, y=26; printf(%d %dn,x,y); LE(&x,&y);printf(%d %dn,x,y); 运行结果:15 26 26。
16、 1521. #include void main() 第5/8页 int i, s1=0, s2=0; for(i=0;i const int M=20; void main() int i=2; while(1) if(iM/2) break;if(M%i=0) printf(%d ,i); i+; printf(n); 运行结果: 2 4 5 1023. #includeint a6=4,5,6,15,20,12; void main() int i,s1,s2; s1=s2=0;for(i=0; i void main() int a33=3,5,7,9,11,13,6,8,20; i。
17、nt i,*p=&a00; for(i=0;i10) printf(%d ,*p); p+; printf(n); 运行结果:11 13 2025. #include #includestruct Worker char name15; int age; float pay; void main() struct Worker x; char *t=liouting;int d=38; float f=400; strcpy(x.name,t); x.age=d; x.pay=f; x.age+; x.pay*=2;printf(%s %d %6.2fn,x.name,x.age,x.pay)。
18、; 运行结果: liouting 39 800.0026. #include void main() int i,j ,k=0; for (i=O;i void main() int x=20; int i=2; while(i void main() int a8=76,63,54,95,40,75,90,66; int i, s=0; for(i=0;i=70 & ai int WF(int x , int y) x=x+y; y+=x; return x+y; void main() int x=3 , y=8;printf(%dn ,WF(x,y); 运行结果:3030. #inclu。
19、de int LA(int *a,int n) int i,s=O;第6/8页 for(i=O; i=k) c+; return c; 函数功能:统计并返回一维整型数组an中大于等于k的值的个数。2. void QA(struct Worker a,int n) int i;for(i=O; iint SA(int a, int b) if(ab) return 1; else if(a=b) return 0; else return -1; 函数功能:比较两个整数a和b的大小,若ab则返回1,若a=b则返回0,若adata); f=f-next; printf(n); 假定struct I。
20、ntNode的类型定义为:struct IntNode int data; struct IntNode* next; 函数功能:遍历并输出由f所指向的单链表中每个结点的值。5. int SG(int x) /x为大于等于2的整数 int i=2;if(x=2 | x=3) return 1; while(i*idata; f=f-next; while(f) if(f-datax) x=f-data; f=f-next; return x; 假定struct IntNode的结点类型定义为:struct IntNode int data; struct IntNode* next; 函数功能。
21、:求出并返回由f所指向的单链表中所有结点的最大值。五、按题目要求编写程序或函数1. 编写一个程序,计算1+3+32+.+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。 程序为:#include void main() int i;int p=1; int s=1; for(i=1;i void main()第7/8页 int i;int p=1; int s=1; for(i=1;i void main() int i; for(i=3; ivoid main() int i; for(i=3; ix1) xl=ai; if(aix2) x2=ai; return xl-x2。