㈠ 經典c語言程序例子
題目01:在一個已知的字元串中查找最長單詞,假定字元串中只含字母和空格,空格用來分隔不同的單詞。
(1)簡單的c語言程序100例擴展閱讀:
C語言是一門通用計算機編程語言,應用廣泛。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。
盡管C語言提供了許多低級處理的功能,但仍然保持著良好跨平台的特性,以一個標准規格寫出的C語言程序可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(單片機或稱MCU)以及超級電腦等作業平台。
㈡ 最簡單的c語言編程
很多程序都是非常簡單的:
1.輸入2個正整數m和n,求其最大公約數和最小公倍數
#include<stdio.h>
#include<math.h>
int main()
{
int m,n,p,q,s,r;
printf("請輸入兩個正整數;m,n\n");
scanf("%d,%d",&m,&n);
s=m*n;
if(m<n)
{
p=m;
m=n;
n=p;
}
printf("%d\t%d\n",m,n);/*按從大到小輸出m,n */
while(n!=0)
{
q=m%n;
m=n;
n=q;
}
/*是不是m才是最大公約數啊*/
r=s/m;
printf("m和n最大公約數為 %d\n",m);
printf("m和n最小公倍數為 %d\n",r);/*m和n的積除以m和n的最大公約數即為最小公倍數*/
return 0;
}
2.輸出100以內能被3整除且個位數為6的所有整數。
#include<stdio.h>
int main(void)
{
int i;
for(i=1;i<=100;i++)
if(i%3==0&&i%10==6)printf("%d ",i);
return 0;
}
3. 編程計算從1到10各數階乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#include<stdio.h>
int main(void)
{
int sum,i,term;
sum=0;
term=1;
for(i=1;i<=10;i++)
{
term=term*i;
sum=sum+term;
printf("%d的階乘 %d\n",i,term);
}
printf("1到10各數階乘的和 %d\n",sum);
return 0;
}
4.使用嵌套循環產生下列由大寫字母組成的圖
#include<stdio.h>
int main(void)
{
char ch1,ch2;
for(ch1='A';ch1<='Z';ch1++)
{
for(ch2='A';ch2<=ch1;ch2++)
printf("%c",ch2);
printf("\n");
}
return 0;
}
5. 編程輸出所有三位數中的素數。
#include<stdio.h>
int main(void)
{
int x,i;
for(x=100;x<=999;x++)
{
for(i=2;i<x/2;i++)
if(x%i==0)break;
if(i==x/2)printf("%d ",x);
}
return 0;
}
6. 定義一個函數even(),判斷一個整數是否是偶數。如果是偶數返回1,否則返回0。(要求包括能使程序正常運行的主函數)
#include<stdio.h>
int main(void)
{
int even(int);
int x,y;
scanf("%d",&x);
y=even(x);
if(y==1)
printf("%d 是偶數\n",x);
else
printf("%d 是奇數\n",x);
return 0;
}
int even(int x)
{
if(x%2==0)
return 1;
else
return 0;
}
7. 編寫函數mypow,求整型變數x的y次方。(要求包括能使程序正常運行的主函數)
#include<stdio.h>
int main(void)
{
int mypow(int,int);
int x,y,s;
scanf("%d%d",&x,&y);
s=mypow(x,y);
printf("%d的%d次方是 %d\n",x,y,s);
return 0;
}
int mypow(int x,int y)
{
int sum,i;
sum=1;
for(i=1;i<=y;i++)
sum=sum*x;
return sum;
}
8.輸入一個3位整數,輸出它的逆序數。例如,輸入127,輸出應該是721。
#include<stdio.h>
int main(void)
{
int x,y;
scanf("%d",&x);
y=x/100+x/10%10*10+x%10*100;
printf("%d的逆序數 %d\n",x,y);
return 0;
}
㈢ 跪求c語言程序教程,先上100,搞定追加。
千鋒Mars老師Java語言教程-2013年版,史上最牛java培訓視頻網路網盤免費資源在線學習
鏈接: https://pan..com/s/1115MNWjku3s1Wi2JHGecsw
提取碼: vwi9 千鋒Mars老師Java語言教程-2013年版,史上最牛java培訓視頻 千鋒-java語言教程-43_類集框架(三).mp4 千鋒-java語言教程-42_類集框架(二).mp4 千鋒-java語言教程-41_類集框架(一).mp4 千鋒-java語言教程-40_Java當中的數組.mp4 千鋒-java語言教程-39_深入同步語法.mp4 千鋒-java語言教程-38_Java當中的線程(三).mp4 千鋒-java語言教程-37_Java當中的線程(二).mp4 千鋒-java語言教程-36_Java當中的線程(一).mp4 千鋒-java語言教程-35_內部類和匿名內部類.mp4 千鋒-java語言教程-34_Java當中的IO(三).mp4 千鋒-java語言教程-33_Java當中的IO(二).mp4 千鋒-java語言教程-32_Java當中的IO(一).mp4 千鋒-java語言教程-31_Java當中的異常(二).mp4 千鋒-java語言教程-30_Java當中的異常(一).mp4
㈣ c語言簡單編程
1.輸入2個正整數m和n,求其最大公約數和最小公倍數
#include<stdio.h>
#include<math.h>
int main()
{
int m,n,p,q,s,r;
printf("請輸入兩個正整數;m,n\n");
scanf("%d,%d",&m,&n);
s=m*n;
if(m<n)
{
p=m;
m=n;
n=p;
}
printf("%d\t%d\n",m,n);/*按從大到小輸出m,n */
while(n!=0)
{
q=m%n;
m=n;
n=q;
}
/*是不是m才是最大公約數啊*/
r=s/m;
printf("m和n最大公約數為 %d\n",m);
printf("m和n最小公倍數為 %d\n",r);/*m和n的積除以m和n的最大公約數即為最小公倍數*/
return 0;
}
2.輸出100以內能被3整除且個位數為6的所有整數。
#include<stdio.h>
int main(void)
{
int i;
for(i=1;i<=100;i++)
if(i%3==0&&i%10==6)printf("%d ",i);
return 0;
}
3. 編程計算從1到10各數階乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#include<stdio.h>
int main(void)
{
int sum,i,term;
sum=0;
term=1;
for(i=1;i<=10;i++)
{
term=term*i;
sum=sum+term;
printf("%d的階乘 %d\n",i,term);
}
printf("1到10各數階乘的和 %d\n",sum);
return 0;
}
4.使用嵌套循環產生下列由大寫字母組成的圖
#include<stdio.h>
int main(void)
{
char ch1,ch2;
for(ch1='A';ch1<='Z';ch1++)
{
for(ch2='A';ch2<=ch1;ch2++)
printf("%c",ch2);
printf("\n");
}
return 0;
}
5. 編程輸出所有三位數中的素數。
#include<stdio.h>
int main(void)
{
int x,i;
for(x=100;x<=999;x++)
{
for(i=2;i<x/2;i++)
if(x%i==0)break;
if(i==x/2)printf("%d ",x);
}
return 0;
}
6. 定義一個函數even(),判斷一個整數是否是偶數。如果是偶數返回1,否則返回0。(要求包括能使程序正常運行的主函數)
#include<stdio.h>
int main(void)
{
int even(int);
int x,y;
scanf("%d",&x);
y=even(x);
if(y==1)
printf("%d 是偶數\n",x);
else
printf("%d 是奇數\n",x);
return 0;
}
int even(int x)
{
if(x%2==0)
return 1;
else
return 0;
}
7. 編寫函數mypow,求整型變數x的y次方。(要求包括能使程序正常運行的主函數)
#include<stdio.h>
int main(void)
{
int mypow(int,int);
int x,y,s;
scanf("%d%d",&x,&y);
s=mypow(x,y);
printf("%d的%d次方是 %d\n",x,y,s);
return 0;
}
int mypow(int x,int y)
{
int sum,i;
sum=1;
for(i=1;i<=y;i++)
sum=sum*x;
return sum;
}
8.輸入一個3位整數,輸出它的逆序數。例如,輸入127,輸出應該是721。
#include<stdio.h>
int main(void)
{
int x,y;
scanf("%d",&x);
y=x/100+x/10%10*10+x%10*100;
printf("%d的逆序數 %d\n",x,y);
return 0;
}
9. 編寫一個字元串連接函數,其功能是將兩個字元串連接起來形成一個新的字元串,以實現庫函數strcat()的功能
#include<stdio.h>
int main(void)
{
void mystrcat(char s1[],char s2[]);
char s1[80],s2[80];
scanf("%s%s",s1,s2);
mystrcat(s1,s2);
printf("%s\n",s1);
return 0;
}
void mystrcat(char s1[],char s2[])
{
int i,j;
for(i=0;s1[i]!='\0';i++);
for(j=0;s2[j-1]!='\0';j++)s1[i+j]=s2[j];
}
10. 編寫一個字元串復制函數,其功能是將字元數組s2中的全部字元(包括字元串結束符號'\0')拷貝到字元數組 s1 中,以實現庫函數strcpy()的功能。
#include<stdio.h>
int main(void)
{
void mystrcpy(char s1[],char s2[]);
char s1[80],s2[80];
scanf("%s",s2);
mystrcpy(s1,s2);
printf("%s\n",s1);
return 0;
}
void mystrcpy(char s1[],char s2[])
{
int i;
for(i=0;s2[i-1]!='\0';i++)
s1[i]=s2[i];
}
11.有一字元串,包含n個字元。寫一函數,將此字元串中從第m個字元開始的全部字元復製成為另一個字元串
#include<stdio.h>
int main(void)
{
void mystrcpy2(char s1[],char s2[],int m,int n);
char s1[80],s2[80];
int m,n;
scanf("%d%d",&m,&n);
scanf("%s",s1);
mystrcpy2(s1,s2,m,n);
printf("s1: %s\ns2: %s\n",s1,s2);
return 0;
}
void mystrcpy2(char s1[],char s2[],int m,int n)
{
int i,j;
for(i=m-1,j=0;i<n&&s1[i]!='\0';i++)
s2[j++]=s1[i];
s2[j]='\0';
}
㈤ 簡單C語言程序
1.輸入2個正整數m和n,求其最大公約數和最小公倍數
#include
#include
int main()
{
int m,n,p,q,s,r;
printf("請輸入兩個正整數;m,n\n");
scanf("%d,%d",&m,&n);
s=m*n;
if(m<n)
{
p=m;
m=n;
n=p;
}
printf("%d\t%d\n",m,n);/*按從大到小輸出m,n */
while(n!=0)
{
q=m%n;
m=n;
n=q;
}
/*是不是m才是最大公約數啊*/
r=s/m;
printf("m和n最大公約數為 %d\n",m);
printf("m和n最小公倍數為 %d\n",r);/*m和n的積除以m和n的最大公約數即為最小公倍數*/
return 0;
}
2.輸出100以內能被3整除且個位數為6的所有整數。
#include
int main(void)
{
int i;
for(i=1;i<=100;i++)
if(i%3==0&&i%10==6)printf("%d ",i);
return 0;
}
3. 編程計算從1到10各數階乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#include
int main(void)
{
int sum,i,term;
sum=0;
term=1;
for(i=1;i<=10;i++)
{
term=term*i;
sum=sum+term;
printf("%d的階乘 %d\n",i,term);
}
printf("1到10各數階乘的和 %d\n",sum);
return 0;
}
4.使用嵌套循環產生下列由大寫字母組成的圖
#include
int main(void)
{
char ch1,ch2;
for(ch1='A';ch1<='Z';ch1++)
{
for(ch2='A';ch2<=ch1;ch2++)
printf("%c",ch2);
printf("\n");
}
return 0;
}
5. 編程輸出所有三位數中的素數。
#include
int main(void)
{
int x,i;
for(x=100;x<=999;x++)
{
for(i=2;i<x/2;i++)
if(x%i==0)break;
if(i==x/2)printf("%d ",x);
}
return 0;
}
6. 定義一個函數even(),判斷一個整數是否是偶數。如果是偶數返回1,否則返回0。(要求包括能使程序正常運行的主函數)
#include
int main(void)
{
int even(int);
int x,y;
scanf("%d",&x);
y=even(x);
if(y==1)
printf("%d 是偶數\n",x);
else
printf("%d 是奇數\n",x);
return 0;
}
int even(int x)
{
if(x%2==0)
return 1;
else
return 0;
}
7. 編寫函數mypow,求整型變數x的y次方。(要求包括能使程序正常運行的主函數)
#include
int main(void)
{
int mypow(int,int);
int x,y,s;
scanf("%d%d",&x,&y);
s=mypow(x,y);
printf("%d的%d次方是 %d\n",x,y,s);
return 0;
}
int mypow(int x,int y)
{
int sum,i;
sum=1;
for(i=1;i<=y;i++)
sum=sum*x;
return sum;
}
8.輸入一個3位整數,輸出它的逆序數。例如,輸入127,輸出應該是721。
#include
int main(void)
{
int x,y;
scanf("%d",&x);
y=x/100+x/10%10*10+x%10*100;
printf("%d的逆序數 %d\n",x,y);
return 0;
}
9. 編寫一個字元串連接函數,其功能是將兩個字元串連接起來形成一個新的字元串,以實現庫函數strcat()的功能
#include
int main(void)
{
void mystrcat(char s1[],char s2[]);
char s1[80],s2[80];
scanf("%s%s",s1,s2);
mystrcat(s1,s2);
printf("%s\n",s1);
return 0;
}
void mystrcat(char s1[],char s2[])
{
int i,j;
for(i=0;s1[i]!='\0';i++);
for(j=0;s2[j-1]!='\0';j++)s1[i+j]=s2[j];
}
10. 編寫一個字元串復制函數,其功能是將字元數組s2中的全部字元(包括字元串結束符號'\0')拷貝到字元數組 s1 中,以實現庫函數strcpy()的功能。
#include
int main(void)
{
void mystrcpy(char s1[],char s2[]);
char s1[80],s2[80];
scanf("%s",s2);
mystrcpy(s1,s2);
printf("%s\n",s1);
return 0;
}
void mystrcpy(char s1[],char s2[])
{
int i;
for(i=0;s2[i-1]!='\0';i++)
s1[i]=s2[i];
}
11.有一字元串,包含n個字元。寫一函數,將此字元串中從第m個字元開始的全部字元復製成為另一個字元串
#include
int main(void)
{
void mystrcpy2(char s1[],char s2[],int m,int n);
char s1[80],s2[80];
int m,n;
scanf("%d%d",&m,&n);
scanf("%s",s1);
mystrcpy2(s1,s2,m,n);
printf("s1: %s\ns2: %s\n",s1,s2);
return 0;
}
void mystrcpy2(char s1[],char s2[],int m,int n)
{
int i,j;
for(i=m-1,j=0;i<n&&s1[i]!='\0';i++)
s2[j++]=s1[i];
s2[j]='\0';
}
㈥ 就是C語言經典c程序100例(1--10)
三層循環三個for語句之間是沒有分號的 把第一個和第二個for後面的;去掉
㈦ 一個簡單的c語言程序
很多程序都是非常簡單的:
1.輸入2個正整數m和n,求其最大公約數和最小公倍數
#include<stdio.h>
#include<math.h>
int main()
{
int m,n,p,q,s,r;
printf("請輸入兩個正整數;m,n\n");
scanf("%d,%d",&m,&n);
s=m*n;
if(m<n)
{
p=m;
m=n;
n=p;
}
printf("%d\t%d\n",m,n);/*按從大到小輸出m,n */
while(n!=0)
{
q=m%n;
m=n;
n=q;
}
/*是不是m才是最大公約數啊*/
r=s/m;
printf("m和n最大公約數為 %d\n",m);
printf("m和n最小公倍數為 %d\n",r);/*m和n的積除以m和n的最大公約數即為最小公倍數*/
return 0;
}
2.輸出100以內能被3整除且個位數為6的所有整數。
#include<stdio.h>
int main(void)
{
int i;
for(i=1;i<=100;i++)
if(i%3==0&&i%10==6)printf("%d ",i);
return 0;
}
3. 編程計算從1到10各數階乘的和,即1! + 2! + 3! + …… + 9! + 10! 的和
#include<stdio.h>
int main(void)
{
int sum,i,term;
sum=0;
term=1;
for(i=1;i<=10;i++)
{
term=term*i;
sum=sum+term;
printf("%d的階乘 %d\n",i,term);
}
printf("1到10各數階乘的和 %d\n",sum);
return 0;
}
4.使用嵌套循環產生下列由大寫字母組成的圖
#include<stdio.h>
int main(void)
{
char ch1,ch2;
for(ch1='A';ch1<='Z';ch1++)
{
for(ch2='A';ch2<=ch1;ch2++)
printf("%c",ch2);
printf("\n");
}
return 0;
}
5. 編程輸出所有三位數中的素數。
#include<stdio.h>
int main(void)
{
int x,i;
for(x=100;x<=999;x++)
{
for(i=2;i<x/2;i++)
if(x%i==0)break;
if(i==x/2)printf("%d ",x);
}
return 0;
}
6. 定義一個函數even(),判斷一個整數是否是偶數。如果是偶數返回1,否則返回0。(要求包括能使程序正常運行的主函數)
#include<stdio.h>
int main(void)
{
int even(int);
int x,y;
scanf("%d",&x);
y=even(x);
if(y==1)
printf("%d 是偶數\n",x);
else
printf("%d 是奇數\n",x);
return 0;
}
int even(int x)
{
if(x%2==0)
return 1;
else
return 0;
}
7. 編寫函數mypow,求整型變數x的y次方。(要求包括能使程序正常運行的主函數)
#include<stdio.h>
int main(void)
{
int mypow(int,int);
int x,y,s;
scanf("%d%d",&x,&y);
s=mypow(x,y);
printf("%d的%d次方是 %d\n",x,y,s);
return 0;
}
int mypow(int x,int y)
{
int sum,i;
sum=1;
for(i=1;i<=y;i++)
sum=sum*x;
return sum;
}
8.輸入一個3位整數,輸出它的逆序數。例如,輸入127,輸出應該是721。
#include<stdio.h>
int main(void)
{
int x,y;
scanf("%d",&x);
y=x/100+x/10%10*10+x%10*100;
printf("%d的逆序數 %d\n",x,y);
return 0;
}
㈧ 跪求!!!!!!!!!!!!!!!!最簡單的C語言程序 需要100個語句
#include <string.h>
#include <stdio.h>
#include <math.h>
unsigned int i,l1,l2,k,l,num1,num2,num,result,t1,t2,t,co,power;
unsigned int a[100];int b[100];int c[100];
char s1[100];char s2[100];char s[100];char r[100];
char op[2];
void initial();
void origco();
void judge_sub();
void judge_dif();
void output();
int main(void)
{ initial();
origco();
if (op[0] == '+')
judge_sub();
else if (op[0] == '-')
judge_dif();
output();
system("pause");
}
void initial()
{
scanf("%s",s1);
scanf("%s",op);
scanf("%s",s2);
l1=strlen(s1);
l2=strlen(s2);
num1=num2=0;
t1=t2=0;
}
void origco()
{
if (s1[0]=='-')
{
t1=1;
s1[0]='0';
}
if (s2[0]=='-')
{
t2=1;
s2[0]='0';
} //negtive numbers
for (i=0;i<l1;i++)
num1=num1*10+s1[i]-'0';
for (i=0;i<l2;i++)
num2=num2*10+s2[i]-'0';
printf("%d %c %d\n",num1,op[0],num2); //得到兩個數
i=1;
num=num1;
while (num1>0)
{
a[i]=num1%2;
num1=num1/2;
i=i+1;
}
num1=num;
l1=i;
i=1;
num=num2;
while (num2>0)
{
b[i]=num2%2;
num2=num2/2;
i=i+1;
}
l2=i;
num2=num;
if (l1>l2) l=l1;
else l=l2;
b[l]=t2;
a[l]=t1; //得到10進制原碼
for (i=l1;i<l;i++)
a[i]=0;
for (i=l2;i<l;i++)
b[i]=0;
for (i=l;i>0;i--)
printf("%d",a[i]);
printf("\n");
for (i=l;i>0;i--)
printf("%d",b[i]);
printf("\n"); //2進制原碼
}
void output ()
{
if (co>0)
printf("%d",co);
for (i=l-1;i>0;i--)
printf("%d",c[i]);
printf("\n");
// if (t==1) printf("-");
// printf("%d\n",result);
k=0;
while (result>0)
{
k=k+1;
r[k]=result%10+'0';
result=result/10;
}
// printf("%d",result);
for (i=1;i<=k;i++)
s[i]=r[k-i+1];
s[k+1]='\0';
if (t==1) s[0]='-';
else s[0]='+';
printf("%s",s);
}
void judge_sub()
{
co=0;
if (t1==t2)
{
for (i=1;i<l;i++)
{
c[i]=a[i]+b[i]+co;
if (c[i]>=2)
{
c[i]=c[i]-2;
co=1;
}
else co=0;
}
t=t1;
//if (co==1) printf("overflow");
}
else
if (num1>num2)
{
for (i=1;i<l;i++)
{
c[i]=a[i]-b[i]-co;
if (c[i]<0)
{
c[i]=c[i]+2;
co=1;
}
else co=0;
}
t=t1;
//if (co==1) printf("overflow");
}
else
{
for (i=1;i<l;i++)
{
c[i]=-a[i]+b[i]-co;
if (c[i]<0)
{
c[i]=c[i]+2;
co=1;
}
else co=0;
}
//if (co==1) printf("overflow");
t=t2;
}
c[l]=t;
result=0;
power=1;
for (i=1;i<l;i++)
{
result=result+c[i]*power;
power=power*2;
}
if (co>0) result=result+co*power;
if (co>0)
printf("overflow\n");
printf("%d",t);
}
void judge_dif()
{
co=0;
if (t1==t2)
{
if (num1>=num2)
{
for (i=1;i<l;i++)
{
c[i]=a[i]-b[i]-co;
if (c[i]<0)
{
c[i]=c[i]+2;
co=1;
}
else co=0;
}
t=t1; //if (co==1) printf("overflow");
}
else if(num1 < num2)
{
for (i=1;i<l;i++)
{
c[i]=-a[i]+b[i]-co;
if (c[i]<0)
{
c[i]=c[i]+2;
co=1;
}
else co=0;
}
//if (co==1) printf("overflow");
t = !t1;
}
}
else
{
for (i=1;i<l;i++)
{
c[i]=a[i]+b[i]+co;
if (c[i]>=2)
{
c[i]=c[i]-2;
co=1;
}
else co=0;
}
t=t1;
//if (co==1) printf("overflow");
}
c[l]=t;
result=0;
power=1;
for (i=1;i<l;i++)
{
result=result+c[i]*power;
power=power*2;
}
if (co>0) result=result+co*power;
if (co>0)
printf("overflow\n");
printf("%d",t);
}
㈨ 一百行簡單C語言編程,要有解析的啊,速求啊,
////排列
////////////////////////////////輸入數字字元,使之拼成一個數,且輸出的第一個數為各位依次類推如 12 -》21
/*
#include <stdio.h>
int main(void)
{
char c1, c2;
int x;
int i;
c1 = getchar();
c2 = getchar();
printf("%c%c\n", c2, c1); // 如只是簡單輸出
x = (c1 - '0') + (c2 - '0') * 10; // 轉換成數值
printf("%d\n", x); // 輸出數值
return 0;
}
*/
//////////////////////////////////////輸入數字字元串,使得輸入的數字第一個輸入的排到最後一位,依次排列,最後一個輸入的排到第一位
/*
#include <stdio.h>
#include <string.h>
int main(void)
{
char s[1000] ,*p; //定義字元數組,字元指針變數
int c ; //c用來獲取輸入字元的個數
int j; // J用來計算循環次數
int i; // i用來內部循環數字調換
char temp; //temp用來存儲c個字元中末尾的那個字元
p = s; //將字元數組的地址傳給指針變數p使得P擁有s一樣的首地址
c = strlen( gets(s)); //利用strlen函數得到輸入字元的個數
printf("%d\n",c); //輸出輸入的字元個數
for(j = 1;j<c;j++)
{
//temp = *(p+c-1);
temp = *(p +c-j); //p+c-j,當j=1,temp = 4 ,因為如 1 2 3 4,當執行完下面的數字交換語句後
printf("yaode %c\n",temp); // 4 1 2 3,此時只需要在 1 2 3中進行排序當j=2時temp = 3,否則若超出p+3,temp未知
//for(i=0;i<c-1;i++)
for(i=0;i<c-j;i++)
{
// *(p+c-i-1) = *(p+c-1-i-1);
*(p+c-i-j) = *(p+c-1-i-j); // 當i=0,1 2 3 4 ,將p+2->3賦給p+3,1 2 3 3.
} //當i=1,p+1->2賦給p+2,1 2 2 3 ..依次循環
*p = temp; //執行完第一個for(i)循環 1 1 2 3,此時將temp 的值賦給*p即第一個數字處, 4 1 2 3
p = s; ////////忘記了回歸原位 //執行完上面的語句,p此時復位到&s[0],因為下面p = p + j使得p在不斷的發生變化
printf("%s\n",p);
p= p+j;
}
p = s; //////////忘記了回歸原位
printf("The last result is :%s\n",p);
return 0;
}
*/
////////////////////////////////////商,余,++
/*
#include <stdio.h>
int main(void)
{
int i;
int j;
float m,n;
int k;
int j1,j2,j3;
printf("取余和商的題\n");
/////////////////////////////取余和商的題
i = -5/3;
j = 5/3;
m = 5.0/3;
n = 5/3.0;
printf("%d,%d,%f,%f\n",i,j,m,n);
i = 5%3;
j = 5%(-3);
//m = 5.0%3;
//n = 5%3.0;////// '%' : illegal, right operand has type 'const double'
k = -5%3;
printf("%d,%d,%d \n",i,j ,k );
//////////////////////////////////////////////////////////////////////關於i++,++i的一些東西
printf("關於i++,++i的一些東西\n");
i = 1;
j = 5;
k = 0;
k = i++;
printf("k = %d, i = %d\n",k,i);
j = ++i;
printf("k = %d,j = %d,i = %d \n" ,k,j,i );
i = 3;
printf("i = %d \n",i );
printf("%d,%d\n",i,i++);
printf("i = %d \n",i );
printf("%d,%d\n",i,++i);
printf("i = %d \n",i );
printf("%d,%d,%d\n",i,i++,++i);
printf("i = %d \n",i );///////////////////////i=7
j1 = i;
j2 = ++i;
j3 = i++;
printf("j1 = %d,j2 = %d,j3 = %d\n",j1,j2,j3);//////////////8 8 7
printf("i = %d \n",i );//////////////////
i = 7;
printf("i = %d \n",i );
printf("i1 = %d,i2 = %d, i3 = %d\n",i,++i,i++);
printf("i = %d \n",i );
i = 7;
printf("i = %d \n",i );
printf("i1 = %d,i2 = %d,i3 = %d\n" ,i,i++,++i);
printf("i = %d \n",i );
return 0;
}
*/
////////////////////////不同類型數據間的混合運算
/*
#include <stdio.h>
int main(void)
{
char c1,c2;
c1 = 'A';
c2 = c1 + 32;
printf("%d\n",c2); ////////////說明系統自動將字元用ASCII代碼輸出,也可與整數進行的運算
printf("%c\n",c2);
return 0;
}
*/
/////////////////////////////////////////////////強制類型轉換運算符
/*
(double)a; //////將a轉換成double 型
(int)(x+y); //////將x+y的值轉換成int型
(float)(5%3);////將5%3的值轉換成float 型
*/
/*///////////////////////////////////////////////////語句
1 控制語句:用來完成一定控制功能1.if()....else... 2. for()... 3.while()...... 4. do....while()....
5.continue 結束本次循環語句 6.break 終止執行switch或循環語句 7.switch 多分支選擇語句
8.return 從函數返回語句 9.goto 轉向語句(結構化程序中基本不用goto語句)
2 表達式語句:一個表達式後加一個分號就形成了一個表達式語句 a=1;(賦值表達式語句)
3 函數調用語句: 由一個函數調用加一個分號構成例如: printf(" "....);
4 空語句 : ; 只有一個分號,什麼也不做。用來作為流程的轉向點(流程從程序其它地方轉到此語句處),也可以用來作為循環語句中的循環體(
循環體是空語句,表示循環體什麼都不做)
5 復合語句:可以用{}把語句和聲明括起來成為復合語句
*/
///////////////////////////////////////賦值中的類型轉換
/*
l
*/
/*
#include <stdio.h>
int main(void)
{
float i;
double d;
d = 1.12345931231;
i = d;
printf("%f\n",i);
printf("%lf\n",i);
printf("%d\n",i);
i = 'A';
printf("%f\n",i); //////說明'A'只能賦給整形變數,因為ASCII是以整形數字的形式對應字元
i = 'A';
printf("%d\n",i);
int k;
k = 'A';
printf("%d\n",k);
return 0;
}
*/
/*
㈩ 求C語言編程實例100行以上,要有文字大概解釋一下
下面是一個用C語言顯示一個簡單的WIndows窗口的小程序。用C語言對Windows編程的基礎。
//+---------------------------------------------------------------------------
//
//HELLO_WIN.C-WindowsGUI'HelloWorld!'示例
//
//+---------------------------------------------------------------------------
#include<windows.h>
#defineAPPNAME"HELLO_WIN"
charszAppName[]=APPNAME;//當前有用程序的名稱
charszTitle[]=APPNAME;//標題行顯示的文字
constchar*pWindowText;
voidCenterWindow(HWNDhWnd);
//+---------------------------------------------------------------------------
//
//Function:WndProc
//
//Synopsis:處理Windows消息的函數
//
//Arguments:sameasalways.
//----------------------------------------------------------------------------
LRESULTCALLBACKWndProc(HWNDhwnd,UINTmessage,WPARAMwParam,LPARAMlParam)
{
switch(message){
//-----------------------firstandlast
caseWM_CREATE:
CenterWindow(hwnd);
break;
caseWM_DESTROY:
PostQuitMessage(0);
break;
//-----------------------getoutofit...
caseWM_RBUTTONUP:
DestroyWindow(hwnd);
break;
caseWM_KEYDOWN:
if(VK_ESCAPE==wParam)
DestroyWindow(hwnd);
break;
//-----------------------displayourminimalinfo
caseWM_PAINT:
{
PAINTSTRUCTps;
HDChdc;
RECTrc;
hdc=BeginPaint(hwnd,&ps);
GetClientRect(hwnd,&rc);
SetTextColor(hdc,RGB(240,240,96));
SetBkMode(hdc,TRANSPARENT);
DrawText(hdc,pWindowText,-1,&rc,DT_CENTER|DT_SINGLELINE|DT_VCENTER);
EndPaint(hwnd,&ps);
break;
}
//-----------------------letwindowsdoallotherstuff
default:
returnDefWindowProc(hwnd,message,wParam,lParam);
}
return0;
}
//+---------------------------------------------------------------------------
//
//Function:WinMain
//
//Synopsis:
//
//----------------------------------------------------------------------------
intAPIENTRYWinMain(
HINSTANCEhInstance,
HINSTANCEhPrevInstance,
LPSTRlpCmdLine,
intnCmdShow
)
{
MSGmsg;
WNDCLASSwc;
HWNDhwnd;
pWindowText=lpCmdLine[0]?lpCmdLine:"HelloWindows!";
//
//themainwindow.
ZeroMemory(&wc,sizeofwc);
wc.hInstance=hInstance;
wc.lpszClassName=szAppName;
wc.lpfnWndProc=(WNDPROC)WndProc;
wc.style=CS_DBLCLKS|CS_VREDRAW|CS_HREDRAW;
wc.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wc.hIcon=LoadIcon(NULL,IDI_APPLICATION);
wc.hCursor=LoadCursor(NULL,IDC_ARROW);
if(FALSE==RegisterClass(&wc))
return0;
//createthebrowser
hwnd=CreateWindow(
szAppName,
szTitle,
WS_OVERLAPPEDWINDOW|WS_VISIBLE,
CW_USEDEFAULT,
CW_USEDEFAULT,
360,//CW_USEDEFAULT,
240,//CW_USEDEFAULT,
0,
0,
hInstance,
0);
if(NULL==hwnd)
return0;
//Mainmessageloop:
while(GetMessage(&msg,NULL,0,0)>0){
TranslateMessage(&msg);
DispatchMessage(&msg);
}
returnmsg.wParam;
}
//+---------------------------------------------------------------------------
//+---------------------------------------------------------------------------
voidCenterWindow(HWNDhwnd_self)
{
HWNDhwnd_parent;
RECTrw_self,rc_parent,rw_parent;
intxpos,ypos;
hwnd_parent=GetParent(hwnd_self);
if(NULL==hwnd_parent)
hwnd_parent=GetDesktopWindow();
GetWindowRect(hwnd_parent,&rw_parent);
GetClientRect(hwnd_parent,&rc_parent);
GetWindowRect(hwnd_self,&rw_self);
xpos=rw_parent.left+(rc_parent.right+rw_self.left-rw_self.right)/2;
ypos=rw_parent.top+(rc_parent.bottom+rw_self.top-rw_self.bottom)/2;
SetWindowPos(
hwnd_self,NULL,
xpos,ypos,0,0,
SWP_NOSIZE|SWP_NOZORDER|SWP_NOACTIVATE
);
}
//+---------------------------------------------------------------------------