第一章
C语言的基础框架
//C语言基础框架
#include <stdio.h> //编译预处理指令
int main() //程序入口主函数manin
{ //程序(函数、功能)开始标志位
//代码编写区域
return 0; //程序退出前返回给调试着(操作系统)的值
} //程序(函数、功能)结束标志位
变量
满足4个规则:
①类型;
②变量名;
③变量值;
④存储单元。
*变量名/标识符:由字母数字下划线组成,且只能以字母或者下划线开头,不能以数字开头!!
例:
int a;
int A;
int _a;
int _A;
int data;
int Data;
int _data;
int _Data;
//错误示范: //记住只能以下划线或者字母开头!!
int 1data;
int #data;
int ¥data;
变量名区分大小写 : int a 和 int A 是两个不同的变量,两者不相同。
*驼峰命名法:
int yearMouthDay;
int YearMouthDay;
int year_mouth_day;//函数名居多
int _yearMouthDay;
*数据类型:
基础的:
①整数型-int-整数
②字符型-char-ASCII码( 什么是ASCII码?及ASCCI码表。地址:ASCII_百度百科 (baidu.com))
③浮点型-float-小数
*printf打印的用法:
#include <stdio.h>
//注释,给编程的人看的,编译预处理的时候会清除 // /**/
/*
author: //作者
data:2023.3.1 //日期
description: //说明
*/
int main()
{
int data = 10; //一个分号表示一个语句结束
char c_data = 'r' ;
float f_data = 5.2;
int result;
char cs_data[] = "This is a string";
printf("这是printf原样输出");//原样输出
printf("\n"); //换行符
printf("控制输出\n");
printf("data = %d\n",data); //占位符,以%开头。整数输出 %d
printf("字符型c_data = %c\n",c_data); //单个字符输出 %c
printf("浮点型f_data = %f\n",f_data); //小数输出 %f
printf("16进制输出 data = 0x%x\n",data); //16进制输出 %x 0x表示16进制
printf("字符串输出sc_data = %s\n",cs_data); //字符串输出 %s
printf("输出data的地址为:%p\n",&data); //打印内存地址,16进制格式输出。&:取变量地址的运算符号
result =(float)data/f_data; //强制转换,把整数个小数
printf("result = %f\n",result);
printf("result = %f\n",(float)data/f_data);
return 0;
}
练习
#include <stdio.h>
int main()
{
int data = 8;
int data2 = 4;
int data3 ;
printf("原始数据%d %d\n",data,data2);
data3 = data + data2;
printf("两个数之和%d\n",data3);
data3 = data - data2;
printf("两个数之差%d\n",data3);
data3 = data * data2;
printf("两个数之乘%d\n",data3);
data3 = data / data2;
printf("两个数相除%d\n",data3);
return 0;
}
scanf输入的用法:
#include <stdio.h>
int main()
{
int data
int data2;
scanf("请输入一个数%d",&data); //&取data的地址,往里面写入一个整数
printf("data = %d\n",data); //打印data的值
printf("请输入两个数\n");
/*
scanf("%d",&data);
scanf("%d",&data2);
*/
scanf("%d,%d",&data,&data2);
printf("data = %d,data2 = %d\n",data,data2);
return 0;
}
scanf的混合输入
#include <stdio.h>
int main()
{
int data;
char c_data;
float f_data;
printf("请输入整形、字符型、浮点型类数据\n");
scanf("%d%c%f",&data,&c_data,&f_data);
printf("data = %d,c_data = %c,f_data = %f \n",data,c_data,f_data);
return 0;
} //注意 空格符 回车符等都算字符型!!!!
其他函数
getchar、putchar、puts、gets
puts &printf的区别
printf能输出多种字符;puts只能输出字符串
#include <stdio.h>
int main()
{
char c_data;
char cData[128];
puts("请输入一个字符\n"); //puts输出字符串
// c_data = getchar(); //getchar吸收输入字符
// putchar(c_data); //putchar输出字符
gets(cData); //gets获取字符串
puts(cData);
return 0;
}
尝试输入大写字母输出小写字母
#inlcude <stdio.h>
int main()
{
char c_data;
puts("请输入一个大写字母\n");
c_data = getchar();
putchar(c_data+32); //为什么加32就能变成小写字母?看1.1test.c
return 0;
}
1.1test.c
#include <stdio.h>
int main()
{
char A = 'A';
char a = 'a';
printf("A - a = %d",a-A); //可以对照ASCCII码表就知道
return 0;
}
a所对应的十进制为:97;
A所对应的十进制为:65;
a - A = 97 - 65 =32。
相当于转换为int 型计算后在转换为对应的char型输出。