溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

【小白到大牛之路3】交換機(jī)后臺(tái)管理之用戶輸入

發(fā)布時(shí)間:2020-08-05 21:06:32 來(lái)源:網(wǎng)絡(luò) 閱讀:265 作者:wx5de7b5143d243 欄目:編程語(yǔ)言

項(xiàng)目需求

用戶登錄時(shí),需要輸入用戶名和密碼。

項(xiàng)目實(shí)現(xiàn)

#include <stdio.h>

int main(void) {
// 定義變量,用來(lái)表示用戶名和密碼
char name;
int password;

// 輸入用戶名和密碼
printf("請(qǐng)輸入用戶名:");
scanf("%c", &name);
printf("請(qǐng)輸入密碼:");
scanf("%d", &password);

/*
// 打印登錄菜單
printf("---交換機(jī)后臺(tái)管理---\n");
printf("1. 登錄\n");
printf("2. 創(chuàng)建賬號(hào)\n");
printf("3. 退出\n");
*/

return 0;

}

項(xiàng)目精講

1.C語(yǔ)言的數(shù)據(jù)類型

在C語(yǔ)言中,任何數(shù)據(jù)都有一個(gè)確定的類型。
C語(yǔ)言,是一種“強(qiáng)類型”語(yǔ)言。

2.變量

變量是什么

變量,不是數(shù)學(xué)中的變量。
變量,是一個(gè)內(nèi)存中的一塊存儲(chǔ)空間,即一小塊內(nèi)存。
【小白到大牛之路3】交換機(jī)后臺(tái)管理之用戶輸入

為什么要使用變量
程序在運(yùn)行時(shí),需要保存很多內(nèi)容常常變化的數(shù)據(jù)。
比如,射擊類游戲不斷變化的“分?jǐn)?shù)”。

內(nèi)存的存儲(chǔ)單位-“字節(jié)”
內(nèi)存的記本存儲(chǔ)單位,是字節(jié)。
一個(gè)字節(jié),包含8位二進(jìn)制位。

變量名的命名規(guī)范
只能包含3種字符(數(shù)字、大/小寫字母,下劃線)
不能以數(shù)字開頭(即,只能以字母或下劃線開頭)
不能和“關(guān)鍵字”同名(c語(yǔ)言內(nèi)部已經(jīng)使用的“名稱”),比如類型名int

變量名的最大長(zhǎng)度,C語(yǔ)言沒有規(guī)定。
最大長(zhǎng)度限制,取決于編譯器,一般都在32以上。

變量名,最好“顧名思義”,不用使用漢語(yǔ)拼英!
比如:用name表示姓名,用power表示功率。

變量命令的風(fēng)格:
int student_age;
int studentAge;


3.常用的數(shù)據(jù)類型

字符類型char
一個(gè)字節(jié)。
用來(lái)存儲(chǔ)小范圍的整數(shù)(-128 ~ 127),和“字符”(所有ASCII字符,128個(gè))。

char a = 100;
char b = ‘a(chǎn)’;

整數(shù)類型int
4個(gè)字節(jié)
用來(lái)存儲(chǔ)整數(shù),范圍:- (2的31次方) ~ 2的31次方-1

長(zhǎng)整形long
long 也就是 long int
用來(lái)存儲(chǔ)整數(shù)。
在32位系統(tǒng)上,占4個(gè)字節(jié),和int相同
在64位系統(tǒng)上,占8個(gè)字節(jié)。

長(zhǎng)長(zhǎng)整形long long
用來(lái)存儲(chǔ)整數(shù)。
8字節(jié)。

float類型(單精度浮點(diǎn)類型)
用來(lái)存儲(chǔ)帶小數(shù)部分的數(shù)據(jù)。
4個(gè)字節(jié)

表示方式:按科學(xué)記數(shù)法存儲(chǔ),也就是需要存儲(chǔ)“尾數(shù)”和“指數(shù)”
float x = 1.75E5;
//1.75E5就是1.75乘以10的5次方,只需保存尾數(shù)(1.75)和指數(shù)(5)
float y = 1.123456789;
//精度只能取值到 1.1234568, 在第7位(整數(shù)部分不算)是四舍五入后的值。

表示范圍:-3.410^38~+3.410^38 (不需記憶)
精度:最長(zhǎng)7位有效數(shù)字(是指7位10進(jìn)制位)

double類型(雙精度浮點(diǎn)類型)

用來(lái)存儲(chǔ)帶小數(shù)部分的數(shù)據(jù)。
8個(gè)字節(jié)

表示范圍:-1.710^308~1.710^308(不需記憶)
精度:最長(zhǎng)16位有效數(shù)字(是指16位10進(jìn)制位)


4.變量的定義

實(shí)例:
int x ; //定義了一個(gè)變量,變量名是x, 屬于int類型。
//注意,此時(shí)還沒有確定的值
int y = 100; //定義了一個(gè)int類型變量,變量名是y, 變量的值是100

理解:
變量保存在內(nèi)存中。
變量是一個(gè)“盒子”
變量名是這個(gè)盒子的名稱
變量的值,是盒子內(nèi)存儲(chǔ)的物品
【小白到大牛之路3】交換機(jī)后臺(tái)管理之用戶輸入
語(yǔ)法:
變量類型 變量名;

5.使用scanf輸入數(shù)據(jù)

輸入機(jī)制
空白字符有:空格,制表符(\t), 回車符

char變量的輸入
scanf("%c", &c); //輸入 100 ,實(shí)際只讀了字符1
printf("%c\n", c); //輸出 1
printf("%d\n", c); //輸出49, 字符'1'的ASCII值就是49

int變量的輸入
int a;
scanf("%d", &a); //輸入100
printf("a=%d\n", a); //輸出a=100
scanf("%d", &a); //輸入a, 不是整數(shù),輸入失??!a依舊保持原來(lái)的值
printf("a=%d\n", a); //輸出a=100

char變量使用%d輸入[ERROR]
char a, b;
scanf("%d", &a); //輸入 256 ,按4個(gè)字節(jié)存儲(chǔ),第2個(gè)字節(jié)保存到b變量中!
printf("a=%d,b=%d\n", a, b); //輸出a=0,b=1

float變量的輸入
scanf("%f", &x); //輸入3.14
printf("x=%f", x); //輸出 x=3.140000

double變量的輸入
scanf("%lf", &x); //輸入3.14
printf("x=%f", x); //輸出 x=3.140000
printf("x=%lf", x); //輸出 x=3.140000


輸入double類型變量的值, 必須使用lf 而不是f, 否則輸入失敗。
輸出double類型變量的值,則可以使用lf或者f, 沒有區(qū)別。


scanf注意:
1.當(dāng)使用%s讀取字符串串時(shí),遇到空白字符(空格、制表符,回車符)就結(jié)束
2.使用%c讀取字符時(shí),任何字符都能讀取,但只讀一個(gè)
3.使用%d,%f,%lf 讀取nt , float, double類型數(shù)據(jù)時(shí),會(huì)自動(dòng)轉(zhuǎn)換成對(duì)應(yīng)數(shù)據(jù),
但是如果遇到其他字符(比如a),就會(huì)讀取失敗

6.char數(shù)據(jù)類型的其他輸入輸出函數(shù)


getchar
char c;
c = getchar(); //輸入一個(gè)字符
printf("c=%c\n", c);


putchar
char c = 'a';
putchar(c); //輸出1個(gè)字符, printf(“%c”, c);


getc
char c;
c = getc(stdin); //輸入一個(gè)字符, stdin表示“標(biāo)準(zhǔn)輸入設(shè)備”,默認(rèn)是鍵盤
printf("c=%c\n", c);


putc
char c = 'b';
putc(c, stdout); //輸出1個(gè)字符

項(xiàng)目練習(xí)

1.獨(dú)立實(shí)現(xiàn)該項(xiàng)目。
2.讓用戶輸入一個(gè)圓的半徑,然后輸出這個(gè)圓的面積和周長(zhǎng)。
3.讓用戶輸入一個(gè)小寫字母,然后輸出對(duì)應(yīng)的大寫字母。

項(xiàng)目討論

該項(xiàng)目存在的問(wèn)題:
1.用戶名,只能輸入一個(gè)字符,不能接收很長(zhǎng)的用戶名。
2.密碼很可能不是整數(shù),很可能包含字母和數(shù)字。
密碼不能隱藏,都回顯出來(lái)了,不安全。(在講循環(huán)時(shí)再解決)

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI