请问大人17题怎么解(c语言题库),请把这个程序发给我下

C语言程序设计程序编写题目应该怎么怎样去解,一般的分析方法是什么,如下题,请写出结果及分析过程,谢谢_百度知道
C语言程序设计程序编写题目应该怎么怎样去解,一般的分析方法是什么,如下题,请写出结果及分析过程,谢谢
编写一个函数fun,它的功能是:实现两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。
例如,分别输入下面两个字符串:
FirstString--
SecondString
程序输出:
FirstString--SecondString
注意: 部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include &stdio.h&void fun(char p1[], char p2[]){}main(){
char s1[80], s2[40] ;void
printf(&Enter s1 and s2:\n&) ;
scanf(&%s%s&, s1, s2) ;
printf(&s1=%s\n&, s1) ;
printf(&s2=%s\n&, s2) ;
printf(&Invoke fun(s1,s2):\n&) ;
fun(s1, s2) ;
printf(&After invoking:\n&) ;
printf(&%s\n&, s1) ;}
提问者采纳
这个其实也没什么好去分析的,按照题目的要求去做就可以了。比如说这个题目,题干已经很明确的告诉你要去你写一个函数完成两个字符串的连接(不使用库函数strcat),即把p2所指的字符串连接到p1所指的字符串后。那么你按要求写就好了
给个例子void fun(char p1[], char p2[]){ int i=0,j=0; while(p1[i]!='\0') {
i++; }/*因为是p2所指的字符串连接到p1所指的字符串后。所以找到p1字符串的结尾*/ while(p2[j]!='\0') {
p1[i]=p2[j];
j++; }/*从p1字符串结尾开始依次用p2的字符填充直到p2中的内容为'\0'*/
p1[i]='\0';/*要注意给p1[]字符串结束标志,这个地方很容易忘记。因为当p2[j]是'\0'时已经退出循环了,所以p1[]是没有结束标志的,可能会导致程序崩溃哦。*/}2级C是很基础的
考来考去就那么几个上机题 说实话 你那几种题型一样写几个就OK了 呵呵 但是要细心 2级C考的就是你细不细心的问题 加油 祝你考试顺利
其他类似问题
为您推荐:
c语言程序设计的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁求简单C语言题解,多谢高手_百度知道
求简单C语言题解,多谢高手
2 、以下正确的叙述是______。 A在C程序中,每行中只能写一条语句 B若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数 C在C程序中,无论是整数还是实数,都能被准确无误地表示 D在C程序中,%只能用于整数运算的运算符 3、以下字符是回车换行字符的是(A )A
D \f4、以下符合C语言语法的赋值表达式是______。 A d=9+e+f=d+9 B d=9+e,f=d+9 C d=9+e,e++,d+9 D d=9+e++=d+75、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2中的值为______。 A
68 C 不确定的值 D
C 6、在C语言中,要求运算数必须是整型的运算符是______。 A / B ++ C != D % 7、、若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为______。A 7 B 8 C 9 D 10 8、在C语言中,int,char和short三种类型数据在内存中所占用的字节数______。 A 由用户自己定义 B 均为2字节 C 是任意的 D 由所用机器的机器字长决定 9、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是______。 A 2.500000 B 2.750000 C 3.500000 D 0.000000 10、sizeof(float)是______。 A 一个双精度型表达式 B 一个整型表达式 C 一种函数调用 D 一个不合法的表达式 11、设变量a是整型,f是实型,I是双精度型,则表达式10+'a'+I*f值的数据类型为______。 A int B float C double D 不确定 12、以下叙述中不正确的是_________。 A 一个源文件可由多个函数组成 B
一个源文件中必须包含一个主函数 C 一个C程序可由多个源文件组成 D
C程序必须经过编译和连接才能运行 13、以下以下叙述中正确的是_________ A
源程序注解中可以有换行符 B C程序总是从第一个函数开始运行的C 源程序中的注解可以嵌套
D C程序是由用户函数和库函数构成的14、一个C程序的执行是从______。 A 本程序的main函数开始,到main函数结束 B 本程序文件的第一个函数开始,到本程序的最后一个文件结束 C 本程序的main函数开始,到本程序文件的最后一个函数结束 D 本程序文件的第一个函数开始,到本程序main函数结束 15、C语言规定:在一个源程序中,main函数的位置______。 A 必须在最开始 B 必须在系统调用的库函数的后面 C 可以任意 D 必须在最后 四、编程题1、编写程序,输出下列内容:***************
提问者采纳
dabaddaccdaac这个编程题简单,直接在main函数中加printf(&*&/n&**&/n&***&/n&****&/n&*****&/n)就行了
提问者评价
超感谢了。
其他类似问题
为您推荐:
c语言的相关知识
其他2条回答
2b 3a 4c 5a 6d 7b 8b 9c 10b 11c 12b 13d 14a 15cmain(){int i,j;a='*';for(i=1;i&=5;i++)for (j=1;j&=i;j++){putchar(a);}printf(&\n&);}
#include&stdio.h&void main(){
for(i=0;i&=5;i++)
for(j=0;j&i;j++)
printf(&*&);
printf(&\n&);
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁谁帮我解释下这道C语言题_百度知道
谁帮我解释下这道C语言题
给定程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。例如,当字符串中的内容为“abcdabfabcdx”、t中的内容为“ab”时,输出结果应是abcdx。当字符串中的内容为“abcdabfabcdx”、t中的内容为“abd”时,则程序输出未找到信息not be found!。请改正程序中的错误,使其能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include
&stdio.h&#include
&string.h&char *fun(char *s,char *t){
char *p,*r,*a;
if(*r==*p)
{r++;p++;}
if(*r=='\0')
char s[100],t[100],*p;
printf(&\nPlease enter string S :&);
scanf(&%s&,s);
printf(&\nPlease enter substring t :&);
scanf(&%s&,t);
p=fun(s,t);
if(p) printf(&\nThe result is :%s\n&,p);
else printf(&\nNot found !\n&);}解释下FUN函数的功能是如何实现的,&字符串中最后一次出现的t所指子字符串的地址&.这句话怎么实现,总感觉BREAK用的不对,谁能解释下,谢谢
能具体解释下FUN函数吗,我不太明白,我想知道每步起什么作用
提问者采纳
错误就一个Null应该为大写的,那个scanf(&%s&,s); scanf(&%s&,t);里面的s和t本身代表就是地址所以前面不用加&&&号的,改了之后就可以运行了,我亲自用TC2.0试的.楼上的 把你的这句&&楼下的.. s 和 t 是数组的指针啊 scanf(&%s&,s)是对的...&& 改一下吧
最好改成名字.....
其他类似问题
为您推荐:
其他2条回答
用的对不对 你自己把代码放到编译器编译一下楼下的..
s 和 t 是数组的指针啊 scanf(&%s&,s)是对的...
目前有两个错误1.a=N
应该改为 a=NULL, C语言区分大小写2.scanf(&%s&,s); scanf(&%s&,t); 这两句应该改为scanf(&%s&,&s); scanf(&%s&,&t);
这个取地址符号不能忘,s和t是字符数组的首地址,可以看作代表整个数组。scanf中输入&s和&t就是存放s和t的地方改了后应该可以正常运行
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁一道我不能理解的c语言题,希望大家帮我解答,谢谢_百度知道
一道我不能理解的c语言题,希望大家帮我解答,谢谢
有以下程序: #include&stdio.h& #include&stdlio.h& void fun(int*pl,int*p2,int*s) {
s=(int*)malloc(sizeof(int));
 *s=*pl+*p2;
 free(s); }main(  )
{ int a=1,b=40,*q=&a;
 fun(&a,&b,q);
 printf(&%d\n&,*q); }
程序运行后的输出结果是(  )。
提问者采纳
选C因为调用fun函数相当于是把q这个指针的值传递出去,在fun函数中有另一个s指针来接收这个值,但s接收完之后,直接就又被赋了一个新的地址((int*)malloc(sizeof(int))此句又重新申请了一个空间,并把该空间的地址值赋给了s);此时其实,fun里面的操作与原q已没什么关系了,q除了在一开始把自己的值拷贝了一份传出去后就没再变过,如此,在最后输出时,它保存的还是a的地址,所以是1
提问者评价
其他类似问题
1首先说函数void fun(int*pl,int*p2,int*s)我们知道,函数传参数有两种方式,传值和传址。可能理解上比较难,我们说的简单点,以一个交换函数为例int
swap(int a, int b),不论a, b什么值,在调用以后,都没法交换,如果想达到交换a,b的目的,就要使用int swap(int * a, int * b),或者int swap(int &a, int &b)(如果想详细了解,随便搜搜传值传址就OK。)。那么,想要改变一个指针的值呢(指针的值其实就是它指向的地址)?有了上面的参考,是不是需要用一个指向指针的指针呢?叫做2级指针。
为您推荐:
其他2条回答
C q最初指向变量a的地址,因此*q=1.之后q作为参数调用func,会生成一个q 的副本赋值给s,s的改变不会影响到q值
Cq指针的值没变;所以q还是a的地址。
c语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁第三次c语言题_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
第三次c语言题
C​语​言​我​们​学​校​做​的​部​分​题​目
阅读已结束,如果下载本文需要使用
想免费下载本文?
你可能喜欢

我要回帖

更多关于 c语言面试题 的文章

 

随机推荐