C++研发笔记8——C语言程序设计初阶学习笔记6

        在第一部分——课前准备的学习中,我就提到了学习C语言的过程中,练习是必不可少的环节,所以本篇笔记我们来进行记录我们学习《C语言程序设计初阶》阶段的第一篇练习文章。

题目一

下面哪个不是C语言内置的数据类型:

A.char

B.double

C.struct Stu

D.short

【参考答案】C

【解析】C语言的内置数据类型包括:short 、 int 、 long 、 long long 、double 、float 、char 等等。


题目二

学会使用printf在屏幕输出信息,输出一架小飞机。编写程序输出这架小飞机。

输出描述:

【参考答案】

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

题目三

据说智商140以上者称为天才,KiKi想知道他自己是不是天才,请帮他编程判断。输入一个整数表示一个人的智商,如果大于等于140,则表明他是一个天才,输出“Genius”。

输入描述:多组输入,每行输入包括一个整数表示的智商。

输出描述:针对每行输入,输出“Genius”。

【参考答案】

#include<stdio.h>int main()
{int IQ = 0;printf("请输入你的智商:");scanf("%d", &IQ);if (IQ >= 140)printf("Genius");return 0;
}

        这段代码是一个基础版本,它没有实现多组输入。

#include <stdio.h>int main()
{int IQ = 0;while (scanf("%d", &IQ) == 1)//while (scanf("%d", &IQ) != EOF)//判断scanf函数的返回值是否是1// EOF 的本质是 -1// scanf 函数返回的值为实际读到的数据的个数//如果是,则进行if判断、如果不是则跳出循环return 0;代码执行结束//跳出循环方法:1.ctrl+z 一次或多次 2.输入一个不与%d匹配的值//好处:可进行多次输入{if (IQ >= 140)//如果不是,则返回while进行再次输入printf("Genius");}return 0;
}

        还可以进一步提升

#include <stdio.h>int main()
{int IQ = 0;while (1) // 使用一个无限循环{printf("请输入一个智商值: "); if (scanf("%d", &IQ) != 1) // 判断scanf函数的返回值是否为1break; // 退出循环if (IQ >= 140)printf("Genius\n"); // 如果智商大于等于140,输出“Genius”}return 0;
}

题目四

你的手机丢了,在屏幕上输出信息告诉大家。

输出描述:I lost my cellphone!

【参考答案】

#include<stdio.h>int main()
{printf("I lost my cellphone!");return 0;
}

题目五

请计算表达式“(-8+22)×a-10+c÷2”,其中,a = 40,c = 212。

#include<stdio.h>int main()
{int a = 40;int c = 212;printf("%d", (-8 + 22) * a - 10 + c / 2);return 0;
}

题目六

局部变量的作用域是:

A.main函数内部

B.整个程序

C.main函数之前

D.局部变量所在的局部范围

【参考答案】D


题目七

字符串的结束标志是:( )

A.是'0'

B.是EOF

C. 是'\0'

D.是空格

【参考答案】C


题目八

下面那个不是转义字符?

A.'\n'

B.'\060'

C.'\q'

D.'\b'

【参考答案】C


题目九

下面代码的结果是:( )

#include <stdio.h>
#include <string.h>int main()
{char arr[] = {'b', 'i', 't'};printf("%d\n", strlen(arr));return 0;
}

A.3

B.4

C.随机值

D.5

【参考答案】C

【补充拓展】在之前我们学习笔记的代码中,我们使用strlen并没有包含string.h头文件,但也能正常运行,这是因为虽然 strlen 函数是定义在 <string.h>头文件中的,但在 C 语言中,strlen 函数是可被直接使用的内置函数之一。这意味着即使你没有包含<string.h>,编译器也能识别strlen函数,因为它是 C 语言标准库的一部分,编译器默认就知道如何处理这些标准库函数。


题目十

下面代码输出的结果是:( )

#include <stdio.h>
int num = 10;
int main()
{int num = 1;printf("num = %d\n", num);return 0;	
}

A. 程序有问题,不能编译

B.输出1

C.输出10

D.输出0

【参考答案】B


题目十一

下面程序的结果是:( )

#include <stdio.h>
#include <string.h>
int main()
{printf("%d\n", strlen("c:\test\121"));return 0;
}

A.7

B.8

C.9

D.10

【参考答案】A


题目十二

判断一个整数是否能5整除是一个挺简单的问题,懒惰的KiKi还是不想自己做,于是找到你帮他写代码,你就帮帮他吧。

输入描述:输入包括一个整数M(1≤M≤100,000)。

输出描述:输出包括一行,如果M可以被5整除就输出YES,否则输出NO(结果大小写敏感)。

【参考答案】

#include<stdio.h>int main()
{int M = 0;scanf("%d", &M);int a = 0;a = M % 5;if (a == 0)printf("YES");elseprintf("NO");return 0;
}

题目十三

已知一个函数y=f(x),当x < 0时,y = 1;当x = 0时,y = 0;当x > 0时,y = -1。   

输入描述:一行,输入一个整数x。(-10000<x<10000)

输出描述:一行,输出y的值。

【参考答案】

#include<stdio.h>int main()
{int x = 0;scanf("%d", &x);if (x < 0)printf("1");else if (x == 0)printf("0");elseprintf("-1");return 0;
}

        上面这种写法比较讨巧,但是运行结果是正确的,比较正式的写法是这样的

#include<stdio.h>int main()
{int x = 0;int y = 0;scanf("%d", &x);if (x > 0){y = -1;printf("%d", y);}else if (x == 0){y = 0;printf("%d", y);}else{y = 1;printf("%d", y);}return 0;
}


题目十四

给定两个整数a和b (0 < a,b < 10,000),计算a除以b的整数商和余数。

输入描述:一行,包括两个整数a和b,依次为被除数和除数(不为零),中间用空格隔开。

输出描述:一行,包含两个整数,依次为整数商和余数,中间用一个空格隔开。

【参考答案】

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

        以上十四道题便是第一篇练习文章的内容,下一篇笔记开始我们将继续学习《初识C语言》的内容,当然后面依旧会有部分的练习篇章。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大数据学习 | kafka】kafuka的基础架构

1. kafka是什么 Kafka是由LinkedIn开发的一个分布式的消息队列。它是一款开源的、轻量级的、分布式、可分区和具有复制备份的&#xff08;Replicated&#xff09;、基于ZooKeeper的协调管理的分布式流平台的功能强大的消息系统。与传统的消息系统相比&#xff0c;KafKa能够很好…

C++基础:三个字符串也能搞大小?

上一篇说了三个整数比较大小&#xff0c;按照顺序输入的&#xff0c;这次我们看看字符串的&#xff0c;顺便把那个简化以下&#xff1a; 题目:这次输入三个字符串。如果用户输入“Stenbeck", “Hemingway”,“Fitzgerald”,输出将是“Fitzgerald&#xff0c;Hemingway&…

OPPO携手比亚迪共同探索手机与汽车互融新时代

10月23日&#xff0c;OPPO与比亚迪宣布签订战略合作协议&#xff0c;双方将共同推进手机与汽车的互融合作&#xff0c;这一合作也标志着两大行业巨头在技术创新和产业融合上迈出了重要一步&#xff0c;为手机与汽车的深度融合探索新的可能。 OPPO创始人兼首席执行官陈明永、OP…

LCD手机屏幕高精度贴合

LCD手机屏幕贴合&#xff0c;作为智能手机生产线上至关重要的一环&#xff0c;其质量直接关乎用户体验与产品竞争力。这一工艺不仅要求屏幕组件间的无缝对接&#xff0c;达到极致的视觉与触觉效果&#xff0c;还需确保在整个生产过程中&#xff0c;从材料准备到最终成品&#x…

<Project-11 Calculator> 计算器 0.3 年龄计算器 age Calculator HTML JS

灵感 给工人发工资是按小时计算的&#xff0c;每次都要上网&#xff0c;我比较喜欢用 Hours Calculator &#xff0c;也喜欢它的其它的功能&#xff0c; 做个类似的。 我以为是 Python&#xff0c;结果在学 javascript 看 HTML&#xff0c;页面的基础还停留在 Frontpage 2000…

MongoDB简单学习

MongoDB 一、基本使用 1.1业务应用场景 传统的关系型数据库&#xff08;如Mysql&#xff09;&#xff0c;在数据库操作的“三高”需求以及对应web2.0的网站需求面前&#xff0c;显得力不从心 三高&#xff1a; High performance - 对数据库高并发读写的要求Huge Storage -…

1U服务器和Hyper-V虚拟机使用记录

记录最近接触服务器和虚拟机的一些使用操作知识 背景&#xff1a;1U服务器上架使用&#xff0c;备份其他服务器vm虚拟机&#xff0c;Hyper-V管理虚拟机使用测试 设备&#xff1a;IBM3550服务器交换机&#xff0c; 移动硬盘&#xff1a;附加存储盘&#xff0c; u盘1&#xff1…

解决JAVA使用@JsonProperty序列化出现字段重复问题(大写开头的字段重复序列化)

文章目录 引言I 解决方案方案1:使用JsonAutoDetect注解方案2:手动编写get方法,JsonProperty注解加到方法上。方案3:首字母改成小写的II 知识扩展:对象默认是怎样被序列化?引言 需求: JSON序列化时,使用@JsonProperty注解,将字段名序列化为首字母大写,兼容前端和第三方…

【C++】进阶:类相关特性的深入探讨

⭐在对C 中类的6个默认成员函数有了初步了解之后&#xff0c;现在我们进行对类相关特性的深入探讨&#xff01; &#x1f525;&#x1f525;&#x1f525;【C】类的默认成员函数&#xff1a;深入剖析与应用&#xff08;上&#xff09; 【C】类的默认成员函数&#xff1a;深入剖…

【从零开始的LeetCode-算法】910. 最小差值 II

给你一个整数数组 nums&#xff0c;和一个整数 k 。 对于每个下标 i&#xff08;0 < i < nums.length&#xff09;&#xff0c;将 nums[i] 变成 nums[i] k 或 nums[i] - k 。 nums 的 分数 是 nums 中最大元素和最小元素的差值。 在更改每个下标对应的值之后&#xf…

论文略读:Not all Layers of LLMs are Necessary during Inference

202404 LLMs的推理阶段非常昂贵 目前实现LLM高效推理的流行方法包括模型剪枝和稀疏模型 但这些方法可能会改变LLM参数&#xff0c;从而冒险损害其泛化能力。这篇论文动态减少激活神经元的数量以加速LLM推理 根据输入实例动态决定推理终止时刻

openjdk17在java方法中创建对象 类加载在C++源码实现步骤

java的testYYM方法中OtherClass类是如何被加载的 ##有请志愿者java实验类 ByteCodeTest、OtherClass import java.lang.reflect.Method;public class ByteCodeTest {private int insert678;public static void main(String[] args) throws Exception {ByteCodeTest byteCodeT…

leetcode动态规划(十三)-目标和

题目 494.目标和 给你一个非负整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 或 - &#xff0c;然后串联起所有整数&#xff0c;可以构造一个 表达式 &#xff1a; 例如&#xff0c;nums [2, 1] &#xff0c;可以在 2 之前添加 &#xff0c;在 1 之前添…

Unity(四十八):Unity与Web双向交互

效果 游戏对象绑定脚本 游戏脚本源码 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Tent : MonoBehaviour {public Camera camera;// Start is called before the first frame updatevoid Start(){}// Update is called once…

鸿蒙网络编程系列36-固定包头可变包体解决TCP粘包问题

1. TCP数据传输粘包简介 在本系列的第6篇文章《鸿蒙网络编程系列6-TCP数据粘包表现及原因分析》中&#xff0c;我们演示了TCP数据粘包的表现&#xff0c;如图所示&#xff1a; 随后解释了粘包背后的可能原因&#xff0c;并给出了解决TCP传输粘包问题的两种思路&#xff0c;第一…

网络通信与并发编程(六)线程、进程池与线程池

线程、进程池与线程池 文章目录 线程、进程池与线程池一、线程二、线程的相关操作2.1创建线程的两种方式2.2线程的其他操作2.3死锁现象和递归锁2.4条件2.5定时器2.6 队列与堆栈 三、进程池与线程池 一、线程 线程是指cpu上实际执行计算的单位&#xff0c;而进程是将计算所需资…

潮畔汽车文化营地开营啦!全民测试场启动典礼圆满成功

在这个充满活力与创新的时代&#xff0c;汽车已不仅仅是代步工具&#xff0c;它承载着人们对速度、自由、科技与梦想的追求&#xff0c;成为了一种生活方式的象征。随着汽车文化的日益丰富和多元化&#xff0c;如何更好地连接汽车制造商、消费者以及广大汽车爱好者&#xff0c;…

群控系统服务端开发模式-应用开发-业务架构逻辑开发准备工作

安装与仓库已经调整完毕&#xff0c;现在开发业务架构逻辑&#xff0c;其次再开发功能逻辑。业务架构逻辑开发与功能逻辑开发不是一回事&#xff0c;一定要明白。业务架构指的是做某一件事或是某一种类型的事的逻辑&#xff0c;在互联网web应用中通常指一套系统的外在逻辑&…

Vue学习笔记(四)

事件处理 我们可以使用 v-on 指令 (通常缩写为 符号) 来监听 DOM 事件&#xff0c;并在触发事件时执行一些 JavaScript。用法为 v-on:click"methodName" 或使用快捷方式 click"methodName" 事件处理器的值可以是&#xff1a; 内联事件处理器&#xff1…

Jetpack架构组件_LiveData组件

1.LiveData初识 LiveData:ViewModel管理要展示的数据&#xff08;VM层类似于原MVP中的P层&#xff09;&#xff0c;处理业务逻辑&#xff0c;比如调用服务器的登陆接口业务。通过LiveData观察者模式&#xff0c;只要数据的值发生了改变&#xff0c;就会自动通知VIEW层&#xf…