大家好,我是深鱼~

目录

前言:

在线OJ

<1>什么是在线OJ

<2>为啥训练在线OJ

1.实践出真知

2.我是大V

3.有容乃大

4.缩短二进制

5.反向输出一个四位数

6.大小写转换

7.小飞机

8.十六进制转十进制

9.printf的返回值

10.学生基本信息输入输出

结语:彼方尚有荣光在,少年不惧岁月长


前言:

本部分是C语言初阶部分题目,一共130题,由易到难,适于初学者学习,非初学者勿看题目链接:编程语言初学训练营_在线编程+题解_牛客题霸_牛客网 (nowcoder.com),大家一起冲呀https://www.nowcoder.com/ta/beginner-programmers-v1

在线OJ

<1>什么是在线OJ

在线判题系统(Online Judge)是一种在编程竞赛中用来测试参赛程序的在线系统

<2>为啥训练在线OJ

a.有些比赛,比如ACM之类的编程竞赛都是采用在线OJ的方式进行

b.笔试OJ化,这是未来的趋势

1.实践出真知

链接:牛客网—实践出真知

题目:

 题解:

#include <stdio.h>int main()
{printf("Practice makes perfect!");return 0;
}

打印的内容建议直接复制粘贴,这样可以防止敲错(这题自己敲可能会忘了!)

对应知识点就是C语言的第一个程序:Hello World!

#include<stdio.h>是头文件的包含,stdio中的std是标准,i是输入,o是输出

main函数是程序的入口,并且一个程序中有且只有一个main函数

printf是库函数,是用来打印输出的,库函数的使用得包含头文件,它的头文件就是stdio.h

return 0是在main函数结束的返回值为0

除了第五行,其他的部分都是C语言程序固定部分,是敲代码不可缺少的部分

2.我是大V

链接:我是大V

题目:

题解1: 注意这里要用到换行符\n

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

题解2:简化版:直接用一个printf函数打印

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

3.有容乃大

题目:

 题解:

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

sizeof是用来计算变量或者类型所占空间的大小的一个关键字(以字节为单位)

C语言标准:sizeof(long long) >=sizeof (long) >=sizeof (int) >sizeof (short) >sizeof (char)

补充:计算机中常见单位及换算:

bit      -比特位

byte   -字节

KB                          1byte=8bit

MB                         1KB=1024byte

GB                          1MB=1024KB

TB                          1GB=1024MB

PB                          1TB=1024GB

4.缩短二进制

链接:缩短二进制

题目:

题解1:注意怎么控制字母大小写,%x就是小写,%X就是大写

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

题解2:用上题目提示的#

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

拓展:对各种数据的格式控制

%c     -   字符

%d     -    整形

%s     -     字符串

%f      -     单精度浮点数

%lf     -      双精度浮点数

%p     -      地址格式

5.反向输出一个四位数

链接:反向输出一个四位数

题目:

 题解:思路就是不断 -模10除10打印-

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

6.大小写转换

链接:大小写转换

题目:

 题解1:

#include <stdio.h>int main()
{int ch = '0';while ((ch=getchar()) != EOF){getchar();putchar(ch + 32);//大写字母的ASCII值比小写的小32printf("\n");//防止输出的字符和下次输入的字符在同一行}return 0;
}

问题1:为啥ch要定义为int类型,而不是char类型

答:getchar:输入/读取一个字符     putchar:输出一个字符(一次只能操作一个字符)

getchar()返回的是字符的ASCII值,是个整数

EOF -end of file 文件结束的标志,通常在文件的末尾,它的值为-1也为整形

问题2:为啥循环中要getchar();

答:因为getchar和键盘中间有个缓冲区,每当输入一个字符的时候,我们都会按下回车键,这也就无形之中多了一个'\n',如果没有这个getchar(),'\n'也是一个字符,在循环中也加上32,变成另一个字符,为了拿走这个字符,就需要getchar()

问题3:多组输入怎么写?

while((ch=getchar())!=EOF)
{}

题解2:直接用printf()加上\n代替putchar()

#include <stdio.h>int main()
{int ch = 0;while ((ch=getchar()) != EOF){getchar();printf("%c \n",ch + 32);}return 0;
}

7.小飞机

链接:小飞机

题目:

题解: 本题主要是考查printf函数的打印

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

8.十六进制转十进制

链接:十六进制转十进制

题目:

 题解:本题主要考查格式的输出

#include <stdio.h>int main()
{printf("%15d",0XABCDEF);//注意这里不能直接写ABCDEFreturn 0;
}

9.printf的返回值

链接:printf的返回值

题目:

 题解1:

#include <stdio.h>int main(){int a=printf("Hello world!");printf("\n%d",a);return 0;
}

本题主要考查printf的返回值:打印在屏幕上字符的个数,如这题"Hello world!"就是13个字符(包括空格和感叹号),所以结果就是

注意:\n不能写在第一个printf函数中,这样printf的返回值会变成13,多了一个

题解2:简化版

#include <stdio.h>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;
}

答:4321(printf打印是从内层开始的,内层调用完,再进行外层,最里面的printf打印43,接着下一个printf打印上一个printf的返回值(即43的)也就是2,最后就是2的返回值,也就是1)

10.学生基本信息输入输出

题目链接:学生基本信息输入输出

题目:

题解:注意两个点

(1)scanf输入时要注意格式,看是;(分号)还是,(逗号)

(2)小数在内存中有可能不能精确保存,这题需要四舍五入,double类型不行就换float类型

(3)保留m位小数的写法:%.mf

#include<stdio.h>
int main()
{int id = 0;//学号float c_score = 0.0;float math_score = 0.0;float eng_score = 0.0;//输入scanf("%d;%f,%f,%f", &id, &c_score, &math_score, &eng_score);//输出printf("The each subject score of No. %d is %.2f, %.2f, %.2f.", id, c_score, math_score, eng_score);return 0;}

结语:彼方尚有荣光在,少年不惧岁月长

 求求了,来个三连吧。

【手把手带你刷题】-C语言编程入门篇(一)相关推荐

  1. 东哥手把手带你刷二叉树|第三期

    学算法认准 labuladong 后台回复进群一起力扣???? 读完本文,你可以去力扣解决: 652.寻找重复子树(Medium) 接前文 手把手带你刷二叉树(第一期)和 手把手带你刷二叉树(第二期) ...

  2. 【手把手带你刷Leetcode力扣】10.数据结构 -图

    图: 顶点 邻居节点 边 度:边的数量 无向图 有向图 入度:指向该顶点的边的数量 出度:以该顶点为起点指向别的顶点的边的数量 权重图 最短路径 贝尔曼-福特算法(Bellman-Ford) 迪克斯特 ...

  3. 洛谷刷题C语言:潇湘の雨、分糖果、Addition、Ljeto、TRI

    记录洛谷刷题C语言QAQ 「PMOI-0」潇湘の雨 题目背景 (原 LZOI-1,改名已经 PMOI 成员同意) lhm-01 题目描述 言琢დ 在一个 2n×2n2n \times 2n2n×2n ...

  4. 洛谷刷题C语言:Bold、饱食、公平の意、DOM、

    记录洛谷刷题C语言qaq [COCI2020-2021#6] Bold 题目描述 Paula 给 Daniel 写了一封信,她需要加粗文本的字体,以便视力恶化的 Daniel 阅读. 信可以用 . 和 ...

  5. 洛谷刷题C语言:陶瓷项链、Cow Gymnastics B、Where Am I? B、Hello, 2020!、SIR 模型

    记录洛谷刷题C语言 一.[NOI2000] 瓷片项链 题目描述 原始部落用一种稀有的泥土烧制直径相同的圆瓷片并串成项链,串的时候沿瓷片的直径方向顺次连接,瓷片之间没有空隙也不重叠,一条项链至少由一个瓷 ...

  6. CodeForces刷题C语言:Next Test、Spit Problem、Traffic Lights、Reconnaissance、Borze

    记录洛谷刷题C语言 一.Next Test 题面翻译 题面描述 给出 nnn 个互不相同的整数 aia_iai​ ,从小到大找第一个没有出现过的整数. 输入格式 第一行一个正整数 nnn ,之后是 n ...

  7. 洛谷刷题C语言:切蛋糕、概率、Bridž、NOTE、DOMINO

    记录洛谷刷题C语言qaq [NOI Online 2021 入门组] 切蛋糕 题目描述 Alice.Bob 和 Cindy 三个好朋友得到了一个圆形蛋糕,他们打算分享这个蛋糕. 三个人的需求量分别为 ...

  8. c语言中求匀加速直线速度,速求C语言编程题 c语言编程速度求

    导航:网站首页 > 速求C语言编程题 c语言编程速度求 速求C语言编程题 c语言编程速度求 相关问题: 匿名网友: #include //计算行元素和 void CountRow(int a[] ...

  9. 洛谷刷题C语言:Physics Problem、PARKING、Trol、信息学竞赛、POT

    记录洛谷刷题C语言 「dWoi R1」Physics Problem 题目背景 面对白板上的物理题,王马陷入了沉思 -- 题目描述 有 nnn 个状态,编号为 111 到 nnn.这 nnn 个状态之 ...

最新文章

  1. 零起点学算法24——求正弦和余弦
  2. golang 读取文件
  3. Android Java 8使用Lamda报错:Execution failed for task :app:transformJackWithJackForDebug - Android?...
  4. Win10 插入耳机无声问题 解决办法
  5. 数据库系统概念总结:第十二、十三章 查询处理和查询优化
  6. Linux命令必知必会
  7. C# Winform中慎用Application.DoEvents
  8. Haproxy+Percona-XtraDB-Cluster 集群
  9. 将Windows日志转换为Syslog
  10. c/c++教程 - 2.2 引用的使用方法,引用做函数参数,引用做返回值,引用的本质,常量引用
  11. 用K2设计一个工作流程
  12. 网易云音乐UC!缓存格式文件转MP3方法
  13. 《深入浅出MFC》读书笔记
  14. solr配置索引库启动tomcat报错记录及解决
  15. terraria泰拉瑞亚
  16. 【机器学习系列】聊聊决策树
  17. 如何同时使用内网(本地有线连接)和外网(WLAN无线连接)
  18. Au 效果器详解:单频段压缩器
  19. Beego入门简单构建, 连接MySQL实现增查操作
  20. WAMP的安装与配置

热门文章

  1. it's和its有什么区别?
  2. 信息论中的香农熵、条件熵、最大熵、相对熵、交叉熵理解
  3. 常用类-String类
  4. 北语的计算机语言学怎么样,谈谈,北京语言大学社会认可度怎么样
  5. 申请加群功能的实现(springboot,mybatisplus)
  6. c语言用判别式求二元一次方程,C语言编写二元一次方程的判别式
  7. 在自定义View中onFinishInflate作用
  8. STM8 微控制器接入1602 LCD
  9. 1366 贫富差距(floyed)
  10. 51nod 1366 贫富差距 弗洛伊德