當前位置:首頁 » 編程語言 » 李明新概念c語言

李明新概念c語言

發布時間: 2023-02-04 00:12:26

A. c語言里fscanf是如何處理%c與%s的

fscanf和scanf一樣,只是前者一般從文件中讀數據,後者從輸入緩沖區讀數據。在scanf中,%c只讀取一個字元,%s是讀取一個字元串——這時會跳過前面的' '、'\t'、'\n'等廣義空格直接接收字元,一個接一個地把接收到的字元依次賦給對應的數組元素,當再次遇到' '、'\t'、'\n'等廣義空格時認為字元接收完畢,就在剛被賦值的元素後增補一個'\0'以表示本次接收的字元串結束。fscanf的接收過程與此完全一樣,只是是從它的第一個文件指針實參指向的文件中讀取的;若把fscanf的第一個實參換成stdin(標准輸入),它就和scanf一樣從鍵盤讀入數據了。

B. c語言輸出%02和%2.0f都是什麼意思啊,還有100310121,李明,M,1991/05/19,72,83,90,82~為了得到這些內容

%10ld指的是以雙精度輸出數據其佔十個單位,%8s指的是以字元串型輸出數據且佔8個單位,%3c指的是以字元型輸出數據且前兩位是空格,%6d指的是以整形數輸出數據且佔6個單位,%02d指的是以整形數輸出數據湛亮個單位但是多餘的空格補在數據後。
說實話你這問題我沒太看懂

C. 求c語言編程:結構體

struct stu{
int num;
char name[10];
char sex;
int age;
int score[3];
int sum;
double ave;
}STU[10]={{203212022,'李明','f',21,87,96,92,85}};

D. C語言編程……

#include"stdio.h"
#include"string.h"
int main()
{
char name[4][15];
int i,j;
float score[3][7];
for(i=0;i<3;i++)
{
printf("enter a student name and five cuase score(english computer stat politics C):\n");
scanf("%s%f%f%f%f%f",name[i],&score[i][0],&score[i][1],&score[i][2],&score[i][3],&score[i][4]);
score[i][6]=0;
for(j=0;j<5;j++)
score[i][6]=score[i][j];
score[i][5]=score[i][6]/5;
if(score[i][6]>=420)
{
puts(name[i]);
for(j=0;j<7;j++)
printf("%.2f\t",score[i][j]);
printf("\n");
}
}
printf("enter you want find name :");
scanf(name[3]);
for(i=0;i<3;i++)
if(strcmp(name[i],name[3])==0)
printf("English score : %.2f\n",score[i][0]);
}

E. c語言如何用getchar分別輸入兩個字元

在a=getchar();後面加一個getchar();吸收多餘的回車
#include<stdio.h>
void main()
{
char a,b;
printf("大家好,我叫李明!\n");
printf("我姓名的第一個字元是:");
a=getchar();getchar();
printf("");
printf("我姓名的第二個字元是:");
b=getchar();getchar();
printf("\n你輸入的兩個字元分別是:");
putchar(a);
printf("、");
putchar(b);
}
這樣就好了
望採納,謝謝

F. C語言跪求大神、

不是我不回答你,是這里壓根寫不下這么多代碼。要不私聊幫你寫了。

G. 為什麼C語言中把一個數組傳入函數中,在函數調用的時候只寫數組名

例子int
num[3]
=
{10,
20,
30}
在內存是這樣存儲
num
0000000a,00000014,0000001e
//16進制形式
你給起始地址函數,那函數就指向了num的地址,int規定了他是16位的,所以引用的時候,就可以按順序引用了。
傳入函數大多都有一個范圍值,以確定作用數組多少元素,以上例子數3。

H. 為什麼李明的c語言視頻教程只有unit 1部分,沒有後面部分呢

←← 我喜歡你上我,喜歡在廚房 陽台 洗衣機旁 勾搭 勾搭

I. C語言結構體的小問題

typedef struct
{int n;
char ch[8];
}PER;
的意思就是將這個結構體定義成為 一個叫 PER的類型

如 typedef int Elem 就是將int 定義成為 Elem 類型

程序實例:

#include <stdio.h>
typedef struct
{int n;
char ch[8];
}PER;
void main()
{
PER a;
gets(a.ch);
scanf("%d",&a.n);

puts(a.ch);
printf("%d\n",a.n);
}

當然如果你不用typedef關鍵字也可以,就是多寫一定,用就更簡潔

程序實例:
#include <stdio.h>
struct A
{int n;
char ch[8];
};
void main()
{
struct A a; //就是 等於 PER 這樣就要寫 struct A 相對麻煩點而已
gets(a.ch);
scanf("%d",&a.n);

puts(a.ch);
printf("%d\n",a.n);
}

這里一定要用有名結構體,因為之前你定義的結構體 成為一個新類型,而這里如果沒有名字,編譯器是不知道你是想訪問哪一個結構體的

J. C語言新手弱弱的問下我下面這個程序,只能輸入數字結束運行,怎麼能讓它輸入字母或者輸入標點符號結束呢

修改了一下你的程序代碼,你再試試
void main()
{
for(;;){

//int i,sum;
int i,sum=0; //給個初值0,當輸入數據為無效數據時,退出!原因見下面說明
//變數在不賦初值時,默認的是個隨機數,多數情況下是0,但也有非零的情況
struct stu man[4]={
{1,"李明",78,98},
{2,"張平",38,95},
{3,"王軍",59,78},
{4,"何凡",67,84}
};

printf("請輸要查找的學號1到4:");
scanf("%d",&sum);//scanf在輸入非數字數據時,不會改變sum的值
//while(sum<0 || sum>4) 這里用while雖然不出錯,但意義卻不對,要正確使用控制語句
if(sum<1 || sum>4) //你的選項是1-4有效,就要檢查輸入數據是否在1-4之間,其他無效退出。
{
printf("輸入錯誤,程序結束\n");
exit(0);
}
for(i=0;i<4;i++){
if (sum==man[i].num){
printf("學號\t姓名\t數學\t語文\n");
printf("%d\t%s\t%d\t%d\n",man[i].num,man[i].name,man[i].yu,man[i].shu);}
}
}
}

熱點內容
java數組包含字元串 發布:2024-11-01 22:31:15 瀏覽:791
伺服器和家用電腦質量 發布:2024-11-01 22:28:29 瀏覽:488
sqlserver默認實例 發布:2024-11-01 22:23:42 瀏覽:959
sort排序java 發布:2024-11-01 22:23:26 瀏覽:47
解壓後的apk無法安裝 發布:2024-11-01 22:22:10 瀏覽:665
公司的pop伺服器地址 發布:2024-11-01 22:22:07 瀏覽:119
朵唯m30手機配置是真的嗎如何 發布:2024-11-01 22:16:56 瀏覽:681
夢幻西遊怎麼清理緩存 發布:2024-11-01 22:15:52 瀏覽:344
如何配置fcm 發布:2024-11-01 22:08:15 瀏覽:854
原裝電腦配置哪個好 發布:2024-11-01 22:05:49 瀏覽:728