C语言入门很简单,因为常用的语法结构就那么几个,下面列举一些这些语法结构的简单程序例子,可以对C语言进行快速复习。程序包含使用 bool 变量、字符、常量、数学函数、特殊字符、for循环和函数等等。
1. 使用 bool 变量
#include
#include
int main(void)
{
float input;
bool isTrue=(scanf("%f",&input)==1);
while(isTrue){
printf("you typed %.d\n",(int)input); //强制类型转换
isTrue=(scanf("%f",&input)==1);
}
return 0;
}
2. 字符
#include
#include
int main()
{
char beep; //与 int beep; 等效
while(scanf("%c",&beep)==1){
printf("you typed a %c \n", beep);
}
//scanf 会将回车符一起读进变量,最后结果不能达到预期!可采用后面一种方法
return 0;
}
#include
#include
int main()
{
char beep;
while(gets(&beep)){
printf("you typed a %c \n", beep);
}
return 0;
}
3. 常量
#include
#include
#include
#include
#define PI 3.1416
#define TEXT "hello world"
#define HTML 'H'
int main()
{
//常量定义 以及C预处理器 系统预定义常量
const int china =345;
printf("%d ,%d ,%d ,%d\n", INT_MAX, china, FLT_MAX_10_EXP, CHAR_MIN);
}
4. 数学函数
#include
#include
#define PI 3.1415926
void main(void)
{
//i 为第几行,画余弦曲线
int i, j, blankNUm;
float cosValue;
for(i=0;i<21;i++){
cosValue =1-i/10.0;
blankNUm =(int)(180/5/PI*acos(cosValue));
for(j=0;j
printf("");
printf("*");
for(j=0;j
printf("");
i!=20?printf("*\n"):printf("");
}
return 0;
}
#include
int main(void)
{
//计算 e ,前50项,其实根前10项结果一样,只是为了演示,用double可以满足精度要求
int i;
double factorial=1.0, e=0;
for(i=1;i<=50;i++){
factorial*=i;
e+=1.0/factorial;
}
printf("%f \n",e);
return 0;
}
5. 特殊字符
#include
#include
int main()
{
float salary;
printf("\aplease enter you salary by month:"); // \a响龄,貌似
printf(" $______\b\b\b\b\b\b"); // \b退格
if(scanf("%f",&salary)==1){
printf("\t$%.2f per manth is $%.2f per year", salary, salary*12.0);
printf("\rgEE!wa h\n"); // \r使光标移到当前行的起始位置,这里很微妙噢
}
return 0;
}
/* please enter you salary by month: $23.4__ */
/* gEE!wa h$23.40 per manth is $280.80 per year */
6. for循环
#include
#include
int main(void)
{
int k;
for(k=1,printf("%d:hi \n",k);printf("k =%d \n",k),k*k<26;
k+=2,printf("now k =%d\n",k))
{
printf("k is %d in the loop \n",k);
}
return 0;
}
#include
#include
int main(void)
{
int i;
int word[8];
for(i=0;i<8;i++){
word[i] =pow(2,i);
}
i =0;
do{
printf("%d ",word[i]);
}while(++i<8);
return 0;
}
#include
#include
int main(void)
{
int i;
double arr1[8],arr2[8];
for(i=0;i<8;i++){
scanf("%lf",&arr1[i]);
}
arr2[0] =arr1[0];
for(i=1;i<8;i++){
arr2[i] =arr2[i-1] +arr1[i];
}
for(i=0;i<8;i++){
printf("%.2f\t",arr1[i]);
}
printf("\n");
for(i=0;i<8;i++){
printf("%.2f\t",arr2[i]);
}
return 0;
}
#include
#include
int main(void)
{
int i,max;
while(scanf("%d",&max)==1){
double sum1=0,sum2=0;
for(i=1;i<=max;i++){
sum1+=1.00/i;
i%2==0 ?(sum2-=1.0/i):(sum2+=1.0/i);
}
printf("sum1= %lf sum2= %lf\n",sum1,sum2);
}
return 0;
}
7. 函数
#include
#include
int square(int s);
void echo(void);
int main()
{
int i;
for(i=0;i<10;i++)
{
printf("squire %d's value is%d\n",i,square(i));
}
printf("what\nNo/nBonzo?\n");
echo();
return 0;
}
int square(int s){
return s*s;
}
void echo(void){
printf("a function without input");
}
/* another */
#include
#include
void one_three(void);
void two(void);
int main()
{
printf("start now:\n");
one_three();
printf("done!");
return 0;
}
void one_three(void){
printf("one\n");
two();
printf("three\n");
}
void two(void){
printf("two\n");
}