㈠ c語言中字元數組與數值型數組在輸入輸出時有什麼區別
以\0結束的字元數組是字元串,輸出的時候可以用%s控制輸出,別的基本一直,字元數組的每一個字元char類型可以看作小的整型,輸入都只能逐個輸入,賦值的話字元數組可以用雙引號類的一段內容來復制如char a[]="hello,worle!";系統會自動在字元數組末尾添加一個『\0',表示字元串,數值型數組只能 {12,32,21……}這樣
㈡ 簡單的編程問題,c語言中,我定義了一個結構體數組,但結構體中的各個元素的類型是不同的,比如一個學生
1.輸入完成後進行判斷即可,如輸入的學號是多少位如果不是12位則返回錯誤,然後再遍歷學號(以字元進行輸入)如果字元中不是數字返回錯誤等,或者以數字進行(格式控制)先判斷輸入函數返回是否正確
2.你確定是結構體數組而不是鏈表對吧,那麼遍歷這個數組與數組中相應元素(結構體)中的對應查詢數據比對即可,打到後列印該元素內所有數據
3.刪除可以在結構體中設置一個該元素是否被刪除的標致,初始為未刪除,刪除時標記為刪除即可,由於是數組,刪除數組中元素需要將刪除元素之後的所有元素向前移動一位會比較浪費時間
4.人數不確定則可以使用一個計數用來記錄當前學生數量多少,如果下一個學生的添加超過了這個數量則動態添加數組長度,即使用動態數組
5.一般來說你輸入的數據是存儲在內存中的,程序一旦退出後程序所佔資源被回收所以數據也就丟失了,為了數據不丟失可以將數據保存到一個能夠永久保存資料庫的外部存儲設備比如保存到硬碟上,簡單地說就是保存到文件里,程序啟動時從文件里讀取數據
一般這樣的程序都是使用鏈表來做
當前使用數組也是可以的
之前我就有用結構體數組做過一個簡單的學生管理系統
如果需要寫代碼的話
我可以有償代勞
㈢ 009C/C++C語言字元數組和普通數組的區別
實際上,字元數組和普通數組一樣,沒有本質區別。請大家注意數組類型的含義:數據類型指的是數組所包含的元素的類型,而不是數組名的類型,數組名永遠是一個指針,指向第一個元素的地址,即數組首地址。字元數組的每個元素都是char類型,整型數組的每個元素都是int類型。scanf() 和 printf() 函數有一種格式化字元串 %s 可以用來整體輸入輸出字元數組,但是沒有特定的格式支持 int 數組整體數組輸出。請看下面的代碼:
#include<stdio.h>
intmain(void){
intnum[]={1,2,3,4,5,6,7,8,9,0};
charstr[]="http://see.xidian.e.cn/cpp/";
inti;
// num, str 是地址,由系統分配,與數組本身沒有任何關系
printf("num = %d, str = %d\n",num,str);
// num, str 指向數組首地址
printf("&num[0] = %d, &str[0] = %d\n",&num[0],&str[0]);
// num 等價於 &num[0]
if(num==&num[0]){
printf("num = &num[0]\n");
}
// str 等價於 &str[0]
if(str==&str[0]){
printf("str = &str[0]\n");
}
// 要為某個數組元素賦值,必須取該元素的地址
printf("input a number: ");
scanf("%c",&str[0]);
// scanf() 從 stdin 緩沖區讀取數據
// fflush() 用來清空緩沖區,讓 scanf() 重新從控制台讀取
// 關於 fflush() 詳細解釋請查看:
C語言fflush()
fflush(stdin);
printf("input a char: ");
scanf("%c",&str[0]);
fflush(stdin);
// 使用 scanf() 為數組賦值時
// 可以使用 %s 為字元數組整體賦值
// 但是沒有特定的格式化字元串來為 int數組整體賦值,必須一個一個賦值
printf("Input a string: ");
scanf("%s",str);// str為地址,不需加&
fflush(stdin);
printf("Input 10 number: ");// 以空格為間隔
for(i=0;i<10;i++){
scanf("%d",&num[i]);// num[i]為某個元素,必須要加&取得它的地址
}
// 取前5個元素作為示例
printf("The final num[] = %d, %d, %d, %d, %d\n",num[0],num[1],num[2],num[3],num[4]);
printf("The final str[] = %s\n",str);
return0;
}
運行結果:num = 1638176, str = 1638164&num[0] = 1638176, &str [0] = 1638164num = &num[0]str = &str[0]input a number: 5↙input a char: e↙Input a string: C語言中文網↙Input 10 number: 12 34 56 78 90 23 45 78 09 54↙The final num[] = 12, 34, 56, 78, 90The final str[] = C語言中文網再強調一次,數組類型是數組元素的類型,數組名是指向數組首地址的指針,scanf() 的參數列表必須是指針。
㈣ c語言中數組有幾種
我們常見的C需要類型數組有:
char:只允許輸入字元,
int:是整型變數,輸入整數,范圍不大,在-32767到32767,
float:輸入可以使小數也可以輸入整數,在不確定的情況下,就用float,范圍還是比較的大,
double:如果說float是四個位元組的話,大伯是八個位元組。范圍比float大好多。
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。 盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性。
以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。 二十世紀八十年代,為了避免各開發廠商用的C語言語法產生差異,由美國國家標准局為C語言制定了一套完整的美國國家標准語法,稱為ANSI C,作為C語言最初的標准。
目前2011年12月8日,國際標准化組織(ISO)和國際電工委員會(IEC)發布的C11標準是C語言的第三個官方標准,也是C語言的最新標准,該標准更好的支持了漢字函數名和漢字標識符,一定程度上實現了漢字編程。
㈤ C語言的數據類型分為幾種
short、int、long、char、float、double
這六個關鍵字代表C 語言里的六種基本數據類型。
在不同的系統上,這些類型占據的位元組長度是不同的:
在32
位的系統上
short
占據的內存大小是2 個byte;
int占據的內存大小是4
個byte;
long占據的內存大小是4
個byte;
float占據的內存大小是4
個byte;
double占據的內存大小是8
個byte;
char占據的內存大小是1
個byte。
具體可以用sizeof測試一下即可。
(5)c語言數組類型不同擴展閱讀:
C語言是一門通用計算機編程語言,廣泛應用於底層開發。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
㈥ 在C語言裡面的數據的存儲不同類型的數據用同一個數組怎麼做
c語言,數據類型的作用反應數據和操作的意義,要更改一段機器碼或者二進制的數據,只需要藉助指針對數據進行重新的說明即可,比如。
unsignedintui=0x3f8ccccd;//一個無符號整數
floatf=*(float*)&ui;//這樣就可以表示成1.1f了
㈦ C語言字元數組和普通數組的區別
字元數組除了可以具有普通數組的所有功能和用法之外,還可以作為字元串使用,可以gets、puts或者scanf、printf使用%s整體輸入輸出。
㈧ c語言中如何定義行與列數據類型不同的二維數組
這個是不能實現的,所謂數組,就是數據類型相同的一個數據集合,如果要數據類型不同,只能定義在不同的數組中。
㈨ c語言的基本類型數據有哪幾種
1、整型int2(或4)同短整型(或長整型)
2、短整型short2-32768~32767
3、長整型long4-2的31次方~2的31次方-1
4、無符號整型unsigned[int]2(或4)同無符號短整型(長整型)
5、無符號短整型unsignedshort20~65535(0~2的16次方-1)
6、無符號長整型unsignedlong40~2的32次方-1
7、單精度實型float4-10的38次方~10的38次方
8、雙精度實型double8-10的308次方~10的308次方
9、字元型char1-128~127
(9)c語言數組類型不同擴展閱讀
unsignedlong的使用
例:
#include<cstdio>
intmain()
{
unsignedintui=-1;
unsignedlongul=-1;
unsignedlonglongull=-1;
size_tst=-1;
printf("ui=%u,ul=%lu,ull=%llu,st=%zu ",ui,ul,ull,st);
return0;
}