当前位置:文档之家› 武大C语言试题

武大C语言试题

武汉大学C语言考试4-6章试题(内部交流)1以下程序的输出结果是( )main(){ int i=0, j=0, k=6;if ((++i>0)||(++j>0)) k++;printf("%d, %d, %d\n", i, j, k);}A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 72。

下面程序段( )。

for(t=1;t<=100;t++){scanf("%d",&x);if (x<0) continue;printf("%3d",t);}A) 当x<0时整个循环结束B) x>=0时什么也不输出C) printf函数永远也不执行D) 最多允许输出100个非负整数3。

以下程序的输出结果是( )。

#include <stdio.h>main(){int num=0;while(num<=2){num++;printf("%d\n",num);}}A) 1 B) 1 C) 1 D) 12 2 23 344。

请读下面程序:main(){int x=1, y=2, z=3;x+=y+=z;printf("%d\t", x<y ? y : x);printf("%d\t", x<y ? x++:y++);}程序输出结果为( )A) 5 4 B) 4 5 C) 5 6 D) 6 55。

若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个成立( )?A) 若引用a[10],编译时报错B) 若引用a[10],连接时报错C) 若引用a[10],运行时出错D) 若引用a[10],系统不报错6。

下面程序段的功能是计算1000!的末尾含有多少个0。

while 后的括号里的正确答案是( )。

(提示:只要算出1000!中含有因数5的个数即可)for(k=0,i=5;i<1000;i+=5){ m=iwhile( ) { k++; m=m/5;}A) m%5=0 B) m=m%5==0 C) m%5==0 D) m%5!=07。

以下程序的输出结果是( )main(){int a=100,x=10,y=20,a1=5,a2=0if(x<y)if(y !=10)if(!a1) a=1;elseif(a2) a=10;a=-1;printf("%d\n",a)A)1 B) 0 C) 10 D)-18。

若定义数组char a[20],b[20],c[20],d[20];并用scanf("%s%s%s%s",a,b,c,d);语句从键盘输入,若输入I am a student,问printf("%s",a);打印结果是什么( )?A) I am a studentB) amC) ID) a9。

以下的for循环( )for(x=0,y=0;(y!=123)&&(x<4);x++);A. 执行3次B. 执行4次C. 循环次数不定D. 是无限循环10。

在内存中,二维数组存放的顺序是( ).A)按行顺序B)按列顺序C)按元素的大小D)按元素被赋值的先后顺序11设有定义:int a[][3]={{1,2,3},{4,5,6},{7,8,9}}; 则a[1][2]的初值为( ). A) 2 B) 4 C) 6 D) 812。

利用格式符%c对字符数组元素逐个赋值时,例:scanf("%c%c%c",&a[0],&a[1],&a[2]);正确的说法是( ).A)空格被当作分隔符B)回车符被当作分隔符C)逗号被当作分隔符D)不需要分隔符13。

有如下程序#include <stdio.h>main(){while(putchar(getchar())!='?');}当输入"china?"时,程序的执行结果是( )。

A) china B) dijob C) dijob? D) china?14。

若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立( )?A) a[10]是a数组的最后一个元素的引用B) a数组中有10个元素C) a数组中每个元素都为整数D) a数组是整型数组15。

下面有关for循环的正确描述是( )A. for循环只能用于循环次数已经确定的情况。

B. for循环是先执行循环体语句,后判断表达式。

C. 在for循环中,不能用break语句跳出循环体。

D. for循环的循环体语句中,可以包含多条语句。

16 设已定义:int x[2][4]={1,2,3,4,5,6,7,8}; 则元素x[1][1]的正确初值是( ).A) 6 B) 5 C) 7 D) 117。

定义字符数组c:char c[ ]={"c language"};数组c在内存中所占字节数是( ).A) 9 B) 10 C) 11 D) 1218。

有如下程序main(){ int x=1,a=0,b=0;switch(x){ case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是( )A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=219。

在定义一个一维数组时,不能用来表示数组长度的是( ).A)常量B)符号常量C)常量表达式D) 已被赋值的变量设有数组定义:char string[ ]="China";则数组string所占的空间为( ).A) 5个字节B) 6个字节C) 7个字节D) 10个字节20。

若定义数组并初始化int b[10]={ 1,2,3,4},以下哪几个语句成立( )?A)b[8]的值为0B)b[1]的值为1C)b[3]的值为整数D)b[10]不是b数组中的元素21。

若定义数组并初始化int a[2][3]= {{1,2,3},{4,5,6}};则for(i=0;i<2;i++) for(j=0;j<3;j++)printf("%d ",a[i][j]);可以打印该数组,指出下列不正确的语句( )。

A) 打印出数组中有6个元素B) 打印结果为:1 2 3 4 5 6C) 漏掉了2个数组元素D) 结果不正确22。

若定义数组并初始化int a[2][3]={ 1,2,3,4,5,6}; int b[2][3]= { 1,2,3,4,5,6}, 以下哪几个成立( )?A)表达式a[1][2]==b[1][2]的值为1。

B)表达式a[1][2]==b[1][2]的值为0。

C)表达式a[1][2]==b[1][2]的值为真。

D)表达式a[1][2]==b[1][2]的值为假。

23。

若定义数组int a[10];指出下列错误语句:A) a数组共有10个元素,其引用方法是:a[1],a[2]...a[10];B) a数组是整型数组,其元素自动初始化为0;C) a数组最后一个元素的引用方法是a[10];D) a数组第一个元素的引用方法是a[1];24。

若定义数组并初始化char a[10]={"hello"},指出下列错误的语句:A) printf("%d",strlen(a));语句的打印结果为10B) printf("%d",strlen(a));语句的打印结果为5C) printf("%d",strlen(a));语句的打印结果为6D) printf("%d",strlen(a));语句的打印结果不确定25给二维数组的全部元素赋初值,可以不指定第二维的长度,但第一维的长度不能省略。

26else语句总是和靠它最近的if匹配。

27数组是数目固定的若干变量的有序集合,数组中各元素的类型可以不同。

28设定义了:char c[]={"girl"}; 则字符数组c在内存中占用5个字节的内存单元。

29下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数。

请填空。

#include <stdio.h>main(){ int n,k=1,s=0,m;for(n=1;n<=100;n++){ k=1; s=0;【】;while(【】){ k*=m%10;s+=m%10;【】;}if (k>s) printf("%d",n);}}30以下程序的运行结果是【】main(){int x,y,z;x=1;y=2;z=3;x=y--<=x||x+y!=z;printf("%d,%d",x,y);}复试过程中的笔试内容可能要好好复习几门课:《信号与系统》、《数字信号处理》、《通信原理》、《C语言编程》等。

口试部分重在临场的灵活发挥,其中英语部分可能会是阅读一段短文并翻译,然后口头用英文自我介绍,或就阅读短文中的内容口头提问;专业面试部分可能会问到目前的毕设题目、大学期间电设和数模竞赛你承担的题目。

相关主题