c语言模拟考试题2
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 以下的不是C语言标识符是(C)。
A)abc1_B)_abc1C)5BC1_D)Abc1
2. 结构化程序设计的基本结构不包括(A)
A)从上到下的结构B)选择结构C)循环结构D)顺序结构
3. C程序的基本单位是(A)。
A)函数B)过程C)语句D)子程序
4. 以下选项中(C)是的C语言赋值语句。
A)x=3,y=5B)a=b=6C)i--;D)y=int(x);
5. 设有如下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行表达式:(m=a>b)&&(n=c>d)后,n的值为(B)。
A)1B)2C)3D)0
6. 设整型变量x的值为5,y的值为2,则值为1的表达式是(D)。
A)!(y==x/2)B)Y!=x%3C)X>0&&y<0D)X!=y||x>=y
7. 假设整型变量a为2,使b的值为0的表达式是(C)。
A)b=a/2B)b=6-(--a)C)b=a%2D)b=a>3?0:1
8. 设int x=3,y=4,z=5;则下面表达式中值为0的是(D)。
A)x&&y B)x<=y C)x||y+z&&y-z D)!((x 9. 已知a=12,表达式a+=a-=a*=a的值为() A)A)144B)-12C)0D)24 10. 设有语句a=4;则执行语句a-=a+=a*a;后,变量a的值是() A)4B)0C)20D)16 11. 设有int a=4,b=6;则表达式a&b的值为(B) A)3B)4C)11D)12 12. 若有定义:int x=3;double y;则执行语句y=(double)x;后,变量x的数据类型为(A)。 A)int B)char C)flaot D)double 13. 若有定义double x,y;则表达式x=1,y=x+3/2的值为()。 A)1B)2C)2.0D)2.5 14. 若有定义int x,y,t;则执行语句:x=y=3,t=++x||++y;后,y的值为()。 A)不定值B)4C)3D)1 15. 若x、i、j和k都是int型变量,则计算下面表达式后,x的值为()。 x=(i=4,j=16,k=32) A)4B)16C)32D)52 16. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是(B)。 A)7B)8C)6D)2 17. 已有定义double d,f; 数据的输入方式为:3.45 根据定义和数据的输入方式,输入函数调用语句的形式为() A)scanf("%lf%lf",&d,&f) B)scanf("%f%f",&d,&f) C)scanf("3.2f%3.1f",&d,&f) D)scanf("%3.2lf%3.1lf",&d,&f) 18. 下面程序的输出是()。 #include void main() {int x=10,y=3; printf(“%d\n”,y=x/y); } (A)0(B)1(C)3(D)不确定的值 19. 下面程序运行情况是()。 #include void main() {int x=3,y=0,z=0; if(x=y+z) printf(“****”); else printf(“####”); } (A)有语法错0不能通过编译(B)输出**** (C)可以通过编译,但不能通过连接,因而不能运行(D)输出#### 20. 以下程序的输出结果是()。 #include main() {int i=10,j=10; printf("%d,%d",--i,j--); } (A)11,10(B)9,10(C)010,9(D)10,9 21. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与(C)组成配对关系。 (A)缩排位置相同的if(B)在其之前未配对的if (C)在其之前未配对的最近的if(D)同一行上的if 22. 假定所有变量均已定义,ok1=1;ok2=2;ok3=3;x=15; if(!ok1)x--; else if(ok2)if(ok3)x=3; else x=4; 上面程序段运行后x的值是:() A)14B)4C)15D)3 23. 在C语言的if语句中,用作判断的表达式为(D). A)关系表达式B)逻辑表达式C)算术表达式D)任意表达式 24. 下面的程序,描述的是() main() {int x=3; do {printf("%d\n",x-=2);} while(!(--x)); } (A)输出的是1(B)输出的是1和-2(C)输出的是3和0(D)是死循环 25. 执行下面程序后,a的值是()。 #include void main() {int a; printf(“%d\n”,(a=3*5,a*4,a+5)); } (A)65(B)20(C)15(D)10 26. 以下程序的输出结果是:A main() {int n=4; while(n--)printf("%d",--n); } A)20B)31C)321D)210 27. 设int a=1,则执行完循环While(a++<5);a的值是:A A)6B)5C)1D)-264 28. 在下列for循环中,其循环次数是(B) for(x=1,y=0;(y!=123)&&(x<4);x++); A)4B)3C)1D)无数多次 29. 假定a和b为int型变量,则执行以下语句后b的值为() a=1;b=10; do{b-=a;a++;} while(b--<0); (A)9(B)-2(C)-1(D)8 30. 如果有#define f(x,y)x+y及int a=2,b=3;则执行printf("%d",f(a,b)*f(a,b))后的值为()。 (A)36(B)25(C)11(D)13 31. 若#include后面的文件名用双引号括起来,寻找被包含文件的方式是(B)。 A)先按系统设定的标准方式查找,再在当前目录中查找B)先在当前目录中查找,再按系统设定的标准方式查找C)只在当前目录中查找D)只按系统设定的标准方式查找 32. 执行下面的程序C #define SQR(X)X*X main() {int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d\n",a);} 后,a的值是()。 (A)10(B)9(C)1(D)0 33. 下面程序的输出结果是(D) #include"stdio.h" #define SUB(x,y)(x)*y main() {int a=3,b=4;printf("%d\n",SUB(a,b+1));} A)12B)16C)15D)13 34. 函数strcat(str1,str2)的功能是(B) A)将字符串str1连接到字符串str2之后B)将字符串str2连接到字符串str1之后 C)将str2复制到字符串str1中D)将str1复制到字符串str2中。 35. 若有定义:char a[30]=“china\0\t\’\\”;则strlen(a)和sizeof(a)的值是(A)。