当前位置:首页 > c语言程序设计作业题
7 printf(\
A)没有错误 B)第3行有错误 C)第5行有错误 D)第7行没有错误 14、***下面程序每行程序前面的数字表示行号)。 1 main() 2 {
3 float a[10]={0.0}; 4 int i
5 for(i=0;i<3;i++) scanf(\ 6 for(i=0;i<10;i++) a[0]=a[0]+a[i]; 7 printf(\ 8 }
A)没有错误 B)第3行有错误 C)第5行有错误 D)第7行有错误 15、***下面程序有错的行是 1 main() 2{
3 int a[3]={1}; 4 int i;
5 scanf(\
6 for(i=1;i<3;i++) a[0]=a[0]+a[i]; 7 printf(\ 8 }
A)3 B)6 C)7 D)5
16、***下面程序(每行程序前面的数字表示行号) 1 main() 2 {
3 int a[3]={0}; 4 int i;
5 for(i=0;i<3;i++)scanf(\ 6 for(i=1;i<4;i++)a[0]=a[0]+a[i]; 7 printf(\ 8 }
A)没有错误 B)第3行有错误 C)第5行有错误 D)第6行有错误 17、**若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为 (假设a[0][0]位于数组的第一个位置上。) A)i*m+j B)j*p+i。C)i*m+j-1 D)i*m+j+1 18、**对以下说明语句的正确理解是 int a[10]={6,7,8,9,10};
A)将5个初值依次赋给a[1]至a[5] B)将5个初值依次赋给a[0]至a[4]
C)将5个初值依次赋给a[6]至a[10] D)因为数组长度与初值的个数不相同,所以此语句不正确 19、*以下不正确的定义语句是__.
A) double x[5]={2.0,4,0,6.0,8.0,10.0}; B) int y[5]={0,1,3,5,7,9}; C) char c1[ ]={?1?,?2?,?3?,?4?,?5?}; D) char c2[ ]=}{'\\x10','\\xa','\\x8'}; 20、*若有说明:int [][3]={1,2,3,4,5,6,7};则a数组第一维的大小是__. A) 2 B) 3 C) 4 D)无确定值
21、**若二维数组a有m列,则在a[i][j]前的元素个数为__. A)j*m+j B)i*m+j C)i*m+j D)i*m+j+1 22、**定义如下变量和数组: int k;
int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是
for(k=0;k<3;k++) printf (\ A) 3 5 7B)3 6 9 C) 1 5 9 D) 1 4 7 23、***若有以下程序段: ......
int a[]={4,0,2,3,1};i,j,t; for(i=1;i<5;i++) {t=a[i];j=i-1; while(j>=0&&t>a[j]) {a[j+1]=a[j];j--;} ......
则该程序段的功能是 __.
A)对数组a进行插入排序(升序) B)对数组a进行插入排序(降序) C)对数组a进行选择排序(升序) D)对数组a进行选择排序(降序) 24、***下面程序的运行结果是__。 main()
{int a[6」「6」,i,j; for(i=1;i<6;i++) for(j=1;j<6,j++) a[i][j]=(i/j)*(j/i); for(i=1;i<6;i++) {for(j=1;j<6;j十十) printf(\ printf(\ }
A)11111 B)00001 C)10000 D)10001 11111 00010 01000 01010 11111 00100 00100 00100 11111 01000 00010 01010 11111 10000 00001 10001 25、***下面程序的运行结果是 __. main() {int a[6],i; for(i=1;i<6;i++) {a[i]=9*(i-2+4*(i>3))%5; printf(\ } }
A)40404 B)40403 C)40443 D)40440 26、**对两个数组a和b进行如下初始化 char a[]=\
char b[]={?A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是 __.
A) a与b数组完全相同 B) a与b长度相同 C) a和b中都存放字符串 D) a数组比b数组长度长 27、**有两个字符数组a、b,则以下正确的输入格式是 __. A) gets (a,b); B) scanf (\
C) scanf (\ 28、*有字符数组a[80]和b[80],则正确的输出形式是__.
A) puts (a,b); B) printf (\ C) putchar(a,b); D) puts (a), puts (b); 29、**判断字符串a和b是否相等,应当使用__.
A) if (a==b) B) if (a=b) C) if (strcpy(a,b)), D) if (strcmp(a,b)) 30、**下面描述正确的是__.
A)两个字符串所包含的字符个数相同时,才能比较字符串 B)字符个数多的字符串比字符个数少的字符串大 C)字符串\与STOp\相等 D)字符串\小于字符串\
31、**下述对C语言字符数组的描述中错误的是 A)字符数组可以存放字符串
B)字符数组的字符串可以整体输入、输出
C)可以在赋值语句中通过赋值运算符\对字符数组整体赋值
D)不可以用关系运算符对字符数组中的字符串进行比较
32、**说明: int a[3][4]; 则对a数组元素的正确引用是( )。 (A)a[2][4] (B) a[1,3 ] (C) a[1+1][0] (D) a(2)(1) 33、* 以下数组定义中不正确的是( )
(A) int a[2][3]; (B) int b[ ][3]={0,1,2,3};
(C) int c[100][100]={0}; (D) int d[3][ ]={{1,2},{1,2,3},{1,2,3,4}};
三、阅读程序,写出程序运行结果 1、***阅读程序,写出运行结果: main()
{ static int a[][3]={9,7,5,3,1,2,4,6,8}; int i,j,s1=0,s2=0; for(i=0;i<3;i++) for(j=0;j<3;j++)
{ if(i==j)s1=s1+a[i][j]; if(i+j==2) s2=s2+a[i][j]; }
printf(\ }
2、***说明下列程序的功能。 main() { int i,j;
float a[3][3],b[3][3],x; for(i=0;i<3;i++) for(j=0;j<3;j++)
{ scanf(\ for(i=0;i<3;i++)
for(j=0;j<3;j++)b[j][i]=a[i][j]; for (i=0;i<3;i++) { printf(\
for(j=0;j<3;j++) printf(\ } }
共分享92篇相关文档