A. c語言,定義一種結構類型,能實現一個人的姓名,年齡,身高,體重信息
代碼:
#include<stdio.h>
structpeople{
charname[10];
intage;
inthigh;//單位cm
floatweight;//單位kg
}p;
intmain(){
printf("請輸入您的姓名、年齡、身高cm、體重kg(空格分開): ");
scanf("%s%d%d%f",&p.name,&p.age,&p.high,&p.weight);
printf("您的個人信息:姓名:%s,年齡:%d歲,身高:%dcm,體重:%0.2fkg ",p.name,p.age,p.high,p.weight);
return0;
}
運行:
B. C語言中變數名有什麼要求
C語言中變數名可由三類字元:字母、下劃線、數字組成。變數名只能由字母或下劃線開頭。變數名不能具有二義性。變數名有長度要求,有效長度是31個字元。在起定的名字中!超出長度規定的部分將被截掉。變數名中的字母不限大小寫,但大小寫意義不同。
(2)c語言數據類型可以任意取名字嗎擴展閱讀:
變數名常用命名法:
1、匈牙利命名法,是在每個變數名的前面加上若干表示數據類型的字元。基本原則是:變數名=屬性+類型+對象描述。如i表示int,所有i開頭的變數命都表示int類型。s表示String,所有變數命以s開頭的都表示String類型變數。
2、駱駝命名法,是指混合使用大小寫字母來構成變數和函數的名字。駝峰命名法跟帕斯卡命名法相似,只是首字母為小寫,如userName。因為看上去像駝峰,因此而得名。
3、帕斯卡命名法,即pascal命名法。做法是首字母大寫,如UserName,常用在類的變數命名中。
C. C語言如何用數組存儲一些中文名字,並且可以隨機抽取一個名字輸出
示例
更多C語言教程
D. c語言中想用字元串保存人名的話 應該保存在什麼類型的數據下能給我個例子嗎 輸入名字然後輸出名字
用字元串數組。
#include <stdio.h>
#include<math.h>
void main()
{
char name[4][20];//存儲4個名字,每個名字最多20個字元
scanf("%s",name[0]);
printf("%s",name[0]);
scanf("%s",name[1]);
printf("%s",name[1]);
scanf("%s",name[2]);
printf("%s",name[2]);
scanf("%s",name[3]);
printf("%s",name[3]);
getche();
}
E. C語言中函數名可以隨便命名的嗎,命名之後能實現哪些功能呢,比如char WQX01
1.
函數名是標識符,可以以字母或下劃線開頭,後接任意數量的字母、下劃線、數字的組合。
2.
函數的功能由定義函數時包含的代碼決定。
3.
char WQX01;不是一個函數,它是字元類型的變數。要將WQX01定義成函數,可以這樣做:
void WQX01()
{
printf("你好\n");
}
這個函數的功能就是列印你好到控制台窗口。
F. c語言中什麼時候實參和形參應該不一樣
你的問題的意思不明確啊。簡單為你說下吧。
形參是定義函數時的參數,目的是用來接收調用函數時的實參值。實參是調用函數時的參數,為函數對應的形參提供明確的數值或地址。函數調用中發生的數據傳送是單向的。即只能把實參的值傳送給形參,而不能把形參的值反向地傳送給實參。
形參和實參可以相同也可以不相同,但實參和形參在數量上,類型上,順序上應嚴格一致。
例如:
int
process(int
a
,double
b)
//a,b為形參,沒有具體數值
{
b=a*2;
return
b;
}
int
main()
{
int
a=1
;
double
b;
process(a,b);
//a,b為實參,a具體的值由main()中定義初始化的a對應傳入,b由process的函數體計算可得。
printf("%f",b);
}
形參變數只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。函數調用結束返回主調函數後則不能再使用該形參變數。
G. c語言數據類型問題
1.概述
C 語言包含的數據類型如下圖所示:
2.各種數據類型介紹
2.1整型
整形包括短整型、整形和長整形。
2.1.1短整形
short a=1;
2.1.2整形
一般佔4個位元組(32位),最高位代表符號,0表示正數,1表示負數,取值范圍是-2147483648~2147483647,在內存中的存儲順序是地位在前、高位在後,例如0x12345678在內存中的存儲如下:
地址:
數據:78563412
定義:用int關鍵字,舉例如下:
int a=6;
2.1.3長整形
long a=10;
2.2浮點型
浮點型包括單精度型和雙精度型。
2.2.1單精度型
浮點型,又稱實型,也稱單精度。一般佔4個位元組(32位),
float a=4.5;
地址:
數據:00009040
2.2.2雙精度型
一般佔8個位元組(64位)
double a=4.5;
地址:
數據:0000000000001240
2.3字元類型
在各種不同系統中,字元類型都佔一個位元組(8位)。定義如下:
char c='a';
也可以用字元對應的ASCII碼賦值,如下:
char c=97;
3.數據類型與「模子」 short、int、long、char、float、double 這六個關鍵字代表C 語言里的六種基本數據類型。 怎麼去理解它們呢? 舉個例子:見過藕煤球的那個東西吧?(沒見過?煤球總見過吧)。那個東西叫藕煤器,拿著它在和好的煤堆里這么一咔,一個煤球出來了。半徑12cm,12 個孔。不同型號的藕煤器咔出來的煤球大小不一樣,孔數也不一樣。這個藕煤器其實就是個模子。 現在我們聯想一下,short、int、long、char、float、double 這六個東東是不是很像不同類型的藕煤器啊?拿著它們在內存上咔咔咔,不同大小的內存就分配好了,當然別忘了給它們取個好聽的名字。 在32 位的系統上short 咔出來的內存大小是2 個byte; int 咔出來的內存大小是4 個byte; long 咔出來的內存大小是4 個byte; float 咔出來的內存大小是4 個byte; double 咔出來的內存大小是8 個byte; char 咔出來的內存大小是1 個byte。 (注意這里指一般情況,可能不同的平台還會有所不同,具體平台可以用sizeof 關鍵字測試一下) 很簡單吧?咔咔咔很爽吧?是很簡單,也確實很爽,但問題就是你咔出來這么多內存塊,你總不能給他取名字叫做x1,x2,x3,x4,x5…或者長江1 號,長江2 號…吧。它們長得這么像(不是你家的老大,老二,老三…),過一陣子你就會忘了到底哪個名字和哪個內存塊匹配了(到底誰嫁給誰了啊?^_^)。所以呢,給他們取一個好的名字絕對重要。下面我們就來研究研究取什麼樣的名字好。 4.變數的命名規則 1)命名應當直觀且可以拼讀,可望文知意,便於記憶和閱讀。 標識符最好採用英文單詞或其組合,不允許使用拼音。程序中的英文單詞一般不要太復雜,用詞應當准確。 2)命名的長度應當符合「min-length && max-information」原則。 C 是一種簡潔的語言, 命名也應該是簡潔的。例如變數名MaxVal 就比MaxValueUntilOverflow 好用。標識符的長度一般不要過長,較長的單詞可通過去掉「母音」形成縮寫。 另外,英文詞盡量不縮寫,特別是非常用專業名詞,如果有縮寫,在同一系統中對同一單詞必須使用相同的表示法,並且註明其意思。 3)當標識符由多個片語成時,每個詞的第一個字母大寫,其餘全部小寫。比如: int CurrentVal; 這樣的名字看起來比較清晰,遠比一長串字元好得多。 4)盡量避免名字中出現數字編號,如Value1,Value2 等,除非邏輯上的確需要編號。比如驅動開發時為管腳命名,非編號名字反而不好。 初學者總是喜歡用帶編號的變數名或函數名,這樣子看上去很簡單方便,但其實是一顆顆定時炸彈。這個習慣初學者一定要改過來。 5)對在多個文件之間共同使用的全局變數或函數要加范圍限定符(建議使用模塊名(縮寫)作為范圍限定符)。 (GUI_ ,etc)標識符的命名規則: 6)標識符名分為兩部分:規范標識符前綴(後綴) + 含義標識。非全局變數可以不用使用范圍限定符前綴。
7)作用域前綴命名規則。
8)數據類型前綴命名規則。
9)含義標識命名規則,變數命名使用名詞性片語,函數命名使用動詞性片語。例如:
變數含義標識符構成:目標詞+ 動詞(的過去分詞)+ [狀語] + [目的地];
函數含義標識符構成:動詞(一般現時)+目標詞+[狀語]+[目的地]; 10)程序中不得出現僅靠大小寫區分的相似的標識符。例如: int x, X; 變數x 與X 容易混淆 void foo(int x); 函數foo 與FOO 容易混淆 void FOO(float x); 這里還有一個要特別注意的就是1(數字1)和l(小寫字母l)之間,0(數字0)和o(小寫字母o)之間的區別。這兩對真是很難區分的,我曾經的一個同事就被這個問題折騰了一次。 11)一個函數名禁止被用於其它之處。例如: #include "c_standards.h" void foo(int p_1) { int x = p_1; } void static_p(void) { int foo = 1u; } 12)所有宏定義、枚舉常數、只讀變數全用大寫字母命名,用下劃線分割單詞。例如: const int MAX_LENGTH = 100; //這不是常量,而是一個只讀變數,具體請往後看 #define FILE_PATH 「/usr/tmp」 13)考慮到習慣性問題,局部變數中可採用通用的命名方式,僅限於n、i、j 等作為循環變數使用。 一定不要寫出如下這樣的代碼: int p; char i; int c; char * a; 一般來說習慣上用n,m,i,j,k 等表示int 類型的變數;c,ch 等表示字元類型變數;a 等表示數組;p 等表示指針。當然這僅僅是一般習慣,除了i,j,k 等可以用來表示循環變數外,別的字元變數名盡量不要使用。 14)定義變數的同時千萬千萬別忘了初始化。定義變數時編譯器並不一定清空了這塊內存,它的值可能是無效的數據。這個問題在內存管理那章有非常詳細的討論,請參看。 15)不同類型數據之間的運算要注意精度擴展問題,一般低精度數據將向高精度數據擴展。
H. C語言求助
typedef 的作用是定義一個類型名,使他和已經存在的類型名具有相同的定義變數的功能,例如 我們熟悉 unsigned int 類型 是表示無符號整形數據,定義無符號整數的時候可以這樣 unsigned int i; 如果你覺得這樣麻煩的話你可以定義一個UINT 表示unsigned int類型 定義方式為 typedef unsigned int UINT ,以後再定義無符號數據就可以使用UINT i 的形式了,和unsigned int i;效果一樣。
另外 *符號是作用於一個指針上的,它的含義就是取得這個指針的內容,例如int a=3,*p; p=&a,那麼就說明*p=3 ,因為通過p=&a 將p指向了a這塊存儲區
I. 在c語言中,函數可以任意命名嗎
函數名也是標示符,要符合標示符的命令規則。
_或者字元開頭,只能包含_、字母和數字。
重名的函數要求參數不能相同。
J. C語言怎樣取得枚舉型的名字 而不是值
在C語言中,枚舉類型是被當做int或者unsigned int類型來處理的,所以按照C語言規范是沒有辦法遍歷枚舉類型的。
不過在一些特殊的情況下,可以實現有條件的遍歷。
1 枚舉類型必須連續。
由於枚舉類型支持如下方式定義:
enum
{
ENUM_0,
ENUM_10 = 10,
ENUM_11
};
這樣就會導致枚舉類型不連續,這種枚舉無法遍歷。
2 枚舉類型中人為加入起始及結束標記。
enum
{
ENUM_START,
ENUM_0,
ENUM_1,
ENUM_2,
ENUM_END
};
可以看到,在這個枚舉類型中,人為加入可ENUM_START, 和ENUM_END。中間的ENUM_0,ENUM_1,ENUM_2才是實際的有效數據。當後續需要增刪枚舉元素時,也要保證ENUM_START, 和ENUM_END分別為最小和最大值。
滿足以上兩種條件下,就可以做枚舉的遍歷了,參考代碼如下:
int i;
for(i = ENUM_START+1; i<ENUM_END; i ++)
{
//使用枚舉元素。
}
這個循環中,i的值就是所有有效的枚舉元素值。