- C语言里面,%d %c %f分别是什么意思?怎么用?
- c语言输入一个字符串,如何在指定位置插入一个字符?
- 在C语言的if语句中,用做判断的表达式是什么表达式?
- c语言中"*s"这是什么意思?
- 在c语言中,所有函数调用之前都必须声明,为什么不对?
C语言里面,%d %c %f分别是什么意思?怎么用?
占位符%在c和c++中如果调用输入/输出函数(scanf/printf)需要加上,起到格式占位的作用,意思是在该位置有输入或输出,%c表示输入/输出一个字符,%d表示输入/输出一个十进制整数,当然,如果通过流(cin/cout)就不必使用占位符。附上常用占位符。最后,建议题主好好看书,这些都是c/C++基础中的基础。iPad码字不容易,觉得靠谱就粉我咯.....XD
c语言输入一个字符串,如何在指定位置插入一个字符?
#include<stdio.h>
#include<string.h>
main()
{ int i,j,k,m,n;
char a[100],b[100],c;
gets(a);
gets(b);
c=getchar();
m=strlen(a);
在C语言的if语句中,用做判断的表达式是什么表达式?
一般情况下这个是选逻辑表达式的。因为if是逻辑判断,但如果放在c和C++语言中,所有非零运算结果均识为true,不须强制转换,所以这里选d是正确的。但是在其他语言中是不正确的。
它主要考查的内容就是,C/CPP中并没有真正的布尔值,只是将非零数认作false而已。所以你可以理解为if是判断非零数即可,或者理解为其它。实际上,在C/CPP中的布尔值是用int表示的。也就是16位进制数表示,并不是单纯的一个bit。
如int a =5;if(a) 语句块; 该代码在C/CPP中是合法的,但是C#中是不合法的,无法通过编译器编译。
所以若在C/CPP中选逻辑表达式时,很明显算术达式是不能成立的。
而关系表达式的结果就是逻辑值(也可以将逻辑值认为是逻辑表达式)。
比如int a=5, b=6;a>b是关系表达式,结果是逻辑值false,但false可以看作是逻辑值,也可以看作是逻辑表达式。
而a-b则是算术表达式,三者均可以做为if的判断条件。
所以即使在C#语言中,严格区分的情况下,关系表达式也是被认为可行的,而逻辑表达式也是可以得到逻辑结果的。所以这里应当是选择了做任意表达式。
c语言中"*s"这是什么意思?
取决于在scanf中使用还是在printf中使用。 在scanf中使用,则添加了*的部分会被忽略,不会被参数获取。 例如:int a,b;char b[10];scanf("%d%*s",&a,b);输入为:12 abc那么12将会读取到变量a中,但是后面的abc将在读取之后抛弃,不赋予任何变量(例如这里的字符数组b) 在printf中使用,表示用后面的形参替代的位置,实现动态格式输出。
例如: printf("%*s",10,s);/意思是输出字符串s,但至少占10个位置,不足的在字符串s左边补空格,这里等同于printf("%10s",s)
;/
在c语言中,所有函数调用之前都必须声明,为什么不对?
函数原型就是使用一个函数前,对一个函数的预先的一个声明,说明下面要用到这样一个函数。函数原型一般由函数名、参数表、返回值类型组成。
函数原型不是必需的。如果你对这个函数的完整定义出现在使用这个函数之前,就不需要函数原型了。
charget(inti)这样一个函数在使用时,就像这样调用:
c=get(a);
其中a是预先定义好的一个int,然后函数执行时,a的值就是get函数中的i,get函数中return的值,就赋值给主调函数里的c