您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言程序设计模拟试题11
C语言程序设计模拟试题11一、填空题(每空1分,共10分)1.C语言程序的三种基本结构是顺序结构,选择结构,循环结构。2.有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]=0,a[2][1]=6。3.设x,y,z均为int型变量,C语言描述”x或y中有一个小于z”的表达式是xz||yz。4.若for循环用以下形式表示:for(表达式1;表达式2;表达式3)循环体语句则执行语句for(i=0;i3;i++)printf(“*”);时,表达式1执行1次,表达式3执行3次。5.在C语言中,十进制数30的八进制表示形式是036,十六进制表示形式是0x1e。二、阅读填空(每空2分,共12分)。1.以下函数求x的y次方。dublefun(doublex,inty){inti;doublez=1.0;for(i=1;i=y;i++)z=z*x;return(z);}2.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行结束循环。intn=0;charc;c=getchar();while(c!=‘\n’){if(c=‘0’&&c=‘9’)n++;c=getchar();}3.下面程序中可求出矩阵a的两条对角线上的元素之和。#include“stdio.h”main(){inta[3][3]={1,3,6,7,9,11,14,15,17},sum1=0,sum2=0,i,j;for(i=0;i3;i++)for(j=0;j3;j++)if(i==j)sum1=sum1+a[i][j];for(i=0;i3;i++)for(j=2;j=0;j--)if((i+j)==2)sum2=sum2+a[i][j];printf(“sum1=%d,sum2=%d\n”,sum1,sum2);}三、单项选择题(每小题2分,共78分)1.一个C语言的执行是从A。(A)本程序的main函数开始,到main函数结束(B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束(C)本程序的main函数开始,到本程序文件的最后一个函数结束(D)本程序文件的第一个函数开始,到本程序main函数结束2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符C。(A)必须为字母(B)必须为下划线(C)必须为字母或下划线(D)可以是字母,数字和下划线中的任一种字符3.以下叙述正确的是C。(A)在C程序中,main函数必须位于程序的最前面(B)C程序的每行中只能写一条语句(C)C语言本身没有输入输出语句(D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误4.下列形式的常数中,C程序不允许出现的是A。(A)±123(B).45(C)25.6e-2(D)4e35.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是B。(A)7(B)8(C)6(D)26.以下叙述不正确的是D。(A)在C程序中,逗号运算符的优先级最低(B)在C程序中,APH和aph是两个不同的变量(C)若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变(D)在C程序中,无论是整数还是实数,都能被准确无误地表示7.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为D。(A)float(B)char(C)int(D)double8.在C语言中,要求运算数必须是整型的运算符是B。(A)/(B)%(C)!=(D)++9.以下关于运算符优先顺序的描述中正确的是C。(A)关系运算符算术运算符赋值运算符逻辑运算符(B)逻辑运算符关系运算符算术运算符赋值运算符(C)赋值运算符逻辑运算符关系运算符算术运算符(D)算术运算符关系运算符赋值运算符逻辑运算符10.设x=3,y=2,则表达式x*=y+8的值为C。(A)3(B)2(C)30(D)1011.设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为A。(A)2.5(B)7(C)4.7(D)2.7512.为表示关系:X≥Y≥Z,应使用的C语言表达式是A。(A)(X=Y)&&(Y=Z)(B)(X=Y)AND(Y=Z)(C)(X=Y=Z)(D)(X=Y)&(Y=Z)13.已知intx=10,y=20,z=30,以下语句执行后x,y,z的值是B。if(xy)z=x;x=y;y=z;(A)x=10,y=10,z=30(B)x=20,y=30,z=30(C)x=20,y=30,z=10(D)x=20,y=30,z=2014.以下说法正确的是D。(A)输入项可以为一个实数常量,如scanf(“%f”,3.5);(B)只有格式控制,没有输入项,也能进行正确输入,如:scanf(“a=%d,b=%d”);(C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如:scanf(“%4.2f”,&a);(D)当输入数据时,必须指明变量的地址,如scanf(“%f”,&a);15.已知ch是字符型变量,下面正确的赋值语句是B。(A)ch=‘123’;(B)ch=‘\xff’;(C)ch=‘\08’(D)ch=”a”;16.对for(表达式1;;表达式3)可理解为C。(A)for(表达式1;0;表达式3)(B)for(表达式1;表达式3;表达式3)(C)for(表达式1;1;表达式3)(D)for(表达式1;表达式1;表达式3)17.以下不正确的语句为B。(A)if(xy);(B)if(x=y)&&(x!=0)x+=y;(C)if(x!=y)scanf(“%d”,&x);elsescanf(“%d”,&y);(D)if(xy){x++;y++;}18.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是与D配对。A)缩排位置相同的if(B)同一行上的ifC)其之后最近的if(D)其之前最近的if19.下面程序段的运行结果是A。inta=1,b=2,c=2,t;while(abc){t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);(A)1,2,0(B)2,1,0(C)1,2,1(D)2,1,120.以下能正确计算1*2*3*4*5*6*7*8*9*10的程序段是C。(A)do{i=1;s=1;(B)do{i=1;s=0;s=s*i;s=s*i;i++;i++;}while(i=10);}}while(i=10);(C)i=1;s=1;(D)i=1;s=0;do{s=s*i;do{s=s*i;i++;i++;}while(i=10);}while(i=10);21.若用数组名作函数调用的实参,传递给形参的是A。(A)数组的首地址(B)数组第一个元素的值(C)数组中全部元素的值(D)数组元素的个数22.以下不正确的说法为D。(A)在不同函数中可以使用相同名字的变量。(B)形式参数是局部变量(C)在函数内定义的变量只在本函数范围内有效(D)在函数内的复合语句中定义的变量在本函数范围内有效23.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是D。(A)extern(B)register(C)auto(D)static24.C语言规定,函数返回值的类型是由C。(A)return语句中的表达式类型所决定(B)调用该函数时的主调函数类型所决定(C)在定义该函数时所指定的函数类型所决定(D)调用该函数时系统临时决定25.变量的指针,其含义是指该变量的B。(A)值(B)地址(C)名(D)一个标志26.两个指针变量不可以C。(A)相减(B)比较(C)相加(D)指向同一地址27.下面判断正确的是C。(A)char*a=“china”;等价于char*a;*a=“china”;(B)charstr[10]={“china”};等价于charstr[10];str[]={“china”};(C)char*s=“china”;等价于char*s;s=“china”;(D)charc[4]=“abc”,d[4]=“abc”;等价于charc[4]=d[4]=“abc”;28.以下正确的描述是B。A)continue语句的作用是结束整个循环的执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)goto语句只能用于退出多层循环29.叛断字符串a和b是否相等,应当使用D。A)if(a==b)(B)if(a=b)(C)if(strcpy(a,b))(D)if(strcmp(a,b))30.以下程序的运行结果为B。#include“stdio.h”voiddelch(char*s){inti,j;char*a;a=s;for(i=0,j=0;a[i]!=‘\0’;i++)if(a[i]=‘\0’&&a[i]=‘9’){s[j]=a[i];j++;}s[j]=‘\0’;}main{char*item=“a34bc”;delch(item);printf(“%s\n”,item);}(A)abc(B)34(C)a34(D)a34bc31.以下程序的运行结果为A。#include“stdio.h”main(){staticchara[]=“Language”,b[]=“programe”;char*p1,*p2;intk;p1=a;p2=b;for(k=0;k=7;k++)if(*(p1+k)==*(p2+k))printf(“%c”,*(p1+k));}(A)gae(B)ga(C)Language(D)有语法错误32.以下程序的运行结果为C。main(){inta=2,b=-1,c=2;if(ab)if(ab)c=0;elsec+=1;printf(“%d\n”,c);}(A)0(B)1(C)2(D)333.以下程序的运行结果为A。main(){intw=4,x=3,y=2,z=1;printf(“%d\n”,(wx?w:zy?z:x));}(A)!(B)2(C)3(D)434.以下程序的运行结果为A。#include“stdio.h”intfunc(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}main(){intk=4,m=1,p;p=func(k,m);printf(“%d,”,p);p=func(k,m);printf(“%d\n”,p);}(A)8,17(B)8,16(C)8,20(D)8,835.以下程序的运行结果为D。#include“stdio.h”main(){intn=0;while(n8){switch(n%3){case2:putchar(‘2’);case1:putchar(‘i’);break;case0:putchar(‘H’);}n++;}}(A)Hi2Hi2Hi(B)Hi2(C)Hi2iHi2i(D)Hi2iHi2iHi36.以下程序运行的结果是B。viodsub(intx,inty,int*z){*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(“%d,%d,%d\n”,a,b,c);}(A)5,2,3(B)-5,-12,-7(C)-5,-12,-17(D)5,-2,-737.以下程序的运行结果为A。main(){inti;for(i=1;i=5;i++){if(i%2)printf(“*”);elsecontinue;printf(“#”);}printf(“$\n”);}(A)*#*#*#$(B)#*#*#*$(C)*#*#$(D)#*#*$38.以下程序运行的结果是C。main(){inta[]={2,4,6,8,10},y=1,x,*p;p=
本文标题:C语言程序设计模拟试题11
链接地址:https://www.777doc.com/doc-1745470 .html