中石油2020年春C语言程序设计第二次在线作业
【石油大学】C语言程序设计第二次在线作业试卷总分100得分100
奥鹏答案
奥鹏中国石油大学作业
第1题1.(2.5分)以下关于数组的描述正确的是()。
A、A.数组的大小是固定的,但可以有不同的类型的数组元素。
B、B.数组的大小是可变的,但所有数组元素的类型必须相同。
C、C.数组的大小是固定的,但所有数组元素的类型必须相同。
D、D.数组的大小是可变的,但可以有不同的类型的数组元素。
正确答案
第2题2.(2.5分)在定义inta之后,对a的引用正确的是()。
A、A.a
B、B.a
C、C.a(6)
D、D.a
正确答案
第3题3.(2.5分)以下能正确定义数组并正确赋初值的语句是()。
A、A.intn=5b
B、B.inta={{1}{3}}
C、C.intc[]={{12}{34}}
D、D.inta={{12}{34}}
正确答案
第4题4.(2.5分)以下不能正确赋值的是()。
A、A.chars1s1="test"
B、B.chars2[]={test}
C、C.chars3="test"
D、D.chars4={test}
正确答案
第5题5.(2.5分)下面程序段运行时输出结果是()。chars="abook!"printf("%.4s"s)
A、A.abook!
B、B.ook!
C、C.abo
D、D.格式描述不正确,没有确定输出
正确答案
第6题6.(2.5分)下面程序段运行时输出结果是()。chars="china"printf("%d\n"strlen(s))
A、A.5
B、B.8
C、C.7
D、D.6
正确答案
第7题7.(2.5分)在执行inta[]={123456}语句后,a的值是()。
A、A.4
B、B.1
C、C.2 www.openhelp100.com
D、D.5
正确答案
第8题8.(2.5分)若有以下定义,则关于数组x和数组y的描述正确的是()。charx[]="abcd"y[]={abcd}
A、A.数组x和数组y等价
B、B.数组x和数组y长度相同
C、C.数组x的长度大于数组y的长度
D、D.数组x的长度小于数组y的长度
正确答案
第9题9.(2.5分)若有以下定义和语句,且0≤i&lt10则对数组元素的错误引用是()。inta={12345678910}*pip=a
A、A.*(a+i)
B、B.a
C、C.p+i
D、D.*(&a)
正确答案
第10题10.(2.5分)char*s="\t\\Name\\Address\n"指针s所指字符串的长度为()
A、A.说明不合法
B、B.19
C、C.18
D、D.15
正确答案
第11题11.(2.5分)字符串"program"占有的内存是()字节。
A、A.7
B、B.8
C、C.9
D、D.10
正确答案
第12题12.(2.5分)下面程序输出数组中的最大值,由s指针指向该元素.voidmain(){inta={6,7,2,9,1,10,5,8,4,3,},*p,*s;for(p=a,s=a;pa&lt10;p++)if()s=p;printf(&quotThemax:%d&quot,*s):}则在if语句中的判断表达式应该是()。
A、A.p>s
B、B.*p>*s
C、C.a>a
D、D.pa>ps
正确答案
第13题13.(2.5分)若intx,*pb;,则正确的赋值表达式是()。
A、A.pb=&x
B、B.pb=x
C、C.*pb=&x
D、D.*pb=*x
正确答案
第14题14.(2.5分)若有以下说明:inta={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是()。
A、A.*p+6
B、B.*(p+6)
C、C.*p+=5
D、D.p+5
正确答案
第15题15.(2.5分)若有以下定义和语句:doubler=99,*p=&r;*p=r;则以下正确的叙述是()。
A、A.两处的*p含义相同,都说明给指针变量p赋值
B、B.在"doubler=99*p=&r;"中,把r的地址赋值给了p所指的存储单元
C、C.语句"*p=r;"把变量r的值赋给指针变量p
D、D.语句"*p=r;"取变量r的值放回r中
正确答案
第16题16.(2.5分)设有如下定义:char*aa={"abcd","ABCD"};则以下说法中正确的是()。
A、A.aa数组元素的值分别是"abcd"和ABCD"
B、B.aa是指针变量,它指向含有两个数组元素的字符型一维数组
C、C.aa数组的两个元素分别存放着含有4个字符的一维字符数组的首地址
D、D.aa数组的两个元素中各自存放了字符a和A的地址
正确答案
第17题17.(2.5分)若已定义:inta,*p=a;并在以后的语句中未改变p的值,不能表示a地址的表达式是()
A、A.p+1
B、B.a+1
C、C.a++
D、D.++p
正确答案
第18题18.(2.5分)对于类型相同的两个指针变量之间,不能进行的运算是()。
A、A.<
B、B.=
C、C.+
D、D.
正确答案
第19题19.(2.5分)若有定义:inta,()不能表示数组元素a。
A、A.*(a+1)
B、B.*(&a)
C、C.(*(a+1))
D、D.*(a+5)
正确答案
第20题20.(2.5分)设有如下的程序段:charstr[]="Hello";char*ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为()。
A、A.o
B、B.\0
C、C.不确定的值
D、D.o的地址
正确答案
第21题21.(2.5分)下面程序段运行时输出结果是:01524#include<stdio.h>voidmain(){inti=0afor(i=0i<=9i++)a=i*3printf("%d%d%d"aaa)}
正确
错误
正确答案
第22题22.(2.5分)下面程序段运行时输出结果是:10334566#include<stdio.h>voidmain(){inta={10101010}ifor(i=2i<8i++)a+=a+afor(i=0i<8i++)printf("%d"a)}
正确
错误
正确答案
第23题23.(2.5分)下面程序段运行时输出结果是:456voidmain(){inta[]={123456789}ik=2for(i=0i&lt3i++)printf("%d"a)}
正确
错误
正确答案
第24题24.(2.5分)下面程序段运行时输出结果是:27voidmain(){inta={1357911131517}intsum=0ijfor(i=0i&lt3i++)for(j=0j&lt3j++){a=i+jif(i==j)sum=sum+a}printf(&quotsum=%d&quotsum)}
正确
错误
正确答案
第25题25.(2.5分)下面程序段运行时输出结果是:"AAAA"voidmain(){charch={"AAAA""BBB""CC"}printf("\"%s\""ch)}
正确
错误
正确答案
第26题26.(2.5分)下面程序段运行时输出结果是:38#include<stdio.h>voidmain(){intp={11131415161718}inti=0k=0while(i<7&&p%2){k=k+pi++}printf("k=%d\n"k)}
正确
错误
正确答案
第27题27.(2.5分)下面程序段运行时输出结果是:4#include<stdio.h>main(){intischars1="happy"s2="hello"i=0while((s1==s2)&&(s1!=\0))i++if((s1==\0)&&(s2==\0))s=0elses=s1s2printf("%d\n"s)}
正确
错误
正确答案
第28题28.(2.5分)数组的下标是从1开始计数的。
正确
错误
正确答案
第29题29.(2.5分)以下程序的功能是:获得数组的前二十个元素值,并打印。该数组前两个元素值为0、1,后续数组元素是其前两个元素的和。#defineN20voidmain(){intia={01}for(i=2i&ltNi++)a=a+afor(i=0i&ltNi++)printf(&quot%d&quota)}
正确
错误
正确答案
第30题30.(2.5分)以下程序的功能是:由键盘输入一行文字和某一个字符,然后删去该行文字中所有该字符,并打印新字符串。#include<stdio.h>voidmain(){charstr1str2charchinti=0k=0while((str1=getchar())!=\n)i++str1=\0scanf("%c"&ch)for(i=0str1!=\0i++)if(str1!=ch){str2=str1k++}str2=\0printf("\n%s\n"str2)}
正确
错误
正确答案
第31题31.(2.5分)以下程序的功能是:有一个34的矩阵,编程求出其中值最大的那个元素的值,以及其所在的行号和列号。#include<stdio.h>voidmain(){intaijmaxxyfor(i=0i<3i++)for(j=0j<4j++)scanf("%d"&a)max=ax=y=0for(i=0i<3i++)for(j=0j<4j++)if(max<a){max=ax=iy=j}}
正确
错误
正确答案
第32题32.(2.5分)以下程序的功能是:将一个数组中的元素按逆序重新存放并打印交换后的数组。#defineN7#include<stdio.h>voidmain(){staticinta={129165721}ksfor(k=0k<N/2k++){s=aa=aa=s}printf("\n交换后的数组\n")for(k=0k<Nk++)printf("%4d"a)}
正确
错误
正确答案
第33题33.(2.5分)以下程序的功能是:字符串a复制到字符串b,并显示字符串b。#include<stdio.h>voidmain(){chara="howareyou."binti=0while(a!=\0){b=ai++}b=\0printf("新字符串是%s",b)}
正确
错误
正确答案
第34题34.(2.5分)以下程序的功能是:输出行、列号之和为3的数组元素。判断下面程序是否正确()。main(){charss={AafcBdebCgfD}intxyzfor(x=0x&lt4x++)for(y=0y&lt3y++){z=x+yif(z=3)printf(&quot%c\n&quotss)}}
正确
错误
正确答案
第35题35.(2.5分)以下程序的功能是:输出数组中最大元素(p表示最大元素的下标)。voidmain(){ints[]={130985203}for(i=0p=0i<8i++)if(s>s)p=iprintf("%d"s)}
正确
错误
正确答案
第36题36.(2.5分)下面程序段运行时输出结果是:6#include<stdio.h>voidmain(){int*pa=5b=1p=&a*p=10a=*p+bprintf("%d"a)}
正确
错误
正确答案
第37题37.(2.5分)下面程序段运行时输出结果是:8686voidmain(){int*p1*p2*pa=6b=8p1=&ampap2=&ampbif(a&ltb){p=p1p1=p2p2=p}printf(&quot%d%d&quot*p1*p2)printf(&quot%d%d&quotab)}
正确
错误
正确答案
第38题38.(2.5分)下面程序段运行时输出结果是:135#include<stdio.h>voidmain(){inta={1357911}intm*ptrptr=&am=(*ptr)*(*(ptr+1))*(*(ptr+3))printf("%d"m)}
正确
错误
正确答案
第39题39.(2.5分)下面程序段运行时输出结果是:GFEDCBAvoidmain(){charb[]=&quotABCDEFG&quotchar*chp=&ampbwhile(chp&gt&ampb)putchar(*chp)}
正确
错误
正确答案
第40题40.(2.5分)下面程序段运行时输出结果是:ppleple#include<stdio.h>voidmain(){chars[]="apple"*pfor(p=s+1p<s+3p++)printf("%s"p)}
正确
错误
正确答案
奥鹏作业答案
页:
[1]