C语言习题。求高手帮忙。
一、选择题1、在C语言中,引用数组元素时,其数组下标的数据类型允许是。A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式2、以下能对一维数组a进行正确...
一、选择题
1、在C语言中,引用数组元素时,其数组下标的数据类型允许是 。
A.整型常量 B. 整型表达式
C.整型常量或整型表达式 D. 任何类型的表达式
2、以下能对一维数组a进行正确初始化的语句是 。
A. int a[10]=(0,0,0,0) B. int a[10]={};
C. int a[]={0}; D.int a[10]={10*1};
3、若有说明:int a[3][4];则对a数组元素的正确引用是 。
A. a[2][4] B. a[1,3] C. a[1+1][0] D. a(2)(1)
4、已知 int w[2][4]={7,15,8,9,20,25,14,17};则 w[0][1]的值是
A 8 B.9 C. 15 D. 25
5、若有说明 int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是 。
A. 2 B无确定值 C. 3 D. 4
6、下面程序的运行结果是 。
char c[5]={‘a’,’b’,’\0’,’c’,’\0’};
printf(“%s”,c);
A. ‘a’’b’ B. abc C. ab c D. ab
7、判断字符串a和b是否相等,应当使用 。
A. if (a= =b) B. if (a=b) C. if (strcpy(a,b)) D. if (strcmp(a,b))
8、用数组名作为实参,传给形参的是( )
A.数组第0个元素的值
B.数组全部元素的值
C.数组元素个数
D.数组首地址
9、用double q[3][5]; 定义的数组 q 包含 个元素
A. 3 B5 C. 8 D. 15
10、已知 char c[6]="ABCDE", d[6];要将c复制到d中,正确的做法是( )
A. d=c;
B. c=d;
C. strcmp(c,d);
D. strcpy(d,c);
二、判断题
1、数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数。( )
2. 数组中的元素类型可以不同;( )
3. 字符串"This"大于字符串"that";( )
4. 任何数组的下标都是从0开始;( )
5.符数组中的一个元素存放一个字符;( )
三、程序填空题。
invstring(char a[ ])函数的功能是使输入的一个字符串按逆序存放,在主函数中输入和输出字符串。
请填空【?】。
void invstring(char a[ ])
{ int n,j; char c;
n=0; 填空:
while(a[n]!= 【1】) n++; 【1】
for( j=0; j<【2】; j++) 【2】
{c=a[j]; 【3】; 【4】;} 【3】
} 【4】
main( )
{ char a[80];
gets(a);
invstring(【5】); 【5】
puts(a);
puts("\n");
}
四、分析下面程序的结果。
main ( )
{ int i,j,s1=0,s2=0 ,a[3][3]={ 4,9,6,5,3,1,2,8,7};
printf("a:\n");
for(i=0; i<3; i++)
{ for(j=0;j<3;j++) printf("%3d",a[i][j]);
printf("\n");
}
printf("\n");
for(i=0; i<3; i++)
{ s1=s1+a[i][i];
s2+=a[i][2-i];
}
printf("s1=%d, s2=%d\n",s1,s2);
} 展开
1、在C语言中,引用数组元素时,其数组下标的数据类型允许是 。
A.整型常量 B. 整型表达式
C.整型常量或整型表达式 D. 任何类型的表达式
2、以下能对一维数组a进行正确初始化的语句是 。
A. int a[10]=(0,0,0,0) B. int a[10]={};
C. int a[]={0}; D.int a[10]={10*1};
3、若有说明:int a[3][4];则对a数组元素的正确引用是 。
A. a[2][4] B. a[1,3] C. a[1+1][0] D. a(2)(1)
4、已知 int w[2][4]={7,15,8,9,20,25,14,17};则 w[0][1]的值是
A 8 B.9 C. 15 D. 25
5、若有说明 int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是 。
A. 2 B无确定值 C. 3 D. 4
6、下面程序的运行结果是 。
char c[5]={‘a’,’b’,’\0’,’c’,’\0’};
printf(“%s”,c);
A. ‘a’’b’ B. abc C. ab c D. ab
7、判断字符串a和b是否相等,应当使用 。
A. if (a= =b) B. if (a=b) C. if (strcpy(a,b)) D. if (strcmp(a,b))
8、用数组名作为实参,传给形参的是( )
A.数组第0个元素的值
B.数组全部元素的值
C.数组元素个数
D.数组首地址
9、用double q[3][5]; 定义的数组 q 包含 个元素
A. 3 B5 C. 8 D. 15
10、已知 char c[6]="ABCDE", d[6];要将c复制到d中,正确的做法是( )
A. d=c;
B. c=d;
C. strcmp(c,d);
D. strcpy(d,c);
二、判断题
1、数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数。( )
2. 数组中的元素类型可以不同;( )
3. 字符串"This"大于字符串"that";( )
4. 任何数组的下标都是从0开始;( )
5.符数组中的一个元素存放一个字符;( )
三、程序填空题。
invstring(char a[ ])函数的功能是使输入的一个字符串按逆序存放,在主函数中输入和输出字符串。
请填空【?】。
void invstring(char a[ ])
{ int n,j; char c;
n=0; 填空:
while(a[n]!= 【1】) n++; 【1】
for( j=0; j<【2】; j++) 【2】
{c=a[j]; 【3】; 【4】;} 【3】
} 【4】
main( )
{ char a[80];
gets(a);
invstring(【5】); 【5】
puts(a);
puts("\n");
}
四、分析下面程序的结果。
main ( )
{ int i,j,s1=0,s2=0 ,a[3][3]={ 4,9,6,5,3,1,2,8,7};
printf("a:\n");
for(i=0; i<3; i++)
{ for(j=0;j<3;j++) printf("%3d",a[i][j]);
printf("\n");
}
printf("\n");
for(i=0; i<3; i++)
{ s1=s1+a[i][i];
s2+=a[i][2-i];
}
printf("s1=%d, s2=%d\n",s1,s2);
} 展开
展开全部
选择题自做
填空题
void invstring(char a[ ])
这个函数里面有些有错
改成
void invstring (char a[])
{
int n,j;
char c;
n=0
while(a[n]!= '\n')n++;
for( j=n; j>=0;j--)
{
c=a[j];c=+a[]j;
}
return;
}
main( )
{ char a[80];
gets(a);
invstring(a);
puts(a);
puts("\n");
}
程序分析题
换一行衙
把a数组的值全部竖着显示出来;
再换一行
s1= 结果
s2= 结果
s1的值为a[0][0]+a[1][1]+a[2][2]
s2的值 为a[0][2]+a[1][1]+a[2][0]
填空题
void invstring(char a[ ])
这个函数里面有些有错
改成
void invstring (char a[])
{
int n,j;
char c;
n=0
while(a[n]!= '\n')n++;
for( j=n; j>=0;j--)
{
c=a[j];c=+a[]j;
}
return;
}
main( )
{ char a[80];
gets(a);
invstring(a);
puts(a);
puts("\n");
}
程序分析题
换一行衙
把a数组的值全部竖着显示出来;
再换一行
s1= 结果
s2= 结果
s1的值为a[0][0]+a[1][1]+a[2][2]
s2的值 为a[0][2]+a[1][1]+a[2][0]
--
2022-12-05 广告
2022-12-05 广告
图形化编程简单理解为用积木块形式编程,scratch和python也是其中的一种,属于入门级编程,以其简单生动的画面获得无数学生的喜爱,深圳市创客火科技有限公司是一家做教育无人机的公司,旗下有编程无人机,积木无人机及室内外编队,每款飞机含有...
点击进入详情页
本回答由--提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询