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++知识库 -> (C语言)笔试选择题的错题总结(答案+解析)_1 -> 正文阅读

[C++知识库](C语言)笔试选择题的错题总结(答案+解析)_1

1、? 以下不正确的定义语句是( )
????????A: double x[5] = {2.0, 4.0, 6.0, 8.0, 10.0};
????????B: char c2[] = {'\x10', '\xa', '\8'};
????????C: char c1[] = {'1','2','3','4','5'};
????????D: int y[5+3]={0, 1, 3, 5, 7, 9};

????????解析:
????????本题B选项考查转义字符,有如下格式:
????????????????\ddd ddd表示1到3个八进制数 如:\130 转义为 字符X
????????????????\xhh hh表示1到2位十六进制数 如:\x30 转义为 字符0

????????但八进制数字是0-7,没有8,故B选项中'\8'是错误的

????????正确答案:B

?

2、? test.c 文件中包括如下语句,文件中定义的四个变量中,是指针类型的变量为【多选】? ?

#define INT_PTR int*
typedef int* int_ptr;
INT_PTR a, b;
int_ptr c, d;

????????A: a B: b C: c D: d????????

????????解析:
????????因为#define是宏定义,仅仅是直接替换,INT_PTR a, b; 进行宏替换后代码是这样的:

????????int *a, b;这里的int *是a的类型,b的类型是int,故此次b只是int类型。而typedef是把该? ? ? ? ? ? 类型定义一个别名,别名是一个独立的类型了,使用这个类型创建的变量都是这个类型? ? ? ? ? 的。所以 a,c,d才是指针类型

????????正确答案:ACD

?

3、? 以下程序段的输出结果是( )

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

????????A: 12 B: 13 C: 16 D: 以上都不对

????????解析:
????????这里考查转义字符,注意:\\ 表示字符'\',\123表示字符'{',\t表示制表符,这些都是一? ? ? ? ? 个字符

????????正确答案:A

?

4、? 以下程序的输出结果为( )
? ? ? ?

#include <stdio.h>
int i;
void prt()
{
    for (i = 5; i < 8; i++)
    printf("%c", '*');
    printf("\t");
} 

int main()
{
    for (i = 5; i <= 8; i++)
        prt();
    return 0;
}

????????A: *** B: *** *** *** *** C: *** *** D: * * *

????????解析:
????????全局变量i,在main()中修改为5,第一次在prt()中执行循环输出三次'*',i被修改为8,回? ? ? ? ? 到main()中第二次调用prt()时,i<8为假,循环结束没输出,执行一次print("\t"),再次回? ? ? ? ? 到主函数后i++变为9,i<=8为假,循环结束;

????????正确答案:A

?

5、? 对于代码段,下面描述正确的是( )

t=0;
while(printf("*"))
{
    t++;
    if (t<3)
    break;
}

????????A: 其中循环控制表达式与0等价 B: 其中循环控制表达式与'0'等价
????????C: 其中循环控制表达式是不合法的 D: 以上说法都不对

????????解析:
????????因print(“*”)函数调用的返回值是字符串中字符的个数,即为1。所以while后面的条件恒? ? ? ? ? ? 为真,所以循环控制表达式与'0'是等价的(字符'0'不是0)

????????正确答案:B

6、? 我们知道C语言的 break 语句只能跳出离它最近的一层循环,可是有时候我们需要跳出? ? ? ? ? 多层循环,下列跳出多层循环的做法正确的是【多选】( )
????????A: 将程序写成函数用return结束函数,便可跳出循环
????????B: 修改外层循环条件例如

for( int i = 0 ; i < MAX1 ; i ++ )
{
    for( int j = 0 ; j < MAX2 ; j ++ )
    {
        if( condition )
        {
            i = MAX1;
            break;
        }
    }
}

????????C: 在外层循环设置判断条件例如

for( ; symbol != 1 && condition2 ; )
{
    for( ; symbol != 1 && condition3 ; )
    {
        if( condition1 )
            symbol = 1 ;
    }
}

????????D: 在外层循环后面加入break例如

for( ; condition2 ; )
{
    for( ; condition3 ; )
    {
        if( condition1 )
            symbol = 1 ;
    } 
    if(symbol == 1 )
        break ;
}

????????正确答案:ABCD

?

7、??设函数 fun 和实参数组的说明是如下形式,则对函数的调用语句中,正确的是( )

void fun(char ch, float x[]);
float a[10];

????????A: fun("asd" , a[]); B: fun('x' , A); C: fun('68' , 2.8); D: fun(32 , a);

????????解析:
????????A选项数组传参只需要写数组名就行,a[]时错误的;

????????B选项第二个参数写成了大写,错了;

????????C选项第二个参数是浮点数,但是fun函数的第二参数是数组不匹配,fun函数参数x需要? ? ? ? ? ? ?传一个数组或者float *指针;

????????D选项的形式是正确的。

????????正确答案:D

?

8、? 在C语言中,以下正确的说法是( )
????????A: 实参和与其对应的形参各占用独立的存储单元
????????B: 实参和与其对应的形参共占用一个存储单元
????????C: 只有当实参和与其对应的形参同名时才共占用存储单元
????????D: 形参是虚拟的,不占用存储单元

????????解析:
????????在调用函数的时候,真实传递给函数的是实参,函数定义部分函数名后的参数是形参。? ? ? ? ? 形参和实参的名字是可以相同的,在函数调用的时候,形参是实参的一份临时拷贝,分? ? ? ? ? 别占用不同的内存空间,所以A正确,B错误,及时形参和实参的名字相同,也是占用不

? ? ? ? 同的内存空间,所以B错误;函数如果不被调用时,函数的形参是形式上存在的,但是? ? ? ? ? 函数在被调用的时候,形参是要分配内存空间的,所以D错误。

????????正确答案:A

?

9、? 下列定义数组的语句中正确的是【多选】( )
????????A:

#define size 10
char str1[size], str2[size+2];

????????B: char str[];

????????C: int num['10'];

????????D: int n=5; int a[n][n+2];

????????解析:
????????A选项:宏替换,没问题;

????????B选项:非法定义,一维数组必须定义数组元素个数;

????????C选项:字符'0',转换成十进制为48,所以该选项最终为int num[48];

????????D选项:错误,数组定义下角标不能为变量,注:C99标准中支持了使用变量,这里不? ? ? ? ? ? ? ? ? ? ? ? ? 做特殊考虑。

????????正确答案:AC

?

10、?以下哪个选项可以正确描述 sizeof(double) ( )
????????A: 一个整型表达式

????????B: 一个双精度型表达式

????????C: 一个不合法的表达式

????????D: 一种函数调用

????????解析:
????????sizeof是C语言中的一个操作符,不是函数调用,简单的说其作用就是返回一个对象或者

? ? ? ? 类型所占的内存字节数,结果是无符号整数,因此可以把它看作是整型表达式。

????????正确答案:A

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 10:54:41  更:2022-09-13 10:57:43 
 
开发: 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年5日历 -2024/5/19 12:42:28-

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