2021智慧树知到(山东理工大学)《C语言编程新思路》章节测试答案共14章(4)
B、30
C、21
D、31
答案:C
6、假设整型变量a的值为12,变量a的地址为2000,若欲使p为指向a的指针变量,则以下赋值正确的是()。
A、&a=p;
B、*p=12;
C、*p=2000
D、p=&a;
答案:D
7、若有定义:int b,*pb;则下面正确的赋值表达式是()。
A、pb=&b
B、pb=b
C、*pb=&b
D、*pb=*b
答案:A
8、设int a[10],*p=a; ,则下面()不是对a[3]的正确引用。
A、*(a+3)
B、p+3
C、p[3]
D、*(p+3)
答案:B
9、若有如下定义:int a[10]={10,20,30,40,50,60,70,80,90,100},*p=a; ,则执行p=p+5后,*p的值是()。
A、10
B、50
C、60
D、100
答案:C
10、若int *p,i;执行i=100; p=&i; i=*p+10; 后,*p的值是()。
A、100
B、10
C、0
D、110
答案:D
11、以下程序的输出结果是()。 #include <stdio.h> int main() { int a[ ]={2,4,6,8,10},y=0,i,*p; p=a; for(i=0;i<3;i++) y+=*(p+i); printf("%d\n",y); }
A、17
B、12
C、19
D、20
答案:B
12、以下程序的输出结果是()。 #include <stdio.h> int main() { int a=1,b=2,c=3,*p1,*p2,*p3; p1=&a; p2=&b; p3=&c; *p3=*p1; *p1=*p2; *p2=*p3; printf("a=%d,b=%d,c=%d\n",a,b,c); }
A、a=1,b=2,c=3
B、a=2,b=1,c=3
C、a=2,b=1,c=1
D、a=3,b=2,c=1
答案:B
13、以下程序的输出结果是 ()。 #include <stdio.h> int main() { int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf("%d\n",n); return 0; }
A、4
B、6
C、8
D、10
答案:C
14、以下程序的输出结果是 ()。 #include <stdio.h> int main() { int **k, *a, b=100; a=&b;k=&a; printf("%d\n",**k); return 0; }
A、编译出错
B、100
C、a的地址
D、b的地址
答案:B
15、对于基类型相同的两个指针变量之间,不能进行的运算时()。
A、<
B、=
C、+
D、–
答案:C
16、若有int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*p)[3]=a; ,则能正确表示数组元素a[1][2]的是()。
A、*(*(p+1)+2)
B、*(p+1)+2
C、(p+1)[2]
D、p[1]+2
答案:A
17、对于语句int *p[5]; 的正确描述是()。
A、p是一个指向数组的指针,所指向的数组含有5个int型元素。
B、p是一个指向数组中第5个元素的指针,该元素是int型。
C、定义不合法
D、p是一个具有5个元素的指针数组,每个元素都是一个指向int型对象的指针变量。
答案:D
18、若有int a[10],*p=a;,下列不能表示a数组首元素地址的是()。
A、a
B、*p
C、p
D、&a[0]
答案:B
19、下列程序的运行结果是()。 #include <stdio.h> int main() { int a[5]={1,2,3,4,5},*p,**pp; p=a; pp=&p; printf("%d ",*(p+3)); printf("%d",**pp); return 0; }
A、4 1
B、3 1
C、4 4
D、3 4
答案:A
20、若有int a[10],*p;,则下列语句中正确的是()。
A、for(p=a; a<p+10 ; a++)
B、for(p=a; p<a+10 ; p++)
C、for(p=a; p<p+10 ; p++)
D、for(p=a; p<a+10 ; a++)
答案:B
第八章测试
1、函数strcmp("ABCDDCBA","ABCDE")的返回值是()。
A、0
B、正数
C、负数
D、随机值
答案:C
2、以下程序运行后的输出结果是()。 int main() { int i,j; char a[ ]={‘a’,‘b’,‘c’,‘d’, ‘e’, ‘f’, ‘g’,‘h’,‘\0’}; i=sizeof(a); // sizeof返回数组a在内存分配字节数 j=strlen(a); printf(“%d,%d\n”,i,j); }
A、9,9
B、8,9
C、1,8
D、9,8
答案:D
3、下列选项中,不正确的赋值方式是()。
A、char str[ ]={'s','t','r','i','n','g','\0'};
B、char str[7]={'s','t','r','i','n','g'};
C、char str1[10]; str1="string";
D、char str1[ ]="string",str2[ ]="12345678";
答案:C
4、若有以下的说明和语句, 则它与()中的说明是等价的。 char s[3][5]={"aaaa","bbbb","cccc"};
A、char s1[ ][ ] ={"aaaa","bbbb","cccc"};
B、char s2[3][] ={"aaaa","bbbb","cccc"};
C、char s3[ ][5]={"aaaa","bbbb","cccc"};
D、char s4[ ][4]={"aaaa","bbbb","cccc"};
答案:C
5、有以下程序: #include "stdio.h" #include "string.h" int main() { int i,j; char t[10],p[5][10]={"abc","aabdfg","abbd","dcdbe","cd"}; for(i=0;i<4;i++) for(j=i+1;j<5;j++) if(strcmp(p,p[j])>0) { strcpy(t,p); strcpy(p,p[j]); strcpy(p[j],t); } printf("%d\n",strlen(p[0])); } 程序运行后的输出结果是()。
A、6
B、4
C、5
D、3
答案:A
6、下列选项正确的语句组是 ()。
A、char s[8]; s={"China"};
B、char *s; s={"China"};
C、char s[8]; s="China";
D、char *s; s="China";
答案:D
7、下面程序的运行结果是 ()。 char c[6]={'a','b','\0','c','d','\0'}; printf("%s",c);
A、'a' 'b'
B、ab
C、ab c
D、ab cd
答案:B
8、有两个字符数组a、b,则以下正确的输入语句是()。
A、gets(a,b);
B、scanf("%s%s",a,b);
C、scanf("%s%s",&a,&b);
D、gets("a"); gets("b");
答案:B
9、下面程序段的运行结果是()。 char a[7]= "abcdef"; char b[4]= "ABC"; strcpy(a,b); printf("%c",a[5]);
A、空格
B、c
C、e
D、f
答案:D
10、下面程序段的输出结果是()。 #include <stdio.h>int main(){ char str[]="I like swimming! ",*p=str; p=p+7; printf("%s",p);}
A、程序有错误
B、I like swimming!
C、swimming!
D、like swimming!
答案:C
11、下面哪个选项不能将"hello"字符串存入字符数组str中()。
A、char str[]="hello" ;
B、char str[30]; strcpy(str, "hello");
C、char str[30];str="hello";
D、char str[30],*ps=str; strcpy(ps,"hello");
答案:C
12、有以下定义,不能表示字符 'C' 的表达式是()。char str[]="ABCDEFG",*p=str;
A、*(p+2)
B、str[2]
C、*(str+2)
D、*p+2
答案:D
13、程序段char c[]="abcdefg "; printf("%s",c+4);的运行结果是()。
A、abcd
B、efg
C、abcdefg
D、defg
答案:B
14、有如下定义,不能给数组a输入字符串的是()。char a[20],*p=a;
A、gets(p)
B、gets(a[0])
C、gets(&a[0])
D、gets(a)
答案:B
15、下面说法正确的是()。
A、若定义char s[]="well"; char t[]={'w','e','l','l'};,则数组s与数组t中内容相同。
B、当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。
C、函数strcpy(str1,str2); 的功能是将str2中字符串复制到str1中。
D、定义char a[30], b[]="China"; 后,可执行a=b; 将数组b中的字符串赋值给数组a。
答案:C
16、接受用户输入含有空格的字符串时,应使用()。
A、getchar()
B、gets()
C、scanf()
D、printf()
答案:B
17、列描述中错误的是 ()。
A、可以对字符数组进行整体输入、输出。
B、字符串可以存储在字符数组中。
C、不能对字符数组存储的字符串进行更改。
D、不能使用赋值运算符“=”,直接对字符数组名进行赋值。
答案:C
18、执行以下程序段后,输出结果是()。 char str[20]="door",t; int i,j; i=0; j=strlen(str)-1; t=str; str=str[j]; str[j]=t; puts(str);
A、door
B、dood
C、rood
D、roor
答案:C
19、若有如下定义char a[30],b[30],则以下正确的输入语句是()
A、gets(a,b);
B、gets(a); gets(b);
C、scanf("%s",a,b);
D、scanf("%s%s"&a,&b);
答案:B
20、执行以下程序段后,输出结果是() 。 char s[20]= "Good",t[]="Moring!"; strcat(s,t); puts(s);
A、GoodMoring!
B、Moring!
C、Good
D、Moring!Good
答案:A
第九章测试
1、在c语言中以下不正确的说法是()。
A、实参可以是常量、变量、或表达式
B、形参可以是常量、变量或表达式
C、实参可以为任意类型
D、形参应与其对应的实参类型一致
答案:B
2、以下程序有语法性错误,有关错误原因的正确说法是()。 #include <stdio.h> int main(void) { int G=5,k; void prt_char(); …… k=prt_char(G); …… return 0; }
A、语句void prt_char();有错,它是函数调用语句不能用void说明
B、变量名不能使用大写字母
C、函数说明和函数调用语句之间有矛盾
D、函数名不能使用下划线
答案:C
3、下述函数定义形式正确的是()。
A、int f(int x;int y)
B、int f(int x,int y)
C、int f(int x,y)
D、int f(x,y:int)
答案:B
4、以下所列的各函数首部中,正确的是()。
A、void play(int a,b)
B、void play(var :Integer,var b:Integer)
C、void play(int a,int b)
D、Sub play(a as integer,b as integer)
以上相关的更多内容请点击“智慧树 ”查看,该题目的答案为网上收集整理仅供参考!
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
- 下列不属于马汉的著作的是()。
- 根据《山东省安全生产条例》,()等
- 题目:我们党是用马克思主义武装起
- 【单选题】下列关于莫奈《日出·印
- 1935年12月,党召开了___,确立了建
- 我国领土最东端所在的省级行政区是
- 平衡计分卡是很有价值的管理工具,
- 【单选题】以下有关法治与德治关系
- 高质量发展,必须坚持()改革方向。
- 替代种植是一种针对毒品原植物产区
- 《医疗保障基金使用监督管理条例》
- 泰坦尼克号沉没后,SOS才被广泛接受
- 有哺乳婴儿()名以上的单位,应逐步
- 省委十届二次全会指出,要准确把握
- 1978年12月18日至22日,召开了开创
- 为了加强安全生产工作,防止和减少
- 2021青骄第二课堂中职一(毒品大拿
- ()应当对其产生的放射性废气进行处
- 下列关于火灾分类的说法,不正确的
- 根据《中华人民共和国民法典》规定
- 只有把马克思主义基本原理同()、同
- 除了激光武器外,激光在军事应用方
- 省委十四届十次全会决定召开党浙江
- 【单选题】“我能站在你的角度想你
- 现状调查是为了()。
- 根据《安全生产许可证条例》,企业
- 我们党新时代的强军目标是:建设一
- 《会计改革与发展“十四五”规划纲
- 在《中华人民共和国电信条例》第五
- 党的纪律处分工作应当坚持什么原则