首页 > 其他分享 >第24节 习题解析

第24节 习题解析

时间:2024-07-01 09:57:51浏览次数:3  
标签:24 函数 _____ int 数据类型 ++ 数组 习题 解析

第24节 习题解析

24.1-数据类型、控制结构、函数
1、数据类型与表达式
1. 类型修饰符不能修饰_____  
	A. char B. int C. long int D. float
2. 下列选项中,合法的整型常量的是_____
    A. 60 	B. 01a 	C. 986,012 	D. 2e5 
3. 字符串"\t\v\\\0which\n"的长度是_____
    A. 4 	B. 3 	C. 9 	D. 输出值不确定 
4. 命题“10<m<15或m>20”的C++语言表达式是_____
    A. (m>10)&&(m<15)||(m>20)   B. (m>20)&&(m<15)||(m>10) 
    C. (m>10)||((m<15)&&(m>20)) D. (m>10)||(m<15)||(m>20)
5. 以下非法的赋值表达式是_____
    A. n=(i=2,i++); B. j++; C. ++(i+1); D. x=j>0
6. 表达式!x等效于表达式_____
    A. x==1 B. x==0 C. x!=1 D. x!=0
7. 在下列成对的表达式中,运算符+的意义不相同的是_____
    A. 5.0+2.0和5.0+2 	B. 5.0+2.0和5+2.0 	C. 5.0+2.0和5+2 	D. 5+2.0和5.0+2
    
答案:1D 2A 3B 4A 5C 6B 7C
2、程序控制结构
1. 执行语句序列:  int x; 
                cin>>x; 
                if(x>250) cout<<'A'; 
                if(x<250) cout<<'B'; 
                else cout<<'A';
   不可能出现的情况是_____ 
    A. 输出:A 	B. 输出:B 	C. 输出:AB 	D. 输出:AA   
2. 关于switch语句的说明中,错误的是_____ 
	A. default语句是可缺省的  B. 各个分支中的break语句起着退出switch语句的作用 
    C. switch结构不可以嵌套   D. 每个case语句中不必用{},而整体的switch结构一定要写一对{}
3. 阅读下面的程序:int x; 
                cin>>x; 
                if(x++>5) cout<<x<<endl; 
                else cout<<x--<<endl;
   如果两次执行上述程序,且键盘输入分别是4和6,则输出结果是_____ 
    A. 4, 6 	B. 3, 6 	C. 4, 7 	D. 5, 7
4. 已知int i=5,下列do-while循环语句的循环次数是_____ 
       do{ cout<<i--<<endl; 
           i--; 
       }while(i!=0);
    A. 0 		B. 1 		C. 5 		D. 无限
5. for(int x=0,y=0;!x&&y<=5;y++);语句的循环次数是_____ 
    A. 0 		B. 5 		C. 6 		D. 无限
6. 下面有关for循环语句正确的描述是_____ 
    A. for循环只能用于循环次数已经确定的情况 
    B. for循环是先执行循环体,后判断循环表达式 
    C. 在for循环中,不能用break语句跳出循环 
    D. for循环的循环体语句中可以包含多条语句,但必须用大括号括起来 
7. 下列循环语句的循环次数是_____ 
    while(int i=0) i--;
    A. 0 	B. 1 	C. 2 	D. 3
        
答案:1C 2C 3D 4D 5C 6D 7A
3、函数
1. C++语言中规定函数的返回值类型是由_____ 
    A. return语句中的表达式类型决定 
    B. 调用该函数时的主调函数类型所决定 
    C. 调用该函数时系统临时决定 
    D. 在定义该函数时指定的函数数据类型所决定  
2. 若调用一个没有return语句的函数,则正确的说法是该函数_____ 
    A. 没有返回值 B. 返回若干个系统默认值 C. 有返回值,但返回一个不确定的值 D. 返回一个用户所希望的值
3. 在函数定义格式中,下面个组成部分中,_____是可以省略的。 
    A. 函数名 	B. 函数数据类型说明	C. 函数体 	D. 函数参数
4. 下列函数调用中,对主调函数没有起到任何作用的是_____ 
    A. void f1(double &x) { --x; } 
	B. double f2(double x) { return x-1.5; } 
	C. void f3(double x) { --x; } 
	D. double f4(double *x) { --*x; return *x; }
5. 在_____情况下适宜采用inline内联函数。 
    A. 函数体含有循环语句 B. 函数体含有递归语句 C. 函数代码少,频繁调用 D. 函数代码多,不常调用
6. 下列对定义重载函数的要求中_____是错误的提法。 
    A. 要求参数的个数相同 		B. 要求参数类型相同时,参数个数不同 
    C. 函数的返回值类型可以不同   D. 要求参数个数相同时,参数类型不同 
7. 一个函数为void x(int, char ch='a'); 另一个函数为void x(int); 则它们_____ 
    A. 不能再同一程序中定义                    B. 可以在同一程序中定义并可重载 
    C. 可以在同一程序中定义,但不可以重载        D. 以上说法均不正确
8. 下列函数原型说明中错误的是_____ 
    A. void fun(int x=0,int y=0); 	B. void fun(int x,int y); 
	C. void fun(int x,int y=0);		D. void fun(int x=0,int y); 
9. 不能实现函数之间数据传递的是_____ 
    A. 全局变量 	B. 局部变量 	C. 函数接口 	D. 函数返回值 
10. 如果在一个源文件中定义的函数只能被本文件中的函数调用,而不能 被同一程序的其他文件中的函数调用,则这个函数是_____ 
    A. 私有函数 	B. 内部函数 	C. 外部函数 	D. 库函数
    
答案:1D 2C 3D 4C 5C 6A 7C 8D 9B 10B
24.2-预处理命令、数组、指针、自定义数据类型
4、预处理命令
1. 以下叙述中错误的是_____ 
    A. 预处理命令都必须以#开头 					
    B. 在程序中凡是以#开始的语句行都是预处理命令行 
    C. C++程序在执行过程中对预处理命令行进行处理 	   
    D. 预处理命令行可以出现在C++程序中任意一行上
2. 设#define P(x) x/x,执行语句cout<<P(3*5)后的输出结果是_____ 
    A. 1 	B. 0 	C. 25 	D. 15
3. 在“文件包含”预处理命令形式中,当#include后面的文件名用“”扩起来时, 寻找被包含文件的方式是_____ 
    A. 直接按系统设定的标准方式搜索目录 	
    B. 现在源程序所在的目录中搜索,再按系统设定的标准方式搜索 
    C. 仅仅搜索源程序所在的目录 		   
    D. 仅仅搜索当前目录
4. 若有宏定义:
    #define N 3 
    #define Y(n) ((N+1)*n)
   则表达式2*(N+Y(5+1))的值是_____ 
    A. 出错 	B. 42 	C. 48 	D. 54
    
答案:1C 2C 3B 4C
5、数组
1. 下列关于数组的描述正确的是_____ 
    A. 数组的长度是固定的,而其中元素的数据类型可以不同 
    B. 数组的长度是固定的,而其中元素的数据类型必须相同 
    C. 数组的长度是可变的,而其中元素的数据类型可以不同 
    D. 数组的长度是可变的,而其中元素的数据类型必须相同
2. 在C++语言中引用数组元素时,下面关于数组下标数据类型的说法错误的是_____ 
    A. 整形常量 	B. 整形表达式 	C. 整形常量或整形表达式 	D. 任何类型的表达式
3. 下面二维数组的定义中正确的是_____ 
    A. int a[ ][ ]={1,2,3,4,5,6}; 	B. int a[2][ ]={1,2,3,4,5,6}; 
	C. int a[ ][3]={1,2,3,4,5,6}; 	D. int a[2,3]={1,2,3,4,5,6};
4. 下面有关字符数组的描述错误的是_____ 
    A. 字符数组可以存放字符串						  
    B. 字符串可以整体进行输入和输出 
    C. 可以在赋值语句中通过赋值运算符对字符数组整体赋值	 
    D. 不可以用关系运算符对字符数组中的字符串进行比较
5. 字符数组s不能作为字符串使用的是_____ 
    A. char s[ ]="happy"; 	B. char s[6]={'h','a','p','p','y','\0'}; 
	C. char s[ ]={"happy"}; D. char s[5]={'h','a','p','p','y'};
6. 下面程序的输出结果是_____ 
    char str[]="SSWLIA",c; int k; 
	for(k=2;(c=str[k])!='\0';k++){ 
        switch(c){ 
            case 'I': ++k; break; 
            case 'L': continue; 
            default : cout<<c; continue; 
        }
        cout<<'*'; 
    }
   A. SSW 	B. SW* 	C. SW*A 	D. SW
7. 对数组名作为函数的参数,下面的描述正确的是_____ 
       A. 数组名做函数的参数,调用时将实参数组复制给形参数组 
       B. 数组名做函数的参数,主调函数和被调函数共用一段存储空间 
       C. 数组名做函数的参数,形参定义的数组长度不能省略 
       D. 数组名做函数的参数,不能改变主调函数中的数据
    
答案:1B 2D 3C 4C 5D 6B 7B
6、指针与引用
1. 下面对指针的描述不正确的是_____ 
    A. 指针是地址变量 
    B. 指针不能用除0以外的常量赋值 
    C. 两个指针变量的加法无意义 
    D. 指向不同类型变量的指针的长度也不同
2. 变量的指针,其含义是指该变量的_____ 
    A. 值 	B. 地址 	C. 名 	D. 一个标志
3. 对于类型相同的两个指针变量之间不能进行的运算是_____ 
    A. < 	 B. = 	  C. + 	   D. -
4. 若有定义int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;,则数值不为3的表达式 是_____ 	  A. x[3] 	B. p1=x+3,*p1++ 	C. p1=x+2,*(p1++) 	D. p1=x+2,*++p1
5. 若有定义char ch[]="abc\0def",*p=ch;,执行语句cout<<*p+4;后的输出结果是_____ 
    A. def 		B. d 		C. e 		D. 0
6. 若有定义int(*p)();,标识符p可以_____ 
    A. 表示函数的返回值 B. 指向函数的入口地址 C. 表示函数的返回类型 D. 表示函数名 7. 下列引用的定义中,_____是错误的。 
    A. int i;int &j=i; 		
	B. int i;int &j;j=i;
	C. float i;float &j=i;		
	D. char d;char &k=d; 
    
答案:1D 2B 3C 4C 5C 6C 7B
7、自定义数据类型
1. 设有结构体说明struct ex{int x; float y; char z;}example;,以下叙述中错误的是_____ 
    A. struct是结构体类型的关键字 
    B. example是结构体类型名 
    C. x、y、z都是结构体成员名 
    D. struct ex是结构体类型 
2. 在说明一个结构体变量时,系统分配给它的存储空间是_____ 
    A. 该结构体中的第一个成员所需的存储空间 
    B. 该结构体中的最后一个成员所需的存储空间 
    C. 该结构体中占用最大存储空间的成员所需的存储空间 
    D. 该结构体中所有成员所需的存储空间之和
3. 若有定义struct ru{ long x; float y; }time,*timep=&time;,则对time中成员x 的正确引用是_____ 
    A. ru.time.x 	B. timep.x 	C. (*timep).x 	D. time->x
4. 若有定义union data { char ch; int x; }a;,下列语句中_____是不正确的。 
    A. a={'x',10}; 	 		B. a.x=10; a.x++; 	
	C. a.ch='x'; a.ch++; 	D. a.x=10; a.ch='x';
5. 若有定义enum color{ red,yellow=2,blue,white,black}r=white;,执行cout<<r;后的输出结果是_____ 
    A. 0 	B. 1 	C. 3 	D. 4 
6. 下面对typedef的叙述中错误的是_____ 
    A. 用typedef可以定义各种类型名,但不能用来定义变量 
    B. 用typedef可以增加新类型 
    C. 用typedef只是将已存在的类型用一个新的标识符来代表 
    D. 使用typedef有利于程序的通用和移植

答案:1B 2D 3C 4A 5D 6B 

标签:24,函数,_____,int,数据类型,++,数组,习题,解析
From: https://blog.csdn.net/m0_69088645/article/details/140083861

相关文章

  • 前端文件导出问题及解决方案深度解析
    引言在前端开发中,文件导出功能是提升用户体验的关键点之一。然而,实现这一功能时,我们可能会遇到一些棘手的问题。本文将深入探讨两个常见的前端文件导出问题,并提供详细的解决方案。问题一:数据流形式导出文件的实现与优化问题背景在Vue框架中使用axios进行数据请求时,如果接口......
  • 界面组件DevExpress WPF v24.1 - 增强的可访问性 & UI自动化
    DevExpressWPF拥有120+个控件和库,将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpressWPF能创建有着强大互动功能的XAML基础应用程序,这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。DevExpressWPF控件日前正式发布了今年一个重大版......
  • 【python零基础入门到就业】002、2024最新windows环境下python的下载和安装
    文章目录1.引言2.检查是否已安装Python3.在Windows上安装Python3.1下载Python安装包3.2安装Python3.3验证安装4.结语1.引言在开始编写Python代码之前,我们首先需要在计算机上安装Python。本文将详细介绍如何在Windows系统上下载和安装Python。2......
  • C#/.NET/.NET Core优秀项目和框架2024年6月简报
    前言公众号每月定期推广和分享的C#/.NET/.NETCore优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码......
  • 乌班图Ubuntu 24.04 SSH Server 修改默认端口重启无效
    试用最新的乌班图版本,常规修改ssh端口,修改完毕后重启sshd提示没有找到service,然后尝试去掉d重启ssh后查看状态,端口仍然是默认的22,各种尝试都试了不行,重启服务器后倒是端口修改成功了,心想着不能每台机器都重启吧。百思不得其解后查看官网相关(机翻)意思就是22.10之后的版本使用方......
  • 乌班图Ubuntu 24.04初始化MySQL报错error while loading shared libraries: libaio.so
    由于乌班图24.04LTS已经发布了,因此准备新业务逐步往这上面迁移,毕竟支持有效期比22.04更长准备在24.04上进行MySQL的初始化,因为习惯自定义安装存储目录,所以使用mysql-8.0.37-linux-glibc2.28-x86_64.tar.xz这个最新的二进制版本。按照22.04版本整理的安装笔记进行操作,第一步安装......
  • Go:深入解析internal/race包,数据竞争检测的
    Go:深入解析internal/race包,数据竞争检测的利器原创 王义杰 AI学者王义杰 2024-05-1721:14 广东 1人听过在Go语言中,internal/race 包是用于支持数据竞争检测的内部包。数据竞争(datarace)是并发编程中常见且棘手的问题,通常发生在多个goroutine并发访问共享变量且......
  • 2024.7~8 训练日记
    \(\color{grey}\bigstar\)可以秒杀的题。\(\color{green}\bigstar\)思考一会儿后可以秒的题。\(\color{blue}\bigstar\)需要较长时间思考的题。\(\color{#F1C40F}\bigstar\)看题解、稍加指点就会做的题。\(\color{red}\bigstar\)看题解后需要较长时间消化,甚至现在都没有......
  • 通信原理练习题解析(详细版)
    文章目录说明选择填空简答分析计算说明部分内容,仅为个人观点,如有错误之处,欢迎交流!选择属于数字信号的是(A)​A:PCM信号B:PAM信号C:PDM信号D:PPM信号PCM信号(PulseCodeModulation,脉冲编码调制):P将模拟信号转换为数字信号的方法PDM信号(PulseDensityModula......
  • 使用PowerShell执行的命令和示例,用于增强Windows系统的安全性巡检项目:2024
    使用PowerShell执行的命令和示例,用于增强Windows系统的安全性巡检项目:检查系统服务和进程:powershellCopyCode#列出所有正在运行的服务Get-Service|Where-Object{$_.Status-eq'Running'}#列出所有正在运行的进程Get-Process检查本地安全策略和组策略:powersh......