C语言基础题(大合集1)

 1. Hello World!

写一个程序 , 在控制台上输出 : Hello World!

#include <stdio.h>
int main()
{printf("Hello World!\n");return 0;
}

  • main 函数是程序的入口一个工程有且仅有一个 main函数 
  • 代码是从 main 函数的第一行开始的

2.sizeof 

 求 short , int , long ,long long 的数据类型所占的空间大小

#include <stdio.h>
int main()
{printf("The size of short is %zd types.\n", sizeof(short));printf("The size of int is %zd types.\n", sizeof(int));printf("The size of long is %zd types.\n", sizeof(long));printf("The size of long long is %zd types.\n", sizeof(long long));return 0;
}

C语言规定:

所以在一些编译器里面 , long 所占的空间大小是 8 .

 3. 8进制与16进制

打印一个十进制数的八进制和十六进制 ,并且显示出前置标志

  •  012  ---> 数字前面放0 , 默认是8进制数
  • 0x12  ---> 数字前面放0x , 默认是16进制数
  • %o  打印八进制数
  • %X  打印大写的十六进制数
  • %x   打印小写的十六进制数

法一 : 手动添加前置标志

#include <stdio.h>
int main()
{printf("0%o 0x%X", 1234, 1234);return 0;
}

法二 : 使用 #   : 控制前导显示

#include <stdio.h>
int main()
{printf("%#o %#X", 1234, 1234);return 0;
}

 4. 逆置打印整数

通过 % 取余 拿到最后一个数

再通过 / 取整 得到 除了拿走最后的数的数值

#include <stdio.h>
int main()
{int input = 0;scanf("%d", &input);while (input){printf("%d ", input % 10);input /= 10;}return 0;
}

 5. 多组数据 - 大写--> 小写

 先了解两个函数 : getchar() , putchar();

 这里的 EOF -----> End Of File

6.打印飞机(无输入)

int main()
{printf("     xx\n");printf("     xx\n");printf("xxxxxxxxxxxx\n");printf("xxxxxxxxxxxx\n");printf("    x  x\n");printf("    x  x\n");return 0;
}

7.十六进制转十进制

#include <stdio.h>
//十六进制转十进制
int main()
{printf("%15d\n", 0xABCDEF);return 0;
}

8.printf 函数的返回值

#include <stdio.h>//法一
//printf 函数的返回值
int main()
{int ret = printf("Hello world!");printf("\n");printf("%d\n", ret);return 0;
}//法二
//printf 函数的返回值
int main()
{printf("\n%d\n", printf("Hello world!"));return 0;
}

小练习:

#include <stdio.h>
int main()
{printf("%d", printf("%d", printf("%d", 43)));return 0;
}

 9. 判断字母

多组输入 , 使用 while 循环输入 , 注意 ---> 还需要消耗掉字符('\n')---> 使用getchar( )

#include <stdio.h>
//判断字母
int main()
{int ch = 0;//多组输入while ((ch = getchar()) !=EOF){//判断并输出if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')){printf("YES\n");}else{printf("NO\n");}getchar();//处理\n}return 0;
}

 还可以使用函数 isalpha 

#include <stdio.h>
//判断字母
#include <ctype.h>
int main()
{int ch = 0;//多组输入while ((ch = getchar()) != EOF){//判断并输出if (isalpha(ch)){printf("YES!\n");}else{printf("NO\n");}getchar();}return 0;
}

10.字符金字塔

输入一个字符,用它构成一个三角形金字塔

#include <stdio.h>
//字符金字塔
int main()
{//输入一个字符char ch = 0;ch = getchar();//输出金字塔int i = 0;//每循环一次,打印一行//每一行有两部分组成,空格和字符for (i = 0; i < 5; i++){//空格int j = 0;for (j = 0; j < 4-i; j++){printf(" ");}//字符for (j = 0; j <=i; j++){printf("%c ", ch);}printf("\n");}return 0;
}

 11. 字符转ASCII码值

//字符转ASCII码值
int main()
{//输入字符char ch = 0;ch = getchar();//输出printf("%d\n", ch);return 0;
}

12.按照格式输入并交换输出 

int main()
{int a = 0;int b = 0;scanf("a=%d,b=%d", &a, &b);//交换int tmp = 0;tmp = a;a = b;b = tmp;printf("a=%d,b=%d", a, b);return 0;
}

 13. 2的n次方计算

不使用累计乘法的基础上,通过移位运算( << )来实现

int main()
{int n = 0;while (scanf("%d", &n) != EOF){printf("%d\n", 1 << n);}return 0;
}

 14. 出生日期的输入输出

//出生日期的输入输出
int main()
{int year = 0;int month = 0;int day = 0;//按照格式输入scanf("%4d%2d%2d", &year, &month, &day);//输出printf("year=%4d\n", year);printf("month=%02d\n", month);printf("day=%02d\n", day);return 0;
}

15.输出一组ASCII码值

//ASCII码值
int main()
{char arr[] = { 73,32,99,97,110,32,100,111,32,105,116,33 };int i = 0;int sz = sizeof(arr) / sizeof(arr[0]);for (i = 0; i < sz; i++){printf("%c", arr[i]);}return 0;
}

 16.计算MBI指数

#include <stdio.h>
//计算体重指数  --- MBI
int main()
{//输入int weight = 0;int high = 0;double BMI = 0.0;scanf("%d %d", &weight, &high);//计算BMI指数BMI = weight / ((high / 100.0) * (high / 100.0));//输出printf("%.2lf\n",BMI);return 0;
}

注意 : 进行除法时 , 如果等号两边都是整数 , 进行的是整数除法 ;只要除号两边至少有一个浮点数时 , 进行的是小数的除法;

17.计算三角形的周长和面积 

C 语言提供了一个库函数 ---> 计算开方 ---> sqrt

 书写时需要包含头文件 <math.h>

#include <math.h>
int main()
{double a = 0.0;double b = 0.0;double c = 0.0;double circumference = 0.0;//周长double area = 0.0;//输入scanf("%lf %lf %lf", &a, &b, &c);//计算circumference = a + b + c;double p = circumference / 2;area = sqrt(p * (p - a) * (p - b) * (p - c));//输出printf("circumference=%.2lf area=%.2lf\n", circumference, area);return 0;
}

 18.计算球体的体积

//计算球的体积
#define PI 3.1415926
int main()
{double r = 0.0;//半径double v = 0.0;//体积//输入scanf("%lf", &r);//计算v = 4.0 / 3 * PI * r * r * r;//输出printf("%.3lf\n", v);return 0;
}

拓展 : 求某个数字的 n 次方 , 可以使用库函数 pow ---> 例如 :求2的6次方

//次方 -- pow
#include <math.h>
int main()
{int ret = (int)pow(2, 6);printf("%d\n", ret);return 0;
}

19.成绩的输入输出

//成绩输入输出
int main()
{int s1 = 0;int s2 = 0;int s3 = 0;//输入scanf("%d %d %d", &s1, &s2, &s3);//输出printf("score1=%d,score2=%d,score3=%d\n", s1, s2, s3);return 0;
}

20.变种水仙花数

把任意的数字,从中间拆分成两个数字,比如1461 可以拆分成(1和461),(14和61),(146和1),如果所有拆分后的乘积之和等于自身,则是一个变种水仙花数。 

655   = 6* 55 + 65 * 5

1461 =1*461 + 14*61 + 146*1 

//变种水仙花数
// 求5位数中的所有Lily Number
//655  = 6*55 + 65*5
//1461 = 1*461 + 14*61 + 146*1
int main()
{int i = 0;for (i = 10000; i < 99999; i++){//判断 i 是否为Liny Numberint j = 0;int sum = 0;for (j = 10; j <= 10000; j *= 10){sum += (i / j) * (i % j);}if (sum == i){printf("%d ", i);}}return 0;
}

 21.浮点数的个位数

//浮点数的个位数字
//方法一
int main()
{//从根源上获取整数int n = 0;scanf("%d", &n);//13.141 --> 13printf("%d\n", n % 10);return 0;
}//方法二
int main()
{double d = 0.0;scanf("%lf", &d);int n = (int)d;printf("%d\n", n % 10);return 0;
}

22.你能活多少秒?

一年约有3.156*10^7s,输入年龄,计算秒数

int main()
{int age = 0;//输入scanf("%d", &age);//计算long long second = age * 3.156e7;//输出printf("%lld\n", second);return 0;
}
  • 3.156e7   ---->  3.156*10^7
  • 当输入值为 200 时,int 类型的空间大小远远不够 ,应使用 long long 型 , 打印格式为 %lld

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1557182.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

数学概念算法-打印100以内的素/质数

素数&#xff1a;只能被1和自己整除的数 暴力破解 埃氏筛选 找到第一个数字&#xff0c;如果它是素数&#xff0c;则把它的倍数全部划掉 比如数字2是素数&#xff0c;那么 4,6,8,10,12。这些数字肯定不是素数&#xff0c;所以不用再考虑&#xff0c;直接划掉即可 第二步&#…

SQL注入靶场sqli-labs less-4

sqli-labs靶场第三关less-4 1、确定注入点 http://192.168.128.3/sq/Less-4/?id1 http://192.168.128.3/sq/Less-4/?id2 有不同回显&#xff0c;判断可能存在注入&#xff0c; 2、判断注入类型 输入 http://192.168.128.3/sq/less-4/?id1 and 11 http://192.168.128.3/sq/l…

C++(异常)

目录 C语言传统的处理错误的方式 传统的错误处理机制 C异常概念 异常的使用 异常的抛出和捕获 异常的抛出和匹配原则 在函数调用链中异常栈展开匹配原则 异常的重新抛出 异常安全 异常规范 自定义异常体系 C标准库的异常体系 异常的优缺点 C异常的优点 C异常的缺…

DB_GPT excel研究

DB_GPT excel研究 摘要视频简介源码分析excel文档上传预处理对话 摘要 DB_GPT集成了很多对话方式&#xff0c;其中呢就有关于excel对话的模块&#xff0c;我搜集各大web好像都没有关于这个模块的研究&#xff0c;于是乎就自行研究了对于excel对话的的功能 如果是想看与数据库…

Golang | Leetcode Golang题解之第462题最小操作次数使数组元素相等II

题目&#xff1a; 题解&#xff1a; func partition(a []int, l, r int) int {x : a[r]i : l - 1for j : l; j < r; j {if a[j] < x {ia[i], a[j] a[j], a[i]}}a[i1], a[r] a[r], a[i1]return i 1 }func randomPartition(a []int, l, r int) int {i : rand.Intn(r-l1…

毕设 大数据电影数据分析与可视化系统(源码+论文)

文章目录 0 前言1 项目运行效果2 设计概要3 最后 0 前言 &#x1f525;这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师…

51 单片机最小系统

一、51 单片机最小系统概述 51 单片机最小系统是一个基于 51 单片机的最小化电路系统&#xff0c;它包含了使单片机能够正常工作的最少元件。这个系统主要用于学习和实验目的&#xff0c;帮助学习者在没有复杂电路的情况下快速了解 51 单片机的工作原理&#xff0c;其重要性不…

动态规划算法专题(四):子串、子数组系列

目录 1、最大子数组和 1.1 算法原理 1.2 算法代码 2、环形子数组的最大和 2.1 算法原理 2.2 算法代码 3、乘积最大子数组 3.1 算法原理 3.2 算法代码 4、乘积为正数的最长子数组长度 4.1 算法原理 4.2 算法代码 5、等差数列划分 5.1 算法原理 5.2 算法代码 6、…

java语言基础案例-cnblog

java语言基础案例 象棋口诀 输出 package nb;public class XiangQi {public static void main(String[] args) {char a 马;char b 象;char c 卒;System.out.println(a"走日"b"走田""小"c"一去不复还");} }输出汇款单 package nb…

30 树 · 二叉树

目录 一、树 &#xff08;一&#xff09;树的概念与结构 &#xff08;二&#xff09;树相关术语 &#xff08;三&#xff09;树的表示 &#xff08;四&#xff09;树形结构的实际应用场景 二、二叉树 &#xff08;一&#xff09;概念与结构 &#xff08;二&#xff09;…

【LeetCode】每日一题 2024_10_7 最低加油次数(堆、贪心)

前言 每天和你一起刷 LeetCode 每日一题~ 大家国庆节快乐呀~ LeetCode 启动&#xff01; 国庆最后一天&#xff0c;力扣还在加油站&#xff0c;怕不是国庆回家路上堵车了 题目&#xff1a;最低加油次数 代码与解题思路 func minRefuelStops(target int, startFuel int, st…

刷题 双指针 滑动窗口

面试经典 150 题 - 双指针 ⭐️125. 验证回文串 学会内部字母处理函数的使用 class Solution { public:bool isPalindrome(string s) {int left 0, right s.size() - 1;while (left < right) {// 处理左边字符if (!isalnum(s[left])) {left;continue;}// 处理右边字符if…

C(十五)函数综合(一)--- 开公司吗?

在这篇文章中&#xff0c;杰哥将带大家 “开公司”。 主干内容部分&#xff08;你将收获&#xff09;&#xff1a;&#x1f449; 为什么要有函数&#xff1f;函数有哪些&#xff1f;怎么自定义函数以及获得函数的使用权&#xff1f;怎么对函数进行传参&#xff1f;函数中变量的…

C语言 | Leetcode C语言题解之第462题最小操作次数使数组元素相等II

题目&#xff1a; 题解&#xff1a; static inline void swap(int *a, int *b) {int c *a;*a *b;*b c; }static inline int partition(int *nums, int left, int right) {int x nums[right], i left - 1;for (int j left; j < right; j) {if (nums[j] < x) {swap(…

Linux 外设驱动 应用 1 IO口输出

从这里开始外设驱动介绍&#xff0c;这里使用的IMX8的芯片作为驱动介绍 开发流程&#xff1a; 修改设备树&#xff0c;配置 GPIO1_IO07 为 GPIO 输出。使用 sysfs 接口或编写驱动程序控制 GPIO 引脚。编译并测试。 这里假设设备树&#xff0c;已经配置好了。不在论述这个问题…

【英语】5. 考研英语语法体系

文章目录 前言句字的成分一、常规句型简单句&#xff08;5 种&#xff09;1. 定义&#xff1a;句子中只包含 *一套主谓结构* 的句子。&#xff08;一个句子只能有一个谓语动词&#xff09;2. 分类 并列句&#xff08;由关联词组成&#xff09;&#xff08;3 种&#xff09;基本…

二分图算法总结 C++实现

总体概念 染色法 基本思路步骤 将所有的边及其相接的边用邻接表存储起来&#xff1b;遍历所有的点&#xff0c;找到未上色的点&#xff1b;用BFS将该点及其相接的点迭代上色&#xff1b;在上述染色步骤中&#xff0c;如果相邻点的颜色相同则无法形成二分图&#xff1b; 题目…

继电保护之电压重动、电压并列和电压切换

实践&#xff1a;以某开关室10kV母联隔离柜为例&#xff1a; ZYQ-824为PT并列装置&#xff0c;装置内包含一系列继电器&#xff0c;用于PT重动及并列。按照装置编号原则&#xff0c;交流电压切换箱一般命名为7n。 ​下图为装置内继电器线圈部分接线&#xff1a; 下图为装置内…

销售秘籍:故事+观点+结论

在销售的浩瀚宇宙中&#xff0c;隐藏着一个不朽的秘诀——利用人类共有的“错失恐惧”&#xff0c;激发客户内心的渴望与行动。正如村上春树所言&#xff0c;每个故事都深深植根于灵魂&#xff0c;而大仲马则揭示&#xff0c;灵魂之眼所见&#xff0c;比肉眼更为长久铭记。 错…

如何将数据从 AWS S3 导入到 Elastic Cloud - 第 1 部分:Elastic Serverless Forwarder

作者&#xff1a;来自 Elastic Hemendra Singh Lodhi 这是多部分博客系列的第一部分&#xff0c;探讨了将数据从 AWS S3 导入 Elastic Cloud 的不同选项。 Elasticsearch 提供了多种从 AWS S3 存储桶导入数据的选项&#xff0c;允许客户根据其特定需求和架构策略选择最合适的方…