文档详情

2016年电大-《c语言程序设计》形成性考核作业().doc

发布:2016-08-07约5.59千字共13页下载文档
文本预览下载声明
《C语言程序设计》作业2 一、选择题 1. 在下面的一维数组定义中,( )语句有语法错误。 A. int a[ ]={1,2,3}; B. int a[10]={0}; C. int a[ ]; D. int a[5]; 2. 在下面的二维数组定义中,( )语句是正确的。 A. int a[5][ ]; B. int a[ ][5]; C. int a[ ][3]={{1,3,5},{2}}; D. int a[ ](10); 3. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为( )。 A. 2 B. 4 C. 6 D. 8 4. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为( )。 A. 0 B. 4 C. 8 D. 6 5. 将两个字符串连接起来组成一个字符串时,选用( )函数。 A. strlen( ) B. strcap( ) C. strcat( ) D. strcmp( ) 二、填空题 1. 假定一维数组的定义为“char * a[8];”,则该数组所含元素的个数为 。 2. 假定一维数组的定义为“char * a[8];”,则该数组所占存储空间的字节数为 。 3. 假定二维数组的定义为“int a[3][5];”,则该数组所占存储空间的字节数为 。 4. 假定二维数组的定义为“double a[M][N];”,则该数组所含元素的个数为 。 5. 假定二维数组的定义为“double a[M][N];”,则每个数组元素的行下标取值范围在 之间。 6. 假定二维数组的定义为“double a[M][N];”,则每个数组元素的列下标取值范围在 之间。 7. 使用“typedef char BB[10][50];”语句定义 为含有10行50列的二维字符数组类型。 8. 存储字符a需要占用存储器的 个字节空间。 9. 空字符串的长度为 。 10. 存储一个空字符串需要占用 个字节。 11. 字符串a:\\xxk\\数据的长度为 。 12. 用于存储一个长度为n的字符串的字符数组的长度至少为 。 13. strcmp函数用于进行两个字符串之间的 。 14. strcpy函数用于把一个字符串 到另一个字符数组空间中。 15. 一个二维字符数组a[10][20]能够存储 个字符串。 16. 一个二维字符数组a[10][20]能够存储的每个字符串的长度至多为 。 三、写出下列每个程序运行后的输出结果 1. #include stdio.h void main( ) { int a[10]={12, 39, 26, 41, 55, 63, 72, 40, 83, 95}; int i, i1=0, i2=0; for(i=0; i10; i++) if(a[i]%2==1) i1++; else i2++; printf(%d %d\n, i1, i2); } 2. #include stdio.h #include string.h void main( ) { int i; char * a[5]={student,worker,cadre,soldier,peasant}; char * p1, * p2; p1=p2=a[0]; for(i=0; i5; i++) { if(strcmp(a[i], p1)0) p1=a[i]; if(strcmp(a[i],p2)0) p2=a[i]; } printf(%s %s\n,p1,p2); } 3. #include stdio.h int a[10]={4, 5, 6, 15, 20, 13, 12, 7, 8, 9}; void main( ) { int i, s0, s1, s2; s0=s1=s2=0; for(i=1; i10; i++)
显示全部
相似文档