當前位置:首頁 » 編程語言 » 字元串的輸入和輸出c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

字元串的輸入和輸出c語言

發布時間: 2023-01-20 17:01:26

『壹』 簡單的c語言問題,字元串的輸入輸出

你的寫法沒錯,但是屬於字元數組的輸入輸出。

C語言中字元串輸入有以下方法:
例: char str[80];
1、基本輸入語句: scanf("%s",str);
2、字元串專用輸入函數: gets(str);

C語言中字元串輸出有以下方法:
例: char str[80]="abcd";
1、基本輸入語句: printf("%s",str);
2、字元串專用輸入函數: puts(str);

『貳』 C語言輸入輸出字元串

ch【5】緩沖區過短,導致溢出,ch【5】中只存了 你輸入的前5個字元,限定輸入用scanf(「%5s」,ch)就行了,這樣ch中就是就是存的你數入的前5個字元,至於char ch;錯誤是因為格式化錯誤,即%s和ch不匹配,char ch【】在c語言中是不成立的,數組必須是定長的。

『叄』 在C語言中如何實現用鍵盤輸入一個字元串,並列印出來

在C語言中實現用鍵盤輸入一個字元串,並列印出來的解決方法如下:

1、首先定義一個字元串數組,如你可以給字元串100個數組空間。如圖括弧內數字即為你定義的數組大小。

(3)字元串的輸入和輸出c語言擴展閱讀:

字元數組的輸出:

(1)用putchar()或printf()的『%c』格式符對數組進行字元賦值。例如,對於數組a[10]:用putchar()賦值:

for(i=0;i<10;i++)

a[i]=putchar();

用printf()賦值:

for(i=0;i<10;i++)

printf("%c",a[i]);

輸出結果為:

c program[2]

(2)用printf()的'%s'格式對數組賦值。還是對於數組a[10];

printf("%s",a);

輸出結果為:

c program

參考資料來源:

網路-char

網路-字元數組

『肆』 C 字元串和格式化輸入與輸出

1.前導程序

2.關於字元串

(1)字元串是一個或多個字元的序列。如"I am a student!"。

(2)C語言用空字元來標記一個字元串的結束。數組的單元數必須至少比要存儲的字元數多1。

(3)字元串和字元。'x'和"x"的區別(後者是一個字元串由'x'和'\0'組成)。

(4)Sizeof()和strlen()函數。

同一個字元串,sizeof()把標志字元串結尾的空字元計算在內,長度比strlen()大1.

strlen()以 字元 為單位給出字元串的長度。sizeof()給出數組的長度(分配的內存單元)。

獲取一個類型大大小~獲取一個具體量的大小。sizeof(char)和sizeof (name)=sizeof name。

sizeof()和strlen()

3.常量和C預處理器

(1)常量如0.015。float taxrate=0.015。把常量0.015賦值給變數taxrate,但程序可能意外的改變它的值。

(2)兩種方法const修飾符和#define預處理命令

const  int MONTHS=12;

#define MONTHS     +12;(#define TEE  'T')(#define OOPS  "Now you have it!")

4.printf()函數

(1)printf():(「控制描述"+變數列表)~(變數使用的是值,無論該值是變數、常量、還是表達式)。

(2)printf()轉換說明符:%c--一個字元、%d--有符號十進制整數、%e--浮點數e記數法、%、f--浮點數十進制、%p--指針、%%--列印一個%、%s--字元串...:

請避免不匹配的轉換。

(3)printf()標志符:-(左對齊)、+(帶符號)、#(...)、0(對所有數字格式,用前導0填充欄位寬度)

列印一個字元串的前8個字元,欄位寬度為8字元(%8.8s)

列印雙引號\"....\"

列印一個欄位寬度在參數列表中給定的八進制整數(%*0).

%5d(00006)

指定固定欄位寬度(有效防止溢出)

(4)用printf()列印較長的字元串

a.採用多個printf()函數;

b.在一個printf()中採用(\)和回車鍵

c.採用字元串連接方法("Hello""world")

(5)printf()的函數返回值(返回所列印字元的數目,如果輸出有誤則返回-1,常用於檢查輸出錯誤。向文件中而非屏幕)

5.scanf()函數

(1)scanf()會在遇到第一個空白字元空格、製表符、或者換行符處停止讀取。~gets()函數可以用來讀取一個字元串。

(2)讀取變數類型的值加&,把字元串讀進一個字元數組不使用&。

(3)scanf("%d,%d",&n,&m)接受輸入  1,2   {scanf("%c",&ch)讀取在輸入中遇到的第一個字元}

6.關於修飾符*

printf()中在欄位寬度部分使用*來代替數字

scanf()中*使函數跳過相應的輸出項目(scanf("%*d%*d%d",&n);前兩個跳過)

『伍』 c語言字元串數組怎麼輸入和輸出呢

在C語言中,有兩個函數可以在控制台(顯示器)上輸出字元串,它們分別是:

puts():輸出字元串並自動換行,該函數只能輸出字元串。

printf():通過格式控制符%s輸出字元串,不能自動換行。除了字元串,printf() 還能輸出其他類型的數據。

這兩個函數相信大家已經非常熟悉了,這里不妨再演示一下,請看下面的代碼:

#include <stdio.h>

int main(){

char str[] = "http://c.biancheng.net";

printf("%s ", str); //通過字元串名字輸出

printf("%s ", "http://c.biancheng.net"); //直接輸出

puts(str); //通過字元串名字輸出

puts("http://c.biancheng.net"); //直接輸出

return 0;

}

運行結果:

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

http://c.biancheng.net

注意,輸出字元串時只需要給出名字,不能帶後邊的[ ],例如,下面的兩種寫法都是錯誤的:

printf("%s ", str[]);

puts(str[10]);

(5)字元串的輸入和輸出c語言擴展閱讀:

由數字、字母、下劃線組成的一串字元。一般記為 s=「a1a2···an」(n>=0)。它是編程語言中表示文本的數據類型。在程序設計中,字元串(string)為符號或數值的一個連續序列,如符號串(一串字元)或二進制數字串(一串二進制數字)。

字元串在存儲上類似字元數組,它每一位單個元素都是能提取的,字元串的零位是它的長度,如s[0]=10,這提供給我們很多方便,例如高精度運算時每一位都能轉化為數字存入數組。

『陸』 C語言:字元串輸入與輸出

#include
<stdio.h>
int
main()
{
char
str1[21]
=
{0},
str2[21]
=
{0},
str3[21]
=
{0};
//
getchar實現
printf("請輸入一個長度不超過20的字元串(getchar實現):");
int
c
=
0,
i
=
0;
while
((c
=
getchar())
!=
'\n')
{
str1[i++]
=
c;
}
//
scanf實現
printf("請輸入一個長度不超過20的字元串(scanf實現):");
scanf("%s",
str2);
getchar();
//
取走緩沖區的換行符
//
gets實現
printf("請輸入一個長度不超過20的字元串(gets實現):");
gets(str3);
//
putchar輸出
printf("putchar輸出:");
i
=
0;
while
(str1[i]
!=
'\0')
{
putchar(str1[i++]);
}
//
printf輸出
printf("\nprintf輸出:");
printf("%s\n",
str2);
//
puts輸出
printf("puts輸出:");
puts(str3);
printf("\n");
return
0;
}
問題答案:
1.
getchar可以根據用戶自定義的字元結束輸入,不受換行符和空白字元的限制
2.
scanf不能輸入空格,另外兩個可以
3.
在保證數據不會超出內存范圍的情況下,用gets和puts最方便
不存在空白字元的情況下,用scanf最方便
如果既有空白字元,又可能越界的情況下,getchar最方便

『柒』 c語言中如何輸入輸出字元串

在<string.h>頭文件中用字元串處理函數輸入和輸出,gest用來輸入,puts用來輸出。

字元串輸入函數gets,從鍵盤鍵入以回車結束的字元串放入字元數組中,並自動加』'。輸入串長度應小於字元數組維數,字元串中可以包含空格。

字元串輸出函數puts,向顯示器輸出字元串(輸出完,自動換行,即用' '替'')。字元數組必須以''結束。

示例代碼如下:

#include<string.h>

int main()

{

char str[40];

printf("請輸入字元串");

gets(str);

printf("請輸出字元串");

puts(str);

system("pause");

return 0;

}

(7)字元串的輸入和輸出c語言擴展閱讀

在C中,對文件的操作分為兩種方式,即流式文件操作和I/O文件操作。

流式文件操作,這種方式的文件操作有一個重要的結構FILE,FILE在頭文件stdio.h中定義如下:

typedef struct {

int level; /* fill/empty level of buffer */

unsigned flags; /* File status flags */

char fd; /* File descriptor */

unsigned char hold; /* Ungetc char if no buffer */

int bsize; /* Buffer size */

unsigned char _FAR *buffer; /* Data transfer buffer */

unsigned char _FAR *curp; /* Current active pointer */

unsigned istemp; /* Temporary file indicator */

short token; /* Used for validity checking */

} FILE; /* This is the FILE object */

直接I/O文件操作,這是C提供的另一種文件操作,它是通過直接存/取文件來完成對文件的處理,此類文件操作常用的函數及其所用的一些符號在io.h和 fcntl.h中定義,在使用時要加入相應的頭文件。

『捌』 C語言上中怎麼樣直接輸入輸出一個字元串

C語言中字元串的輸入和輸出主要有兩種方式:

  1. 輸入使用:scanf("%s",a);對應的輸出使用:printf("%s ",a);

  2. 輸入使用:gets(b);對應的輸出使用:puts(b);

參考代碼:

#include<stdio.h>
intmain()
{
chara[100],b[100];
scanf("%s",a);//方法一
printf("%s ",a);
getchar();//吸收空格

gets(b);//方法二
puts(b);
return0;
}
/*
運行結果:
123
123

456
456
*/