c語言xyz
1. c語言一定要用XYZ來看PRINTF
23 x=y=1 z=x++-1, 先取x值,z=x-1=1-1=0
x自加為2
輸出x z為 2 0
然後 z+=-x++ + (++y||++z)
這里 先取x值為2, 然後x自加為3. y和z先自加為2和1,再參與計算。於是表達式為
=-2+(2||1)
對於||操作,為邏輯操作,所有非0值按1處理,於是2||1=1
=-2+1
=-1
輸出x z為3 -1
選A
24
x=-3+4*5-6=-3+20-6=11 輸出11
x=3+4%5-6=3+4-6=1 輸出1
x=-3*4%-6/5=-12%-6/5=0/5=0 輸出0
x=(7+6)%5/2=13%5/2=3/2=1 輸出1
選A
2. C語言中,char *p;p="xyz";什麼意思
p為指針,C語言中沒有專門的字元串類型。 而用字元數組或字元指針代替 。定義一個字元指針並初始化後,其實這個指針保存的是字元串在內存中的首地址。而並不是整個字元串,所以。p="xyz"
其實是把"xyz"字元串在內存中的首地址賦給P..通過p就可以調用字元串了。。
3. C語言 char a[]="xyz",b[]={'x','y','z'} 為什麼a數組長度大於b數組
因為a數組是字元串,
它末尾有一個隱藏的nul字元,所以相當於4個元素。
但是b只有三個元素。
4. 字元串"xyz"在內存中佔用的位元組數是
在C語言中,一個字母字元佔一個位元組。所以表面上看"xyz"是佔了三個位元組。然而C語言中規定,字元串結束後必須跟一個結束字元'\0',因此總共應該是佔了四個位元組
5. 請編寫一c語言程序,實現將輸入的三個整數xyz由小到大的輸出的功能
#include <stdio.h>
#include <string.h>
int main()
{
int a, b, c, min, max;
scanf("%d%d%d", &a, &b, &c);
min = a > b ? b : a;
min = min > c ? c : min;
max = a < b ? b: a;
max = max < c? c:max;
printf("min=%d, max=%d\n", min, max);
return 0;
}
6. c語言中xyz%10結果是特別是xyz是么意思
xyz是整型變數名,xyz%10表示取xyz所存儲數的個位數。若xyz=123,則xyz%10的值就是3。
7. 編寫一個c語言程序,輸入變數xyz的值,根據n=(x·x)+yz/2求n的值
#include<stdio.h>
int main()
{
int x,y,z;
float n;
scanf("%d,%d,%d",&x,&y,&z);
n=(x*x)+y*z/2;
printf("n=%f\n",n);
return 0;
}
8. c語言輸入xyz輸出f(x,y,z)
void main(){
int x,y,z ;
scanf("%d,%d,%d",&x,&y,&z) ;
printf("%s \n",f(x,y,z)) ;
}
int f(int x,int y ,int z){
int s = 0 ;
s+= (g(x,y,z)-x)/(y+z) ;
s+=(g(x,y,z) - y)/(x+z) / (x+z) ;
s+=(g(x,y,z)-z)/(x+y) ;
return s ;
}
int g(int x,int y,int z){
return (x*y*z)/(x+y+z) ;
}
// 大概就是這樣的吧...
9. C語言下面這個符號XYZ
首先是a=Y=X+1=5+1=6
然後列印Z和--a
其中
Z=Y*X/2=X+1*5/2=5+5/2=5+2=7
而--a先自減,再列印值,列印結果就是5
選D
10. 在c語言中「xyz」+1表示什麼意思
「xyz」首地址向後挪一位,騰出存儲空間