指针练习题
时分秒画指针练习题

时分秒画指针练习题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语言指针-练习

复习题(二)一、基础题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章练习题--指针

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、以下程序段运行后*(++p )的值为(C )char a[6]=“work ”;char *p;p=a;A 、‘w ’B 、存放‘w ’的地址C 、‘o ’D 、存放的‘o ’地址2.以下程序运行后*(P+3)的值为( A )char a[]=“good ”; char *P ;P=a ;A.‘d ’B.‘\0’C.存放‘d ’的地址 .D.‘0’3.以下程序运行段运行后x 的值为( D )int a[]={1,2,3,4,5,6,7,8};int i,x *p;x=1;p=&a[2];for(i=0,i <3,i++)x*=(p+i);A. 不确定B. 24C. 120D. 604、下面程序的输出结果是(A )#include<stdio. h>int main ( ){int i;char *s= “ abc ”;for ( i=0 ; i<3; i++)printf ( “% s\n ” , s+i );}A B C D 5.执行以下程序段的输出结果是( B )int a=10,*p=&a;printf(“%d ”,++*p);A .10 B.11 C.变量a 的地址 D.变量a 的地址加16. 语句int a=10,*point=&a ; D 其值不为地址。
A. pointB. &aC. &pointD. *point7. 若有说明:int *p, a=1, b; 以下正确的程序段是(D )。
A . p=&b;B . scanf("%d", &b);scanf("%d", &p); *p=b;C . p=&b;D . p=&b;scanf("%d", *p); *p=a8. 变量的指针,其含义是指该变量的(B )。
A . 值B . 地址C . 名D . 一个标志9.若定义:int a=511, *b=&a ;,则printf("%d\n", *b);的输出结果为: D a b c b c c c b ca b c a b c c b c aa ba b cA.无确定值B.a的地址C.512 D.51110. 已有定义int a=2, *p1=&a, *p2=&a; 下面不能正确执行的赋值语句是(B)。
(完整word版)C语言指针练习+答案+讲解

第七章指针7.1 选择题1.若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是(D)。
A. p=q; B. *p=*q; C. a=*q; D. q=a;a是整型数,int *p,*q定义了指针,p,q是指向整型的指针.p取得a的地址,而q取得p的地址p,q是指针(也就是一个地址),而*p和*q是这个指针指向的整型数值(存放在这个地址的值).A)把q的地址赋给p,则p和q完全一样了,都指向一个数2B)把q中数据个pC)把q中数据给aD)a中数据是2,不能够给一个地址。
除非*q=a2.若定义:int a=511, *b=&a;,则printf("%d\n”, *b);的输出结果为:D A.无确定值 B. a的地址 C. 512 D. 511int a=511,*b=&a;a 是整形变量b 是整形指针变量,指向 aprintf("%d\n",*b);就是输出指针变量 b,所指变量的值输出结果5113.已有定义int a=2, *p1=&a, *p2=&a; 下面不能正确执行的赋值语句是(B)。
A. a=*p1+*p2; B. p1=a; C. p1=p2; D. a=*p1*(*p2);47、已知在程序中定义了如下的语句:int *P1,*P2;int k;p1=&k;p2=&k;则下列语句中不能正确执行是( B )A、k=*P1+*P2;B、p2=k;C、P1=P2;D、K=*P1 * (*P2);P1 P2是指针,K是整型变量,变量怎么可以赋值给指针呢?A其实是执行了K=K+K(P1和P2都指向K,所以*P1 *P2其实都是指K)C是赋值语句D其实执行了K=K*K4.变量的指针,其含义是指该变量的(B)。
A.值 B.地址 C.名 D.一个标志5.若有说明语句:int a, b, c, *d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是(A)。
指针练习题

指针练习题1.有四组对指针变量进行操作的语句,以下判断正确的选项是(a )A. int p,q; q=p; int a,*p,*q; p=q=&a;B. int a,*p,*q; q=&a; p=*q; int a=20,*p; p=a;C. int a=b=0,*p; P&a; b=*p;int a=20,*p,*q=&a; p=q;D. int a=20,*p,*q+&a; p=q; int p,*q;A.正确(1) 不正确(2)(3)(4)B.正确(1)(4) 不正确(2)(3)C.正确(3) 不正确(1)(2)(4)D.以上结论都不正确5.以下程序中调用scanf 函数给变量a输入值的方法是错误的,其错误原因是(b )main(){int*p, q, a, b;,};p=&a;printf(“input a:”);scanf(“%d”,*p);……}a.*p表示的是变量a的值,而不是变量a的地址b*p表示的是指针变量p的地址C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量6 以下程序有错误,错误原因是( )main(){int*p,I; char*q,ch;p=&I; q=&ch; *p=40; *p=*q;……}A. p和q的类型不一致,不能执行*p+*q语句B.*p中存放的是地址值,因此不能执行*p=40语句。
C. q没有指向具体的存储单元,所以*q没有实际意义。
D. q虽然指向具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句7.已有定义int k=2; int*ptr1,*ptr2;且ptr1和ptr2均已main() 指向变量k,下面不能正确执行赋值语句的是( )A. k=*ptr1+*ptr2;B.ptr2=k;C.ptr1=ptr2;D. k=*ptr1*(*ptr2);8.变量的指针,其含义是指该变量的( )A.值B.地址C.名D.一个标志9.若有语句int*point,a=4和point=&a;下面均代表地址的一组选项是( )A. a,point,*&aB.&*a,&a,*pointC. &point,&point,&aD.&a,&*point,point10.若有说明:int *p,m=5,n;以下正确的程序段是( )A. p=&n;scanf(“%d”,&p);B. p=&n; scanf(“%d”,*p);C. scanf(“%d”,&n);*p=n;D. p=&n; *p=m;11.若有说明:int p1,p2,m=5,n;以下均是正确的赋值语句的选项是( )A. p1=&m; P2=&p1;B.p1=&m; p2=&n; *p1=*p2C. p1=&m; p2=p1;Dp1=&m; p2=p112已有变量定义和函数调用语句: int a=25;print_value(&a); 下面函数的正确输出结果是( )void print_value(int *x){printf(“%d\n”,++*x);}A. 23B. 24C. 25D. 2613.下面判断正确的是( )A. char*a=”china”;等价于char *a; *a=”china”;B. char str[10]={“china”};等价于char str[10];C. char*s=”china”;等价于char str[10]D. char c[4]=”abc”,d[4]=”abc”等价于char c[4]=b[4]=”abc”;14.设char*s=”\ta\017bc”;则指针变量s指向的字符串所占的字节数是 ( )A.9B.5C.6D.715.下面能正确进行字符串赋值的操作的是( )A. char s[5]={“ABCDE”};B. char s[5]={‘A’,’B’,’C’,’D’,’E’,};C. char*s; s=”ABCDE”;D.chars;scanf(“%s”,s);16.下面程序段的运行结果是( )char*s=”abcde”; s+=2; printf(“%d”,s);A.cdeB.字符’c’C.字符’c’的地址D.无确定结果17.设有以下程序段:char s[]=”china”; char*p; p=s; 则下列叙述正确的是( )A.s和p完全相同B.数组s中的内容和指针变量p中的内容相等C.s数组长度和p所指向的字符串长度相等D.*p与s[0]相等18下面程序段的运行结果是( )char*format=”%s, a=%d, b=%d\n”;int a=1,b=10; a+=b;printf(“format,” a+=b,”, a, b);A. for,”a+=”,abB.format,”a+=b”C.a+=b,a=11,b=10D.以下结果都不对19.以下正确的程序段是( )A.char str[20]; scanf(“%s”,&str);B.char*p; scanf(“%s”,p);C.char str[20];Scanf(“%s”,&str[2]);D.char str[20], *p=str;scanf(“%s”,p[2]);20.下面程序段的运行结果是( )char str[]=”ABC”, *p=str;printf(“%d\n”,*(9+3));A. 67B. 0C.字符’C’的地址D.字符’C’21.下面程序段运行结果是( )char a[]=”language”,*p;p=a;while(*p!=’u’) {pirntf(“%c”,*p-32);p++;}A. LANGUAGEB. languageC. LANGD. language22.下面说明书不正确的是( )A.char a[10]=”china”;B.char a[10],*p=a;p=”china”;C.char*a;a=”china”;D.char a[10],*p; p=a=”china”;23. 若有说明语句char a[]=”It is mine”; char*p=”It is mine”;则以下不正确的叙述是( )A.a+1表示的是字符t的地址B.p指向另外的字符串时,字符串的长度不受限制C.p变量中存放的地址值可以改变D.a中只能存放10个字符24.若已定义char s[10];则在下面表达式中不表示s[1]的地址是( )A.s+1B.s++C.&s[0]+1D. &s[1]25 下面程序段的运行结果是( )char s[6]; s=”abcd” printf(“\”%s\”\n”,s);A”abcd” B”abcd “ C\”abcd\” D编译出错26当运行以下程序时,从键盘输入Happy!<CR> ,则下面的程序运行结果是()#include<stdio.h>#include<string.h>main(){char str [10],*p=str;gest(p); printf(“%d\n”,stre(p));}stre(char str[]){int num=0;while(*(str+num)!=’0’)num++;return(num);}A.7B.6C.5D.1027.下面程序的运行结果是( )#include<stdio.h>main(){static char a[ ]=“Language”,b[ ]=”programe”;char p1, p2; int k;p1=a; p2=b; printf(" %c”,*(p1+k));}A. gaeB. gaC. LanguageD.有语法错误28.下面程序运行结果( )#include<stdio.h>main(){int a=28,b;char s[10],*p;p=s;do{b=a%16;if(b<10) *p=b+48;else *pb+55;p++;a=a/5;}while(a>0);*p=’\0’;puts(s);}A.10B. C2C.C51D.\029.下面程序的运行结果是( )#include<stdio.h>void delch(char *s){int I,j;char *a;a=s;for(I=0,j=0;a[I]!=’\0’;I++)if(a[I]>=’0’&&a[I]<=’9’){s[j]=a[I];j++;} s[j]=’\0’;}main(){char*item=”a34bc”;delch(item);printf("\n%s",item);}A.abcB.34 c.a34 D.a34bc30.下面程序运行结果是( )#include<stdio.h>#include<string.h>main(){char*s1=”AbDeG”; char*s2”AbdEg”;s1+=2; s2+=2;printf(“%d\n”,strcmp(sl,s2));}A.正数B.负数C.零D.不确定的值31.下面的程序的运行结果是( )#include<stdio.h>#include<string.h>fun(char*s){char a[7]; s=a; strcpy(a,”look”);}main(){char *p; fun(p); puts(p);}A.look□□□B.lookC.look□□D.不确定的值32.下面的程序的运行结果是( )#include<stdio.h>main(){char *p,s[ ]=”ABCDEFG”;for(p=s; *p!=’\0’;){printf(“%s\n”,p);p++;else break;k}}A.ABCDEFG ABCDE ABC AB.ABCDEFG BCDEF CDE DC.A C E GD.ABCDEFG CDEFG EFG G33.下面和序的运行结果是( )#include<stdio.h>#incude<string.h>main(){char* p1,*p2,str[50]=”abc”;p1=”abc”; p2=”abc”;strcpy(str+1,strcat(p1,p2));printf(“%s\n”,str);}A.abcabcabcB.bcabcabcC.aabcabcD.cabcabc34.下面程序的运行结果是( )#include<stdio.h>main(){char str[]=”cdalb”;abc(str); puts(str);}abc(char*p){int I,j;for(I=0,j=0;*(p+I)!=’\0’;I++)if(*(p+I)>=’d’){*(p+j)=*(p+I); j++} C.p=b[I];*(p+j)=’\0’;}A.dalbB.cdC.dlD.c35.若有以下定义,则对a数组元素的正确引用是inta[5],*p=a;A.*&a[5]B.a+2C.*(p+5)D.*(a+2) 正确操作是()36.若有定义:int a[2][3];则对a数组的第I行,第j列元素值的正确引用是()A.*(*a+I)+j) B.(a+I)[j] C*(a+I+j) D.*(a+I)+j37.若有以下定义和语句,则对a数组的地址的正确引用为()inta[2][3],(*P)[3]; p=a;A.*(p+2)B.p[2]C.p[1]+1D.(p+1)+238.若有以下定义和语句,则对a数组元素的正确引用为()int a[2][3],(*p)[3]; p=a;A.(p+1)[0]B.*(*(p+2)+1)C.*(p[1]+1)D.p[1]+239.若有定义:int a[5];则a数组中首元素日地址可以表示为()A.&aB.a+1C.aD.&a[1]40.若有定义:int(*p)[4];则标识符p( )A.是一个指向整形变量的指针B.是一个指针数组名C.是一个指针,它指向一个含有四个整形元素的一维数组D.定义不合法41.若有以下定义和赋值语句,则以s数组的第I行第j列元素地址的合法引用为()int s[2][3]={0},(*p)[3]; p=s;A.*(*p+I)+j)B.*(p[I]+j)C.(p+I)+jD.(*(p+I))[j]42.以下与int*q[5];等价的定义语句是()A.intq[5];B.int*q;C.int*(q[5]);D.int(*q)[5];43.设有以下程序段:charstr[4][10]={“frist”,”second”,”third”,”forurth”},*strp[4];int n;for(n=0;n<4;n++) strp[n]=str[n];若k为int型变量且0<=k<4,则对字符串的不正确引用是( )A. strpB. str[k]C.strp[k]D.*strp44若有以下定义,则*(p+5)表示( )int a[10],*p=a;A.元素a[5]的地址B.元素a[5]的值C.元素a[6]的地址D.元素a[6]的值45.若有定义:int*p[4]:则标识符p( )A.是一个指向整形变量的指针B.是一个指针数组名C,是一个指针,它指向一个含有四个整形元素的一维数组D.说明不合法46.以下正确的说明语句是( )A.int*b[]={1,3,5,7,9};B.int a[5],*num[5]={&a[0],&a[1],&a[2],&a[3],&a[4]};C.int a[]{1,3,5,7,9};D.int a[3][4],(*num)[4];num[1]=&a[1][3];47.若有以下定义,且0<=I<4,则不正确的赋值语句是( )int b[4][6],*p,*q[4];A.q[I]=b[I];B.p=b;C.p=b[I];D.q[I]=&b[0][0];48.若有以下定义,则p+5表示( )int a[10],*p=a;A.元素a[5]的地址B.元素a[5]的值C.元素a[6]的地址D.元素a[6]的值49.以下选项中,对指针变量p的不正确操作是()A.inta[5],*p;p=&a;B.int a[5],*P;p=a;C.inta[5];int*p=a=1000D.inta[5]; int*p1,*p2=a *p1=*p2;50.若有以下定义,且0<=I<5,则对a数组元素的非法引用是()int a[5],*p=a;A.a[1]B.*(a+1)C.*(p+1)D.*(&a+I)51.若有以下定义,则数值不为3的表达式是()int x[10]={0,1,2,3,4,5,6,7,8,9},*p1;A.x[3]B.p1=x+3,*p1++C.p1=x+2,*(p1++)D.p1=x+2,*++p152.阅读以下程序:main(){int a[10]={2,4,6,8,10,12,14,16,18,20},*p;p=a;printf(“%x\n”,p);printf(“%x\n”,p+9);}若第一个printf语句输出的是ffca,则第二个printf语句输出的是()A.ffdd B.ffdc C.ffde D.ffcd53.设有以下定义:char *cc[2]={“1234”,”5678”};则正确的叙述是()数组的两个元素中各自存放了字符串“1234”和“5678”的首地址数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址是指针变量,它指向含有两个数组元素的字符型一维数组数组元素的值分别是“1234”和“5678”54、若有以下定义int x[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}int(*p)[3]=x;则能够正确表示数组元素x[1][2]的表达式是()A *((*p+1)[2])B (*p+1)+2C *(*p+5)D *(*p+1)+2)55 下面程序的运行结果是()main(){int x[5]={2,4,6,8,10},*p,**pp;p=x;pp=&p;printf(“%d”,*(p+1));printf(“%3d\n,”**pp);}A 4 4B 2 4C 2 2 D, 4 656,若有说明:char*language[]={“fortran,””basic,””pascal,”java,””c”};则表达式language[1]>*language[3]比较的是()A 字符f和字符pB 字符窜basic和字符窜javaC 字符b和字符jD 字符窜fortran和字符窜pascal57.若有说明charlanguage[]={“fortran,””basic,”,”pascal,””java,””c”}则language[2]的值是A一个字符B一个地址C一个字符窜D一个不定直58. 若有说明char*languiage []={“fortran,””basic,”pascal,”java,”c”}则以下不正确的是()nguage+2表示字符窜”pascal”的首地址nguage[2]的值是字母pnguage是一个字符行指针数组,它包含5个元素每个元素都是一个指向字符窜变量的指针nguage是一个字符型指针数组,它包含5个元素其初直分别是:fortran,basic,pascal,java,c,59.语句int(“ptr)9()的含义是()A.ptr是指一维数组的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr 是一个函数名,该函数的反回值是指向int型数据的指针60.若有函数max(a,b)并且已使函数指针变量p指向max,当调用该函数时正确的调用方法是()A.(*p)max(,b)B.pmax(a,b)C.(p)(a,b)D.*p(a,b)61.已有函数max(a,b),为了让函数指针变量p指向函数max正确的赋值方法是()A.p=maxB.*p=maxC.p=max(a,b)D.*p=max(a,b)62.已有定义int(*p)( )指针p可以()A.代表函数的返回值B.指向函数的入口地址C.表示函数的类型D.表示函数返回值的类型63.若有以下说明和语句:char*language[]={“fortran,”basic,”pascal,”java,c,}char**p;q=language+2则语句printf(“%o/n,”*p);( )A.输出的是language[2]元素的地址B.输出的是字符窜pascalC.输出的是language[2]元素的值,它是字符窜pascal的首地址D.格式说明不正确,无法得到确定的输出64.若要对a进行++运算,则a应具有下面说明()A.int a[3][2]B.char *a[]{“12”,ab}C.char(*a)[3]D.int b[10],*a=b;。
时间钟表练习题

时间钟表练习题一、选择题根据所给题图,选择正确的时间。
1. 图一:钟表指针指向5和12的位置是几点几分?A. 5点15分B. 12点15分C. 6点15分2. 图二:表盘上的大指针指向9,小指针指向2,表示几点几分?A. 9点10分B. 9点40分C. 9点20分3. 图三:钟表指针指向2和7的位置是几点几分?A. 2点35分B. 7点35分C. 2点25分4. 图四:表盘上的大指针指向12,小指针指向5,表示几点几分?A. 12点25分B. 12点5分C. 12点55分二、填空题根据题中情境,填写合适的时间。
1. 放学时间是下午**点**分。
2. 睡懒觉的习惯,每天**点才起床。
3. 从9点**分开始上课。
4. 练钢琴的课程每周三下午**点开始。
5. 爸爸妈妈上班,**点才回家。
6. 晚饭时间是每天傍晚**点。
三、判断题判断下列时间描述是否正确,正确的写"√",错误的写"×"。
1. 早上8点,钟表的指针指向8的位置。
2. 下午1点,钟表的指针指向6的位置。
3. 晚上10点,钟表的指针指向12的位置。
4. 中午12点,表盘上的大指针和小指针指向同一个位置。
5. 上午11点,钟表的指针指向11和12之间的位置。
四、应用题根据题意,回答下列问题。
1. 大明每天早上7点醒来,早餐用了30分钟,然后上学需要40分钟,他应该几点出门?2. 老师上午10点半开始上课,课程为2个小时,那么课程几点结束?3. 小明放学回家需要20分钟,他3点放学,那么他几点到家?4. 学校上学时间是早上8点,晨练需要40分钟,那么学生应该几点起床?五、解答题1. 用文字描述如何表示下列时间:a. 3点25分b. 6点45分c. 12点15分2. 如果钟表上只有一个指针,如何通过一个指针表示分钟?3. 假设熊猫表盘上的大指针每小时走两圈,指针走一圈需要30分钟。
请你思考:12小时过后,指针是否会回到起点,为什么?以上为时间钟表练习题,请参考以上内容进行回答。
指针经典练习题(含答案版)一

指针经典练习题(含答案版)⼀指针⼀.填空题(20分)1. 指针变量是把内存中另⼀个数据的地址作为其值的变量。
2. 能够直接赋值给指针变量的整数是 0。
3. 如果程序中已有定义:int k;1)定义⼀个指向变量k的指针变量p的语句是 int* p = &k 。
2)通过指针变量,将数值6赋值给k的语句是 *p = 6; 。
3)定义⼀个可以指向指针变量p的变量pp的语句是 int ** pp; 。
4)通过赋值语句将pp指向指针变量p的语句是 pp = &p 。
5)通过指向指针的变量pp,将k的值增加⼀倍的语句是 *(*pp)*= 2; 。
4. 当定义某函数时,有⼀个形参被说明成int *类型,那么可以与之结合的实参类型可以是int型指针、 int型数组等。
4. 以下程序的功能是:将⽆符号⼋进制数字构成的字符串转换为⼗进制整数。
例如,输⼊的字符串为:556,则输出⼗进制整数366。
请填空。
45*8#includemain( ){ char *p,s[6]; int n; p=s; gets(p); n=*p-'0';while( *++p != '\0') //先++ ,后*n=n*8+*p-'0';printf("%d \n",n);}⼆.选择题(22分)1. 以下count函数的功能是统计substr在母串str中出现的次数。
int count(char *str,char *substr){ int i,j,k,num=0;for(i=0; ①B ;i++){for( ②B ,k=0;substr[k]==str[j];k++,j++)if(substr[ ③C ]==?\0?){num++;break;}}return num;}①A) str[i]==substr[i] B) str[i]!= 0C) str[i]==…\0? D) str[i]>substr[i]②A) j=i+1 B) j=i C) j=i+10 D) j=1③A) k B) k++ C) k+1 D) ++k2. 以下Delblank函数的功能是删除字符串s中的所有空格(包括Tab、回车符和换⾏符)。
指针练习题及答案

指针练习题及答案1. 请编写一个程序,交换两个变量的值,并通过指针来实现。
```c#include<stdio.h>void swap(int *a, int *b){int temp = *a;*a = *b;*b = temp;}int main(){int num1 = 10, num2 = 20;printf("交换前的值:num1=%d, num2=%d\n", num1, num2);swap(&num1, &num2);printf("交换后的值:num1=%d, num2=%d\n", num1, num2);return 0;}```2. 编写一个函数,统计字符串中某个字符出现的次数,并通过指针返回结果。
```c#include<stdio.h>int countChar(const char *str, char target){int count = 0;while(*str != '\0'){if(*str == target)count++;str++;}return count;}int main(){char str[] = "hello world";char target = 'l';int count = countChar(str, target);printf("字符 %c 出现的次数为:%d\n", target, count); return 0;}```3. 编写一个函数,找到整型数组中的最大值,并通过指针返回结果。
```c#include<stdio.h>int findMax(const int *arr, int size){int max = *arr;for(int i = 1; i < size; i++){if(*(arr+i) > max)max = *(arr+i);}return max;}int main(){int arr[] = {10, 20, 30, 40, 50};int size = sizeof(arr) / sizeof(arr[0]);int max = findMax(arr, size);printf("数组中的最大值为:%d\n", max);return 0;}```4. 编写一个函数,将字符串反转,并通过指针返回结果。
c语言指针习题及答案

c语言指针习题及答案C语言指针习题及答案C语言作为一门广泛应用于软件开发和系统编程的编程语言,指针是其重要的特性之一。
掌握指针的使用对于理解和编写高效的C程序至关重要。
本文将介绍一些常见的C语言指针习题,并提供相应的答案,帮助读者更好地理解和掌握指针的概念和用法。
1. 习题一:交换两个变量的值请编写一个函数,接受两个整型指针作为参数,实现交换两个变量的值。
例如,如果输入a=10,b=20,函数执行后,a=20,b=10。
答案:```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```2. 习题二:查找数组中的最大值和最小值请编写一个函数,接受一个整型数组和数组长度作为参数,返回数组中的最大值和最小值。
例如,对于数组[5, 2, 9, 1, 7],函数应该返回最大值9和最小值1。
答案:```cvoid findMinMax(int *arr, int length, int *max, int *min) {*max = *min = arr[0];for (int i = 1; i < length; i++) {if (arr[i] > *max) {*max = arr[i];}if (arr[i] < *min) {*min = arr[i];}}}```3. 习题三:计算字符串长度请编写一个函数,接受一个字符串作为参数,返回字符串的长度。
例如,对于字符串"Hello, World!",函数应该返回12。
答案:```cint stringLength(char *str) {int length = 0;while (*str != '\0') {length++;str++;}return length;}```4. 习题四:复制字符串请编写一个函数,接受两个字符串指针作为参数,将第一个字符串复制到第二个字符串中。
CH6-指针练习题及答案

第六章指针练习题及答案一、填空题1、定义int a[]={1,2,3,4,5,6},*p=a;语句printf("%d",(*++p)++);的输出结果是()。
2、以下程序的执行结果是()。
main(){ char s[]="abcdefg"; char *p;p=s; printf("ch=%c\n",*(p+5)); }3、以下程序的执行结果是()。
main(){ int a[][={1,2,3,4,5,6};for(p=&a[5];p>=a;p--) printf("%d",*P);printf("\n"); }4、以下程序的执行结果是()。
main(){ int a[12]={1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;for(i=0;i<4;i++)p[i]=&a[i*3];printf("%d\n",p[3][2]);}5、设包含如下程序的文件名为myprog.c,编译后键入命令:myprog one two three,则执行结果是()。
main(int argc,char *argv[]){ int i;for(i=1;i<argc;i++)printf("%s%c",argv[i],(i<argc-1)?":');}6、下面程序的运行结果是()char s[80],*sp="HELLO!";sp=strcpy(s,sp); s[0]='h'; puts(s);7、下面程序段的运行结果是()char *s1="AbcdEf",*s2="aB";s1++; t=(strcmp(s1,s2)>0); printf("%d\n",t);8、下面程序段的运行结果是()char str[]="abc\0def\0ghi"; char *p=str; printf("%s",p+5)9、若有以下定义和语句:int a[4]={0,1,2,3},*p; p=&a[1]; 则++(*p)的值是()。
画时针练习题

画时针练习题练习题一:1. 完成以下时钟的绘制并标出时刻。
例题:请画一张表盘,标示出以下三个时刻:时刻一:时针指向12点,分针指向3点。
时刻二:时针指向6点,分针指向30分。
时刻三:时针指向9点,分针指向45分。
答案:(完成表盘的绘制并标注时刻)思路提示:需要画一个圆形的表盘,并在表盘上刻度。
时针和分针需要有不同的长度,可以用细长的直线或箭头表示。
练习题二:2. 根据题目中的时刻,用时钟面绘制指针的位置。
题目一:现在是上午11点15分,请根据给出的时刻绘制时钟指针的位置。
题目二:现在是下午4点45分,请根据给出的时刻绘制时钟指针的位置。
题目三:现在是晚上9点30分,请根据给出的时刻绘制时钟指针的位置。
答案:(根据题目中的时刻绘制时钟指针的位置)思路提示:根据题目中给出的时刻,确定时针和分针的位置。
时针通常较短,分针较长。
可以使用细长的直线或箭头表示。
练习题三:3. 解决下列问题,绘制时钟指针的位置。
问题一:若以12小时制计时,现在是下午2点,过去了120分钟,请绘制时钟指针的位置。
问题二:若以24小时制计时,现在是晚上22点30分,过去了90分钟,请绘制时钟指针的位置。
问题三:若以12小时制计时,现在是上午10点,再过70分钟是几点?请绘制时钟指针的位置。
答案:(解决问题并绘制时钟指针的位置)思路提示:根据题目中给出的信息,计算出时刻的变化。
根据变化后的时刻,绘制时钟指针的位置。
注意转动的角度和指针的长度。
总结:通过画时针练习题,我们可以更好地理解时钟的运作原理。
这些练习题帮助我们熟悉时钟各个指针对应不同时刻的位置,并能够通过计算和推理解决问题。
希望大家能够通过这些练习,提高对时钟的认识和理解能力。
指针 练习题

指针练习题指针是C语言中非常重要的概念之一。
掌握指针的使用和理解对于C语言程序的编写至关重要。
本文将介绍一些指针的练习题,帮助读者巩固对指针的理解和应用。
练习题一:交换变量的值请编写一个函数,使用指针作为参数,交换两个整型变量的值。
函数原型为:void swap(int* p1, int* p2);在主函数中调用该函数进行测试,并输出交换后的结果。
练习题二:查找数组中的最大值和最小值请编写一个函数,使用指针作为参数,实现在一个整型数组中查找最大值和最小值的功能。
函数原型为:void findMinMax(int* arr, int size, int* max, int* min);其中,arr表示整型数组的首地址,size表示数组的大小,max和min分别表示最大值和最小值的指针。
在主函数中调用该函数进行测试,并输出最大值和最小值。
练习题三:统计字符出现次数请编写一个函数,使用指针作为参数,统计一个字符串中某个字符的出现次数。
函数原型为:int countChar(char* str, char ch);其中,str表示字符串的首地址,ch表示要统计的字符。
在主函数中调用该函数进行测试,并输出字符出现的次数。
练习题四:字符串反转请编写一个函数,使用指针作为参数,将一个字符串进行反转。
函数原型为:void reverseString(char* str);其中,str表示字符串的首地址。
在主函数中调用该函数进行测试,并输出反转后的字符串。
练习题五:动态分配内存并初始化请编写一个函数,使用指针作为参数,动态分配一块内存,并将其中的每个元素初始化为给定的初始值。
函数原型为:int* initArray(int size, int initialValue);其中,size表示要分配的内存块的大小,initialValue表示初始化的值。
在主函数中调用该函数进行测试,并输出分配的内存块中的元素。
通过以上的练习题,读者可以进一步巩固和提升对指针的理解和应用。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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潣瑵?结果和};.。