C程序设计试卷3
- 格式:doc
- 大小:62.50 KB
- 文档页数:7
C程序设计试卷一、判断题(每题1分,共10分)1、C程序中的变量无须定义就可使用。
()2、字符常量与符号常量是指同一种常量。
()3、一个C程序必须由两个以上函数组成。
()4、使用printf函数可以输出任意类型的多个数据。
()5、C语言中的变量是区分大小写的。
()6、逻辑非“!”是一目运算符,只要求有一个运算量。
()7、数组是有序数据的集合,其中的每一个元素都属于同一个数据类型。
()8、一个C语言程序经过编译后,生成的目标程序不是二进制代码。
()9、在定义函数中指定的形参,可以是常量、变量或表达式。
()10、数组不能作为函数参数。
()二、单项选择题(每题2分,共50分)1、下列形式的常数中,C程序不允许出现的是()A、.45B、E3.6C、25.6E-2D、0.2352、为表示关系x≥y≥z,应使用C语言表达式()A、(x>=y)&&(y>=z)B、(x>=y)AND(y>=z)C、(x>=y>=z)D、(x>=y)&(y>=z)3、下列数据中为字符串常量的是()A、'A'B、"house"C、How do you doD、'$abd'4、C语言中,运算对象必须是整型数的运算符是()A、%B、/C、%和/D、*5、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是()A、1B、0C、4D、36、下面哪一个不是字符常量()A、'a'B、'?'C、'9'D、"a"7、下列变量说明中正确的是()A、char:a b c;B、char a;b;c;C、int x;z;D、int x,z;8、以下程序的输出结果是()main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A、10 10B、9 9C、9 10D、10 99、定义如下变量:int n=10;则下列循环的输出结果是()while(n>7){ n--;printf("%d\n",n);}A、10B、9C、10D、99 8 9 88 7 8 77 610、已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是______。
A、数组a和b的长度相同B、a数组长度小于b数组长度C、a数组长度大于b数组长度D、上述说法都不对11、设函数fun的定义形式为()void fun(char ch, float x ) { … }则以下对函数fun的调用语句中,正确的是A、fun("abc",3.0);B、t=fun('D',16.5);C、fun('65',2.8);D、fun(32,32);12、下面程序的功能是输出以下形式的金字塔图案是:****************main( ){ int i,j;for(i=1;i<=4;i++){ for(j=1;j<=4-i;j++) printf(“ “);for(j=1;j<=_______;j++) printf(“*”);printf(“\n”);}} 在下划线处应填入的是()A、iB、2*i-1C、2*i+1D、i+213、有以下程序int f(int b[][4]){ int i,j,s=0;for(j=0;j<4;j++){ i=j;if(i>2) i=3-j;s+=b[j];}return s;}main( ){ int a[4][4]={{1,2,3,4},{0,2,4,5},{3,6,9,12},{3,2,1,0}};printf(“%d\n”,f(A、);} 执行后的输出结果是()A、12B、11C、18D、1614、设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是________。
A、(!a= =1)&&(!b= =0)B、(a<B)&& !c||1C、a && bD、a||(b+b)&&(c-a)15、有以下程序main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%d\n”,s);} 程序执行后的输出结果是()A、自然数1~9的累加和B、自然数1~10的累加和C、自然数1~9中的奇数之和D、自然数1~10中的偶数之和16、以下程序的功能是:给r输入数据后计算半径为r的圆面积s,程序在编译时出错。
main()/* Beginning */{ int r; float s;scanf("%d",&r);s=*p*r*r; printf("s=%f\n",s);}出错的原因是()A、注释语句书写位置错误B、存放圆半径的变量r不应该定义为整型C、输出语句中格式描述符非法D、计算圆面积的赋值语句中使用了非法变量17、以下关于函数的叙述中正确的是()A、每个函数都可以被其它函数调用(包括main函数)B、每个函数都可以被单独编译C、每个函数都可以单独运行D、在一个函数内部可以定义另一个函数18、有以下程序void f(int v , int w){ int t;t=v;v=w;w=t;}main( ){ int x=1,y=3,z=2;if(x>y) f(x,y);else if(y>z) f(y,z);else f(x,z);printf(“%d,%d,%d\n”,x,y,z);} 执行后输出结果是()A、1,2,3B、3,1,2C、1,3,2D、2,3,119、下列程序的输出结果是A、 3B、 3.2C、 0D、 3.07main(){ double d=3.2; int x,y;x=1.2; y=(x+3.8)/5.0;printf("%d \n", d*y);}20、以下叙述正确的是()A、 do-while语句构成的循环不能用其它语句构成的循环来代替。
B、 do-while语句构成的循环只能用break语句退出。
C、用do-while语句构成的循环,在while后的表达式为非零时结束循环。
D、用do-while语句构成的循环,在while后的表达式为零时结束循环。
21、有以下程序main( ){ int i,n=0;for(i=2;i<5;i++){ do{ if(i%3) continue;n++;} while(!i);n++;}printf(“n=%d\n”,n);} 程序执行后的输出结果是()A、n=5B、n=2C、n=3D、n=422、有一个数值152,它与十六进制6A相等,则该数是()A、二进制数B、八进制数C、十进制数D、四进制数23、有以下程序main(){ int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()A、m=123n=456p=789B、m=123 n=456 p=789C、m=123,n=456,p=789D、123 456 78924、当执行以下程序段时,描绘正确的选项是()x = -1;do{ x = x*x} while (!x);A、循环体将执行一次B、循环体将执行两次C、循环体将执行无限次D、系统提示语法错误25、算法可使用下面()方法来描述。
A、自然语言B、流程图C、伪代码D、以上都是三、填空题(每空2分,共20分)1、C语言的基本数据类型有整型,实型和__________。
2、一个C程序必须从_______________函数开始执行。
3、设a=12,a定义为整型变量,表达式a+= a-= a*a的值为__________。
4、程序main(){ float x;int i;x=3.6;i=(int)x;printf(“i=%d”,i);}的输出结果是5、有定义int a=-1; 则pirntf(“%x,%o”,a,a”)的输出结果是6、设a=3,b=4,c=5,则表达式!(a>b) && ! c || 1的值为7、以下逻辑表达式的值是设a=3,b=4,c=5.! (x=a) && (y=b) && 08、把100 ~ 200 之间的不能被3整除的数输出。
main(){ int n;for(n=100;n<=200;n++){ if(_____)continue;printf(“%d”,n);}}9、C程序中的变量按其定义位置及作用域可分为两种。
10、有定义char str[]={”China\nBeiJing”};若执行puts(str);则输出结果为四.程序设计题(每题10分,共20分)1、编程计算1 + 2 + 3 + … + 2002、编程:定义一个十个元素的实型数组,用scanf ( ) 函数对数组元素赋值,用循环语句求这10个数中的最大数。
参考答案三填空题(每题两分,共20分)1.字符型 2. main(或主函数) 3. -264 4. i=3 5. ffff,1777776. 1 (或真)7. 08. n%3 = = 09. 全局变量和局部变量10. ChinaBeiJing。