C语言期中试卷(含答案)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《 C语言》课程期中考试试卷
一. 在A B C D四个选项中,选择一个正确的答案填入括号内
( )1、用char定义的变量在IBM PC机中能表示的数的范围是:
A) 0 ~+255 B) 0 ~+65535
C) -128 ~+127 D) 只能存字符,不能存数
( )2、设有int k=2; 则执行printf(“%d”,k++);的输出为:
A) 0 B) 1 C) 2 D) 3
()3、在while(!x)中,!x与______等价。
A) x==0 B) x!=0 C) x==1 D) x!=1
()4、设有声明int value=‟5‟;,则执行下列选项的赋值语句后,value的值不等于5的是_____。
A.) value=value - ‟0‟; B) value=value - 0x30;
C) value=value - 49; D) value=value - ‟\060‟;
()5、如int k=7;float x=2.5,y=4.7; 则表达式 x+k%3*(int)(x+y)%2/4 运算后的值是:
A) 0 B) 2 C) 2.5 D) 2.75
( ) 6、若有int a,b;则语句:printf("%d",(a=2)&&(b=-2);的输出结果是:
A)无输出 B)结果不确定 C)-1 D)1
( ) 7、设有int a=2; 则执行printf("%d",5>a>1);的输出为:
A)0 B)1 C)2 D)3
( ) 8、执行语句c=(a=2,a+1,b=a++);后, a,b,c的值依次为:
A)2,3,4 B)3,3,3 C)4,5,4 D)3,2,2
( )9、以下程序的输出结果是
A)2 0 B)3 1 C)3 2 1 D)2 1 0
main( )
{ int n=4;
while(n--)printf("%d ",--n);
}
( )10、给出以下定义:
char x[ ]="abcdef";
char y[ ]={'a','b','c','d','e','f'};
则正确的叙述为
A) 数组x和数组y等价 B) 数组x和数组y的长度相同
C) 数组x的长度大于数组y的长度 D) 数组x的长度小于数组y的长度
( )11、若对一个函数调用在前, 定义在后,C语言将视其返回值为__________类型。
A) void B) int C) float D) 不合法
( )12、如果用数组名作为函数调用的实参, 传递给形参的是_________。
A) 数组的首地址 B) 数组元素的个数
C) 数组的第一个元素的值 D) 数组中全部元素的值
二、填空题
1.C语言中的标识符可以由三种字符组成,它们是_ __、__ 和_ _。
2. 关键字case和default只能在__ _ 语句中出现。
3. 若有说明int a [][4]={1, 2,3,4,5,6,7,8, 9};,则数组a第一维的大小是____。
4.有声明: int a[3][4]={{1,2},{3},{6,7,8,8}}; 则a[1][2]的初值是____,
a[2][1]的值是______。
三、阅读程序,写出其输出结果
1. 设输入为:3 3↙ (其中”↙”表示回车),则下面程序的输出是:___ ___
main()
{ int k,t,a,n; long s;
scanf(“%d%d”,&a,&n);
for(s=t=k=0;k { t=t*10+a; s+=t; } printf(“s=%ld”,s); } 2.若以下程序输入为5,8 ↙,则输出为: ___ swap(int x, int y) { int t; t=x;x=y;y=t; } main() { int a,b; scanf(“%d,%d”,&a,&b); swap(a,b); printf(“a=%d,b=%d”,a,b); } 3. 设输入为: C++ ProGraming LangUage↙ (其中”↙”表示回车),下面C程序的输 出是:__ _ #include main() { int n1,n2,n3; char ch; n1=n2=n3=0; while((c=getchar())!=‟\n‟) if(c>=‟A‟&&c<=‟Z‟) n1++; else if(c>=‟a‟&&c<=‟z‟) n2++; else n3++; printf(“n1=%d,n2=%d,n3=%d\n”,n1,n2,n3); } 4.以下程序运行时,输出结果的第一行是,第二行是__ __ 。 #include void change(int x,int m) { char ch[]={’0’,’l’,’2’,’3’,’4’,’5’,’6’,’7’,’8’,’9’},b [80]; int i=0,r; while(x) { r=x%m; x/=m; b[i++]= ch[r]; } for(--i; i>=0; i--) printf(“%c”,b[i]); } main() { int a,b; change(10,2);