2024/2/14

指针练习

1、选择题

1.1、若有下面的变量定义,以下语句中合法的是( A   )。

int i,a[10],*p;

A) p=a+2;       B) p=a[5];    

        C) p=a[2]+2;      D) p=&(i+2);

1.2、有以下程序

main()

{

   int  a[3][3],*p,i;

   p=&a[0][0];

   for(i=0;i<9;i++)

      p[i]=i;

   for(i=0;i<3;i++)

      printf("%d ",a[1][i]);

}

程序运行后的输出结果是 _____D_______

A)0 1 2

B)1 2 3

C)2 3 4

D)3 4 5

1.3、有以下程序

int  main()

{   int  a[3][2]={0},   (*ptr)[2],i,j;    

    for(i=0;i<2;i++)

    {   ptr=a+i;

        scanf("%d",*ptr);

        *ptr++;

    }

    for(i=0;i<3;i++)

    {

        for(j=0;j<2;j++)

           printf("%2d",a[i][j]);

        printf("\n");

    }

}

若运行时输入:1  2  3<回车>,则输出结果为 _______A____

A)产生错误信息

B)1 0

    2 0

    0 0

C)1 2

    3 0

    0 0

D)1 0

    2 0

    3 0

1.4、有以下程序

main()

{   int  a[]={1,2,3,4,5,6,7,8,9,0},*p;

    for(p=a;p<a+10;p++)

      printf("%d,",*p);

}

程序运行后的输出结果是 ___A_______

   A)1,2,3,4,5,6,7,8,9,0,

   B)2,3,4,5,6,7,8,9,10,1,

   C)0,1,2,3,4,5,6,7,8,9,

   D)1,1,1,1,1,1,1,1,1,,1,

1.5、有以下程序

main()

{

   char  s[]="159",*p;

   p=s;

   printf("%c",*p++);

   printf("%c",*p++);

}

程序运行后的输出结果是___A_____

A)1 5  B)1 6   C)1 2   D)5  9

1.6、有以下程序

point(char  *p)

{

   p+=3;

}

int  main()

{   char  b[4]={'a','b','c','d'},  *p=b;

    point(p);    printf("%c\n",*p);

}

程序运行后的输出结果是 ____D______

A)a    B)b    C)c      D)d

1.7、设有如下定义语句 int m[ ]={2,4,6,8},   *k=m;

以下选项中,表达式的值为 6的是A

A *(k+2)  B k+2 C *k+2   D *k+=2

1.8、若有定义语句:int year=2009,*p=&year;,以下不能使变量 year 中的值增至 2010 的语 句是(A )。

A)*p+=1; B)( *p)++; C)++(*p); D)*p++;

1.9、设有定义:double x[10],*p=x;,以下能给数组 x 下标为 6 的元素读入数 据的正确语句是        D

A)scanf("%f",&x[6]);   B)scanf("%lf",*(x+6));

C)scanf("%lf",p+6);      D)scanf("%lf",p[6]);

1.10、若有定义语句:char s[3][10],   (*k)[3],   *p; ,则以下赋值语句正确的是___A_

    A)p=s;       B)p=s[0];    C)p=k;     D)k=s;

1.11、有定义语句:int *p[4]; 以下选项中与此语句等价的是        C

A)int p[4];    B)int **p;   C)int *(p[4]);    D)int (*p)[4];

1.12、若有定义语句:int a[4][10], *p, *q[4]; 且 0≤i<4,则错误的赋值 是        D

A)p=a  B)q[i]=a[i]  C)p=a[i]  D)p=&a[2][1]

1.13、若有以下定义

int x[10],*pt=x;

则对 x 数组元素的正确应用是         B

A)*&x[10]    B)*(x+3)

3C)*(pt+10) D)pt+3

1.14、有以下程序

#include <stdio.h>

main()

{ int a[ ]={1,2,3,4},y,*p=&a[3];

--p; y=*p; printf(“y=%d\n”,y);

}

程序的运行结果是        D

A)y=0   B)y=1    C)y=2   D)y=3

1.15、设char  *s = “\ta\017bc”;则指针变量s指向的字符串所占的字节数是____C___

   A)  6   B)  2   C)   5   D) 9

1.16、  若有定义语句:char s[3][10],  (*k)[3],   *p;,则以下赋值语句正确的是C

 A)p=s; B)p=k; C)p=s[0]; D)k=s;

2、填空题

2.1以下程序的输出结果是_7______

#include<stdio.h>

main()

{ int a[5]={2,4,6,8,10}, *p;

p=a+2; 

printf(“%d”,*p++); 

}

2.2、以下程序段的定义语句中,x[1]的初值是__2___,程序运行后输出的内容是___2

4

6

7____

#include<stdio.h>

 main()

{ int x[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;

for(i=0;i<4;i++)

{ p[i]=&x[2*i+1]; printf(“%d ”,p[i][0]);

}

printf(“\n”);

}

    2.3  以下程序段的输出结果是( )

#include <sthio.h>

mian()

{ char *ch[4]={“red”,”green”,”blue”}; int  i=0;

while(ch[i]);

{ putchar(ch[i][0];    i++;   }

}

答:

r

g

b

       2.4、以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。 请在输出语句中填写代表最大值的输出项。

#include   <stdio.h>  

int   main()

{ int a[10], *p, *s;

for(p=a; p-a<10; p++)

scanf(“%d”,  p);

for(p=a,s=a;p-a<10;p++)

if(*p>*s) s=p;

printf(“max=%d,  序号:%d\n” , _*s, s - a__________ );

}

2.5 有以下程序,输出结果为_____2,5____

      main()

{  

int a[5]={1,2,3,4,5};    

int *ptr=(int *)(&a+1);    

printf("%d,%d",*(a+1),*(ptr-1));

}  

2.6  以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。 请在输出语句中填写代表最大值的输出项。

#include <stdio.h>

int main( )

{ int a[10], *p, *s;

for(p=a;p-a<10; p++)

scanf(“%d”,p);

 for(p=a,s=a;p-a<10;p++)

 if(*p>*s) s=p;

printf(“max=%d\n” ,  __*s____ );

3、编程题

3.1、 有一个整型数组int [10] = {10,20,30,40,50,60,70,80,90,100};标准输入一个整型数值m(0<m<10) ,使前面10-m个数值向后移动m个位置,最后m个数变成前面的m个数

  1 #include<stdio.h>2 int main(int argc, const char *argv[])3 {4     int a[10] = {10,20,30,40,50,60,70,80,90,100};5     int m;6     scanf("%d",m);7     int x=0;8     int i=0;9     for(i=0;i<m;i++)10     {11         x=a[i];12         a[i]=a[i+m];13         a[i+m]=x;14     }15     return 0;16 }                 

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

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

相关文章

玉米田——状态压缩DP

农夫约翰的土地由 MN 个小方格组成&#xff0c;现在他要在土地里种植玉米。 非常遗憾&#xff0c;部分土地是不育的&#xff0c;无法种植。 而且&#xff0c;相邻的土地不能同时种植玉米&#xff0c;也就是说种植玉米的所有方格之间都不会有公共边缘。 现在给定土地的大小&…

Codeforces Round 924(Div.2) A~E

A.Rectangle Cutting (模拟) 题意&#xff1a; 给出一个长方形&#xff0c;通过平行于原始矩形的一条边进行切割&#xff0c;将该矩形切割成两个边长为整数的矩形。询问是否能通过旋转和移动这两个矩形&#xff0c;得到新的矩形。 分析&#xff1a; 可以发现拼成的新长方形…

Python算法探索:从经典到现代(三)

一、引言 随着信息技术的飞速发展&#xff0c;数据已经成为现代社会不可或缺的资源。Python&#xff0c;作为数据处理和分析的利器&#xff0c;为我们提供了大量强大的库和工具&#xff0c;用于从经典到现代的各种算法探索。本文将带你领略Python在算法领域的魅力&#xff0c;从…

django中配置使用websocket

Django 默认情况下并不支持 WebSocket&#xff0c;但你可以通过集成第三方库如 channels 来实现 WebSocket 功能。channels 是一个 Django 应用&#xff0c;它提供了对 WebSocket、HTTP2 和其他协议的支持。 下面是如何在 Django 项目中使用 WebSocket 的基本步骤&#xff1a;…

算法讲解之哈希表

哈希表简介&#xff1a; 通过以下几个问题来解释~ 1、哈希表是什么&#xff1f; 存储数据的容器。 2、有什么用&#xff1f; “快速”查找某个元素。时间复杂度O(1) 空间复杂度O(N) 3、什么时候使用哈希表 频繁的查找某个数时。 4、怎么用哈希表 第一种就是直接使用哈…

十三、枚举

文章目录 枚举4.1 基础4.2 实现枚举4.3 自定义枚举 枚举 本文为书籍《Java编程的逻辑》1和《剑指Java&#xff1a;核心原理与应用实践》2阅读笔记 枚举是一种特殊的数据&#xff0c;它的取值是有限的&#xff0c;是可以枚举出来的&#xff0c;比如一年有四季、一周有七天。 …

算法导论记录丨16.1 活动选择、877. 石子游戏

16.1 活动选择 最优子结构 活动选择问题的最优子结构意味着问题的最优解包含了其子问题的最优解。具体来说&#xff0c;如果我们有一个按结束时间排序的活动集合 S{a1​,a2​,...,an​}&#xff0c;并且 S’ 是 S 的最大兼容活动子集&#xff0c;那么对于 S′ 中的任何活动aj…

COW AI接入到微信 保姆教程 (部署在服务器,插件安装)

此文章不涉及国外的AI模型&#xff0c;也无需翻墙&#xff0c;跟某AI模型无关&#xff0c;审核大哥别弄错了 最近的AI开始越开越火了&#xff0c;开始介入到我们生活中的方方面面。就有人好奇AI是否能接入到微信吗&#xff1f;我在GitHub上搜索的时候还真有除了对话外还可以通…

MySQL 基础知识(五)之数据增删改

目录 1 插入数据 2 删除数据 3 更改数据 创建 goods 表 drop table if exists goods; create table goods ( id int(10) primary key auto_increment, name varchar(14) unique, stockdate date )charsetutf8; 1 插入数据 当要插入的数据为日期/时间类型时&#xff0c;如果…

Spring Boot 笔记 021 项目部署

1.1 引入坐标&#xff0c;并双击package打包成jar包 1.2 在服务器上运行jar包 1.3 使用postman测试 2.1 运行配置 2.1.1 命令更改端口 java -jar big-event-1.0-SNAPSHOT.jar --server.port7777 2.1.2 环境变量更新&#xff08;略&#xff09; 2.1.3 外部配置文件&#xff0c…

日期类运算符重载以及const成员详细解析

个人主页&#xff1a;点我进入主页 专栏分类&#xff1a;C语言初阶 C语言进阶 数据结构初阶 Linux C初阶 算法 欢迎大家点赞&#xff0c;评论&#xff0c;收藏。 一起努力&#xff0c;一起奔赴大厂 目录 一.前言 二.运算符重载 2.1概念 2.2比较的符号重载 2.2.1…

。ldewd

学习目标&#xff1a; 提示&#xff1a;这里可以添加学习目标 例如&#xff1a; 一周掌握 Java 入门知识 学习内容&#xff1a; 提示&#xff1a;这里可以添加要学的内容 例如&#xff1a; 搭建 Java 开发环境掌握 Java 基本语法掌握条件语句掌握循环语句 学习时间&#x…

ZBX_NOTSUPPORTED: Unsupported item key. 原因排查

进行自定义监控项时&#xff0c;在zabbix-agent端测试没问题&#xff0c;却在zabbix-server进行测试时&#xff0c;出现 ZBX_NOTSUPPORTED: Unsupported item key. 1.在zabbix-agent测试没问题&#xff0c;证明自定义监控项的脚本没问题&#xff0c;却在zabbix-server端测试出…

点击侧边栏菜单时只切换 <router-view> 中的内容,而不是进行整个页面的路由跳转(动态路由)

解决方法&#xff1a;在 <el-menu> 的 select 事件中调用了 handleMenuSelect 方法来处理菜单项的选择。你可以在 handleMenuSelect 方法中根据菜单项的 index 来执行相应的操作&#xff0c;例如更新组件内的数据或者切换组件。由于整个页面的路由路径并没有改变&#xf…

平时积累的FPGA知识点(7)

平时在FPGA群聊等积累的FPGA知识点&#xff0c;第七期&#xff1a; 11 描述扇出的xilinx官方文档是&#xff1f; 解释&#xff1a;ug949 12 在BD中如何指定某个IP用global&#xff0c;其他的用OOC模式&#xff1f;因为某个模块引用的IP带着XPM&#xff0c;综合不了 解释&am…

代码随想录Day50 | 70. 爬楼梯 322. 零钱兑换 279.完全平方数

代码随想录Day50 | 70. 爬楼梯 322. 零钱兑换 279.完全平方数 70.爬楼梯322.零钱兑换279.完全平方数 70.爬楼梯 文档讲解&#xff1a;代码随想录 视频讲解&#xff1a; 状态 dp数组 dp[j]表示爬上第j阶台阶需要的方法数递推公式&#xff0c;由于在每一阶台阶可以向上走1~m阶&a…

RocketMQ与Kafka深度对比:特性与适用场景解析

在分布式系统中&#xff0c;消息队列作为解耦、缓冲和异步通信的关键组件&#xff0c;其选择对于系统的性能和稳定性至关重要。RocketMQ和Kafka作为两款流行的开源消息中间件&#xff0c;各自拥有独特的设计理念和功能特性。本文将详细对比RocketMQ与Kafka在数据可靠性、实时性…

代码随想录算法训练营Day57|647. 回文子串、516.最长回文子序列、动态规划总结

目录 647. 回文子串 前言 思路 算法实现 516.最长回文子序列 前言 思路 算法实现 动态规划总结 动规五部曲回顾 动规各小专题问题 647. 回文子串 题目链接 文章链接 前言 本题利用动态规划求解时&#xff0c;dp数组的定义与前面的就有些不同了&#xff0c;是难点之…

随机过程及应用学习笔记(三)几种重要的随机过程

介绍独立过程和独立增量过程。重点介绍两种独立增量过程-—维纳过程和泊松过程。 目录 前言 一、独立过程和独立增量过程 1、独立过程&#xff08;Independent Process&#xff09; 2、独立增量过程&#xff08;Independent Increment Process&#xff09; 二、正态过程&am…

Python bytes 类型的可变版本——bytearray类型

bytearray 是 Python 中的一个内置类型&#xff0c;用于表示可变长度的字节序列。它是 bytes 类型的可变版本&#xff0c;即 bytearray 实例的内容可以修改&#xff0c;而 bytes 实例是不可变的。 创建 bytearray 的方式&#xff1a; 通过构造函数创建&#xff1a;可以通过传递…