程序设计和C语言(1)
约 1543 字大约 5 分钟
2024-07-07
1.最简单的C语言程序
#include <stdio.h>
int main()
{
printf("C programme\n");
return 0;
}
2.基本格式(1)
#include <stdio.h>
int f(int a) //函数原型/首部 返回值类型·函数名·参数及参数类型 该处参数被称为形式参数
{ //2.函数体
return a*a;
}
void g(int a,int b) //void 空类型
{
printf("%d\n",a+b);
return ; //如果函数没有返回值,可以省略return
}
int main(void)
{
printf("%d\n",f(3)); //函数调用中的参数,称为这个函数的实际参数,简称实参
g(3,4);
return 0;
}
3.基本格式(2)
#include <stdio.h>
//程序编译报错,各个函数之间应该是平行的,一个函数定义不能放在另一个函数的函数体
void g(void)
{
void h(int a)
{
printf("%d\n",a);
}
printf("2222\n");
}
void g(void); //函数首部·分号 即函数声明 可以扩展函数名作用域到此
void h(int); //函数声明的形式变量可以省略
int main(void) //main函数位置任意,但c99建议放在开头
{
f9(); //不会执行
h(12);
g();
return 0;
}
void g(void)
{
printf("1111\n");
}
void h(int a)
{
printf("%d\n",a);
g(); //h函数的定义必须在g函数的定义域内,因为h函数有g函数的调用
}
4.求两个整数的和
#include <stdio.h>
int main()
{
int a,b,sum;
a=123;
b=3;
sum=a+b;
printf("sum is %d\n",sum);
return 0;
}
5.1求两个整数最大值
#include <stdio.h>
int main()
{
int max(int x,int y); //对被调用函数max的声明
int a,b,c;
printf("请输入两个整数\n");
scanf("%d,%d",&a,&b); //输入a,b
c=max(a,b); //调用函数max,将值赋给c
printf("max=%d\n",c); //10进制输出c
return 0;
}
int max(int x,int y)
{
int z; //max函数声明,定义整型变量z
if(x>y)z=x; //如果x>y,将x值赋给z
else z=y; //否则将y的值赋给z
return(z); //返回到调用max函数位置
}
5.2求两个数最大值
#include <stdio.h> //printf和scanf函数声明在stdio.h里
int main(void)
{
double a,b; //double浮点型数据类型
printf("请输入两个数\n");
scanf("%lf%lf,&a,&b"); //&取地址
printf("a is %lf,b is %lf",a,b); //%lf是在对一个浮点型数据进行格式输入输出所用到的格式说明符
// 方法1 表达式是数字和运算符的组合
if(a >= b)
printf("a是最大值,其值为:%lf\n",a);
else
printf("b是最大值,其值为:%lf\n",b);
if(a < b) //方法2
a = b;
printf("最大值为:%lf\n",a);
return 0;
}
6.scanf函数与printf函数
#include <stdio.h>
int main(void)
{
printf("%d\n",printf("haha\n")); //printf函数的返回值为整型,会把所输出的字符个数返回
/*输出
haha
5
*/
int a,b;
printf("%d\n",scanf("%d%d",&a,&b)); //scanf函数的会返回其按照正确格式输入的变量的个数
return 0;
}
7.给定分数判断成绩是否合格
#include <stdio.h>
int main(void)
{
double a;
printf("请输入你的成绩:"); //增强程序界面友好性
scanf("%lf",&a);
//方法1
if(a<0 || a>=100)
printf("成绩不可能\n");
if(a>=0 && a<60)
printf("成绩不及格\n");
if(a>=60 && a<=100)
printf("成绩合格\n");
//方法2
if(a<0 || a>=100)
printf("成绩不可能\n");
else
{
if(a<60)
printgf("成绩不及格\n");
else
printf("成绩及格\n");
}
return 0;
//方法3
if(a<0 || a>100)
printf("成绩不可能\n");
else if(a<60)
printf("成绩不及格\n");
else
printf("成绩及格\n");
return 0;
}
//一个if语句中有且只有一个if,else if可以有多个,else语句至多只能有一个
8.if语句
#include <stdio.h>
int main()
{
printf("%d,%d\n",3>2,3<2); //输出1,0
if(3) //表达式值为0,为假,表达式值为非0值,为真
{ //if语句中,控制语句如果为多句,需要加上一个花括号
printf("hero\n");
}
if(0)
printf("英雄\n");
else //多个if语句同时使用时,else属于紧挨着它上面的if语句
{
printf("拉拉\n");
}
return 0;
}
9.scanf函数注意事项
/*
(1)使用scanf函数输入数据,按回车可以刷新键盘缓冲区的内容,键盘缓冲区会有一个换行字符
(2)scanf函数遇到错误会停止
(3) scanf函数的格式字符串中的字符分类:
1格式声明(格式说明符)
2空白字符 换行、空格、tab键(\n、""、\t),scanf函数会忽略1个或者多个空白符
3非空白字符---scanf函数剔除掉与这个非空白字符一样的字符
*/
#include <stdio.h>
int main()
{
/*学习scanf函数注意事项(1)和(2)*/
char a='A';
printf("%c\n",a);
int b;
scanf("%d",&b);
scanf("%c",&a);
if(a=='\n') //==等于号 如果两边的表达式的值为真则整个表达式为真,否则为假
printf("a的值是一个换行符\n"); //如果正确输入b变量的值按下回车,则该句会被输出
printf("%c\n",a); //如果b变量输入格式错误,程序会将值赋给a
/*学习scanf函数注意事项(3)-2*/
int c;
scanf("%d\n",&c); //再次输入c变量的值后只能输入一个错误值结束
printf("%d\n",c);
/*学习scanf函数注意事项(3)-3*/
int d;
scanf("hero is %d",&d); //若d的值为12,应当输入hero is 12
/*学习scanf函数注意事项(4)*/
int e,f;
scanf("%d%d",&e,&f);
printf("a=%d,b=%d",e,f); //连续整数或浮点型数据,可以用空白符间隔
char ch1,ch2;
scanf("%c%c",&ch1,&ch2);
printf("ch1 = %c,ch2 = %c\n",ch1,ch2); //char函数会记录空白字符,输入1个数据后不需要加空白字符
return 0;
}