大一,大二初学者训练题

  • 1. BC1-实践出真知
  • 2. BC2-我是大V
  • 3. BC3-有容乃大
  • 4. BC7-缩短二进制
  • 5. BC19-反向输出一个四位数
  • 6. BC28- 大小写转换

本文所有题目均来自牛客网的《编程初学者入门训练》
链接: link.
点此即可进入。

写本博客的目的在于进行复盘总结和知识归纳。我会把每题的技术知识重点进行详细的解释说明,使对编程题有个更加简单的认知,不会被一部分不会的技术知识点难倒。

1. BC1-实践出真知

题目: 于老师经常告诉我们“学习编程最好的办法就是上机实践,因为你要对计算机下指令,想让计算机帮你干活,就得多和计算机‘交流’,实践才能出真知。”

//引入头文件
#include <stdio.h>//写入主函数
//main函数是程序的入口,代码一般都是从入口开始执行
int main()
{printf("Practice makes perfect!");return 0;
}

printf因为是库函数 - 输出操作,得引入头文件<stdio.h>;

一个工程里,main函数只能有一个;

解析:

这题没有要求输入字符,只考察了输出,所以我们只要把输出结果复制好粘贴正确就行,大部分出现的问题就是输出的结果有问题,建议细致一点比较好。

2. BC2-我是大V

题目: 每个人都想成为大V (VIP:Very Important Person),但要一点一点积累才行,先从小v做起。要求输出由小写字母v组成的大V。

#include <stdio.h>int main()
{p**加粗样式**rintf("v   v\n");printf(" v v\n");printf("  v");return 0;
}
int main()
{printf("v   v\n v v\n  v");return 0;
}

这两个程序代码都可以输出准确的答案。

解析:

本题没有输入,只有输出,但要注意转义字符\n, 他可以实现换行操作。

转义字符的具体简单操作可以看我写的另一篇博客《C语言知识入门概述1(纯干货笔记)》

3. BC3-有容乃大

题目: 确定不同整型数据类型在内存中占多大(字节),输出不同整型数据类型在内存中占多大(字节)。

#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;
}

解析:

因为所有的字节都是整数类型,所以我们用%d就可以。也注意大写字母和换行\n,注意题目要求。

计算机的单位:

1 bit
1 byte = 8 bit
1 kb = 1024 byte

C语言标准规定:
sizeof(long long) >= sizeof(long) >= sizeof(int)

所以打印的结果就是:
sizeof(short) = 2 bytes;
sizeof(int) = 4 bytes;
sizeof(long) = 4 bytes;
sizeof(long long) = 8 bytes;

而sizeof 是C语言的一个单目操作符,用来计算不同类型数据所占内存空间的大小,单位是字节。

4. BC7-缩短二进制

题目: 我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。

#include <stdio.h>int main()
{int x = 1234;printf("%#o %#X", x, x);//输出的结果要十六进制的字母是大写的的话需要使用大写的X。//反之,就是小写return 0;
}

一个数字前面放一个0就是八进制
一个数字前面放一个0X就是十六进制

解析:

printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示

扩展:

%c - 字符
%hd - 短整形
%d - 整形
%s - 字符串
%f - 单精度浮点数
%lf - 双精度浮点数
%p - 地址格式

5. BC19-反向输出一个四位数

题目: 将一个四位数,反向输出。

方法一

#include <stdio.h>int main()
{int a;//输入scanf("%d", &a);//注意取地址符&//输出printf("%d%d%d%d", a%10, a%100/10, a%1000/100, a/1000);return 0;
}

解析:

1234 % 10 = 4;
1234 % 100 / 10 =3;
1234 % 1000 / 100 = 2;
1234 / 1000 = 1;

方法二

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

解析:

1234 % 10 = 4;
1234 / 10 = 123;
123 % 10 = 3;
123 / 10 = 12;
...
1 / 10 = 0;//出循环结束

6. BC28- 大小写转换

题目: 实现字母的大小写转换。多组输入输出。

方法一

#include <stdio.h>int main()
{char ch = 0;while (scanf("%c", &ch) != EOF)//!=EOF 文件还没有结束{getchar();//因为每次输入都要习惯性的敲一下回车键,//所以需要这个消除读取的换行符printf("%c\n", ch + 32);}return 0;
}

方法二

int main()
{int ch = 0;while((ch = getchar() != EOF){putchar(ch + 32);printf("\n");getchar();//读取\n}return 0;
}

解析:

getchar 和 键盘 输入中间有个输入缓冲区

当你输入字符的时候

比如:
你想打印一个小写a,那么你就会输入A和回车键去运行代码,而导致的结果就是多了一个\n在缓冲区 ,然后在再一次循环中会输入那个\n, 导致最后打印会出现一个*星号。

\n在ascll里面是10,而加上32就是42的星号* 。

EOF指的是end of file (文件结束标志);按Ctrl+z;

当scanf或者getchar读取失败的时候,就会返回EOF,而EOF不等于EOF的时候,就会返回假,程序结束。

到此结束,未完待续【dog】

剩下的到时候有时间就更。

看着感觉不错的话就点点赞吧,你的支持就是我的动力,谢谢!

牛客网c语言刷题130,开篇入门刷题,战胜对编程的恐惧,适合初学者食用。相关推荐

  1. 牛客网C语言题目练习

    牛客网C语言专题练习 BC1 实践出真知 BC2 我是大V BC3 有容乃大 BC6 小飞机 BC7 缩短二进制 BC8 十六进制转十进制 BC9 十六进制转十进制 BC11 学生基本信息输入输出 B ...

  2. 牛客网_Go语言相关练习_选择题(2)

    注:题目来源均出自牛客网. 一.选择题 Map(集合)属于Go的内置类型,不需要引入其它库即可使用. Go-Map_菜鸟教程 在函数声明中,返回的参数要么都有变量名,要么都没有. C选项函数声明语法有 ...

  3. 牛客网C语言考试输入输出问题

    如果是用C语言考试,且HW的需要自己写输入输出的,请注意. 以下绝对不能用 void main() { return ; } 图省事不写返回值,但是会导致网站一直报错,输出无法正常输出,fflush( ...

  4. 2019牛客网暑期多校赛第七场C题Governing sand --思维+前缀和

    链接:https://ac.nowcoder.com/acm/contest/887/C 来源:牛客网 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 65536K,其他语言13107 ...

  5. 牛客网【加密和安全】专项练习错题笔记整理

    文章目录 第一题:DNS欺骗 第二题:加密算法安全级别 第三题:DLL注入 第四题:CIH病毒 第五题:防火墙技术 第六题:MD5 第七题:https 第八题:https 第九题:XSS和CSRF 第 ...

  6. 牛客网 G-送分了 QAQ 数位 dp入门

    时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 链接: https://www.nowcode ...

  7. 牛客网C语言入门刷题(BC1 ~ BC50)

    文章目录 BC1 实践出真知 BC2 我是大V BC3 有容乃大 BC6 小飞机 BC7 缩短二进制 BC8 十六进制转十进制 BC9 printf的返回值描述 BC10 成绩输入输出 BC11 学生 ...

  8. 牛客网C语言刷题(三)

    ✅作者简介:大家好我是:嵌入式基地,是一名嵌入式工程师,希望一起努力,一起进步!

  9. 牛客网C语言刷题(指针篇)

    ✅作者简介:大家好我是:嵌入式基地,是一名嵌入式工程师,希望一起努力,一起进步!

最新文章

  1. 在线作图|如何绘制一张山脊图
  2. Sharepoint the file is locked for use domain\user edit.文件被锁定,解锁方式
  3. 【Oracle 常用查询】oracle表空间使用率统计查询
  4. 多行匹配.+表示分组的错误
  5. hp 380g9服务器用户手册,HP ProLiant DL380Gen9服务器用户指南
  6. GM6 pageset - DB get scenario
  7. 【渝粤教育】广东开放大学 文化产业项目案例分析 形成性考核 (51)
  8. ubuntu中由apt-get获得的文件包保存在哪里?
  9. python中headers的作用_爬虫入门到精通-headers的详细讲解(模拟登录知乎)
  10. 微信jssdk在iframe页面失效问题的解决措施
  11. java中的静态块static{}及this,super,final的用法总结
  12. win10打开蓝牙_win10动态锁,只要你离电脑远一点,电脑就自动锁定
  13. 联想台式机计算机接口,我的电脑显卡是什么样的接口?
  14. html中如何把两行合并单元格,css合并两列单元格内容
  15. 密西根州立大学计算机qs分数,密歇根州立大学有哪些专业_专业排名(QS世界排名)...
  16. 解决Win7的svchost进程占内存过大,计算机运行过慢的方法
  17. 【2022年终总结】将哈佛大学Reich数据包中的352例SGDP样本进行Admixture分析的结果
  18. android的vmos虚拟机,vmospro虚拟机
  19. 中兴二面(综合面试及口语测评)
  20. 统计建模:数据分析基础

热门文章

  1. 文件服务器三个方法,专家答疑:如何为三个客户端架设起文件共享服务器?
  2. java 文件流关闭 finally_Java如何正确的使用try catch finally关闭文件流的总结
  3. Laravel框架 微信授权登陆 代码封装
  4. 2018最新传智播客黑马WEB前端36期全套
  5. android 方法拦截器,Android的OkHttp包中的HTTP拦截器Interceptor用法示例
  6. AI一分钟 | 马云回应乌镇饭局:饭不重要,饭局上讨论的问题很重要;高通回应博通提名董事会人选:公然抢夺董事会控制权
  7. c 语言 uint8 转char,c++ 将char *转换为uint8_t
  8. 论文笔记:Harmonizing Transferability and Discriminability for Adapting Object Detectors
  9. 刷脸支付实现刷脸即会员的新亮点
  10. 目标检测论文:FoveaBox: Beyond Anchor-based Object Detector及其PyTorch实现