河北科技大学计算机C语言样卷及答案_第1页
河北科技大学计算机C语言样卷及答案_第2页
河北科技大学计算机C语言样卷及答案_第3页
河北科技大学计算机C语言样卷及答案_第4页
河北科技大学计算机C语言样卷及答案_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2/2计算机C语言样卷(总分100分,考试时长60分钟)一、单项选择题(每小题2分,共100分)1、将用高级程序语言编写的源程序翻译成目标程序的程序称______。 A、连接程序 B、编辑程序 C、编译程序 D、诊断维护程序【答案】C【解析】将用高级程序语言编写的源程序翻译成目标程序的程序称编译程序。连接程序是一个将几个目标模块和库过程连接起来形成单一程序的应用。诊断程序是检测机器系统资源、定位故障范围的有用工具。2、计算表达式*执行下面的程序段,变量b的值将变为▁▁▁▁▁。doublea=3,b;b=1/2+a; A、0.0 B、0.2 C、3.0 D、3.5【答案】C3、执行以下程序段后,w的值为________。

intw='a',x=14,y=15;w=((x||y)&&(w<'a')); A、-1 B、NULL C、1 D、0【答案】C【解析】字符变量w的初值为字符'A',其ASCII码值为65,字符'a'的ASCII码值为97,所以关系表达式w<'a'的值为1;变量x=14,变量y=15,x||y为或,x、y均为真,所以x||y的结果1。因而逻辑表达式(x||y)&&(w<'a')的值为1。4、下列程序是死循环的是________。 A、for(;;) B、ints=36;

while(s)=s; C、intm=10;

dom--;while(m>0); D、intn=5;

while(n>1)

n--;

if(n<0)break;【答案】A5、以下叙述中正确的是________。 A、在C语言中,常量名也要遵守标识符的命名规则 B、对单目运算符来说,运算对象一定在其右侧 C、标识符的首字符必须是下划线、字母,其他字符可以是任意的键盘可键入字符 D、变量占用内存,常量不占用内存【答案】A【解析】C语言中,用来对变量、符号常量名、函数、数组、类型等命名的有效字符序列统称为标识符,常量名也要遵守标识命名规则,选项A正确;单目运算符的运算对象可以在其左侧或者右侧,如i++或++i,选项B错误;C语言规定标识符只能由字母、数字、下划线组成,选项C错误;一般来说,基本类型(整型、字符型等)常量会在编译阶段被编译成立即数,占的是代码段的内存,而字符串常量或基本类型的常量数组占用的是数据段内存。当然,占代码段的内存一般不在我们常说的“占内存”范围中,选项D错误;本题答案为A。6、在C语言中,能代表逻辑值“真”的是()。 A、TRUE B、大于0的数 C、非0整数 D、非0的数【答案】D7、下列定义数组的语句中,正确的是________。 A、intN=10; B、#defineN10

intx[N];intx[N]; C、intx[0..10]; D、intx[];【答案】B8、可以作为自定义标识符的是________。 A、2x B、while C、s&1 D、_2x【答案】D9、字符串指针变量中存入的是________。 A、字符串 B、字符串的首地址 C、第一个字符 D、字符串变量【答案】B10、以下选项中,与k=n++完全等价的表达式是________。 A、k=n,n=n+1 B、n=n+1,k=n C、k=++n D、k+=n+1【答案】A【解析】k=n++的意思是先将n的值赋给k,然后n的值再加1,选项A)符合题意;选项B)和C)是先使n的值加1,然后再赋值给k;选项D)等价于k=k+(n+1)。11、c程序的执行过程在下列说法中,▁▁▁▁▁是正确的。 A、C程序从第一个函数开始执行,直到最后一个函数结束 B、C程序从第一个函数开始执行,直到主函数结束 C、C程序从主函数开始执行,直到最后一个函数结束 D、C程序从主函数开始执行,直到主函数结束【答案】D12、c语言中运算对象必须是整型的运算符是________。 A、%= B、/ C、= D、〈=【答案】A13、以下叙述中正确的是________。 A、两个字符串可以用关系运算符进行大小比较 B、函数调用strlen(s)会返回字符串s实际占用内存的大小(以字节为单位) C、C语言本身没有提供对字符串进行整体操作的运算符 D、当拼接两个字符串时,结果字符串占用的内存空间是两个原串占用空间的和【答案】C【解析】本题考查字符串处理函数strlen、strcatstrcmp.b选项中strlen返回的是字符串s实际占用内存大小加上结尾符A选项中不能用关系运算符进行大小比较,可以使用strcmpD选项当使用strcat连接函数时,内存空间会减少一个字符位置。14、下列定义数组的语句中正确的是()。 A、#definesize10charstr1[size],str2[size+2]; B、charstr[]; C、intnum['10']; D、intn=5;inta[n][n+2];【答案】A15、有以下程序

#include<stdio.h>

intf(intx,inty)

{

return((y-x)*x);

}

main()

{

inta=3,b=4,c=5,d;

d=f(f(a,b),f(a,c));

printf("%d\n",d);

}

程序运行后的输出结果是________。 A、10 B、9 C、8 D、7【答案】B16、有以下程序:

main()

{

inti,n=0:for(i=2;i<5;i++)

{

do

{

if(i%3)continue:n++;

}

while(!i);

n++;

}

printf("n=%d\n",n);

}

程序执行后输出结果是________。 A、n=5 B、n=2 C、n=3 D、n=4【答案】D17、设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是________。 A、k=*p1+*p2 B、p2=k; C、p1=p2; D、k=*p1*(*p2);【答案】B18、在执行以下程序时,为了使输出结果为:t=4,则给a和b输入的值应满足的条件是

main()

{

ints,t,a,b;

scanf("%d,%d",&a,&b);

s=1;t=1;

if(a>0)s=s+1;

if(a>b)t=s+t;

elseif(a==b)t=5;

elset=2*s;

printf("t=%d\n",t);

} A、a>b B、a<b<0 C、0<a<b D、0>a>b【答案】C19、若在某函数内部有定义:inta[3][4];则数组a中各元素________。 A、可在程序的运行阶段得到初值0 B、可在程序的编译阶段得到初值0 C、不能得到确定的初值 D、可在程序的编译或运行阶段得到初值0【答案】C【解析】在函数内部定义的存储类型为auto的变量或数组,如果没有进行初始化,就不能得到确定值。20、定义共用体的关键字是________。 A、union B、enum C、struct D、typedef【答案】A21、以下运算符中,优先级最高的运算符是________。 A、?: B、++ C、&& D、,【答案】B22、当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为

if(a<b)

if(c<d)x=1;

else

if(a<c)

if(b<d)x=2;

elsex=3;

elsex=6;

elsex=7; A、1 B、2 C、3 D、6【答案】B23、语句int*p;说明了。 A、p是指向一维数组的指针 B、p是指向函数的指针,该函数返回一int型数据 C、p是指向int型数据的指针 D、p是函数名,该函数返回一指向int型数据的指针【答案】B24、在下列选项中,没有构成死循环的程序是________。 A、inti=100;

while(i){

i=i%100+1;

if(i>100)break;

} B、for(;;); C、intk=1000;

do

++k;

while(k>=1000); D、ints=36;

while(s);

--s;【答案】C25、若有以下定义:inta[]={1,2,3,4,5,6,7};charc1='b',c2='2';则数值不为2的表达式是________。 A、a[1] B、'd'-c1 C、a['3'-c2] D、c2-0【答案】D【解析】本题考查数组的定义、初始化及其引用,以及对字符ASCII码值的熟悉程度。解本题的关键在于熟悉字符的ASCII码值。字符在进行数学运算时取其ASCII码值,其中'b',的ASCII码值为98,'d'的ASCII码值为100,字符'2'的ASCII码值为50。根据以上知识,可知D)选项中表达式c2-0的值为50。26、以下运算符中,优先级最高的运算符是()。 A、= B、!= C、*(乘号) D、()【答案】D27、若有定义:inta[3][4];不能表示数组元素a[1][1]。 A、*(a[1]+1) B、*(&a[1][1]) C、(*(a+1)[1]) D、*(a+5)【答案】D28、以下关于运算符优先顺序的描述中正确的是。 A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符【答案】C29、下面正确的字符串常量是________。 A、'a' B、'376' C、"\n" D、376【答案】C30、c语言中,系统的标准输入文件是指 A、键盘 B、显示器 C、软盘 D、硬盘【答案】A【解析】此题考查有关标准设备的知识。在多数C语言版本中,stdio.h文件至少定义了4种标准设备文件,可以直接引用不必含有打开操作,包括:

标准输入文件指针stdin缺省为键盘;

标准输出文件指针stdout缺省为显示器;

标准错误输出文件指针stderr缺省为显示器;

标准打印输出文件指针stdprn指打印机;

此外,还可能包括如辅助设备等标准文件指针,且多数文件指针可以被重新定向到其他设备。31、c语言规定,函数返回值的类型是由()决定的。 A、return语句中的表达式类型 B、调用该函数时的主调函数类型 C、在定义函数时所指定的函数类型 D、调用该函数时由系统临时【答案】C32、关于for(表达式1;表达式2;表达式3),叙述正确的是________。 A、表达式1不可以缺省 B、表达式2不可以缺省 C、表达式3不可以缺省 D、三个表达式都可以缺省【答案】D33、若需要利用形参直接访问实参,则应把形参变量说明为()参数。 A、指针 B、引用 C、传值 D、常值【答案】B【解析】在进行参数传递时,引用参数是利用形参直接访问实参,形参的变化直接影响实参的变化,而传值参数不会影响实参变量。34、在下列程序段中,枚举变量c1,c2的值依次是________。

enumcolor

{

red,

yellow,

blue=4,

green,

white

}

c1,c2;

c1=yellow;

c2=white;

printf("%d,%d\n",c1,c2); A、1,6 B、2,5 C、1,4 D、2,6【答案】A35、以下程序的运行结果是________。

voidsub(intx,inty,int*z)

{

*z=y-x;

}

main()

{

inta,b,c;

sub(10,5,&a);

sub(7,a,&b);

sub(a,b,&c);

printf("%4d,%4d,%4d",a,b,c);

} A、5,2,3 B、-5,-12,-7 C、-5,-12,-17 D、5,-2,-7【答案】A36、对于while、do…while循环结构,正确的说法是________。 A、只是表达形式不同 B、do…while结构中的语句至少执行一次 C、while结构中的语句至少执行一次 D、条件成立时,它们有可能一次也不执行【答案】B【解析】注意区别while、do…while两种循环结构的异同:while循环是先判断条件是否成立,成立时才执行;而do…while先执行再判断,它至少执行一次。37、下面程序的输出结果是______。

main()

{

inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};

int(*p)[4]=a,i,j,k=0;

for(i=0;i<3;i++)for(j=0;j<2;j++)k=p[i][j];

printf("%d\n",k);

} A、17 B、18 C、19 D、23【答案】C【解析】p是指向长度为4的一维数组的指针变量,可看作是二维数组a的行指针,可以像使用数组名一样通过p带数组下标的形式来引用数组中元素,变量k最后是元素a[2][1]的值。38、以下程序的输出结果是________。

#defineSQR(X)X*X

main(){

inta=16,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

printf("%d\n",a);

} A、16 B、2 C、9 D、1【答案】B39、以下叙述中正确的是________。 A、数组下标的下限是1 B、数组下标的下限由数组中第一个非零元素的位置决定 C、数组下标的下限由数组中第一个被赋值元素的位置决定 D、charc1,c2,*c3,c4[40]是合法的变量定义语句【答案】D【解析】数组下标的下限是0。因此D选项正确。40、有以下程序

#include<studio.h>

#include<string.h>

structa

{

inta;

charb[10];

doublec;

};

voidf(structat);

main()

{

structaa={1001,"zhangda",1098.0};

f(a);

pringt("%d,%s,%6.1f\n",a.a,a.b,a.c);

}

voidf(structat)

{

t.a=1002;

strcpy(t.b,"changrong");

t.c=1202.0;

}

程序运行后的输出结果是________。 A、1001,ZhangDa,1098.0 B、1002,ChangRong,1202.0 C、1001,ChangRong,1098.0 D、1002,ZhangDa,1202.0【答案】A41、以下条件表达式中能完全等价于条件表达式x的是_________. A、(x==0) B、(x!=0) C、(x==1) D、(x!=1)【答案】B42、若变量a,b,t已正确定义,要将a和b中的数进行交换,以下选项中不正确的语句是________。 A、a=a+b;b=a-b;a=a-b; B、t=a;a=b;b=t; C、a=t;t=b;b=a; D、t=b;b=a;a=t;【答案】C43、设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=3则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。 A、0 B、1 C、2 D、3【答案】D44、以下程序的输出结果是_______。

main()

{

inti=0,s=0;

for(;;)

{

if(i==6)break;

i++;

s+=i;

}

printf("%d\n",s);

} A、10 B、15 C、21 D、死循环【答案】C45、一个c语言程序是由____构成。 A、语句 B、行号 C、数据 D、函数【答案】D46、该语句打印结果为(每个d后都有空格)printf("%d",printf("%d",printf("%d",43))); A、4321 B、434343 C、4332 D、4321【答案】C47、以下不正确的定义语句是_____

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论