『壹』 c語言問題。隨機產生自然數然後輸出,怎麼寫。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/*
功能:產生一定范圍內的隨機數
參數:
min 隨機數的最小值
max 隨機數的最大值
n 產生的隨機數的個數
返回:
n 個范圍在 [min,max] 的隨機數數組
*/
int* randNumber(int min, int max,unsigned int n)
{
if(min > max || n == 0)
return NULL;
int *data = (int*)malloc(sizeof(int)*n);
if(NULL == data)
return NULL;
srand(time(NULL));
unsigned int i;
for(i=0; i<n; i++)
data[i] = rand()%(max-min) + min;
return data;
}
/*
功能:列印數組中的元素。每行列印的元素可以指定。
參數:
data 要列印的數組
n 數組 data 裡面元素的個數
maxPerLine 列印是每行最多列印的元素個數。
返回:
無
*/
void print(int *data, unsigned int n,unsigned int maxPerLine)
{
if(NULL == data)
return;
unsigned i;
for(i=0; i<n; i++)
{
printf("%d ",data[i]);
if((i+1)%maxPerLine == 0)
printf("\n");
}
if((i+1)%maxPerLine != 0)
printf("\n");
}
int main(int argc, char *argv[])
{
// 隨機數的范圍。因為是三位數,所以范圍是:[100,999]
int min = 100, max = 999;
// 需要的隨機數個數,為 100 個。
unsigned int n = 100;
int *data = randNumber(min, max, n);
if(NULL != data)
print(data, n, 10);
else
printf("產生隨機數失敗!\n");
return 0;
}
/*
運行結果:
100 225 872 575 546 865 473 283 629 836
634 569 643 641 477 317 145 708 713 368
473 817 234 352 237 314 832 308 894 414
296 856 831 781 965 658 317 551 411 948
110 536 635 565 577 651 341 604 389 612
471 237 641 819 282 979 355 630 702 397
633 439 706 110 420 605 123 658 510 656
185 443 495 222 978 782 279 377 412 450
415 432 256 240 291 557 533 329 105 536
922 197 172 490 288 239 639 595 748 163
*/
『貳』 \X在C語言里表示什麼意思
x是轉義字元,告訴編譯器需要用特殊的方式進行處理。x表示後面的字元是十六進制數,表示後面的字元是八進制數。例如十進制的17用十六進製表示就是『x11』,用八進製表示就是『21』。
所有的ASCII碼都可以用「」加數字(一般是8進制數字)來表示。而C中定義了一些字母前加""來表示常見的那些不能顯示的ASCII字元,如, , 等,就稱為轉義字元,因為後面的字元,都不是本來的ASCII字元意思了。
(2)c語言x651擴展閱讀
在C語言中,一個字元除了可以用它的實體(也就是真正的字元)表示,還可以用編碼值表示。轉義字元以或者x開頭,以開頭表示後跟八進制形式的編碼值,以x開頭表示後跟十六進制形式的編碼值。對於轉義字元來說,只能使用八進制或者十六進制。
轉義字元既可以用於單個字元,也可以用於字元串,並且一個字元串中可以同時使用八進制形式和十六進制形式。
字元 1、2、3、a、b、c 對應的ASCII碼的八進制形式分別是61、62、63、141、142、143,十六進制形式分別是31、32、33、61、62、63。
『叄』 C語言中x%5與x%5!=0一樣嗎
while(x%5)
while(x%5!=0)
_______________
if(x%5)
if(x%5!=0)
_____________
for(;x%5;)
for(;x%5!=0;)
___________
do{....}while(x%5);
do{....}while(x%5!=0);
以上的每兩個條件判斷語句都是等價的,在這些語句中使用x%5和x%5!=0,作用是一樣的
『肆』 C語言中(x&15)的意思
按位與,比如x的值為3的話,其二進制就是0011,而15的二進制就是1111,就算如下00111111其結果就是0011,其實還是3。其實呢,這個式子也可以寫成x&0xf,0xf就是十六進制里的15,0x開頭的數字串在一般的程序語言里就是十六進制,如果對於大於15的數,因為15從右數第五位開始就為0了,比如可以寫成00001111,所以如果一個比15大的數與15相與,就結果就只留下了這個數的低位的4位右數4位),比如二進制10100011與15相與就是:1010001100001111結果就是00000011,其實還是3,也就是只截取了這個數的低4位。與此類似,x&0xff,如果x是int型,結果就是截取x的最低的一個位元組。這一種非常常用的截取數據段的一個方法,如果你想截取x的最低8位的數據放到一個unsigned char數據里可以寫成x&0xff,或者你想獲取short數據的高8位的數據,可以寫成x&0xff00。
『伍』 c語言中怎麼運行char x=65
char x=65
這個語句實現了兩個目的:
1是聲明了一個變數x,它的數據類型是字元型(char );
2是對變數x進行了賦值,鑒於c語言的儲存方式,即可以說把ASCII碼為65的字元(A)賦值給了x,也可以說把65存在了變數x的地址上。
『陸』 c語言中X
第4題,我同意「花落へべ若相惜」的解答。
具體分析如下:
4.第一個printf輸出的是指針p的值,即數組a[]的起始地址(也就是a[0]的地址),並且是以16進制數(%x)顯示的;
第二個printf中的p+9將會指向a[9],因為a[]是一個整型數組,故p+9總共向後移動了4*9=36個位元組,36以16進制數表示為:0x24,即p+9將在194(此處是16進制0x194)的基礎上向後偏移0x24,最終結果為0x1b8,即1b8。
我在自己機器上運行的結果:
兩個值正好在16進制上相差24(在十進制上相差36)。
其他兩題未看,嘿嘿嘿嘿。。。。:)
『柒』 c語言,,!x與x!分別表示什麼意思
c語言中只有!x沒有x!,!x的意思就是x!=0。
!x的意思就是x!=0;當X=0時執行while循環;
!即取反,當X!=0時不執行;若x=0,則!x非零;
若x不等於零,則!x=0;一般用if(!x)來做判斷式。
(7)c語言x651擴展閱讀
C語言賦值運算
1、賦值運算符:a=5;
a=b=0;
第一個賦值語句把5賦給變數a;第二個賦值語句的意思是把0同時賦值給兩個變數。這是因為賦值語句是從右向左運算的,也就是說從右端開始計算,先b=0,然後a=b。
2、復合賦值運算符:a=1;a+=3;
上面第二個賦值語句等價於a=a+3;即a=4。
3、算術運算符:Area=Height*Width;num=num1+num2/num3-num4;
第一個賦值語句Height和Width相乘結果賦給變數Area;第二個賦值語句先完成num2與num3的整除運算,然後與num1相加,再減去num4,結果賦給num。運算符運算順序先算乘除再算加減。單目正和單目負最先運算。
『捌』 C語言中,x,是什麼意思
在c語言中,~x代表的意思是按位取反的意思。
使用~進行按位取反時,將某個數x的二進制的每一個bit取反即可得到~x的值。
如~0x37,即~(0011
0111),得到的答案應該為:
~0x37=~(0011
0111)=(1100
1000)=0xc8。
需要注意的是,在c語言中,還有一個邏輯取反符號「!」
「!x」的返回值只有0和1兩種。如果x為0,則!x=1
如果x不等於0.則!x的返回值為0。
『玖』 c語言x的含義是什麼
c語言x的含義是轉義字元,告訴編譯器需要用特殊的方式進行處理。x表示後面的字元是十六進制數,表示後面的字元是八進制數。
C語言簡介:
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。
『拾』 C語言中x!是什麼意思
是一個控制語句,直到x=0才停止循環,!x是求反的意思,只要x值是零才成立。
!x的意思就是x!=0
當X=0時執行while循環
!即取反,當X!=0時不執行
!=組合在一起是邏輯運算符「不等於」
!x--這個表示對x作「非」運算。
(10)c語言x651擴展閱讀
C語言運算符列表:
1、優先順序1級
結合方向左結合(自左至右)
()圓括弧
[]下標運算符
->指向結構體成員運算符
.結構體成員運算符(請注意它是一個實心圓點)
2、優先順序2級
結合方向右結合(自右至左)單目運算符
!邏輯非運算符
~按位取反運算符
++自增運算符
--自減運算符
-負號運算符
(類型)類型轉換運算符
*指針運算符
&地址與運算符
sizeof長度運算符
參考資料來源:網路—c語言運算符號