当前位置: 首页 > news >正文

【C语言】初阶测试 (带讲解)

 

目录

① 选择题

        1. 下列程序执行后,输出的结果为( )

2. 以下程序的输出结果是? 

3. 下面的代码段中,执行之后 i 和 j 的值是什么() 

4. 以下程序的k最终值是:

5. 以下程序的最终的输出结果为:

6. 下列描述中正确的是()

 7.C 语言规定,在一个源程序中,main函数的位置()

8.以下叙述不正确的是( )  

9.以下叙述正确的是( )。

10. 执行如下代码, c 的值是:()

 11. 假定 x 和 y 为 double 型,则执行 x=2 ; y=x+3/2; 后y的值为()

12. 以 下 for 循 环 的 执 行 次 数 是()

13. 若有定义语句: int year=1009 , *p=&year ;

14. 选择表达式 11|10 的结果(本题数值均为十进制) 

15. char a ; int b ; flat c ; double d ; 则表达式 a*b+d-c 值的类型为() 

②ACM编程题

1.求最小公倍数

2.倒置字符串


 

① 选择题

        1. 下列程序执行后,输出的结果为( )

#include <stdio.h>
int cnt=0;
int fib(int n){
cnt++;
if(n==0)
return 1;
else if(n==1)
return 2;
else
return fib(n-1)+fib(n-2);
}
void main()
{
fib(8);
printf("%d",cnt);
}

A 41

B 67

C 109

D 177 

总共算出有67次递归运算,每次进入fib()都会cnt++;所以选B 

2. 以下程序的输出结果是? 

int x = 1;do{printf("%2d\n",x++);}while(x--); 

A 1

B 无任何输出

C 2

D 陷入死循环

x=1,进入,然后后置加加变成2,在进入while,变成1.如此死循环。选D 

3. 下面的代码段中,执行之后 i 和 j 的值是什么() 

int i=1;
int j;
j=i++

A 1,1

B 1,2

C 2,1

D 2,2

选C

4. 以下程序的k最终值是:

 int i = 10; 
int j = 20; 
int k = 3; 
k *= i + j;

 A 90

B 50

C 70

D 30

因为赋值操作符优先级较低,所以先运算i+j再*K 

5. 以下程序的最终的输出结果为:

int a=1; 
void test()
{ 
int a=2;
a+=1;}  
int main(){
test();
printf("%d\n",a);
return 0;
}

A 1

B 2

C 3

D 4 

局部变量出了作用域就销毁了,所以打印的是全局变量a,这里并没有将a的地址传过去。 

6. 下列描述中正确的是()

A 表示m>n为true或者m<n为true的表达式为m>n&&m<n

B switch语句结构中必须有default语句
C 如果至少有一个操作数为true,则包含“]”运算符的表达式true

D if语句结构中必须有else语句

选C 

 7.C 语言规定,在一个源程序中,main函数的位置()

A 必须在最开始
B 必须在系统调用的库函数的后面
C 可以任意
D 必须在最后 

选C 

8.以下叙述不正确的是( )  


A  一个C源程序可由一个或多个函数组成
B  一个C源程序必须包含一个main函数
C   C程序的基本组成单位是函数
D   在C程序中,注释说明只能位于一条语句的后面 

 选D

9.以下叙述正确的是( )。

在C程序中,main函数必须位于程序的最前面
C程序的每行中只能写一条语句
C语言本身没有输入输出语句
在对一个C程序进行编译的过程中,可发现注释中的拼写错误 

选C 

10. 执行如下代码, c 的值是:()

int a=0,c=0;
do{
--c;
a=a-1;
}while(a>0);

A  0

B 1

C  -1

D 死循环 

c--等于-1; a = a-1  a 等于-1,while(-1>0) 为假,跳出循环,所以选C; 

 11. 假定 x 和 y 为 double 型,则执行 x=2 ; y=x+3/2; 后y的值为()

A 3.500000

B 3

C 2.000000

D 3.000000

3/2为整数1,  1+double型的x, 1+2.0 = 3.0;所以选D 

12. 以 下 for 循 环 的 执 行 次 数 是()

 for(x=0,y=0;(y=123)&&(x<4);x++); 

A 是无限循环

B 循环次数不定

C 4次

D 3次

y=123恒为真,只看x<4; 只有x =0,1,2,3一共四次循环就会跳出,所以选C 

13. 若有定义语句: int year=1009 , *p=&year ;

以下不能使变量 year 中的值增至 1010 的语句是 

A *p+=1;

B (*p)++;

C ++(*p)

D *p++ 

*p++ p会先跟++结合,就会跳到下一个整型地址,题目要的是通过&year修改值 ;选D

14. 选择表达式 11|10 的结果(本题数值均为十进制) 

A 11

B 10

C 8

D 2

| //按位或, 只要有一个为真就为真,1011和1010 | 后,结果为 1011;所以选A

15. char a ; int b ; flat c ; double d ; 则表达式 a*b+d-c 值的类型为() 

A float

B int

C char

D double 

两个不同类型进行计算时,会吧小的提 升成的,所以最后结果为double.选D

②ACM编程题

1.求最小公倍数

正整数A和正整数B 的最小公倍数是指 能被A和B整除的最小的正整数值,设计一个算法,求输入A和B的最小 公倍数。

输入描述: 输入两个正整数A和B。

输出描述: 输出A和B的最小公倍数。 

示例1: 输入 5 7 输出 35 

int main()
{long long a = 0;long long b = 0;scanf("%lld %lld", &a, &b);//求出a和b的较大值long long i = 1;while (i * a % b != 0){i++;}printf("%lld\n", i * a);return 0;
}

 

2.倒置字符串

将一句话的单词进行倒置,标点不倒置。

比如 I like beijing. 经过函数后变为:beijing. like I

输入描述: 每个测试输入包含1个测试用例: I like beijing.

输入用例长度不超过100 输出描述: 依次输出倒置之后的字符串,以空格分割

示例1: 输入 I like beijing.

                输出 beijing. like I 

void reverse(char* left, char* right)
{while (left < right){char tmp = *left;*left = *right;*right = tmp;left++;right--;}
}int main() {char arr[101] = { 0 };//abcdef ghi qwer\0//scanf("%s", arr);//gets(arr);//scanf("%[^\n]s", arr);int ch = 0;int i = 0;while ((ch = getchar()) != '\n'){arr[i++] = ch;}int len = strlen(arr);//1. 逆序整个字符串reverse(arr, arr + len - 1);//2. 逆序每个单词char* cur = arr;while (*cur){char* start = cur;while (*cur != ' ' && *cur != '\0'){cur++;}char* end = cur - 1;reverse(start, end);//逆序一个单词if (*cur == ' ')cur++;}printf("%s\n", arr);return 0;
}

 

【C语言】初阶已经全介绍了一遍,做完这套初阶测试,巩固,后续还会出每日一题【C语言】。

文中不足的地方,希望大佬指点改善 

 

相关文章:

【C语言】初阶测试 (带讲解)

目录 ① 选择题 1. 下列程序执行后&#xff0c;输出的结果为( ) 2. 以下程序的输出结果是&#xff1f; 3. 下面的代码段中&#xff0c;执行之后 i 和 j 的值是什么&#xff08;&#xff09; 4. 以下程序的k最终值是&#xff1a; 5. 以下程序的最终的输出结果为&#xff…...

用huggingface.Accelerate进行分布式训练

诸神缄默不语-个人CSDN博文目录 本文属于huggingface.transformers全部文档学习笔记博文的一部分。 全文链接&#xff1a;huggingface transformers包 文档学习笔记&#xff08;持续更新ing…&#xff09; 本部分网址&#xff1a;https://huggingface.co/docs/transformers/m…...

unity 物体至视图中心以及新对象创建位置

如果游戏对象不在视野中心或在视野之外&#xff0c; 一种方法是双击Hierarchy中的对象名称 另一种是选中后按F 新建物体时对象的位置不是在坐标原点&#xff0c;而是在当前屏幕的中心...

船舶稳定性和静水力计算——绘图体平面图,静水力,GZ计算(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

Python 网页爬虫的原理是怎样的?

网页爬虫是一种自动化工具&#xff0c;用于从互联网上获取和提取信息。它们被广泛用于搜索引擎、数据挖掘、市场研究等领域。 网页爬虫的工作原理可以分为以下几个步骤&#xff1a;URL调度、页面下载、页面解析和数据提取。 URL调度&#xff1a; 网页爬虫首先需要一个初始的U…...

python技术面试题合集(二)

python技术面试题 1、简述django FBV和CBV FBV是基于函数编程&#xff0c;CBV是基于类编程&#xff0c;本质上也是FBV编程&#xff0c;在Djanog中使用CBV&#xff0c;则需要继承View类&#xff0c;在路由中指定as_view函数&#xff0c;返回的还是一个函数 在DRF中的使用的就是…...

【linux命令讲解大全】089.使用tree命令快速查看目录结构的方法

文章目录 tree补充说明语法选项列表选项文件选项排序选项图形选项XML / HTML / JSON 选项杂项选项 参数实例 从零学 python tree 树状图列出目录的内容 补充说明 tree 命令以树状图列出目录的内容。 语法 tree [选项] [参数]选项 列表选项 -a&#xff1a;显示所有文件和…...

【C++】—— 单例模式详解

前言&#xff1a; 本期&#xff0c;我将要讲解的是有关C中常见的设计模式之单例模式的相关知识&#xff01;&#xff01; 目录 &#xff08;一&#xff09;设计模式的六⼤原则 &#xff08;二&#xff09;设计模式的分类 &#xff08;三&#xff09;单例模式 1、定义 2、…...

TheRouter 框架原理

TheRouter 框架入口方法 通过InnerTheRouterContentProvider 注册在AndroidManifest.xml中&#xff0c;在应用启动时初始化 <application><providerandroid:name"com.therouter.InnerTheRouterContentProvider"android:authorities"${applicationId}.…...

系列十二、Java操作RocketMQ之带标签Tag的消息

一、带标签的Tag消息 1.1、概述 RocketMQ提供消息过滤的功能&#xff0c;通过Tag或者Key进行区分。我们往一个主题里面发送消息的时候&#xff0c;根据业务逻辑可能需要区分&#xff0c;比如带有tagA标签的消息被消费者A消费&#xff0c;带有tagB标签的消息被消费者B消费&…...

Java面向对象学习笔记-1

前言 “Java 学习笔记” 是为初学者和希望加深对Java编程语言的理解的人们编写的。Java是一门广泛应用于软件开发领域的强大编程语言&#xff0c;它的语法和概念对于初学者来说可能有些复杂。这份学习笔记的目的是帮助读者逐步学习Java的基本概念&#xff0c;并提供了一系列示…...

el-table根据data动态生成列和行

css //el-table-column加上fixed后会导致悬浮样式丢失&#xff0c;用下面方法可以避免 .el-table__body .el-table__row.hover-row td{background-color: #083a78 !important; } .el-table tbody tr:hover>td {background: #171F34 !important; }html <el-table ref&quo…...

【c++】如何有效地利用命名空间?

​ &#x1f331;博客主页&#xff1a;青竹雾色间 &#x1f618;博客制作不易欢迎各位&#x1f44d;点赞⭐收藏➕关注 ​✨人生如寄&#xff0c;多忧何为 ✨ 目录 前言什么是命名空间&#xff1f;命名空间的语法命名空间的使用避免命名冲突命名空间的嵌套总结 前言 当谈到C编…...

Go语言传参

为了让新手尽快熟悉go的使用,特记录此文,不必谢我,转载请注明! Go 语言中参数传递的各种效果,主要内容包括: 传值效果指针传递结构体传递map 传递channel 传递切片传递错误传递传递效果示例传递方式选择原文连接:https://mp.weixin.qq.com/s?__biz=MzA5Mzk4Njk1OA==&…...

SAP PI 配置SSL链接接口报错问题处理Peer certificate rejected by ChainVerifier

出现这种情况一般无非是没有正确导入证书或者证书过期的情况 第一种&#xff0c;如果没有导入证书的话&#xff0c;需要在NWA中的证书与验证-》CAs中导入管理员提供的证书&#xff0c;这里需要注意的是&#xff0c;需要导入完整的证书链。 第二种如果是证书过期的&#xff0c…...

【MyBatisⅡ】动态 SQL

目录 &#x1f392;1 if 标签 &#x1fad6;2 trim 标签 &#x1f460;3 where 标签 &#x1f9ba;4 set 标签 &#x1f3a8;5 foreach 标签 动态 sql 是Mybatis的强⼤特性之⼀&#xff0c;能够完成不同条件下不同的 sql 拼接。 在 xml 里面写判断条件。 动态SQL 在数据库里…...

音视频入门基础理论知识

文章目录 前言一、视频1、视频的概念2、常见的视频格式3、视频帧4、帧率5、色彩空间6、采用 YUV 的优势7、RGB 和 YUV 的换算 二、音频1、音频的概念2、采样率和采样位数①、采样率②、采样位数 3、音频编码4、声道数5、码率6、音频格式 三、编码1、为什么要编码2、视频编码①、…...

Pytorch中如何加载数据、Tensorboard、Transforms的使用

一、Pytorch中如何加载数据 在Pytorch中涉及到如何读取数据&#xff0c;主要是两个类一个类是Dataset、Dataloader Dataset 提供一种方式获取数据&#xff0c;及其对应的label。主要包含以下两个功能&#xff1a; 如何获取每一个数据以及label 告诉我们总共有多少的数据 Datal…...

python如何使用打开文件对话框选择文件?

python如何使用打开文件对话框选择文件&#xff1f; ━━━━━━━━━━━━━━━━━━━━━━ 在Python中&#xff0c;可以使用Tkinter库中的filedialog子模块来打开一个文件对话框以供用户选择文件。以下是一个简单的例子&#xff0c;演示如何使用tkinter.filedialog打…...

虚拟化和容器

文章目录 1 介绍1.1 简介1.2 虚拟化工作原理1.3 两大核心组件&#xff1a;QEMU、KVMQEMUKVM 1.4 发展历史1.5 虚拟化类型1.6 云计算与虚拟化1.7 HypervisorHypervisor分为两大类 1.8 虚拟化 VS 容器 2 虚拟化应用dockerdocker 与虚拟机的区别 K8Swine 参考 1 介绍 1.1 简介 虚…...

程序员想开 AI 会员:ChatGPT、Claude、Gemini 这些该怎么充值更省心?

最近很多程序员开 AI 会员&#xff0c;已经不是为了“尝鲜”了。更多时候是因为真的用得上&#xff1a;代码报错看半天&#xff0c;想让 AI 帮忙缩小排查范围。 接手老项目&#xff0c;想让 AI 先帮忙解释模块逻辑。 接口文档太长&#xff0c;想快速整理字段和调用方式。 READM…...

Burp Suite客户端证书不生效的三大底层原因与排错指南

1. 这不是证书问题&#xff0c;是信任链断裂的错觉 你刚在Burp Suite里导入了Client SSL Certificate&#xff0c;勾选了“Use client certificate for all requests”&#xff0c;点下Send&#xff0c;结果服务器返回400 Bad Request或直接断连&#xff1b;换一台机器重装Burp…...

网络设备27MHz差分时钟选型与设计实战:从HCSL接口到低抖动布局

1. 项目概述&#xff1a;为什么网络设备的“心跳”如此挑剔&#xff1f;干了十几年硬件设计&#xff0c;从早期的百兆交换机做到现在的万兆、25G甚至更高速率的设备&#xff0c;我越来越深刻地体会到&#xff0c;一个稳定、干净的时钟信号&#xff0c;对于网络设备而言&#xf…...

Louvain 算法:让网络自己“报团取暖”的发现者

&#x1f9e9; Louvain 算法&#xff1a;让网络自己“报团取暖”的发现者为什么你的朋友圈会自然分成老同学、同事和游戏好友&#xff1f;Louvain算法就是网路世界里的“社交侦探”&#xff0c;它能自动帮你看清整个网络中“谁和谁是一伙的”。一、从一个生活场景说起 &#x1…...

C语言学习笔记20260522—交换两个整数的值(地址传递)/打印1-100直接3倍数的数字/两个数最大公约数(最小公倍数)

一.知识点 函数需要改变实参时&#xff0c;必要要用地址传递&#xff0c;不能用值传递。当一个数%比自己大的数是&#xff0c;%的值就是自己本身。数辗转相除法&#xff08;欧几里得算法&#xff09;求两个数的最大公约数。两个数的最小公倍数为两个数的乘积除以最大公约数。 二…...

超全 PS 快捷键汇总!新手一键收藏终身受用

对于经常使用Photoshop修图、做设计的小伙伴来说&#xff0c;最影响效率的从来不是创意不足&#xff0c;而是频繁点击菜单栏找功能。明明几秒就能完成的操作&#xff0c;却因为不熟悉工具&#xff0c;反复查找按钮、低效操作&#xff0c;大大拖慢修图节奏。熟练掌握PS快捷键&am…...

Verilator仿真保姆级避坑指南:从安装最新版到用GTKWave看波形的完整流程

Verilator仿真实战手册&#xff1a;从源码编译到波形调试的深度解析 1. 为什么选择Verilator&#xff1a;开源EDA工具链的新选择 在数字电路设计领域&#xff0c;仿真验证环节往往决定着项目成败。传统商业仿真器虽然功能强大&#xff0c;但高昂的授权费用和复杂的配置流程让许…...

FlexNeRFer架构:动态精度MAC与稀疏计算优化解析

1. FlexNeRFer架构设计解析 1.1 多精度MAC单元设计原理 FlexNeRFer的核心创新在于其可动态调整精度的MAC&#xff08;乘加运算单元&#xff09;架构。传统固定精度MAC在面对NeRF这类需要混合精度计算的场景时&#xff0c;要么存在计算资源浪费&#xff08;高精度模式&#xff…...

生产级机器学习模型服务:从Notebook到Kubernetes的工程实践

1. 项目概述&#xff1a;这不是“跑通模型”&#xff0c;而是让模型在真实世界里活下来“From Notebook to Production: Running ML in the Real World (Part 4)”——这个标题本身就像一句行话暗号&#xff0c;老手一眼就懂&#xff1a;前面三篇已经蹚过了数据清洗、特征工程、…...

云厂商AI基础设施争夺战:Bedrock、Azure AI Studio与Vertex AI深度对比

1. 项目概述&#xff1a;一场没有硝烟的AI基础设施争夺战你打开云厂商控制台&#xff0c;发现“Bedrock”“Azure AI Studio”“Vertex AI”这些名字突然变得比以前更醒目&#xff1b;你翻看技术团队的采购清单&#xff0c;GPU实例价格单旁多了一行加粗标注&#xff1a;“含专属…...