模拟试卷2(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C程序设计》模拟试卷2
一、选择题(本题共30分,2‟×15)
1、以下叙述正确的是______
A)在C程序中,main函数必须位于程序的最前面
B)C程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
2、下面正确的字符常量是
A)”c”B)‟\109‟C)‟w‟D)‟‟
3、下面四个选项中,均是不合法的用户标识符的选项是_____
A) A B) float C) b-a D) _123
P_0 la0 goto temp
do _A int INT
4、设变量a是整型,f是实型,i是双精度型,则表达式10+‟a‟+i*f值的数据类型为_____
A) int B) float C) double D) 不确定
5、若a,b均定义为int型,以下错误的函数调用是_____
A) a=getchar(); B) putch ar(…\108‟);
C) scanf(“%d%*2d”,&a,&b);D) putchar(…\”‟);
6、若有以下定义,则正确的赋值语句是_____
int a,b; float x;
A) a=1,b=2, B) b++; C) a=b=5 D) b=int(x);
7、已知int x=6;则表达式x+=x-=x*x 的值是_____
A) 36 B) -60 C) 60 D) -24
8、判断char型变量c1是否为小写字母的正确表达式为_____
A) …a‟<=c1<=‟z‟B) (c1>=a) && (c1<=z)
C) (…a‟>=c1) || (…z‟<=c1)D) (c1>=‟a‟) && (c1<=‟z‟)
9、语句while(!E);中的表达式!E等价于_____
A) E= =0 B) E!=1 C) E!=0 D) E= =1
10、C语言中while和do-while循环的主要区别是_____
A) do-while的循环体至少无条件执行一次
B) while的循环控制条件比do-while的循环控制条件严格
C) do-while允许从外部转到循环体内
D) do-while的循环体不能是复合语句
11、已知int x=15,y=5; 执行printf(“%d\n”,x%=(y%=2));后的结果为_____
A) 0 B) 1 C) 6 D) 12
12、以下不正确的语句为____
A) if(x>y);
B) if(x=y)&&(x!=0) x+=y;
C) if(x!y) scanf(“%d”,&x)else scanf(“%d”,&y);
D) if(x 13、以下不是死循环的是_____ A) for ( y=0,x=1; x>++y; x=i++ ) i=x; B) for ( ; ; x++=i ) ; C) while(1) {x++;} D) for ( i=10;; i-- ) sum+=i; 14、以下正确的函数定义形式是_____ A) double fun(int x,int y) B) double fun(int x;int y) C) double fun(int x,int y); D) double fun(int x,y); 15、以下不正确的说法为_____ A) 在不同函数中可以使用相同名字的变量 B) 形式参数是局部变量 C) 在函数内定义的变量只在本函数范围内有效 D) 在函数内的复合语句中定义的变量在本函数范围内有效 二、填空题(本题共20分,2‟×10) 1、已知定义“int x; float y; ”,且执行“scanf(“%3d%f”,&x,&y);”语句时,从第1列开始输入数据54321 678【Enter】,则x的值是______,y的值为_____。 2、以下程序的输出结果为_____________________________ main() {printf(“*%f,%4.3f*\n”,3.14,3.1415);} 3、若a=1,b=2,则表达式a>b?a: b+1的值是_______________。 4、若a=6,b=4,c=3,则表达式a&&b+c||b-c 的值为 5、有int a=3,b=4,c=5;则以下表达式的值是_______________ !(a+b)+c-1&&b+c/2 6、以下程序的运行结果是 int x; main() {x=5; cude(); printf(“%d\n”,x); } cude() {x=x*x*x;} 7、条件“2 8、表达式pow(2.8,sqrt(double(x)))的值的数据类型为____________________。 9、int x=0,y=3,z=2; if((x++&&y++) z--; else if(x+1= =6|| y--) z++; 则运行后x,y,z的值分别是。 10、C语言规定,函数返回值的类型由_________________确定。 三、程序分析题(本题共20分,4×5‟): 1.以下程序的运行结果是:________________________________ main() {int a,b,c; a=(b=(c=3*5)*2-3); printf(“a=%d,b=%d,c=%d\n”,a,b,c); } 2.以下程序的运行结果是:_______________________(画出也可以) # include “stdio.h” main() {int i,j; for(i=0;i<=3;i++) {for(j=0;j<=5;j++) {if(i==0||j==0||i==3||j==5) printf(“*”); else printf(“ “); } printf(“\n”); } } 3. 以下程序的运行结果是:______________________________________