指针练习题

合集下载

时分秒画指针练习题

时分秒画指针练习题

时分秒画指针练习题1. 时钟上有()小格,有()大格。

钟面上时针走一大格是(),分针走一大格是(),秒针走一大格是()。

2. 时针从8走到11,分针要走()圈;分针从3走到5,经过了()分;秒针从12走到7,经过了()秒。

3. 写出下面钟面上的时刻。

4. 钟面上,时针刚过了9,分针从12起走了6小格,现在是();时针指在5与6之间,分针指着5,现在是();时针接近9,分针指着11,现在是()。

5. 小华绕操场跑一圈用58秒,小文跑一圈用1分。

()跑得快,快()秒。

6. 钟面上时针刚过了5,分针指着5,这时是( : ); 钟面上时针靠近9,分针指着10,这时是(:)。

7. 妈妈8点上班,从家到妈妈单位要15分钟,妈妈最迟要在()时()分从家里出发。

8. 妈妈8点下班,从妈妈单位到家里要15分钟,妈妈最早在()时()分能到家。

9. 星期天,小明从上午7: 30开始做作业,10: 30正好做完,小明做作业共用了()。

时分秒综合练习21.1时=()分 1分=()秒2. ()走一圈是12小时;分针从12走到4,经过了(); 秒针走15圈,分针走()大格,从3走到()。

3. 写出下面钟面上的时刻。

:::::4.钟面上时针刚走过6,分针从12起走了5个小格,这时是()时()分;时针指在7和8之间,分针指着7,这时是()时()分。

5. 小芳从早上6时开始,先用10分洗脸刷牙,然后用15分吃早饭,再用()分读书,正好是一-小时,这时是(:)。

6. 小朋友参加50米赛跑。

小文用了12秒,小亮用了10秒,小刚用了9秒,小宁用了14秒。

()跑得最快,()跑得最慢。

跑得最快的比跑得最慢的少用()秒。

7. 左边的钟面上的时间是(); 20分钟前是()时()分;15分钟后是()时()分。

8. 时针从12走到5,经过()小时,从4走到11,经过()小时;分针从12走到6,经过()分,从3走到10,经过()分;秒针从12走到9,经过()秒,从12走到12,经过()秒。

认识钟表练习题含答案

认识钟表练习题含答案

认识钟表练习题含答案时钟是我们生活中很常见的物品之一,它帮助我们了解时间的流逝。

对于小朋友和初学者来说,认识钟表并学习如何读时间是一个重要的环节。

本文将为大家提供一些钟表练习题,通过这些练习题的训练,帮助大家更好地认识钟表并掌握读时间的能力。

练习题一:钟表的指针练习1. 当时针指向12点方向,分针指向6点方向,那么现在是几点钟?答案:现在是6点钟。

2. 当时针指向3点方向,分针指向12点方向,那么现在是几点钟?答案:现在是3点钟。

3. 当时针和分针重合在一起,那么现在是几点钟?答案:现在是12点钟。

练习题二:从钟表上读取时间4. 请根据以下钟表的指针方向,写出对应的时间。

(图片:一张钟表图片,时针指向8点方向,分针指向2点方向)答案:对应时间为8点2分。

5. 请根据以下钟表的指针方向,写出对应的时间。

(图片:一张钟表图片,时针指向4点方向,分针指向10点方向)答案:对应时间为4点10分。

6. 请根据以下钟表的指针方向,写出对应的时间。

(图片:一张钟表图片,时针指向12点方向,分针指向6点方向)答案:对应时间为12点6分。

练习题三:计算时间差7. 甲同学从上午10点钟开始读书,读了3个小时,那么结束时间是几点钟?答案:结束时间是下午1点钟。

8. 乙同学从下午2点钟开始睡觉,睡了5个小时,那么结束时间是几点钟?答案:结束时间是晚上7点钟。

9. 丙同学上午9点钟参加音乐课,课程持续50分钟,那么结束时间是几点几分?答案:结束时间是上午9点50分。

以上提供的练习题可以帮助小朋友和初学者巩固对钟表的认识和读时间的能力。

除了练习题,还有一些其他的方法可以帮助我们更好地认识和学习钟表。

第一,多观察周围的钟表和时间,通过观察不同钟表的指针方向和对应的时间,加深对钟表的认识。

第二,可以尝试制作自己的钟表模型,用纸板或者其他材料制作一个简易的钟表,通过自己动手制作钟表模型,加深对钟表结构的理解。

第三,可以利用手机或其他电子设备上的钟表应用程序,通过这些应用程序练习读时间和计算时间差,加强对钟表的认知。

C语言指针-练习

C语言指针-练习

复习题(二)一、基础题1、设有:int k[]={2,4,6,8,10,12}, *p=k+2; 表达式*(p+2)*p[2] 的值:100 。

2、设有:int a[10], *p1, *p2; 则执行语句:p1=a; p2=&a[5]; 则p2-p1的值:5。

3、设有:int x[]={4,3,2,1},q,*p=&x[1];则执行语句:q=(*--p)++ ; 后;变量q的值为4。

4、设有:int *p, a=10, b=1; 则执行以下语句:p=&a; a=*p+b; 后;a的值为:11。

5、下列程序段的输出结果是2,1 。

int k=1, j=2, *p=&k, *q=p;p=&j;printf("%d, %d",*p, *q);6、设x为整型变量,p为指向整型的指针变量,则让p指向x变量的赋值表达式是P=&x。

7、设有变量定义:float d[]={1.0,2.0,3.0,4.0,5.0}, *p=d+3;请写出printf("\n %f %f", *p, d[0]); 的输出结果为:4.0和 1.0。

8、设有变量定义如下:char s[]="Hello!", *p=s; int i;执行完for(i=0; *(p+i); i++); 后,变量i的值是_6_;*(p+i)的值是‟\0‟_。

9、函数void f(char s[ ], char t[ ]){ int k=0;while (s[k]=t[k]) k++;}等价于void f(char *s, char *t)1、{ while (*s++=*t++); }二、选择题1、下面的程序段用来定义指针并赋值,请选出语法正确的程序段( C )。

A)int *p; scanf(“%d”,p); B)int *s,k; *s=100;C) int *s,k; D) int *s,kchar *p,*c; char *p,*c;s=&k; p=&c; s=&k; p=&c;*p=‟a‟; s=p; *s=1;2、程序段:int *p,a,b=1; p=&a; *p=10; a=*p+b; 执行后,a的值(B)。

指针练习题与答案

指针练习题与答案

编程题1用指向数组的指针变量输出数组的全部元素#include<iostream.h>void main( ){ int a[10], i;int *p;for (i=0; i<10; i++)cin>>a[i];for (p=a; p<a+10; p++)cout<<*p<<‘\t’;}#include<iostream.h>void main( ){ int a[10], i;int *p=a;for (i=0; i<10; i++)cin>>a[i];for (i=0; i<10; i++)cout<<*p++<<‘\t’;}2 使用函数调用,形参为指针,实参为数组,把一个数组逆序存放在输出#include<iostream.h>void inv(int *x, int n);void main( ){ int i, a[10]={3,7,9,11,0,6,7,5,4,2};inv(a,10);for (i=0;i<10; i++)cout<<a[i]<<‘\t’;}void inv(int *x, int n){ int *p, t, *i, *j, m=(n-1)/2;i=x; j=x+n-1; p=x+m;for (; i<=p; i++,j--){ t=*i; *i=*j; *j=t;}}void inv(int x[ ], int n){ int t, i, j, m=(n-1)/2;for (i=0;i<=m; i++){ j=n-1-i;t=x[i]; x[i]=x[j]; x[j]=t;}}一判断题× 1.指针是变量,它具有的值是某个变量或对象的地址值,它还具有一个地址值,这两个地址值是相等的。

指针练习题

指针练习题

B
C
4、以下能正确进行字符串赋值操作的是 A、char s[5]={"ABCDE"}; B、char s[5]={'A', 'B', 'C', 'D', 'E'}; C、char *s; *s="ABCDE"; D、char *s="ABCDE";
D
5、以下程序段的运行结果是____ char b[ ]="Basic", *p; for (p=b; p<b+5; p++) printf("%s\n", p);
CD
3、以下判断正确的是____ A、char *s="string"; 等价于char *s; *s="string"; B、char str[10]={"string"}; 等价于char str[10]; str={"string"}; C、char *s="string"; 等价于char *s; s="string"; D、char str[10]={"string"}; 等价于char str[10];*str={"strint"};
D
7、若有以下定义和语句,则对a数组元素 的正确引用是____ int a[2][3], (*p)[3]; p=a; A、(p+1)[0] B、*(*(p+2)+1) C、*(p[1]+1) D、p[1]+2
C

指针编程练习题

指针编程练习题

指针编程练习题指针是一种特殊的数据类型,在C语言中有着重要的作用。

通过指针,我们可以直接访问和操作内存中的数据。

为了熟悉和掌握指针的使用,下面将给出一些指针编程练习题供大家参考。

1. 交换两个变量的值请编写一个程序,使用指针来交换两个整数变量的值。

要求在程序中定义两个整数变量a和b,通过指针交换它们的值,并打印交换后的结果。

示例输入:a = 10,b = 20示例输出:交换前:a = 10, b = 20交换后:a = 20, b = 102. 求数组元素的和请编写一个程序,使用指针来计算一个整型数组中所有元素的和。

要求在程序中定义一个整型数组array,并使用指针访问数组中的元素,计算它们的和,并打印结果。

示例输入:array = {1, 2, 3, 4, 5}示例输出:数组元素的和为:153. 查找数组中的最大值和最小值请编写一个程序,使用指针来查找一个整型数组中的最大值和最小值。

要求在程序中定义一个整型数组array,并使用指针访问数组中的元素,找到数组中的最大值和最小值,并打印结果。

示例输入:array = {7, 4, 9, 2, 5}示例输出:最大值为:9最小值为:24. 字符串长度计算请编写一个程序,使用指针来计算一个字符串的长度。

要求在程序中定义一个字符数组string,并使用指针访问字符数组中的元素,计算字符串的长度,并打印结果。

示例输入:string = "Hello, World!"示例输出:字符串长度为:135. 动态内存分配请编写一个程序,使用指针来动态分配内存空间,并进行数据的读写操作。

要求在程序中使用malloc函数动态分配内存空间,读取用户输入的整数值并存储到动态分配的内存中,然后使用指针访问该内存中的数据,并打印结果。

示例输入:请输入一个整数: 10示例输出:读取到的整数为: 10以上是几个指针编程练习题的示例,通过练习这些题目,可以提高对指针的理解和使用技巧。

c语言第8章练习题--指针

c语言第8章练习题--指针

1、int *p 的含义是(B)A.p是一个指针, 用来存放一个整型数B.p是一个指针, 用来存放一个整型数据在内存中的地址C.p是一个整型变量D. 以上都不对2、以下函数用来求出两整数之和,并通过形参将结果传回,请填空。

void func(int x,int y, ___int*____ z){ *z=x+y; }3、有如下程序段(B)int *p,a=10,b=1;p=&a; a=*p + b;执行该程序段后,a的值是A. 12B. 11C. 10D. 编译出错4、若己定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( C)A) p+1B) a+1C) a++D) ++p5、以下程序运行后的输出结果是(A)void 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)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,6、下面程序的输出是(D)void prtv(int *x)printf("%d\n", ++*x);}main(){ int a=25;prtv(&a);}A) 23 B) 24 C) 25D) 267、有以下函数(B)char fun(char *p){ return p; }该函数的返回值是A) 无确切的值B) 形参p中存放的地址值C) 一个临时存储单元的地址D) 形参p自身的地址值8、下列程序的输出结果是(7)#include<stdio.h>void fun (int *p1, int *p2){ if (*p1>*p2) printf ("%d\n",*p1);else printf ("%d\n",*p2);}void main ( ){ int a=3,b=7;fun (&a, &b);}9、下列程序的运行结果是(B)void fun(int *a, int *b){ int *k;k=a; a=b; b=k;}main(){ int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf("%d %d", a, b);}A) 6 3 B) 3 6 C) 编译出错D) 0 010、以下程序调用findmax函数返回数组中的最大值(B)findmax(int *a,int n){ int *p,*s;for(p=a,s=a; p-a<n; p++)if ( ) s=p;return(*s);}main(){ int x[5]={12,21,13,6,18};printf("%d\n",findmax(x,5));}在下划线处应填入的是(B)A) p>s B) *p>*s C) a[p]>a[s] D) p-a>p-s11、下列程序段的输出结果是(A)void fun(int *x, int *y){ printf("%d %d", *x, *y); *x=3; *y=4;}main(){ int x=1,y=2;fun(&y,&x);printf("%d %d",x, y);}A) 2 1 4 3 B) 2 1 3 4 C) 1 2 1 2 D) 2 1 1 212、以下程序执行后输出的结果是___84________。

指针练习题及答案

指针练习题及答案

六、指针习题及答案一、单项选择题1. *p最终值是( D)int *p,b=10;static int a[]={2,3,4,1,5,6};p=a;p+=3;a[3]=b;A. 1B. 3C. 4D. 102. *p最终值是( A )char b[10]= "abcdefghi",*p;p=b+5;A. ’f’B. ’g’C. ’h’D. ’e’3. 有一个二维数组a[3][4],其2行3列元素a[2][3]的正确表示方法为( D )。

A. &a[2][3]B. a[2]+3C. *(a+2)+3D. *(a[2]+3)4. 指向一个包含4个整型元素的一维数组的行指针变量的定义形式为( D )。

A. int (*p)[]B. int *p[4]C. int *(p[])D. int (*p)[4]5. 4个指向int型元素的指针构成一个一维指针数组的定义形式为( B )。

A. int (*p)[]B. int *p[4]C. int *(p[])D. int (*p)[4]6. 若char *str1="china",char *str2="student";则语句strcpy(str2,str1)执行后,str2的值为( A )。

A. chinaB. studentC. studentchinaD. chinastudent7.若有以下定义和语句:int a[]={1,2,3,4,5,6,7,8,9,0}, *p=a;则值为3的表达式是( B )。

A. p+=2,*(++p)B.p+=2,*p++C.p+=3,p++D. p+=2,++*p8.若有以下定义:char s[20]="programming", *ps=s;则下列不能代表字符“o”的表达式是( A )。

A. ps+2B. s[2]C. ps[2]D.ps+=2,*ps9. 若有定义和语句:int **pp,*p, a=10,b=20;pp=&p;p=&a;p=&b;cout<<*p<<","<<**pp;则输出结果是: ( D )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.编程题1用指向数组的指针变量输出数组的全部元素2 使用函数调用,形参为指针,实参为数组,把一个数组逆序存放在输出练习题:一判断题1.指针是变量,它具有的值是某个变量或对象的地址值,它还具有一个地址值,这两个地址值是相等的。

2.指针的类型是它所指向的变量或对象的类型。

3.定义指针时不可以赋初值。

4.指针可以赋值,给指针赋值时一定要类型相同,级别一致。

5.指针可以加上或减去一个int型数,也可以加上一个指针。

6.两个指针在任何情况下相减都是有意义的。

7.数组元素可以用下标表示,也可以用指针表示。

8.指向数组元素的指针只可指向数组的首元素。

9.字符指针是指向字符串的指针,可以用字符串常量给字符指针赋值。

10.引用是一种变量,它也有值和地址值。

11.引用是某个变量的别名,引用是被绑定在被引用的变量上。

12.创建引用时要用一个同类型的变量进行初始化。

13.指针是变量,它可以有引用,而引用不能有引用。

;..二单选题1.下列关于定义一个指向double型变量的指针,正确的是()。

A.int a(5);double *pd=a; B.double d(2.5),*pd=&d;C.double d(2.5),*pd=d; D.double a(2.5),pd=d;。

).下列关于创建一个int型变量的引用,正确的是(2A.int a(3),&ra=a; B int. a(3),&ra=&a;ra=a;D.int a(3), C.double d(3.1);int &rd=d;.下列关于指针概念的描述中,错误的是()。

3 A.指针中存放的是某变量或对象的地址值.指针的类型是它所存放的数值的类型B .指针是变量,它也具有一个内存地址值C .指针的值是可以改变的D 。

.下列关于引用概念的描述中,错误的是()4 A.引用是变量,它具有值和地址值 B.引用不可以作数组元素 C.引用是变量的别名 D.创建引用时必须进行初始化。

++*p相同的是()*p=a5.已知:int a[5],;则与a[0] . B.*++p A++a[0] .C*p++ D.;..6.已知:int a[ ]={1,2,3,4,5},*p=a;在下列数组元素地址的表示中,正确的是()。

A.&(a+1) B.&(p+1)C.&p[2] D.*p++7.已知:int a(5),&ra=a;下列描述中,错误的是()。

A.ra是变量a的引用,即为变量的别名 B.ra的值为5C.ra的地址值为&a D.改变ra的值为10,变量a值仍为58若有以下定义,则说法错误的是( )。

int a=100,*p=&a ;A.声明变量p,其中*表示p是一个指针变量B.变量p经初始化,获得变量a的地址C.变量p只可以指向一个整形变量D.变量p的值为1009若有以下定义,则赋值正确的是( )。

int a ,b , *p;float c, *q;A.p=&c B.q=p C.p=NULL D.q=new int10如果x是整型变量,则合法的形式是( )。

A.&(x+5) B.*x C.&*x D.*&x11若要建立如下关系,错误的语句组是( )。

p x 10A. B. C. D.int *p=&x, x; int x, *p=&x; int *p, x=10; int *p,x;*p=10; *p=10; p=&x; p=&x ;x=10;12若有语句int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则( )不是对a数组元素的正确引用(其中0≤i<10)。

A.p[i] B.*(*(a+i)) C.a[p-a]D.*(&a[i])13以下程序的输出结果是( )。

#include <iostream.h>;..void main(){ int a[3]={10,15,20};int *p1=a,*p2=&a[1];*p1=*(p2-1)+5;*(p1+1)=*p1-5;cout<<a[1]<<endl;}A.5 B.10 C.15 D.2014以下程序的输出结果是( )。

#include <iostream.h>void fun(int x,int y,int *cp,int *dp){ cp=x+y;dp=x-y;}void main(){ int a,b,c,d;a=30,b=50;fun(a,b,&c,&d);cout<<c<<,<<d<<endl;}A.50,30 B.30,50 C.80,-20 D.80,2015要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。

能正确执行此功能的函数是( )。

A.funa(int *x,int *y) B.funb(int x,int y){ int *p=new int ; { int t;p=*x; t=x;*x=*y; x=y;*y=*p; } y=t; }C.func(int *x,int *y) D.fund(int x,int y){ *x=*y; { *x=*x+*y;*y=*x; *y=*x-*y;} *x=*x-*y; }16以下程序的输出结果是( )。

#include <iostream.h>void main();..char *s=Q34211;{int v1=0,v2=0,v3=0,v4=0;for (int k=0;s[k];k++)switch(s[k])default:v4++; {case '1':v1++;case '3':v3++;case '2':v2++;}cout<<v1<<,<<v2<<,<<v3<<,<<v4<<endl;}A.4,2,1,1 B.4,9,3,1 C.5,8,6,1 D.8,8,8,8 如果程序做下面修改:switch(s[k]){ default:v4++; break;case '1':v1++; break;case '3':v3++;break;case '2':v2++;break;}运行结果是()二、读下列程序结果1:写出下列程序运行结果:#include<iostream.h>void main(){int *pn, n=10,m=20;float *pf, px=3.14159,py=2.71828;pn=&n;*pn+=m;cout<<”n 现在的值是:”<<*pn<<endl; pf=&px;py+=5*(*pf);cout<<”py现在的值是:”<<py<<endl;}运行结果是:n 现在的值是:pf 现在的值是:;..2:写出下列程序运行结果:void grt(int *x , int *y , int *z){ cout<< ++*x<<‘,'<< ++*y<<‘,'<<*(z++)<<endl;} int a=10, b=40, c=20;void main( ){ prt (&a, &b, &c);prt (&a, &b, &c);}答案:static int a[ ]={1, 3,5, 7, 11, 13};main( ){ int *p;p=a+3;cout<<*p<<'\t'<<(*p++)<<endl;cout<<*(p-2)<<'\t'<<*(a+4)<<endl;}答案三;填空题1.下列函数change的功能是,将字符串中的小写字母转成大写字母,请填空。

#include<iostream.h>#include<string.h>void change( ) //1{int i=0;for(i=0; ;i++) //2if(a[i]>='a'&&a[i]<='z'); //3}void main(){char p[80];cout<< \n;cin.getline(p,80) ; //读一行字符,中间可以有空格change(p);cout<<p<<endl;;..}例题2 :下列函数swap实现数据交换功能功能,请填空。

#include<iostream.h>void swap(int *p,int *q){int temp;temp=*p;; //1; //2}void main(){int a,b;int *p1,*p2;潣瑵?请输入两个正数:;cin>>a>>b;p1=&a;p2=&b;swap(p1,p2);<<a<<,<<b<<endl; 的值:ba潣瑵?结果和};.。

相关文档
最新文档