《c语言程序设计期末测验试卷b》由会员分享,可在线阅读,更多相关《c语言程序设计期末测验试卷b(14页珍藏版)》请在金锄头文库上搜索。
1、C语言程序设计期末测验试卷B14 / 14 作者: 日期:一、选择题(每题1.5分,共计45分) 1、以下选项中合法的标识符是【 】A1_1B1-1C_11D1_ _ 2、若函数中有定义语句: int k; ,则【 】A系统将自动给k赋初值0B这时k中的值无定义C系统将自动给k赋初值-1D这时k中无任何值 3、一下选项中,能用作数据常量的是【 】Ao115B0118C1.5e1.5D115L 4、设有定义: int x=2; ,一下表达式中,值不为6的是【 】Ax*=x+1BX+,2*xCx*=(1+x)D2*x,x+=2 5、程序段: int x=12; double y=3.141593;
2、 printf(%d%8.6f,x,y); 的输出结果是【 】A123.141593B12 3.141593C12,3.141593D123.1415930 6、若有定义语句: double x,y,*px,*py; 执行了px=&x; py=&y; 之后,正确的输入语句是【 】Ascanf(%f%f,x,y);Bscanf(%f%f &x,&y);Cscanf(%lf%le,px,py);Dscanf(%lf%lf,x,y); 7、一下是if语句的基本形式: if(表达式) 语句,其中表达式【 】A必须是逻辑表达式B必须是关系表达式C必须是逻辑表达式或关系表达式D可以是任意合法的表达式 8、
3、有以下程序#include main() int x; scanf(%d,&x); if(x=3) ; else if(x!=10) printf(%dn,x);程序运行时,输入的值在哪个范围才会有输出结果【 】A不等于10的整数B大于3且不等于10的整数C大于3或等于10的整数D小于3的整数 9、有以下程序#include main( ) int a=1,b=2,c=3,d=0; if (a=1 & b+=2) if (b!=2|c-!=3) printf(%d,%d,%dn,a,b,c); else printf(%d,%d,%dn,a,b,c); else printf(%d,%d,%d
4、n,a,b,c);程序运行后输出结果是【 】A1,2,3B1,3,2C1,3,3D3,2,1 10、假设以下程序段中的变量已正确定义for(i=0;i4;i+,j+) for(k=1;k3;k+); printf(*);程序段的输出结果是【 】A*B*C*D* 11、有以下程序#include main() char *s=ABC; do printf(%d,*s%10); s+; while (*s);注意:字母A的ASCII码值为65。程序运行后的输出结果是【 】A5670B656667C567DABC 12、设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段【 】
5、An=0; while(ch=getchar()!=n) n+;Bn=0; while(getchar()!=n) n+;Cfor(n=0;getchar()!=n;n+);Dn=0; for(ch=getchar();ch!=n;n+); 13、有以下程序#include main() int a1,a2; char c1,c2; scanf(%d%c%d%c,&a1,&c1,&a2,&c2); printf(%d,%c,%d,%c,a1,c1,a2,c2);若通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b 则正确的输
6、入格式是(以下_代表空格,代表回车) 【 】A12a34bB12_a_34_bC12,a,34,bD12_a34_b 14、有以下程序#include int f(int x,int y) return (y-x)*x);main() int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c); printf(%dn,d);程序运行后的输出结果是A10B9C8D7 15、有以下程序#include void fun(char *s) while(*s) if (*s%2= =0) printf(%c,*s); s+; main() char a =good; fun(a); pr
7、intf(n);注意:字母a的ASCII码值为97,程序运行后的输出结果是【 】AdBgoCgodDgood 16、有以下程序#include void fun(int *a,int *b) int *c; c=a;a=b;b=c;main( ) int x=3,y=5,*p=&x,*q=&y; fun(p,q); printf(%d,%d,*p,*q); fun(&x,&y);printf(%d,%dn,*p,*q);程序运行后输出的结果是【 】A3,5,5,3B3,5,3,5C5,3,3,5D5,3,5,3 17、有以下程序#include void f(int *p,int *q);ma
8、in( ) int m=1,n=2,*r=&m; f(r,&n); printf(%d,%d,m,n);void f(int *p,int *q)p=p+1;*q=*q+1;程序运行后的输出结果是【 】A1,3B2,3C1,4D1,2 18、以下函数按每行8个输出数组中的数据#include void fun(int *w,int n) int i; for(i=0;in;i+) _ printf(%d ,wi); printf(n);下划线出应填入的语句是【 】Aif(i/8= =0) printf(n);Bif(i/8= =0) continue;Cif(i%8= =0) printf(n
9、);Dif(i%8= =0) continue; 19、若有以下定义int x10,*pt=x;则对数组元素的正确引用是【 】A*&x10B*(x+3)C*(pt+10)Dpt+320、设有定义:char s81;int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是【 】Agets(s);Bwhile(si+=getchar()!=n); si=0;Cscanf(%s,s);Ddoscanf(%c,&si);while(si+!=n); si=0; 21、有以下程序#include main() char *a =abcd,ef,gh,ijk; int
10、i; for(i=0;i4;i+) printf(%c,*ai);程序运行后的输出结果是【 】AaegiBdfhkCdfhkDabcdefghijk22、以下选项中正确的语句组是【 】Achar s; s=BOOK!;Bchar *s; s=BOOK!;Cchar s10; s=BOOK!;Dchar *s; s=BOOK!; 23、有以下程序#include int fun(int x,int y) if(x= =y) return (x); else return(x+y)/2);main() int a=4,b=5,c=6; printf(%dn,fun(2*a,fun(b,c);程序运
11、行后的输出结果是【 】A3B6C8D12 24、设函数中有整型变量n,为保证其在未赋初值的情况下初值为0,应该选择的存储类别是【 】AautoBregisterCstaticDauto 或register 25、有以下程序#include int b=2;int fun(int *k) b=*k+b; return (b); main() int a10=1,2,3,4,5,6,7,8,i;for(i=2;i4;i+) b=fun(&ai)+b; printf(%d ,b);printf(n);程序运行后的输出结果是【 】A10 12B 8 10C10 28D10 16 26、有以下程序#include #define PT 3.5 ;#define S(x) PT*x*x ;main( ) int a=1,b=2 ; printf(%4.1fn,S(a+b); 程序运行后的输出结果是【 】A14.0B31.5C7.5D程序有错无输出结果 27、有以下程序#include struct ord int x,y; dt2=1,2,3,4;main() struct ord *p=dt; printf(%d,+p-x); printf(