C语言字符数组的几种输出方式
篇一:C语言字符数组的几种输出方式
#define _CRT_SECURE_NO_WARNINGS
#include
#include
{
char str[10] = "taskoist";
char *p = str;
*(p + 4) = 'l';
printf("%x,%x,%c",p, str,*p);
system(p);
system("pause");
}*/
void main()
{
char str[20] = "tasklist";
char *p = str;
printf("%s", p);
printf(" ");
for (int i = 0; i < 20; i++)
{
printf("%c", str[i]);
}
printf(" ");
for (int i = 0; i < 20; i++)
{
printf("%c", p[i]);
}
printf(" ");
for (p; p < str + 20; p++)
{
printf("%c", *p);
}
printf(" ");
printf("%s", str);
system("pause");
}
篇二:C语言 数组有答案
一、选择题
1. 以下对一维整型数组a的正确说明是 A.int a(10); B.int n=0, a[n]; C.int n;
scanf(“%d”,&n); int a[n];
D.#define SIZE 10 int a[SIZE]
2. 若有说明:int a[10]; ,则对a数组元素的正确引用是 A.a[10] B.a[3.5]C.a(5) D.a[10-10] 3. 以下能对一维数组a进行正确初始化的语句形式是 A.int a[10]=(0, 0, 0, 0, 0); B.int a[10]={ }; C.double a[ ][4];D.int a[10]={10*1}; 4. 以下对二维数组a的正确说明是
A.int a[3][ ]; B.float a(3,4); C.double a[ ][4];D.float a(3)(4); 5. 若有说明:int a[3][4]; 则对a数组元素的正确引用是。 A.a[3][4] B.a[1, 3] C.a[1+1][0]D.a(2)(1) 6. 以下能对二维数组a进行正确初始化的语句是 A.int a[2][ ]={{1, 0, 1}, {5, 2, 3}}; B.int a[ ][3]={{1,2,3},{4,5,6}}; C.int a[2][4]={{1,2,3},{4,5},{6}}; D.int a[ ][3]={{1,0,1,0},{ },{1,1}};
7. 下面程序段。 1 int a[3]={3*0}; 2 int i
3 for(i=0; i<3; i++) scanf(“%d”,&a[i]); 4 for(i=1; i<3; i++) a[0]=a[0]+a[i]; 5 printf(“%d ”,a[0]);
A.第1行有错误 B.第5行有错误C.第3行有错误 D.没有错误 8. 若有定义float x[4]={1.3, 2.4, 5.6},y=6; 则错误的语句是 A.y=x[3];B.y=x+1; C.y=x[2]+1 D.x[0]=y; 9. 定义如下变量和数组: int k;
int a[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是。 for(k=0; k<3; k++) printf(“%d”,a[k][2-k]);
A.3 5 7B.3 6 9 C.1 5 9 D.1 4 7
10. 下面程序的运行结果是 #include
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("%2d",a[i][j]); printf(" "); } return 0; }
A.1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
B. 0 0 0 0 1
0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0
C.1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1
D.1 0 0 0 1 0 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 0 0 1
11. 下面是对数组s的初始化,其中错误的语句是 A.char s[5]={“abc”}; B.char s[5]={?a?, ?b?, ?c?}; C.char s[5]= “ ”;D.char s[5]= “abcde”; 12. 下面程序段的运行结果是(□表示1个空格) char c[5]={'a','b','','c',''}; printf("%s",c);
A.'a''b'B.ab C.ab□c D.ab□ 13. 有两个字符数组a、b,则以下正确的输入格式是。 A.gets(a,b);B.scanf(“%s%s”,a,b); C.scanf(“%s%s”,&a,&b); D.gets(“a”),gets(“b”);
14. 有字符数组a[80]和b[80],则正确的输出形式是
A.puts(a,b); B.printf(“%s%s”,a[ ],b[ ]); C.puta,b);D.puts(a),puts(b); 15. 有下面的程序段,则 char a[3],b[ ]="China"; a=b;
printf("%s",a);
A.运行后将输出China B.运行后将输出Ch C.运行后将输出Chi D.编译出错
16. 下面程序段的功能是输出两个字符串中对应相等的.字符,请选择填空。 char x[ ]="programming"; char y[ ]="Fortran"; int i=0;
while(x[i]!='' && y[i]!='')
); else i++;
A.x[i++] B.y[++i] C.x[i] D.y[i] 17. 下面程序的功能是将字符串s中所有的字符c删除。请选择填空。 #include
for(i=j=0;s[i]!=''; i++)
if(s[i]!='c') ; s[j]=''; puts(s); return 0; }
A.s[j++]=s[i] B.s[++j]=s[i] C.s[j]=s[i];j++ D.s[j]=s[i] 18. 下面程序的运行结果是 #include
{char ch[7]={"12ab56"}; int i,s=0;
for(i=0;ch[i]>='0' && ch[i]<='9';i+=2)
s=10*s+ch[i]-'0'; printf("%d ",s); return 0; }
A.1B.1256C.12ab56 D.15
19. 当运行以下程序时,从键盘输入:ab<回车> c<回车> def<回车>,则下面程序的运行结果是 。
#include
for( ; i<N; c[i]=get ), i++);for(i=0;i<N;i++) putc[i]);return 0; } A.abcdef
#include
{ char a[]="morning",t; int i,j=0;for(i=1;i<7;i++)
if(a[j]<a[i]) j=i;t=a[j]; a[j]=a[7]; a[7]=t;puts(a);return 0; }
A.mogni B.moC.morningD.mornin 答案:
1. D2. D3. B4. C5. C6. B7. A8. B9. A10. C11. D 12. B13. B14. D15. D16. A17. A18. A19. D20. B 二、填空题
1. 若有定义float a[3][5];则a数组所含数组元素个数是,a数组所占的字节数是 。
2. 若有定义:double x[3][5]; ,则x数组中行下标的下限为,列下表的
B.a b c d e f
C.b c d
D.ab c d
20. 下面程序的运行结果是
上限为。
3. 假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是 。
4. 若有定义:int a[3][4]={{1,2}, {0}, {4,6,8,10}}; 则初始化后,a[1][2]得到的初值是 ,a[2][1]得到的初值是。
5. 下面程序给a数组输入数据并以每行4个数据的形式输出。请填空。 #include
for(i=0;i<N;i++) for(i=0;i<N;i++)
printf("%3d",a[i]); }
printf(" "); return 0; }
6. 下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中,请填空。
#include
{ int a[2][3]={{1,2,3},{4,5,6}};int b[3][2],i,j;printf("array a: ");for(i=0;i<=1;i++)
{printf("%5d",a[i][j]); ;}
printf(" ");}
printf("array b: ");;i++){for(j=0;j<=1;j++)
篇三:在C语言中,找出一个数组中的最小值输出,并且输出整个数组。
#include
#define N 4
#define M 3
void findmin(int a[M][N],int m[],int k[])
{
int i,j;
for(j=0;j<N;j++)
{
m[j]=0;
for(i=0;i<M;i++)
{
if(a[i][j]<m[j])
{ m[j]=a[i][j];
k[j]=i;}
}
}
}
void outdata(int a[M][N],int b[4],int k[])
{
int i,j;
for(i=0;i<M;i++)
{
for(j=0;j<N;j++)
{ printf("a[%d][%d]=%d ",i,j,a[i][j]);
} printf(" ");
}
for(j=0;j<N;j++)
printf("b[%d]=%d ",j,b[j]);
printf(" ");
for(j=0;j<N;j++)
printf("k[%d]=%d ",j,k[j]);
}
int main()
{
int b[3][4]={{3,-14,-14,-20},{-2,-9,-4,-6},{3,4,5,6}};int min[4],hang[4];
findmin(b,min,hang);
outdata(b,min,hang);
//printf("max=%d k=%d ",max);
return 0; }
【C语言字符数组的几种输出方式】相关文章:
5.C语言数组方法
6.C语言数组是什么