《高级语言程序设计》复习题及答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1一、选择题1.以下叙述正确的是():A)在C程序中,main函数必须位于程序的最前面B)C程序的每行只能写一条语句C)C语言使用库函数实现输入输出操作D)注释中的拼写错误会影响编译结果2、以下说法中正确的是()A)C语言程序总是从第一个的函数开始执行B)C语言程序总是从main()函数开始执行C)在C语言程序中,要调用的函数必须在main()函数中定义D)C语言程序中的main()函数必须放在程序的开始部分3、下列选项种说法正确的是()A)函数由声明部分和执行部分两部分组成B)语言中main函数一定在程序的开始部分C)C语言程序总是从第一个定义的函数开始执行D)C程序的每行中只能写一条语句4、设有说明:inta;floatb;charc;doubled;则表达式1.3*a+2*b*c+d*(int)2.6值的类型为()。A)doubleB)charC)floatD)int5、C语言的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中任一种字符6、以下不正确的C语言标识符是()。A)ABCB)abcC)a_bcD)void7、下列运算符中优先级最高的是()A)B)+C)&&D)!=8、以下选项中属于C语言中合法关键字的是()A)FloatB)abcC)intD)CASE9、若x、i、j和k都是int型变量,计算下面表达式后,x的值为()x=(i=4,j=16,k=32)A)4B)16C)32D)5210、在C语言中,要求数据必须是整型的运算符是()A)/B)++C)!=D)%11、若整型变量x的值为8,则下列表达式中值为1的表达式是A)x+=x-=xB)x%=x-1C)x%=x%=3D)x/=x+x12、若w=1,x=2,y=3,z=4,则条件表达式“wx?w:yz?y:z”的值是()A)4B)3C)2D)113、有以下程序,程序运行后的输出结果是。main(){inti=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf(%d%d%d\n,i,j,k);}2A)123B)234C)223D)23314、下面程序的输出结果是main(){intx=2,y=-1,z=2;if(xy)if(y0)z=0;elsez=-1+x;printf(“%d\n”z);}A)3B)2C)1D)015、执行下列语句后,a的值为()main(){inta=5;printf(“%d\n”,(a=3*5,a*4,a+5));}A)65B)20C)15D)1016、下列程序段中,有错误的行是()列定行号intx=0,y=10;2switch(x)3{case3:4case–1:y=y-2;break;5casey+1:x+=5;6default:printf(“%d,%d”,x,y);}A)4B)3C)5D)无错误17、若i为整型变量,则以下循环执行次数是()。#includestdio.hvoidmain(){inti;for(i=2;i==0;)printf(%d,i--);}A)无限次B)0次C)1次D)2次18、若有以下定义,doublea[10];则a数组元素下标的上、下限分别为()A)1,10B)0,9C)0,10D)1,919、若已定义的函数有返回值,则以关于该函数调用的叙述中错误的是()A)调用可以作为独立的语句存在B)调用可以作为一个函数的实参C)调用可以出现在表达式中D)调用可以作为一个函数的形参20、定义如下变量和数组:inti;intx[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i3;i++)printf(%d,x[i][2-i]);输出结果是()3A)159B)147C)357D)36921、以下不能正确定义二维数组的选项是A)inta[2][2]={{1},{2}};B)inta[][2]={1,2,3,4};C)inta[2][2]={{1},2,3};D)inta[2][]={{1,2},{3,4}};22、若有以下定义:inta[5]={10,20,30,40,50},*p=a;则执行++(*p)后(*p)++的值是A)10B)11C)20D)2123、函数的嵌套调用是指A)直接调用本函数B)在定义函数时,又定义另一个函数C)间接调用本函数D)被调用函数又调用另一个函数24、下列说法正确的是A)被调用函数必须先调用,后声明B)用户自定义函数的类型若未指出,则系统默认为voidC)全局变量不能与局部变量同名D)实参可以是任意表达式25、以下描述正确的是()A)continue语句的作用,是结束整个循环语句的执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)多层循环嵌套中不可以使用break语句26、若有说明语句:“inta[3][4];”,则对数组元素的正确引用格式是()A)a[2][4]B)a[1,3]C)a[1+1][0]D)a(2)(1)27、若有说明:“inta[3][4]={0};”,则下面正确的叙述是()A)只有元素a[0][0]可得到初值0B)此数组说明语句不正确C)数组a中各元素都可得到初值,但其值不一定为0D)数组a中每个元素均可得到初值028、定义数组a和b的语句是:“chara[]=“ABCDEF”;charb[]={‘A’,‘B’,‘C’,‘D’,‘E’,‘F’};”则以下叙述正确的是()A)a和b数组完全相同B)a与b数组元素个数相同C)a和b中都存放字符串D)a数组比b数组元素个数多29、语句“int(*ptr)();”的含义是()A)ptr是指向一维数组的指针变量B)ptr是指向int型数据的指针变量C)ptr是指向函数的指针,该函数返回一个int型数据D)ptr是一个函数名,该函数返回值是指向int型数据的指针30、若有定义:“int*p[4];”,则标识符p是()A)一个指向整型变量的指针B)一个指针数组名C)一个指针,它指向一个含有四个整型元素的一维数组D)无效的数组名31、在C语言中()A)函数定义可以嵌套,但函数调用不可以嵌套4B)函数定义不可以嵌套,但函数调用可以嵌套C)函数定义和调用都可以嵌套D)函数定义和条用都不能嵌套32、下面程序的输出结果是()#includestdio.hvoidmain(){inti,j,x=0;for(i=0;i=2;i++){x++;for(j=0;j=2;j++){if(j%2)continue;x++;}x++;}printf(%d\n,x);}A)4B)6C)8D)1233、执行下列语句后,m的值为()intm=1,x=2,y=3,z=4;m=mx?m:x;m=my?m:y;m=mz?m:z:A)1B)4C)2D)334、下列程序段是实现给数组所有元素赋值操作,应在下划线上填入的是()inta[10];for(i=0;i=9;i++)scanf(“%d”,);A)aB)&a[i]C)a[i]D)&a[0]35、下列叙述正确的是()A)do-while语句构成的循环不能用其它语句构成的循环来代替B)do-while语句构成的循环只能用break语句退出C)用do-while语句构成的循环,在while后的表达式为非零时结束循环D)用do-while语句构成的循环,在while后的表达式为零时结束循环36、下列程序的输出结果为()#include“stdio.h”main(){inta,b;for(a=1,b=1;a=100;a++){if(b=20)break;if(b%3==1)5{b+=3;continue;}b+=5;}printf(“%d,%d”,a,b);}A)8,20B)8,22C)7,20D)7,2237、设inta[5]={10,15,20,25,30};int*p;p=a+2;则表达式++*p的值为()A)20B)15C)16D)2138、设w=1,x=2,y=3,z=4,a=5,b=6,则执行一下语句后A)b的值分别为()(a=wx)&&(b=yz);A)0和0B)5和0C)0和6D)5和639、下列语句的输出为()intx=-1;printf(“%d,%u,%o”,x,x,x);A)–1,-1,-1B)–1,32767,-177777C)–1,32768,177777D)–1,65535,17777740、下列函数调用语句中的实参个数为()fun((a+b,x,y),fun(x,(x+z)));A)2B)3C)4D)541、设有数组定义:chararray[]=”china”;则数组array所占的内存空间为()A)4个字节B)5个字节C)6个字节D)7个字节42、以下程序段的运行结果是()。charc[5]={‘a’,’b’,‘\0‘,‘c’,‘\0’};printf(“%s”,c);A)’a’’b’B)abC)abcD)ab43、若C程序中出现死循则违背了算法的()A)有效性B)确定性C)有穷性D)有一个或多个输出44、设inta=20;则执行表达式:a/=a+a后,a的值是()A)0B)1C)20D)4045、intx,y,z,m=5,n=5;则执行下面语句后的z值是()x=(--m==n++)?--m:++n;y=m++;z=n;A)5B)10C)6D)746、执行下列程序段后,i的正确结果是()inti=10;6switch(i){case9:i+=1;case10:i++;case11:++i;default:i+=i;}printf(%d,i);A)10B)11C)12D)2447、若有定义:inta[10];。则以下表达式中不能代表数组元素a[1]的地址的是()A)&a[0]++B)&a[1]C)&a[0]+1D)a+148、变量的指针,其含义是指该变量的()A)值B)地址C)变量名D)一个标志49、有以下函数定义:voidfun(intn,doublex){……}若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是()A)fun(inty,doublem);B)k=fun(10,12.5);C)fun(x,n);D)voidfun(n,x);50、设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。A)0B)1C)2D)351、若inta,b;scanf(%d%d,&a,&b);不可以用()作为输入的分隔符。A),B)空格C)回车D)TAB键52、下面关于运算符优先顺序的描述中正确的是:()A)关系运算符算术运算符赋值运算符逻辑与运算符B)逻辑运算符关系运算符算术运算符赋值运算符C)赋值运算符逻辑与运算符关系运算符算术运算符D)算术运算符关系运算符赋值运算符逻辑与运算符53、为了判断两个字符串s1和s2是否相等,应当使用()。A)if(s1==s2)B)if(s1=s2)C)if(strcpy(s1,s2))D)if(strcmp(s1,s2)==0)54、以下对二维数组进行正确初始化的是()。A)inta[2][3]={{1,2},{3,4},{5,6}};B)inta[][3]={1,2,3,4,5,6};C)inta[2][]={1,2,3,4,5,6};D)inta[2][]={{1,2},{3,4}};55、若用数组名作为函数调用时的实参,则实际上传递给形参的是()。A)数组的首地址B)数组的第一个元素值C)数组中全部元素的值D)数组元素的个数56、以下错误的描述是()。A)不同的函数中可以使用相同的变量名B)形式参数是局部变量7C)一个函数内部定义的变量只能在本函数范围内有效D)在一个函数内部的复合语句中定义的变量可以在本函数范围内有效57、下列程序的运行结果是()main(){inti=10;int*p=&i;i=8;printf(“%d

1 / 27
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功