工学

单选题已知字符串M="ABCD",N="EFIJ"。则M–N的结果是()。A ABCDEFIJB ABCDEFIJC ABCDEFIJD ABCDEFIJ

题目
单选题
已知字符串M="ABCD",N="EFIJ"。则M–N的结果是()。
A

ABCDEFIJ

B

ABCDEFIJ

C

ABCDEFIJ

D

ABCDEFIJ

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

请编写函数proc,该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。 例如,若字符串数组中的M个字符串为: ABCD BCDEFG CDEFGHI 则合并后的字符串内容应该是ABCDBCDEFGCDEF—GHl。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填人所编写的若干语句。 试题程序: include<stdio.h> include<conio.h> define M 3 define N 20 void proc(char arr[M][N],char*b) {

} void main { char str[M][N]={"ABCD","BCDEFG"," CDEFGHI"},i; char arr[100]={" "); printf("The string:\n"); for(i=0;i<M;i++) puts(str[i]); printf("\n"); proc(str,arr); printf("The A string:\n"); printf("%s",arr); printf("\n\n"); }


正确答案:

void proc(char arr[M][N],char*b)
{
int i,j,k=0;
for(i=0;i<M;i++) //i表示其行下标
for(j=0;.rr[i][j]!=\0 ;j++)//由于每行的个数不等,因此用a[i][j]!=\0 来作为循环结束的条件
b[k++]=arr[il[j]; //把二维数组中的元素茄到b的一维数组中,
b[k]=\0; //最后把b赋\0作为字符串结束的标志
}
【解析】字符串数组中每一行都是一个一个完整的字符串,其结束标志为\0 。因此,通过字符串的结束标志来判断每一个字符串是否结束,将字符串数组中的所有字符串均赋值新的一维数组b来完成字符串的合并。

第2题:

已知电缆的承受弱点拉力为N,外层铠装钢丝每根承受压力为N1,内层铠装钢丝每根承受拉力为N2;编制绳帽时,若外层留用m1根,内层铠装钢丝留用m2根,则合理的编制应满足()。

A、m1N1+m2N2≥N

B、m1N2+m2N1≥N

C、m1N1=N+m2N2

D、m1N1+N2m2≤N


参考答案:D

第3题:

下面程序段的运行结果是()。include "stdio.h"main(){int m=10, n=20char *format="%s, m=%d, n=%d\n"m*=nprintf(format, "m*=n", m,n)}

A.format, "m*=n", m, n

B.format, "m*=n"

C.m*=n, m=200, n=20

D.以上结果都不对


答案:C

第4题:

已知int k=10,m=3,n;则下列语句输出结果是printf("%d\n",n=(k%m,k/m));

A.2

B.3

C.4

D.5


正确答案:B
解析:表达式n=(k%m,k/m)实际上是将k/m的结果赋值给了n。逗号表达式中最后一个表达式的值是该逗号表达式的值,所以输出结果为k/m。

第5题:

执行以下程序的输出结果是( )。 includedefine M 5define N M+M main(){int k; k=N*N*5;

执行以下程序的输出结果是( )。

include<stdio.h>

define M 5

define N M+M

main()

{ int k;

k=N*N*5;printf(”%d\n" ,k);

}


正确答案:55
55 解析:本题考查的重点是对宏定义的理解。#define指令定义一个标识符和一个串,编译程序在对C源程序处理时.发现该标识符都用该串替换,因此,在语句k=N*N*5将替换成k=M+M*M+M*5后,M被替换成5,从而k=5+5*5+5*5=55。

第6题:

对两个数组a和b进行下列初始化: char m[]="1234567"; char n[]={'1','2','3','4','5','6','7'}; 则下列叙述正确的是( )。

A.数组m与数组n完全相同

B.数组m与数组n长度相同

C.数组m比数组n长1

D.数组m与数组n中都存放字符串


正确答案:C
解析: 本题考查字符数组和字符串赋值给数组的一些区别。语句“char m[]="1234567";”定义了一个字符型数组并进行了初始化,C语言规定,在字符串的末尾自动加上串结束标记'\0',因此数组m的长度是8;而数组n是按照字符方式对数组进行初始化,系统不会自动加上串结束标记'\0',因此数组n的长度是7。

第7题:

已知量子数l=2,m=0,mS=+1/2,则n应为。

A、n≥2

B、n≥3

C、n≥4

D、n≥5


参考答案:B

第8题:

( 8 )有以下程序

#include <stdio.h>

main ()

{ int m,n;

scanf ( " %d%d " ,&m,&n ) ;

while ( m!=n )

{ while ( m>n ) m=m-n;

while ( m<n ) n=n-m;

}

printf ( " %d\n " ,m ) ;

}

程序运行后,当输入 14 63 < 回车 > 时,输出结果是 【 8 】 。


正确答案:




第9题:

请编写函数fun(),该函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按J顷序合并组成一个新的字符串。

例如,若字符串数组中的M个字符串为

AAAA

BBBBBBB

CC

则合并后的字符串内容应该是AAAABBBBBBBCC

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

include <conio. h>

define M 3

define N 20

void fun (char a [M] [N], char *b)

{

}

main ( )

{

char w [M] [N] ={"AAAA", "BBBBBBB", "CC"}, i;

char a[100]={" "};

printf ("The string: \n ");

for (i=0; i<M; i++)

puts (w[i]);

printf (" \n ");

fun (w, a);

printf ("The A string: \n ");

printf("%s ",a);

printf("\n\n ");

}


正确答案:void fun (char a [M] [N] char *b) { int i j k=0; for (i=0; iM; i ++ ) /*将字符串数组中的M个字符串按顺序存入一个新的字符串*/ for(j=0;a[i] [j] !='\0';j++) b [k++]=a[i] [j]; b[k]='\0'; /*在字符串最后加上结束标志符*/ }
void fun (char a [M] [N] ,char *b) { int i, j, k=0; for (i=0; iM; i ++ ) /*将字符串数组中的M个字符串,按顺序存入一个新的字符串*/ for(j=0;a[i] [j] !='\0';j++) b [k++]=a[i] [j]; b[k]='\0'; /*在字符串最后加上结束标志符*/ } 解析:本程序中for(i=0;iM;i++)循环的作用是用于对二维数组行的控制,第2个循环的作用是从同一行中取出字符并存放到一维数组b中,语句是b[k++]=a[i][j];。

第10题:

有以下程序

inculde <stdio.h>

main()

{ int m,n;

scanF(“%d%d”,&m&n);

While(m!=n)

{ While(m>n)m=m-n;

While(m<n)n=n-m;

}

PrintF(“%d\n”,m);

}

程序运行后,当输入14 63<回车>时,输出结果是【 】。


正确答案:7
7 解析:执行while(m<n)的循环,得到m=14,n=7,然后执行while(m>n)的循环,得到m=7,n=7。此时所有循环结束,m=7。

更多相关问题