IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 【每日一题】(D0725) -> 正文阅读

[C++知识库]【每日一题】(D0725)

一、单选题

1、下列正确的标识符是()

??A -a1
??B a[i]
??C a2_i
??D 4L2


2、数组定义为int a[3] [2]={1,2,3,4,5,6},数组元素(B)的值为6

??A a[3] [2]
??B a[2] [1]
??C a[1] [2]
??D a[2] [3]


3、关于函数调用说法正确的是()

??A 传值后对形参的修改会改变实参的值
??B 传地址后实参和形参指向不同的对象
??C 函数调用时参数从左到右通过栈传递
??D 函数递归调用对堆栈的消耗较大


4、关于C语言函数内开头处定义static const char*p1;char const *p2;以下说法正确的是()

??A p1和p2的作用域不一样
??B p1和p2的声明周期相同
??C p1和p2指向的字符不能在函数内修改
??D p1和p2的初始值均不确定


5、有以下程序,程序运行后的输出结果是()

#include<stdio.h>
main()
{
	int x,y,z;
	x=y=1;
	x+=2;
	x++;
	z=++y;
	printf("%d,%d,%d\n",x,y,z);
}

??A 4,2,1
??B 4,2,2
??C 3,2,1
??D 3,2,2


6、队列的工作方式是()

??A FILO
??B FIFO
??C LILO
??D A、B均可


7、以下运算符优先级最低的是()

??A >>
??B ==
??C ||
??D &&


8、下列四组字符串中都可以用作C语言程序中的标识符的是()

??A printf _3d db8 aBc
??B I\am one_half start$it 3pai
??C str_1 Cpp pow while
??D Pxq My->book line# His.age


9、C语言程序从()开始执行

??A 程序中第一条可执行语句
??B 程序中第一个函数
??C 程序中的 main 函数
??D 包含文件中的第一个函数


10、NFS是()系统

??A 文件
??B 网络文件
??C 磁盘
??D 操作

二、多选题

11、下列关于UART通信说法正确的是()

??A UART是通用同步收发器的缩写
??B UART通信收发双方需使用相同的波特率,波特率不要完全相等
??C 起始位和停止位长度需要保持一致
??D 数据位长度可配置为7位、8位等多种形式


12、C语言中简单数据类型包括()

??A 整型
??B 逻辑型
??C 实型
??D 字符型


13、用户标识符,其中合法的是()

??A return
??B f2_G3
??C 3-3A
??D adbcd


14、哪些是STM32的ADC系统的特点()

??A 12-位分辨率
??B 自校验
??C 可编程数据对齐
??D 单次和连续转换模式


15、下列选项不合法的字符常量是()

??A “B”
??B " \010"
??C 68
??D ADC

三、填空题

16、写出以下函数的输出结果_______。

#define SQUARE(a) ((a)*(a))
int a=7;
int b;
b=SQUARE(a++);
printf("%d",b)

17、32位系统中,给定结构体struct A,则sizeof(A)=8。

struct A
{
	char t:4;
	char k:4;
	unsigned short i:8;
	unsigned long m;
}

18、阅读以下程序,程序的执行输出结果是:

#include <stdio.h>
union _uni
{
	char a;
	int b;
	long int c;
}uni;
void main()
{
	uni.a=2;
	uni.b=5;
	if( (void *)&uni.a == (void *)&uni.b )
	  printf("%ld",uni.c);
    else
      printf("-1");
}

19、在操作系统中,进程间通信方式有管道、(消息队列)、(共享内存)、(socket)等方式。


20、已知字符 ‘0’ 对应六进制数为 0x30,以下程序计算结果为()

#include<stdio.h>
typedef struct
{
	int a;
	int b;
	int c;
}nova_t,*pnova_t;
void main()
{
	int nova[]={'2','0','2','1'};
	pnova_t p=(pnova_t)&nova[1];
	printf("%d",p->a+p->b+p->c);
}

三、简答题

21、IIC外接上拉电阻的原因是什么,如何实现通过一路IIC完成一台主设备与多台从设备的通信?假如主设备IIC的电平是3.3v,其余从设备的电平是 1.8v,如何在不使用电平转换芯片的情况下通过搭电路的方式 实现通信?

??答:IIC之所以需要外接上拉电阻,是因为IIC通信需要输出高电平的能力,为了实现多个主设备抢占总线时的仲裁。一般开漏输出无法输出高电平,如果在漏极接上拉电阻,则可以进行电平转换。

??如果主从设备的电平不同,主设备的高电平是3.3V ,从设备的电平是1.8V,那么在不使用电平转换芯片的情况下进行电平转换,通常采用的是接入NMOS管。

在这里插入图片描述
??其工作原理如下:

??当总线上没有数据发送时,两边都没有主动去拉低总线,因此MOS管也不导通,都因为各自的上拉电阻存在,左边为高电平3.3V,右边为高电平5V。

??当左边需要发送数据1到右边时,即SDA1/SCL1为高电平3.3V,MOS管的Vgs=0,不导通,右边因为上拉电阻的存在,SDA2/SCL2电平保持为5V。即可看作左边正常将数据1发送到右边。

??当左边需要发送数据0到右边时,即SDA1/SCL1为低电平0V,Vgs=3.3V,MOS管导通,右边电压就跟左边电平一样了,SDA2/SCL2为低电平0V。即可看作左边正常将数据0发送到右边。

??当右边需要发送数据1到左边时,即SDA2/SCL2为高电平5V,左边SDA1/SCL1因为没有主动拉低总线,所以MOS管不导通,左边保持上拉电平3.3V。即可看作右边将数据1正常发送到左边。

??当右边需要发送数据0到左边时,即 SDA2/SCL2 为低电平 0V 时,因为MOS管体二极管的存在,体二极管导通,MOS管的S极被拉低,Vgs 接近3.3V,MOS管导通,进一步导致左边和右边电平一样,为0V。即可看作右边正常将数据0发送到左边。

??由上述工作原理可知,不论IIC的主设备(Master)接在上面电路的左边(低压电源)还是右边(高压电压),都是能够正常通信的。


22、简述ROM和RAM的区别?

??答:RAM(Ramdom Access Memory,随机存储器)和ROM(Read Oniy Memory,只读存储器)的区别体现在:构造不同、用途不同、存储原理不同。

??(1)构造不同:RAM指的是随机存储内存。而ROM属于只读内存,是一种固态半导体存储器。

??(2)用途不同:RAM和ROM分别对应电脑的内存和硬盘设备,内存(RAM)负责应用程序的运行和数据交换,而硬盘(ROM)就是一个存储空间,存储着许多静态文件包括视频,照片,音乐,软件等。

??(3)存储原理不同:ROM只能读出信息,不能写入信息,当计算机关闭电源后其中的内容仍会保存。RAM则可以对任一存储单元进行读或写操作,当计算机关闭电源后正在进程中的的信息不再保存,需要等待开机需要重新载入。


四、编程题

23、描述:利用条件运算符的嵌套完成此题:学习成绩 >= 80分的同学用 A 表示,60~79分之间的用B表示,60分以下的用C表示。

#include<iostream>
int main()
{
	int score;
	while(cin>>score)
	{
		if(score>=80)
			cout<<"A"<<endl;
        else if(score>=60 && score<=79)
        	cout<<"B"<<endl;
        else
        	cout<<"C"<<endl;
	}
	return 0;
}

24、描述:一个数如果恰好等于它的因子之和,这个数被称为“完数”,例如:6=1+2+3,请编程找出1000以内的完数。

#include<stdio.h>
int main()
{
	int num,sum,i;
	for(num=1;num<=1000;num++)
	{
		sum=0;   //每判断一个数都要将sum初始化为0
		for(i=1;i<num;++i)
		{
			if(num%i==0) //sum能被i整除,说明i是num的因子
				sum+=i;  //累加因子
		}
		if(sum == num)
			printf("%d\n",num);
	}
	return 0;
}

25、根据示例设计图数实现快速判断整型数值X是否在int型二维散组中,石存在则返回true,否则返回false,二维数姐特 征为每一行数字按大小从左到右排序,每一行的第一个数字都比上一行最后一个数字大。(请在代码中增加必要注释加以说明)

例如:对于下面的数组: int Arry[3] [4]={ {1, 2.16, 19}, {21, 27, 28, 150}, {180, 200, 220, 240} };

要搜索的X值为28,运行searchArry函数后,该函款的返回值为true;

调用示例(具体函数定义及参数形式不限) : bool result = searchArry(Arry, 3,4, 28);

#include <iostream>
using namespace std;
bool searchArry(int arr[][105], int x, int y, int key) 
{
    int l = 0, r = x - 1;
	while (l != r)
	{
        int mid = (l + r + 1) >> 1;
        if (arr[mid][0] <= key) 
			l = mid;
        else 
			r = mid - 1;
    }
    
    int pos = l ;
    cout << "pos: " << pos << endl;
    l = 0, r = y - 1;
	while (l <= r)
 	{
        int mid = (l + r) >> 1;
        if (arr[pos][mid] == key) return true;
        if (arr[pos][mid] < key) l = mid + 1;
        else r = mid - 1;
    }
    return false;
}
int main()
{
    int x, y, key;
    int arr[105][105];
    cin >> x >> y >> key;
	for (int i = 0; i < x; i++) 
	{
        for (int j = 0; j < y; j++) 
		{
            cin >> arr[x][y];
        }
    }
    bool result = searchArry(arr, x, y, key);
    cout << result << endl;
    return 0;
}

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-26 11:53:50  更:2021-07-26 11:54:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/25 0:03:04-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码