c语言实例练习笔记

这篇具有很好参考价值的文章主要介绍了c语言实例练习笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本博文参考题目的地址看右边----》C 语言实例 | 菜鸟教程

以下为个人边练习边敲记录(解法不一定和官方一样,会自己扩展一些,练习嘛,肯定是学到的都用上,算检验之前的学进去的是不是对的。)

C 语言实例 - 输出 "Hello, World!"

#include <stdio.h>
int main(){
   printf("hello world");
}

C 语言实例 - 输出整数

#include <stdio.h>
int main(){
   int a=1;
   printf("%d",a);
}

C 语言实例 - 输出单个字符

#include <stdio.h>
#include <windows.h>
int main(){
   SetConsoleOutputCP(65001);
   char a='z';
   printf("%c",a);
}

C 语言实例 - 输出浮点数

#include <stdio.h>
int main(){
   float a=1.01;
   printf("%f",a);
}

c语言实例练习笔记

 C 语言实例 - 输出双精度(double)数

#include <stdio.h>
int main(){
   double d=20.56;
   printf("%g",d);
}

c语言实例练习笔记

 C 语言实例 - 两个整数相加

#include <stdio.h>
int main(){
   int a=1;
   int b=2;
   int c=a+b;
   printf("%d",c);
}

c语言实例练习笔记

 C 语言实例 - 两个浮点数相乘

#include <stdio.h>
int main(){
   float a=2.5;
   float b=1.4;
   float c=a*b;
   // printf("%g",c);
   printf("%.2lf",c);//保留小数点后2位
}

c语言实例练习笔记

C 语言实例 - 字符转 ASCII 码(ascii对照表---》C 语言实例 – 字符转 ASCII 码 | 菜鸟教程)

#include <stdio.h>
#include <windows.h>
int main(){
   SetConsoleOutputCP(65001);
   char a;
   printf("请输入当个字符:");
   scanf("%c",&a);// char a[]字符串才不用&,字符需要& ,字符串默认就指向内存地址
   printf("'%c'的ASCII码是: %d",a,a);
}

c语言实例练习笔记

 C 语言实例 - 两数相除求余数

#include <stdio.h>
#include <windows.h>
int main(){
   SetConsoleOutputCP(65001);
   int a,b,c,d;
   printf("请输入a,b用空格隔开");
   scanf("%d %d",&a,&b);
   c=a/b;
   d=a%b;
   printf("%d/%d=%d 余%d",a,b,c,d);
}

c语言实例练习笔记

 C 语言实例 - 数值比较

#include <stdio.h>
#include <windows.h>
int main(){
   SetConsoleOutputCP(65001);
   int a=1,b=999;
   char c;
   c=a>b?'a':'b';
   printf("%c大",c); //不是用%s 单字符输出用%c
}

c语言实例练习笔记

 C 语言实例 - 计算 int, float, double 和 char 字节大小

#include <stdio.h>
#include <windows.h>
int main(){
   SetConsoleOutputCP(65001);
   int a;
   char b;
   float c;
   double d;
   printf("int占:%d\nchar占:%d\nfloat占:%d\ndouble占:%d",sizeof(a),sizeof(b),sizeof(c),sizeof(d));
   return 0;
}

c语言实例练习笔记

 C 语言实例 - 交换两个数的值

#include <stdio.h>
#include <windows.h>
int main(){
   SetConsoleOutputCP(65001);
   double a,b,c;
   printf("请输入2个双精度用空格隔开: ");
   scanf("%lf %lf",&a,&b);
   printf("交换前,a=%lf,b=%lf\n",a,b);
   c=a;
   a=b;
   b=c;
   printf("交换后,a=%.2lf,b=%.2lf",a,b);
}

c语言实例练习笔记

C 语言实例 - 判断奇数/偶数

#include <stdio.h>
#include <windows.h>
int main(){
   SetConsoleOutputCP(65001);
   int a;
   printf("请输入一个int型数字: ");
   scanf("%d",&a);
   char *str;
   str=a%2==0?"偶数":"奇数";
   printf("你输入的是: %s",str);
}

c语言实例练习笔记

 C 语言实例 - 数组里,奇数偶数有哪些(博主自己扩展的题

#include <stdio.h>
#include <windows.h>
int main(){
   SetConsoleOutputCP(65001);
   int arr[]={10,13,26,55,22,66,44,73};
   int len=sizeof(arr)/sizeof(*arr);
   int arr2[10];
   int arr2Index=0;
   int arr3[10];
   int arr3Index=0;
   int i=0;
   while (i<len)
   {
      if(arr[i]%2==0){
         arr2[arr2Index]=arr[i];
         arr2Index++;
      }else{
         arr3[arr3Index]=arr[i];
         arr3Index++;
      }
      i++;
   }
   printf("arr数组中偶数有\n");
   for(int j=0;j<arr2Index;j++){
      printf("%d ",arr2[j]);
   }
   printf("\n奇数有\n");
   for(int j=0;j<arr3Index;j++){
      printf("%d ",arr3[j]);
   }
}

c语言实例练习笔记

 C 语言实例 - 判断元音/辅音

#include <stdio.h>
#include <windows.h>
#include <ctype.h>//大小写处理 系统便准库
int main(){
   SetConsoleOutputCP(65001);
   char a;//单个字符定义不用c[]
   printf("请输入单个英文字母:");
   scanf("%c",&a);//%c单个字符
   if(isupper(a)==1){//判断输入字母是否大写  大写放回1 小写返回0
      a=tolower(a); //大写转小写 A->a  B->b
   }
   if(a=='a'||a=='e'||a=='i'||a=='o'||a=='u'){//元音a、e、i、o、u 这五个字母
      printf("你输入的是元音"); 
   }else{
      printf("你输入的是辅音"); 
   }
}

c语言实例练习笔记

 C 语言实例 - 判断多个数中最大值

#include <windows.h>
#define ArrLen 3
int main(){
   SetConsoleOutputCP(65001);
   
   int a[ArrLen];
   printf("请输入3个数字空格隔开:");
   scanf("%d %d %d",&a[0],&a[1],&a[2]);
   int maxVal=a[0];
   for(int i=1;i<ArrLen;i++){
      if(maxVal<a[i]){
         maxVal=a[i];
      }
   }
   printf("输入的最大值是:%d",maxVal);
}

c语言实例练习笔记

 C 语言实例 - 判断闰年

输出年/月/日 时:分:秒可以看博主另一篇博文----》c语言输出年/月/日 时:分:秒

闰年的定义:

1. 能被400整除的年份为闰年。
2. 能被4整除同时不能被100整除年份为闰年。
如2000年是闰年,而1900年不是!!!!!!!!
#include <stdio.h>
#include <time.h>
#include <windows.h>
#define CCT (+8)
int main ()
{
   SetConsoleOutputCP(65001);
   time_t rawtime;
   struct tm *info;
   // struct tm {
   //    int tm_sec;         /* 秒,范围从 0 到 59                */
   //    int tm_min;         /* 分,范围从 0 到 59                */
   //    int tm_hour;        /* 小时,范围从 0 到 23                */
   //    int tm_mday;        /* 一月中的第几天,范围从 1 到 31                    */
   //    int tm_mon;         /* 月份,范围从 0 到 11                */
   //    int tm_year;        /* 自 1900 起的年数                */
   //    int tm_wday;        /* 一周中的第几天,范围从 0 到 6                */
   //    int tm_yday;        /* 一年中的第几天,范围从 0 到 365                    */
   //    int tm_isdst;       /* 夏令时                        */    
   // };
   time(&rawtime);
   info = gmtime(&rawtime);
   //年
   int year=info->tm_year+1900;
   int bfh=year%4;
   int bfh1=year%100;
   int bfh2=year%400;
   char msg[20]={"\0"};
   if((bfh==0 &&bfh1!=0)||bfh2==0){
      strcpy(msg,"闰年");
   }else{
      strcpy(msg,"不是闰年");
   }
   printf("当前是%u:%s",year,msg);
 
   return(0);
}

c语言实例练习笔记

 C 语言实例 - 判断正数/负数

#include <stdio.h>
#include <windows.h>
int main ()
{
   SetConsoleOutputCP(65001);
   double val;
    printf("%请输入数字:");
   scanf("%lf",&val);
   char str[100]={"\0"};
   if(val==0){
      strcpy(str,"即不是正数也不是负数");
   }else if(val>0){
      strcpy(str,"正数");
   }else{
      strcpy(str,"负数");
   }
   printf("你输入的是 %g,他是%s",val,str);
}

c语言实例练习笔记

计算自然数的和

for循环

#include <stdio.h>
#include <windows.h>
int main ()
{
   SetConsoleOutputCP(65001);
   int n,sum=0;
   printf("请输入自然数n:");
   scanf("%d",&n);
   for(int i=0;i<=n;i++){
      sum+=i;
   }
   printf("%d",sum);
}

c语言实例练习笔记

 while do

#include <stdio.h>
#include <windows.h>
int main ()
{
   SetConsoleOutputCP(65001);
   int n,sum=0;
   printf("请输入自然数n:");
   scanf("%d",&n);
   int i=0;
   while(i<=n &&n>0){
      sum+=i;
      i++;
   }
   printf("%d",sum);
}

递归

#include <stdio.h>
#include <windows.h>
int addNum(int val){
   if(val!=0){
      return val+addNum(val-1);
   }else{
      return val;
   }
}
int main ()
{
   SetConsoleOutputCP(65001);
   int n,sum=0;
   printf("请输入自然数n:");
   scanf("%d",&n);
   printf("%d",addNum(n));
}

判断字母

#include <stdio.h>
#include <windows.h>
#include <ctype.h>
int main ()
{
   SetConsoleOutputCP(65001);
   char n;
   printf("判断是不是字母:");
   scanf("%c",&n);
   if(isalpha(n)){// isalpha 该函数检查所传的字符是否是字母。 isupper判断大写返回1 ,islower(int c) 判断是不是小写
      printf("你输入的%c是字母",n);
   }else{
      printf("你输入的%c不是字母",n);
   }
}

c语言实例练习笔记

九九乘法口诀表

#include <stdio.h>
#include <windows.h>
int main ()
{
   SetConsoleOutputCP(65001);
   for(int i=1;i<10;i++){
      for(int j=1;j<=i;j++){
         printf("%dx%d=%d ",j,i,i*j);
      }
      printf("\n");
   }
}

c语言实例练习笔记

求两数的最大公约数

#include <stdio.h>
#include <windows.h>
int main ()
{
   SetConsoleOutputCP(65001);
   int a,b,val;
   printf("请输入2个正整数:");
   scanf("%d %d",&a,&b);
   for(int i=1;i<=a&&i<=b;i++){
      if(a%i==0 && b%i==0){
            val=i;
      }
   }
   printf("%d和%d的最大公约数是:%d",a,b,val);
}

c语言实例练习笔记

 循环输出26个字母

#include <stdio.h>
#include <windows.h>
int main ()
{
   SetConsoleOutputCP(65001);

   for(int i='A';i<='Z';i++){
      printf("%c ",i);
   }
}

c语言实例练习笔记

 判断数字为几位数

#include <stdio.h>
#include <windows.h>
int main ()
{
   SetConsoleOutputCP(65001);
   long long n;
   printf("请输入n:");
   scanf("%lld",&n);
   int size=0;
   while(n!=0){
      n=n/10;
      size++;
   }
   printf("%lld是 %d 位数",n,size);
   //gcc, 两个long合用,即long long类型,表示C语言目前最长的系统整型类型,每个long long类型占8字节,64位。其格式化字符为"%lld"。
}

c语言实例练习笔记

 计算一个数的 n 次方

#include <stdio.h>
#include <windows.h>
int main ()
{
   SetConsoleOutputCP(65001);
   int a,b,n=1;
   long long z=1;
   printf("请输入基数和指数并空格隔开:");
   scanf("%d %d",&a,&b);
   while(n<=b){
      z*=a;
      n++;
   }
   printf("%lld",z);
}

也可以用math.h的pow方法

#include <stdio.h>
#include <windows.h>
#include <math.h>
int main ()
{
   SetConsoleOutputCP(65001);
   int a,b,n=1;
   long long z=1;
   printf("请输入基数和指数并空格隔开:");
   scanf("%d %d",&a,&b);
   z=pow(a,b);
   printf("%lld",z);
}

c语言实例练习笔记

二进制转十进制

#include <stdio.h>
#include <windows.h>
#include <math.h>
int main ()
{
   SetConsoleOutputCP(65001);
   long long a;
   printf("请输入二进制:");
   scanf("%lld",&a);
   int remainder=0;
   int endVal=0;
   int i=0;
   while(a!=0){
      remainder=a%10; //1011 经过a%10求膜后得到1 因
      a/=10;         //a变成101
      endVal+=remainder*pow(2,i); //1*2^0=1;  任何数的0次方是1   
      i++;
   }
   printf("%d",endVal);
}

c语言实例练习笔记

 其实就是改一个这个位置就可以改变输入的进制

endVal+=remainder*pow(8,i); //这是八进制
endVal+=remainder*pow(16,i); //这是十六进制

十进制转二进制

#include <stdio.h>
#include <windows.h>
int main ()
{
   SetConsoleOutputCP(65001);
   long long a;
   printf("请输入十进制:");
   scanf("%lld",&a);
   int remainder=0;
   int endVal=0;
   int i=1;
   while(a!=0){
      remainder=a%2; 
      
      a/=2;         //
      endVal+=remainder*i; //1*2^0=1;  任何数的0次方是1   
      i*=10;
   }
   printf("%d",endVal);
      //假设输入11
      // 11%2 1,  11/2= 5(因为int类型只保留整数) 
      //5%2   1,  5/2=2,
      //2%2   0,   2/2=1;
      //1%2   1,   1/2=0.5(int型只保留小数点前面那位整数) =0 
      //while(a!=0) 所以停止循环 得到 1101

}

c语言实例练习笔记

 其他进制就该变下面这两个就可以了

//八进制
remainder=a%8;
a/=8;         //
//十六进制
remainder=a%16;
a/=16;         //

八进制转二进制 就先把   

八进制转十进制、然后十进制转二进制就可以了。 

输入的字符串翻转

#include <stdio.h>
#include <windows.h>
void reverseSentence(){
   char c;
   scanf("%c",&c);
   if(c!='\n'){
      reverseSentence();
      printf("%c",c);
   }
}
int main ()
{
   SetConsoleOutputCP(65001);
   char c;
   printf("请输入与字符串:");
   reverseSentence();
}

c语言实例练习笔记

 自定义变量的字符串翻转

#include <stdio.h>
#include <windows.h>

int main (){
   SetConsoleOutputCP(65001);
   char a[]={'h','e','l','l','o'};
   char aSize=sizeof(a)/sizeof(*a);
   char p[5];
   int b=0;
   //逻辑
   for(int i=aSize-1;i>=0;i--){
      p[b]=a[i];
      b++;
   }
   //输出
    for(int i=0;i<aSize;i++){
     printf("%c",p[i]);
   }
}

c语言实例练习笔记

c语言实例练习笔记

 字符串长度

切记如果是自定义的字符串char a[]={'h','e','l','l','o','\0'}; 尾巴一定要有‘\0’!!!!!!!!!!!!!!!!!

#include <stdio.h>
#include <windows.h>

int main (){
   SetConsoleOutputCP(65001);
   char a[1000];
   printf("请输入字符串:");
   scanf("%s",a);
   int aSize=strlen(a);
   printf("%s的字符串长度为:%d",a,aSize);
}

c语言实例练习笔记

二维数组赋值

#include <stdio.h>
#include <windows.h>
int main (){
   SetConsoleOutputCP(65001);
   char arr[3][2];
   for(int i=0;i<3;i++){
      for(int j=0;j<2;j++){
         arr[i][j]=j;
      }
   }
   printf("sss");
}

c语言实例练习笔记文章来源地址https://www.toymoban.com/news/detail-421380.html

到了这里,关于c语言实例练习笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 博文的跑路笔记

    使用flex布局 容器 行内元素 flex布局后, float 、 vertical-align 、 clear 失效。 容器属性 flex-direction :主轴方向 属性值 row :子元素起点在左,左到右。 row-reverse :起点在右,右到左。 column :起点在上,上到下。 column-reverse flex-wrap :换行 nowarp :不换行,缩小各子元素宽度。

    2024年02月04日
    浏览(79)
  • 关于ARP请求报文和ARP报文的源地址和目的地址

    ARP代表地址解析协议,用于从已知IP地址中查找设备的MAC地址。这意味着,源设备已经知道IP地址,但不知道目标设备的MAC地址。需要设备的MAC地址,因为您无法在不知道其MAC地址的情况下与局域网(以太网)中的设备通信。因此,地址解析协议有助于获取目标设备的MAC地址。

    2024年01月16日
    浏览(46)
  • 【解决方法】loopback口添加同目的网段的地址后,无法用默认路由ping通该网段地址

    工具:锐捷EVE,VMware Workstation Pro 远程工具:SecureCRT 系统版本:Windows 10 描述:原本可用默认路由ping该地址,但是在lookback口添加同该地址网段地址后,就无法ping通。 提示:若按照教程还是无法完成操作,可以进入右侧的企鹅,找我看看。 视频教程: 文字教程: 1.环境配置

    2024年02月07日
    浏览(43)
  • 【AHP层次分析法】原理+应用步骤+旅游目的地选择实例应用

    实现标准之间相对重要程度,并给出决策方案中每个标准的权重,利用权数求出各个方案的优劣次序。 1.建立层次结构模型 该层主要有三个方面: 目标层 准则层 领域层(各种解决问题的措施和方案) 这里选择了一个旅游问题的层次分析模型来直观的展示三个层的关系: 如

    2024年02月04日
    浏览(43)
  • 智能合约学习笔记一 、——{Solidity语言详解——(1—2)小练习}

    1.根据提示,在指定位置写出编译版本,要求使用^符号,版本要求在0.6.0及以上。 2.根据提示,在指定位置写出所定义的合约名称。 3.为了查看程序的效果,我们使用在线 Solidity 开发工具 Remix IDE 编译和运行 Solidity 程序。中文在线版:在浏览器打开下方链接: Remix - 中文版

    2024年02月02日
    浏览(40)
  • 为什么普通路由器在转发IP数据报时,对于源地址和目的地址都是不改变的,而NAT路由器需要改变

    普通路由器在转发IP数据报时,对于源地址和目的地址都是不改变的 。这是因为路由器的主要任务是根据其路由表将数据包从一个网络接口转发到另一个网络接口。当数据包到达路由器时,路由器首先将其目的地址与路由表进行对比,如果目的地址在本地网络内,它会直接转

    2024年02月04日
    浏览(87)
  • unity游戏,插入聚合广告TopOn,优量汇,穿山甲,groMore,快手等,隐私协议解决方案!(包括传感器的使用目的和方式,还有Sdk使用Mac地址和软件列表的目的)

    很久以前参考别的大佬的代码,忘了来源,因为新游戏增加了一些东西,上架TapTap不合格,原因是少了传感器的使用目的和方式,还有Sdk使用Mac地址和软件列表的目的。 所以补充了传感器和软件列表。 只需要把这个代码放到UNITY项目的Editor目录,打包就有弹窗。

    2024年02月13日
    浏览(105)
  • 初学Verilog语言基础笔记整理(实例点灯代码分析)持续更新~

    实例:点灯学习 刚接触 Verilog ,作为一个硬件小白,只能尝试着去理解,文章未完…持续更新。 参考博客文章: Verilog语言入门学习(1) Verilog语法 【 Verilog 】一文带你了解 Verilog 基础语法 - 子墨祭的文章 - 知乎 关于Verilog中的几种赋值语句 这里抄点,那里扣点,整理了一

    2024年02月07日
    浏览(46)
  • 【笔记】语言实例比较 2. 两数之和 C++ Rust Java Python

    语言实例比较 2. 两数之和 C++ Rust Java Python 给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会

    2024年01月16日
    浏览(39)
  • C 练习实例26

    题目: 利用递归方法求5!。 程序分析: 使用递归要找到函数 f(n)与f(n-1)的关系,以及结束条件 此处的函数关系为:f(n) = n*f(n-1), f(n)为n的阶层 代码:

    2024年01月18日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包