当前位置:首页 > C语言考试题库-选择题[4版]
x=x*x; } while (!x);
A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误
48、下面程序的运行结果是________.
#include
{ b-=a;a++; } while(b--<0); cout< A) 3,11 B) 2,8 C) 1,-1 D) 4,9 49、下面程序的运行结果是________. #include printf(\ } A) 4 B) 3 C) 5 D) 6 50、以下循环体的执行次数是_______ #include for(i=0,j=1; i<=j+1; i+=2, j--) cout< A) 3 B) 2 C) 1 D) 0 51、执行下面程序段后,k的值是_________. int i,j,k; for(i=0,j=10;i A) 9 B) 11 C) 8 D) 10 52、以下程序段的输出结果是_______. int k,n,m; n=10;m=1;k=1; while (k<=n) {m*=2;k+=4;} cout< A) 4 B) 16 C) 8 D) 32 53、下面程序的输出结果是________. #include cout<<(x- =2); }while(!(--x)); } A) 1 B) 1 -2 C) 3 0 D)是死循环 54、定义如下变量: int n=10; 则下列循环的输出结果是_______. while(n>7) { n--; cout< A) 10 B) 9 C) 10 D) 9 9 8 9 8 8 7 8 7 7 6 55、以下叙述正确的是_____B____. A) continue语句的作用是结束整个循环的执行 B) 只能在循环体内和switch语句体内使用break语句 C) 在循环体内使用break语句或continue语句的作用相同 D) 从多层循环嵌套中退出时,只能使用goto语句 56、在下列选项中,没有构成死循环的程序段是___D_. A) int i=100; B) for( ; ; ); while (1) { i=i0+1; if (i>100) break; } C) int k=1000; D) int s=36; do {++k;} while (k>=1000); while (s) --s; 57、下面程序的输出结果是_________. #include for(i=1;i<=5;i++) { if (i%2) cout<<\ else continue; cout<<\ } cout<<\ } A) *#*#*#$ B) #*#*#*$ C) #*#*$ D) *#*#$ 58、下面程序段中,循环体的执行次数是____C_____. - 5 - int a=10,b=0; do {b+=2;a-=2+b;} while(a>=0); A) 4 B) 5 C) 3 D) 2 59、C语言中while 和do-while 循环的主要区别是.__A__ A) do-while的循环体至少无条件执行一次 B) while 的循环控制条件比do-while 的循环控制条件严格 C) do-while 允许从外部转到循环体内 D) do-while 的循环体不能是复合语句 60、合法的数组定义是___D_____. A) int a[6]={\ B) int a[5]={0,1,2,3,4,5}; C) char a={\ D) char a[]={0,1,2,3,4,5}; 61、定义如下变量和数组: int i; int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; 则下面语句的输出结果是_______. for(i=0;i<4;i++) cout< 62、运行下面程序段的输出结果是________. char s1[10]={'S','e','t','\\0','u','p','\\0'}; cout< A) Set B) Setup C) Set up D) 'S''e''t' 63、以下程序段的输出结果是________. char s[ ]=\ cout< A) 7 B) 8 C) 9 D) 10 64、下列初始化语句中,正确且与语句 char c[ ]=\等价的是____C____. A) char c[ ]={'s','t','r','i','n','g'}; B) char c[ ]='string'; C) char c[7]={'s','t','r','i','n','g','\\0'}; D) char c[7]={'string'}; 65、以下程序输出的结果是________. #include { int a[ ]={1,2,3,4,5},i,j,s=0; for(i=0;i<5;i++) s=s*10+a[i]; cout< A) s=12345 B) s=1 2 3 4 5 C) s=54321 D) s=5 4 3 2 1 66、以下关于数组的描述正确的是____C______. A) 数组的大小是固定的,但可以有不同类型的数组元素。 B) 数组的大小是可变的,但所有数组元素的类型必须相同。 C) 数组的大小是固定的,所有数组元素的类型必须相同。 D) 数组的大小是可变的,可以有不同类型的数组元素。 67、在定义int a[5][4]; 之后,对a的引用正确的是.____C____ A) a[2][4] B) a[1,3] C) a[4][3] D) a[5][0] 68、以下定义语句中,错误的是____D____. A) int a[]={1,2}; B) char a[]={\C) char s[10]={\ D) int n=5,a[n]; 69、下述对C语言字符数组的描述中错误的是___C__. A) 字符数组可以存放字符串 B) 字符数组中的字符串可以整体输入、输出 C) 可以在赋值语句中通过赋值运算符\对字符数组整体赋值 D) 不可以用关系运算符对字符数组中的字符串进行比较 70、以下对C语言函数的有关描述中,正确的是___A__. A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不 能传送给实参 B) C函数既可以嵌套定义又可以递归调用 C) 函数必须有返回值,否则不能使用函数 D) C程序中有调用关系的所有函数必须放在同一个源程序文件 中 71、设有数组定义:char array[]=\则数组array所占的存储空间为____C____. A) 4个字节 B) 5个字节 C) 6个字节 D) 7个字节 72、下面程序的输出是________. #include void main( ) { int a=7, b=5; cout<<(fun2(a,b)/m); } A) 1 B) 2 C) 7 D) 10 73、若函数调用时用数组名作为函数参数,以下叙述中,不正确的是____C____. A) 实参与其对应的形参共占用同一段存储空间 B) 实参将其地址传递给形参,结果等同于实现了参数之间的双 向值传递 C) 实参与其对应的形参分别占用不同的存储空间 - 6 - D) 在调用函数中必须说明数组的大小,但在被调函数中可以使 return r; 用不定尺寸数组 } void main() 74、如果一个函数位于C程序文件的上部,在该函数体内说明{ 语句后的复合语句中定义了一个变量,则该变量___C_____. int x, a[]={ 2,3,4,5,6,7,8,9}; A) 为全局变量,在本程序文件范围内有效 x=f(a, 3); B) 为局部变量,只在该函数内有效 cout< C) 为局部变量,只在该复合语句中有效 上面程序的输出结果是___ _____. D) 定义无效,为非法变量 A) 20 B) 14 C) 9 D) 5 75、调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是____D____. A) 实参将其地址传递给形参,并释放原先占用的存储单元 B) 实参将其地址传递给形参,调用结束时形参再将其地址回传 给实参 C) 实参将其值传递给形参,调用结束时形参再将其值回传给实 参 D) 实参将其值传递给形参,调用结束时形参并不将其值回传给 实参 76、C语言中,若未说明函数的类型,则系统默认该函数的类型是___C_____。 A) float型 B) long型 C) int型 D) double型 77、以下说法中正确的是_____C___. A) C语言程序总是从第一个定义的函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分 78、C语言中规定函数的返回值的类型是由__D______. A) return语句中的表达式类型所决定 B) 调用该函数时的主调用函数类型所决定 C) 调用该函数时系统临时决定 D) 在定义该函数时所指定的类型所决定 79、以下函数调用语句中含有实参个数为____B____. func((exp1,exp2),(exp3,exp4,exp5)); A) 1个 B) 2个 C) 4个 D) 5个 80、C语言中,凡未指定存储类别的局部变量的隐含存储类别是____A____. A) auto B) static C) extern D) register 81、请读程序: #include for(i=0; i<=n; i++) r=r+b[i]; - 7 -
共分享92篇相关文档