河南理工大学 2010~2011 学年第 2 学期
《C语言程序设计》试卷(A卷)
考试方式:闭卷 本试卷考试分数占学生总评成绩的 70 %
注:请将答案填写在答题纸上,写在试卷上,不得分。
一、单项选择题(每题1分,共30分) ,在每小题列出的四个选项中只有一个选项是符合题目要求的,请在答案卡上将正确答案所对应选项的字母涂黑。
1. 以下选项中正确的语句组是______。
A) char s[];s="book!" B) char *s;s={"book!"};
C) char s[10];s="book!" D) char *s;s="book!";
2.C语言源程序文件的后缀是______。
A) ".c " B) ".obj" C) ".exe" D) ".txt"
3.以下选项中不正确的常量是______。
A)a B)'a' C)5 D)"b"
4.下列不正确的转义字符是 。
A)\\ B)\' C)074 D)\0
5.C语言程序设计中可以对程序进行注释,注释部分可以用______符号括起来。
A){ } B)[ ] C)/* */ D) */ /*
6.在一个C程序中,main函数出现的位置是 。
A)必须在程序的最后面 B)可以在任意地方
C)必须在程序的最前面 D)必须在系统调用的库函数的后面
7.若已定义x和y为double类型,则表达式x=2,y=x+3/2 的值是 。
A)3.500000 B)3 C)2.000000 D)3.000000
8.设x、y均为float类型变量,下面不正确的赋值语句是 。
A)x=x+1; B)y=(x%2)/10; C)x*=y+8; D)x=y=0;
9.若有以下定义,则能使其值为3的表达式是 。
int k=7,x=12;
A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)
10.若有以下定义和语句,则输出结果是 。
char c1='b',c2='e';
printf("%d%%,%c\n",c2-c1,c2-'a'+'A');
A)%3,E B)3%,E C)2%,E D)%2,E
11.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 。
A)"x"&&'y' B) x<=y C) x||y+z&&y-z D)!((x<y)&&!z ||1)
12.分析以下C程序,其正确的运行结果是 (注:ㄩ表示空格)。
#include <stdio.h>
main()
{ long y=-43456;
printf("y=%-8ld\n",y);
printf("y=%-08ld\n",y);
printf("y=%08ld\n",y);
printf("y=%+8ld\n",y);
}
A) y=ㄩㄩ-43456 B) y=-43456
y=-ㄩㄩ43456 y=-43456
y=-0043456 y=-0043456
y=-43456 y=+-43456
C) y=-43456 D)y=ㄩㄩ-43456
y=-43456 y=-0043456
y=-0043456 y=00043456
y=ㄩㄩ-43456 y=+43456
13.设整型变量s,t,c1,c2,c3,c4的值均为2,则执行语句(s=c1= =c2)||(t=c3>c4)后,s,t的值为 。
A)1,2 B)1,1 C)0,1 D)1,0
14.阅读以下程序,当输入数据的形式为25,13,10,正确的输出结果为 。
#include <stdio.h>
main()
{ int x,y,z;
scanf("%d%d%d",&x,&y,&z);
printf("x+y+z=%d\n",x+y+z);
}
A)x+y+z=48 B)x+y+z=35 C)x+z=35 D) 不确定值
15.若k=4,a=3,b=2,c=1,则表达式k<a?k:c<b?c:a的值是 。
字符串长度不能超过32位 A)4 B)3 C)2 D)1
16.执行以下程序后的输出结果是 。
main()
{
char k; int i;
for(i=1;i<3;i++)
{
scanf("%c",&k);
switch(k)
{
case '0': printf("another ");
case '1': printf("number ");
}
}
}
程序运行是,从键盘输入:0ㄩ1<回车>(注:ㄩ表示空格),程序执行后的输出结果是 。
A)another number B)another number another
C)another number number D)number number
17.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是 。
A)必须是逻辑值 B)必须是整数值 C)必须是正数 D)可以是任意合法的数值
18.下面程序段的运行结果是 。
char c[]="\t\v\\\0will\n";
printf("%d",strlen(c));
A)14 B)3 C)9 D)字符串中有非法字符,输出值不确定
19.在函数调用时,若实参为变量,则下列关于函数形参和实参的叙述中正确的是 。
A)函数的实参和其对应的形参共占同一存储单元
B)形参只是形式上的存在,不占用具体存储单元
C)同名的实参和形参占同一存储单元
D)函数的形参和实参分别占用不同的存储单元
20.下面关于函数参数的说法不正确的是 。
A)形参可以是常量、变量或表达式 B)实参可以是常量、变量或表达式
C)在带参函数的定义中,必须指定形参的类型 D)形参应与其对应的实参类型一致
21.以下程序的输出结果是 。
#include <stdio.h>
#define MIN(x,y) (x)<(y)?(x):(y)
main()
{ int i,j,k;
i=10; j=15; k=10*MIN(i,j);
printf("%d\n",k);
}
A)15 B)100 C)10 D)150
22.以下一维数组a的定义中,正确的是 。
A)int a(10) B) int n=10,a[n];
C)int n; D)#define SIZE 10
scanf("%d",&n);; int a[SIZE];
int a[n]
23.若有定义:int a[4][3],(*prt)[3]=a,*p=a[0];,则不能正确表示数组元素a[1][2]的表达式是 。
A) *(*(prt+1)+2) B) *(p+5) C) (*(prt+1))[2] D) *((*prt+1)[2]
24.有以下程序:
#include<stdio.h>
#include<stdlib.h>
main()
{ int *a,*b,*c;
a=b=c=(int*)malloc(sizeof(int));
*a=1;*b=2;*c=3;
a=b;
printf("%d,%d,%d\n",*a,*b,*c);
}
程序运行后的输出结果是 。
A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3
25. 以下程序的输出结果是 。
struct st
{ int x;
int *y;
}*p;
int dt[4]={10,20,30,40};
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论