若有说明:int m=3,n=4*p,m=5,n;以下正确的程序段 的是 p=&n;scanf("%d",*p)

第九章 指针作业练习 南京廖华
第九章 指针作业练习
第九章 指针 来自lee_wiki 跳转至: 导航、 搜索 一、选择题 1. 若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是()。 A. p=q;
B. *p=*q;
2. 若定义:int a=511, *b=&a;,则printf(\的输出结果为: A. 无确定值
B. a的地址
3. 已有定义 int a=2, *p1=&a, *p2=&a; 下面不能正确执行的赋值语句是()。 A. a=*p1+*p2;
C. p1=p2;
D. a=*p1*(*p2);
4. 变量的指针,其含义是指该变量的()。 A. 值
D. 一个标志
5. 若有说明语句:int a, b, c, *d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是()。 A. scanf(\B. scanf(\C. scanf(\D. scanf(\ 6. 若已定义int a=5; 下面对(1)、(2)两个语句的正确解释是()。 (1) int *p=&a;
(2) *p=a; A. 语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值。 B. (1)和(2)语句的执行结果,都是把变量a的地址值赋给指针变量p。 C. (1)在对p进行说明的同时进行初始化,使p指向a; (2)变量a的值赋给指针变量p。 D. (1)在对p进行说明的同时进行初始化,使p指向a; (2)将变量a的值赋予*p。
7. 若有语句int *p, a=10; p=&a; 下面均代表地址的一组选项是()。// &于*是一对反操作,也就是*&或&*相当于什么都没写 A. a, p, *&a
B. &*a, &a, *p C. *&p, *p, &a
D. &a, &*p, p
8. 若有说明:int *p, a=1, 以下正确的程序段是()。 A. p=&b;
B. scanf(\scanf(\C. p=&b;
D. p=&b; scanf(\
9.以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是()。 #include
main() { int *p, *q, a,
p=&a; printf(\scanf(\
… } A. *p表示的是指针变量p的地址 B. *p表示的是变量a的值,而不是变量a的地址 C. *p表示的是指针变量p的值 D. *p只能用来说明p是一个指针变量
10.以下正确的程序段是()。 A. char s[20];
B. char *s; scanf(\C. char s[20];
D. char s[20], *t=s; scanf(\ 11.下面程序段的运行结果是()。 #include \main() { int m=10, n=20; char *format=\m*=n; printf(format, \} A. format, \. format, \C. m*=n, m=200, n=20
D. 以上结果都不对
12.下面程序段的运行结果是()。 #include \main()// { char s[]=\
t=s; while( *t!='p') { printf(\t++;} } A. EXAMPLE!
B. example!
D. example!
13.若有说明语句:char
s[]=\is a example.\*t=\is a example.\则以下不正确的叙述()。
A. s表示的是第一个字符i的地址,s+1表示的是第二个字符t的地址
B. t指向另外的字符串时,字符串的长度不受限制
C. t变量中存放的地址值可以改变
D. s中只能存放16个字符
14.若已定义char s[10];则在下面表达式中不表示s[1]地址的是()。
C. &s[0]+1
15.下面程序段的运行结果是()。(注:└┘代表空格)//? #include \main()
char s[6];
s=\printf(\
A. \. \└┘\. \\\. 编译出错
16.执行以下程序后,a的值为【1】, b的值为【2】。 #include
{ int a, b, k=4, m=6, *p=&k, *q=&m;
b=(-*p)/(*q)+7; printf(\printf(\
【1】 A. -1
【2】 A. 5
17.下列程序的输出结果是()。 #include \main()a
{ int a[]={1,2,3,4,5,6,7,8,9,0}, *p;
p=a; printf(\
18.以下程序调用findmax函数返回数组中的最大值。在下面划线处应填入的是(c)。 #include \findmax(int *a, int n)
{ int *p, *s; for (p=a, s=a; p-a<n; p++) if(__________) s=p; return (*s);
{ int x[5]={12,21,13,6,18}; printf(\
C. a[p]>a[s]
D. p-a>p-s
19.下列程序段的输出结果是()。 #include \void fun( int *x, int *y)
{ printf(\
{ int x=1, y=2; fun(&y, &x); printf(\
A. 2 1 4 3
B. 1 2 1 2
C. 1 2 3 4
D. 2 1 1 2
20.有以下函数: char *fun(char *s)
该函数的返回值是()。
A. 无确定值
B. 形参s中存放的地址值
C. 一个临时存储单元的地址
D. 形参s自身的地址值
二、填空题
1. 设有定义:int a, *p=&a; 以下语句将利用指针变量p读写变量a中的内容,请将语句补充完整。 scanf(\【1】 ); printf(\【2】 ); 2. 以下程序的运行结果是________。 #include \#include \int *p; main()
{ int x=1, y=2, z=3;
p=&y; fun(x+z, &y);
779 66 2525#qq.com 联系客服:问卷正在加载中,请稍候...
如果由于网络原因导致此框一直不消失,请重新刷新页面!
1.对于下述语句,若将10赋给变量k1和k3,将20赋给变量k2和k4,则应按_________方式输入数据。(↙代表回车)
int k1,k2,k3,k4;
scanf("%d%d",&k1,&k2);
scanf("%d,%d",&k3,&k4);*A. 1020↙
1020↙B. 10 20↙
10 20↙C. 10,20↙
10,20↙D. 10 20↙
10,20↙2.若定义x为double型变量,则能正确输入x值的语句是_________。*A. scanf("%f",x);B. scanf("%f",&x);C. scanf("%lf",&x);D. scanf("%5.1f",&x);3.已知i,j,k为int型变量,若从键盘输入:1,2,3↙,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是_________ 。*A. scanf("%2d%2d%2d",&i,&j,&k);B. scanf("%d_%d_%d",&i,&j,&k);C. scanf("%d,%d,%d",&i,&j,&k);D. scanf("i=%d,j=%d,k=%d",&i,&j,&k);4.若x是int型变量,y是float型变量,所用的scanf调用语句格式为:
scanf("x=%d,y=%f",&x,&y);则为了将数据10和66.6分别赋给x和y,正确的输入应是_________。*A. x=10,y=66.6↙B. 10 66.6↙C. 10↙66.6↙D. x=10↙y=66.65.若有说明: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;6.针对scanf("%2d%4d", &x, &y),输入后,x和y的值分别是_________。*A. B. 12 34C. 12 5678D. 12 3456
&提供技术支持东北大学18春学期《高级语言程序设计基础》在线作业123(资料答案)
需要的请联系:&
&WX:aopeng0120&
18春学期《高级语言程序设计基础》在线作业1-0001
试卷总分:100 &
一、 单选题 (共 20 道试题,共 100 分)
1.设x、y均是int类型变量,且x值为100,则关于以下for循环的正确判断是( )。     for (y=100; x!=y;
++x,y++)      printf("****\n");
A.循环体只执行一次
B.是无限循环
C.循环体一次都不执行
D.for语句中存在语法错误
2.若有说明:int a[][4]={0,0};则下面不正确的叙述是(
A.数组a中的每个元素都可得到初值0
B.二维数组a的第1维大小为1
C.因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D.只有数组元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
3.以下对C语言中共用体类型数据的叙述正确的是( )。
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
4.设ch是char类型变量,其值是A,则表达式ch=(ch&='A'&&ch&='Z')?(ch+32):ch的值是(
5.若有说明:char *pc[ ]={"aaa", "bbb",
"ccc", "ddd"};,则以下叙述正确的是( )。
A.*pc[0]代表的是字符串"aaa
B.*pc[0]代表的是字符'a'
C.pc[0]代表的是字符串"aaa"
D.pc[0]代表的是字符'a'
6.若有定义:int
a[2][3];,则以下对a数组元素地址的正确表示为( )。
B.*(a[1]+2)
7.对以下说明语句的正确理解是( )。 int
a[10]={6,7,8,9,10};
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组与初值的个数不相同,所以此语句不正确
8.C语言规定:简单变量做实参时,它和对应形参之间的数据传递方式是(
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回实参
D.由用户指定传递方式
9.以下为一维整型数组a的正确说明是( )。
A.int a(10);
B.int n=10,a[n];
C. scanf("%d",&n); int
D.#define SIZE 10;int
10.系统的标准输入文件是指( )。
11.若a、b、c均为int型变量,则执行以下程序段后的输出结果为(
)。 b=(a=10,a+5,c=10); printf("a=%d,b=%d,c=%d\n",a,b,c);
c=(a=10,b=5,a+b);printf("a=%d,b=%d,c=%d\n",a,b,c);
A.a=10,b=15,c=10a=10,b=5,c=10
B.a=10,b=10,c=10a=10,b=5,c=10
C.a=10,b=10,c=10a=10,b=5,c=15
D.a=10,b=10,c=10a=10,b=5,c=5
12.若执行下述程序时从键盘输入3 4,则输出结果是( )。
#include &main( ) { int a,b,s;
scanf("%d%d",&a,&b); s=a; if (a
13.若有说明:int a[10];则对数组元素的正确引用是(
D.a[10-10]
14.已知ch是字符型变量,则不正确的赋值语句是( )。
B.ch='\0';
C.ch='7'+'9';
D.ch='a+b';
15.如果在一个函数中的复合语句中定义了一个变量,则以下正确的说法是(
A.该变量只在该复合语句中有效
B.该变量在该函数中有效
C.该变量在本程序范围内有效
D.该变量为非法变量
16.在C语言中,错误的int类型的常数是( )。
17.以下能正确定义整型变量x、y和z并为其赋初值5的语句是(
A.int x=y=z=5;
B.int x,y,z=5;
C.int x=5,y=5,z=5;
D.x=5,y=5,z=5;"
18.以下正确的函数说明是( )。
A.int fun(int a, b)
B.float fun( int b)
C.double fun( )
D.int fun(char a[ ][ ])
19.以下程序段的运行结果是( )。 char a[
]="program", *p; p=a; while (*p!='g')   { printf("%c", *p-32); p++;
20.若有以下说明,并且0≤i&10,则( )是对数组元素的错误引用。int a[]={1, 2,
3, 4, 5, 6, 7, 8, 9, 10}, *p=a, I;
B.a[p-a+i]
D.*(&a[i])
&18春学期《高级语言程序设计基础》在线作业2-0001
试卷总分:100 &
一、 单选题 (共 20 道试题,共 100 分)
1.以下能正确读入字符串的程序段是( )。
A.char *p; scanf("%s", p);
B.char str[10]; scanf("%s",
C.char str[10], *p; p=
scanf("%s", p);
D.char str[10], *p= scanf("%s",
2.若执行下述程序时从键盘输入3 4,则输出结果是( )。
#include &main( ) { int a,b,s;
scanf("%d%d",&a,&b); s=a; if (a
3.系统的标准输入文件是指( )。
4.若有以下程序段:   for (m=1; m&=100;
m++)    { scanf("%d", &y);    if (y&0)      
printf("=", m);    }正确的描述是( )。
A.当y&0时整个循环结束
B.y&=0时什么也不输出
C.printf函数永远也不执行
D.最多允许输出100个非负整数
5.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是(
)。if(x&y)z=x;x=y;y=z;
A.x=10,y=20,z=30
B.x=20,y=30,z=30
C.x=20,y=30,z=10
D.x=20,y=30,z=20"
6.执行以下程序段后,y的值是( )。 int a[ ]={1, 3,
5, 7, 9} int x=0, y=1, * ptr=&a[1]; while (!x) {
y+=*(ptr+x); x++; }
7.下面程序的输出结果是( )。main(){ int
x,i;for(i=1;i&=100;i++){
x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf("%d ",x);}}
8.若有说明:int a[10];则对数组元素的正确引用是(
D.a[10-10]
9.下面对typedef的叙述中不正确的是( )。
A.用typedef不能定义变量名
B.用typedef可以定义新的数据类型
C.用typedef只是将已存在的类型用一个新的标识符来代表
D.使用typedef有利于程序的通用和移植
10.以下为一维整型数组a的正确说明是( )。
A.int a(10);
B.int n=10,a[n];
C. scanf("%d",&n); int
D.#define SIZE 10;int
11.已知ch是字符型变量,则不正确的赋值语句是( )。
B.ch='\0';
C.ch='7'+'9';
D.ch='a+b';
12.下面程序的输出结果为( )。 main( ) { int
a=1,b=0; switch(a) { case 1: switch (b) { case 0: printf("**0**");
break; case 1: printf("**1**"); break; } case 2: printf("**2**");
break; }}
B.**0****2**
C.**0****1****2**
D.有语法错误
13.以下程序运行后,输出结果是( )。   #define
ADD(x) x+x   main( )   { int m=1, n=2, s=3;    s*=ADD(m+n);
   printf("s=%d\n", s);  }
14.判断char型变量c1是否为大写字母的正确表达式是(
A.A'&=c1&='Z'
B.(c1&='A')&(c1&='Z')
C.(c1&='A')&&(c1&='Z')
D.('A'=c1)
15.若有定义:int
a[2][3];,则以下对a数组元素地址的正确表示为( )。
B.*(a[1]+2)
16.若调用fputc函数输出字符成功,则函数的返回值是(
A.输出的字符
17.设c1、c2均是char类型变量,则以下不正确的函数调用是(
A.scanf("c1=&#65533;2=%c",&c1,&c2);
B.getchar( )
C.putchar(c2);
D.putchar(c1,c2)"
18.以下程序执行后a的值为( )。   main( )   {
int a,m=2, k=1, *p=&k;    a=p!=&m;   
printf("%d\n",a);  }
19.C语言中字符型(char)数据在内存中的存储形式是(
20.以下判断正确的是( )。
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"};"
&18春学期《高级语言程序设计基础》在线作业3-0001
试卷总分:100 &
一、 单选题 (共 20 道试题,共 100 分)
1.若调用fputc函数输出字符成功,则函数的返回值是(
A.输出的字符
2.判断char型变量c1是否为大写字母的正确表达式是(
A.A'&=c1&='Z'
B.(c1&='A')&(c1&='Z')
C.(c1&='A')&&(c1&='Z')
D.('A'=c1)
3.以下能正确读入字符串的程序段是( )。
A.char *p; scanf("%s", p);
B.char str[10]; scanf("%s",
C.char str[10], *p; p=
scanf("%s", p);
D.char str[10], *p= scanf("%s",
4.以下正确的描述是( )。
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和函数的调用均可以嵌套
5.设x,y是float型变量,则不正确的赋值语句是(
B.y=int(5);
6.以下正确的定义语句是( )。
A.int a[1][4]={1,2,3,4,5};
B.float x[3][]={{1},{2},{3}};
b[2][3]={{1},{1,2},{1,2,3}};
D.double y[][3]={0};
7.设有一段程序: int *var,a;
a=100;var=&a;a=*var+10; 执行上面程序段后a的值为( )。
8.以下运算正确的程序段是( )。
A.char str1[]="ABCDE",
str2[]="abcdef"; strcpy(str1, str2);
B.char str[10], *st="abcde";
strcat(str, st);
C.char *st1="ABCDS", *st2="abcde";
strcat(st1,st2);
D.char str[10]="", *st="abcde";
strcat(str, st);"
9.设a、b、c、d均是int类型变量,为了使以下程序段的输出为:+1,正确的输入形式应当是( )。
scanf("M+=+-+",&a,&b,&c,&d);printf("M+=+-+",a, b,
10.以下正确的说法是( )。
A.实参和与其对应的形参各占用独立的存储单元
B.实参和与其对应的形参共占用一个存储单元
C.只有当实参和与其对应的形参同名时才共用存储单元
D.形参是虚拟的,不占用存储单元
11.若有语句: char s1[ ]="Shenyang",
s2[10],*s3, *s4="NEU_soft"; 则对库函数strcpy调用正确的是( )。
A.strcpy(s1, s4);
B.strcpy(s2, s4);
C.strcpy(s3, s1);
D.strcpy(s4, s1);"
12.C语言的编译系统对宏命令的处理是( )。
A.在对源程序中其它成分正式编译之前进行的
B.和C程序中的其它语句同时进行的
C.在程序连接时进行的
D.在程序运行时进行的
13.若有以下程序段: …… int
a[]={4,0,2,3,1},i,j,t; for(i=1;i=0 && t&a[j]) {
a[j+1]=a[j];j--;} a[j+1]=t; } …… 则该程序段的功能是( )。
A.对数组a进行插入排序(升序)
B.对数组a进行插入排序(降序)
C.对数组a进行选择排序(升序)
D.对数组a进行选择排序(降序)
14.下面程序的运行结果是( )。 main() { struct
cmplx { int x; int y; } cm[2]={1,2,3,4}; printf("%d\n", 2*cm[0].x+
cm[1].y/cm[0].y);}
15.若有定义:int x[10], *p=x;,则*(p+5)表示(
A.数组元素x[5]的地址
B.数组元素a[5]的值
C.数组元素a[6]的地址
D.数组元素a[6]的值
16.C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是(
17.已知ch是字符型变量,则不正确的赋值语句是( )。
B.ch='\0';
C.ch='7'+'9';
D.ch='a+b';
18.若a为int类型变量,则执行以下程序段后a的值为( )。
a=5;a*=a/=a++;
19.当定义一个结构体变量时系统分配给它的内存是( )。
A.结构中第一个成员所需的内存量
B.结构中最后一个成员所需的内存量
C.结构体成员中占内存量最大者所需的容量
D.结构体中各成员所需内存量的总和
20.有字符数组a[80]和b[80],则正确的输出语句是(
A.puts(a.b);
B.printf("%s,%s",a[],b[]);
C.pitchar(a,b);
D.puts(a); puts(b);
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。若有说明: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;
var sogou_ad_id=731549;
var sogou_ad_height=160;
var sogou_ad_width=690;百度题库旨在为考生提供高效的智能备考服务,全面覆盖中小学财会类、建筑工程、职业资格、医卫类、计算机类等领域。拥有优质丰富的学习资料和备考全阶段的高效服务,助您不断前行!
京ICP证号&&
京网文[3号&&
Copyright (C) 2018 Baidu

我要回帖

更多关于 int n=0,m=1,x=2 的文章

 

随机推荐