大学网课搜题引擎
首页
学堂在线
C语言程序设计精髓
第十章 字符串:C语言世界中的大力水手
题目详情
简答题
函数返回值的类型既可以是字符指针,也可以是字符数组。
查看答案与解析
简答题
下面程序的功能是在字符串每个字符间插入一个空格。 程序的运行结果如下: Input a string:Howareyou↙ Insert results:H o w a r e y o u 按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include #include #define N 100 void Insert(char s[]); int main() { char str[N]; printf("Input a string:"); gets(str); Insert(str); printf("Insert results:%s ", str); return 0; } void Insert(char s[]) { char t[N]; int i, j; ____________; for (i=0, j=0; ____________; i++, j++) { ________; j++; ________; } s[j] = '\0';/* 在字符串s的末尾添加字符串结束标志 */ } A、第19行:strcpy(t, s) 第20行:t[i]!='\0' 第22行:s[j] = t[i] 第24行:s[j] = ' ' B、第19行:t=s; 第20行:t[i]!='\0' 第22行:s[i] = t[j] 第24行:s[j] = ' ' C、第19行:strcpy(t, s) 第20行:t[i]='\0' 第22行:t[j] = s[i] 第24行:s[j] = '\0 ' D、第19行:strcpy(s, t) 第20行:t[i]=='\0' 第22行:s[j] = t[i] 第24行:s[j] = '0 '
简答题
下面程序的功能是实现字符串逆序存放。 程序运行结果如下: Input a string:ABCDEFGHI↙ Inversed results:IHGFEDCBA 按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include #include #define N 80 void Inverse(char *pStr); int main() { char a[N]; printf("Input a string:"); gets(a); Inverse(a); printf("Inversed results:%s ", a); return 0; } /* 函数功能: 实现将字符数组中的字符串逆序存放 */ void Inverse(____________) { int len; char temp; char *pStart; /* 指针变量pStart指向字符串的第一个字符 */ char *pEnd; /* 指针变量pEnd指向字符串的最后一个字符 */ len = strlen(pStr); /* 求出字符串长度 */ for (pStart=pStr,___________; pStart { temp = *pStart; ______________; *pEnd = temp; } } A、第16行: char *pStr 第23行: pEnd=pStr+len-1 pEnd-- 第26行: *pStart = *pEnd B、第16行: char pStr 第23行: pEnd=pStr+len pEnd-- 第26行: *pStart = *pEnd C、第16行: char *pStr 第23行: pEnd=pStr+len-1 pEnd++ 第26行: pStart = pEnd D、第16行: char pStr 第23行: pEnd=pStr+len+1 pEnd++ 第26行: *pStart = *pEnd
简答题
下面能正确进行字符串赋值操作的是 A、char *s=“ABCDE”; B、char s[5]={“ABCDE”}; C、char s[5]={'A', 'B', 'C', 'D', 'E'}; D、char *s,scanf(“%s”,s);
简答题
以下程序中函数FindMinString的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址。例如,若运行时依次输入三个字符串: 123↙ 1223↙ 124↙ 输出结果为1223 按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include #include char *FindMinString( _____________ ) { if(_____________) return(s1); else return(s2); } int main() { int i; char string[20], str[3][20]; for(i=0;i { gets(str[i]); } strcpy(string,FindMinString(str[0],str[1])); /*对字符串进行复制*/ strcpy(string,___________________); printf("%s ",string); return 0; } A、第3行: char *s1, char *s2 第5行: strcmp(s1,s2) 第20行: FindMinString(string,str[2]) B、第3行: char s1, char s2 第5行: s1 第20行: FindMinString(string,str[2]) C、第3行: char s1, char s2 第5行: strcmp(s1,s2)>0 第20行: FindMinString(str[0],str[2]) D、第3行: char *s1, char *s2 第5行: s1>s2 第20行: strcmp(str[1],str[2])
简答题
执行以下代码段后,输出的字符串是 #include #include int main() { char s1[10],*s2="ab\0cdef"; strcpy(s1,s2); puts(s1); ....... return 0; } A、ab B、cdef C、ab\0cdef D、内容不确定
简答题
下面程序的功能是将一个字符串s2插入到字符串s1中,其起始插入位置为n。 程序运行示例如下: main string:hello,world! sub string:cc site of begining:( After instert:hellocc,world! 按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include #include #define N 100 int main() { int n, i, j, k, len; char s1[N], s2[N], s3[2 * N]; printf("main string:"); gets(s1); printf("sub string:"); gets(s2); len = strlen(s1); do { printf("site of begining:( scanf("%d", &n); }while (__________); for (i = 0; i { s3[i] = s1[i]; } for (j = 0; s2[j] != '\0'; j++) { __________________; } for (________; s1[k] != '\0'; k++) { ________________; } s3[j + k] = '\0'; printf("After instert:%s ", s3); return 0; } A、第17行: n > len 第25行: s3[i + j] = s2[j] 第27行: k = n 第29行: s3[j + k] = s1[k] B、第17行: n 第25行: s3[i] = s2[j] 第27行: k = n 第29行: s3[j] = s1[k] C、第17行: n 第25行: s2[j]=s3[i + j] 第27行: k = 0 第29行: s3[j] = s1[k] D、第17行: n >= len 第25行: s3[j] = s2[j] 第27行: k = 0 第29行: s1[k] = s3[j + k]
简答题
下列说法正确的是()。 A、用双引号括起的一串字符是字符串常量,系统自动为其添加空字符'\0'作为字符串的结束标志。 B、字符数组的最后一个元素必须是字符'0'才能表示一个字符串。 C、char *pStr = "Hello China";表示定义了一个指向字符串常量的字符指针变量。此时既可以修改pStr的值,也可以通过间接寻址的方法修改pStr指向的字符。 D、char *pStr;scanf("%s", pStr);这两条语句的作用就是将用户从键盘输入的字符串保存到字符指针变量pStr中。
简答题
下面程序的功能是从键盘输入一个字符串,编程将其字符顺序颠倒后重新存放,并输出这个字符串。程序的运行结果如下:Input a string:abcdef↙The inversed string is:fedcba按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#includestdio.h #includestring.h voidInverse(char*pStr); intmain() { charstr[80]; printf(Inputastring: ); gets(str);//输入字符串 Inverse(str);//将存于str数组中的字符串逆序存放 printf(Theinversedstringis: ); puts(str);//输出字符串 return0; } voidInverse(char*pStr) { intlen=0; chartemp; char*pStart=pStr;//指针变量pStart指向字符串的第一个字符 char*pEnd;//指针变量pEnd指向字符串的最后一个字符 for(;*pStart!='\0';_________)//求出字符串长度 { len++; } for(pStart=pStr,___________;pStartpEnd;pStart++,pEnd--) { temp=_________; ________________; *pEnd=temp; } } A、第21行: pStart++第25行: pEnd=pStr+len-1第27行: *pStart第28行: *pStart = *pEnd B、第21行: *pStart++第25行: pEnd=pStr+len第27行: *pStart第28行: *pStart = *pEnd C、第21行: pStart++第25行: pEnd=pStr+len-1第27行: pStart第28行: pStart = pEnd D、第21行: *pStart++第25行: pEnd=pStr+len第27行: pStart第28行: pStart = pEnd
简答题
下列说法正确的是()。 A、strlen()计算的是包含'\0'在内的字符串的长度。 B、字符串不能使用赋值运算符整体复制,必须使用strcpy函数进行字符串的复制。strcpy(str2, str1);是将字符数组str2中的字符串复制到字符数组str1中。 C、strcat(str2, str1);是将字符数组str2中的字符串连接到字符数组str1中的字符串的末尾,str1中的字符串末尾的空字符'\0'将被覆盖。 D、字符串不能用关系运算符,,==直接比较大小,必须使用strcmp函数比较大小,当出现第一对不相等的字符时,就由这两个字符的ASCII码值的大小来决定其所在字符串的大小。
简答题
向函数传递字符串,既可以用字符数组做函数参数,也可以用字符指针做函数参数,这两种方式都是传引用调用,就是将字符串的首地址、而非字符串中的全部字符传给形参。
简答题
下面程序的功能是用字符指针变量作函数参数编程实现字符串连接函数strcat()的功能,将字符串srcStr连接到字符串dstStr的尾部。 程序的运行结果如下: Please enter the source string:abcd↙ Please enter the other string:efgh↙ The concat is: abcdefgh 按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 #include void MyStrcat(char *dstStr, char *srcStr); int main() { char s[80]; //源字符串 char t[80]; //待连接字符串 printf("Please enter the source string: "); gets(s); printf("Please enter the other string: "); gets(t); //输入字符串 MyStrcat(s, t); //将字符数组t中的字符串连到s的尾部 printf("The concat is: "); puts(s); //输出连接后的字符串s return 0; } void MyStrcat(char *dstStr, char *srcStr) //用字符指针作为函数参数 { while (__________) { dstStr++; } while (*srcStr != '\0') //若srcStr所指字符不是字符串结束标志 { _________; //将srcStr所指字符复制到dstStr所指的存储单元中 srcStr++; //使srcStr指向下一个字符 dstStr++; //使dstStr指向下一个存储单元 } _____________; //在字符串dstStr的末尾添加一个字符串结束标志 } A、第19行: *dstStr != '\0' 第25行: *dstStr = * srcStr 第29行: *dstStr = '\0' B、第19行: dstStr != '\0' 第25行: dstStr = srcStr 第29行: *dstStr = '\0' C、第19行: *dstStr == '\0' 第25行: *dstStr = * srcStr 第29行: *dstStr = ' ' D、第19行: dstStr == '\0' 第25行: dstStr = srcStr 第29行: *dstStr = ' '
C语言程序设计精髓
章节列表
第一章 初识C语言从认识变量和常量开始
21
第二章 数字间的那些事儿,做点计算哈
15
第三章 从键盘中来,到键盘中,开始输入和输出啦
22
第四章 无处不在的抉择
23
期末考试
13
第五章 周而复始的循环之道
20
第六章 函数:分工与合作的艺术
15
第七章 《盗梦空间》的逻辑:探寻递归的奥秘
21
第八章 一堆数据来了,你准备好了吗?
13
第九章 指针:C语言世界中所向披靡的“金箍棒”
8
第十章 字符串:C语言世界中的大力水手
12
第十一章 指针的孪生兄弟
12
第十二章 海陆空齐上阵:又来了一堆数据
14
第十三章 原来内存也可以这么玩,我是指针我怕谁
8
第十四章 结构设计的艺术
5
第十五章 学会保存你的数据
11