北京化工大学c语言复习题
C语言期末总复习 参考试卷
一、选择题(共22分)
1.下列变量名中合法的是____ 。
A)? B.C.Tom? ?????????? B)3a6b? ?????????? C)_6a7b? ?? ??? ?D)? $ABC
2.C程序的执行是从____开始执行
A)第一条语句 ?? ??????? B)主函数??? ??? ??? C)命令行??? ??? D)第一个出现的函数
3.已知ch是字符型变量,下面不正确的赋值语句是____。
A)ch=‘a+b’;???????? ?B)??ch=‘\0’;????? C)ch=‘7’+‘9’;?? ??D)ch=5+9;
4. 与语句 while(x);等价的语句是______。A) while(x==0);??? B) while(x!=0);??? C) while(x!=1);? D) while(~x);
5. 已知 int i;float f;下列语句正确的是______。
A)(int f)%i ??????? B) int(f)%i ??????? C) int(f%i) ??????? D) (int)f%i
6.若int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;,则数值为6的表达式为_____ 。
A) *(p+6)?????????? B)*p+6????????? C)*p+=5???????????? D)p+6
7.以下为一维整型数组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];
8.温度华氏和摄氏的关系是: C=5/9(F-32)。已知:float C,F;由华氏求摄氏的正确的赋值表达式是____。
A)C=5/9(F-32)?????? B)C=5*(F-32)/9? C)C=5/9*(F-32)? D)三个表达式都正确
9.若有以下说明和语句:
struct worker
{?? int no;
char *name;
?}work, *p=&work;
?则以下引用方法不正确的是____。
A) work.no?? ????????? B)(*p).no?? ?????? C)p->no??? ??????? D)work->no
10.为了判断两个字符串s1和s2是否相等,应当使用____。
A)if(s1==s2)?? ???B)if(s1=s2)???? C)if(strcpy(s1,s2))? D)if (strcmp(s1,s2))
11.下述程序的输出是______。main( ){ char c='A';? if('0'<= c <='9') printf("YES");? else printf("NO");}A) YES ???????????? B) NO ????????????? C) YESNO ?????????????? D) 语句错误
二、读程序写结果(共18分)
1.下面程序段的运行结果是__________.
?? int n=0;
?? while(n++<=2);
?????? ?printf("%d",n);
2.下面程序的运行结果是__________.
#include
void main()
{?? int a=15,b=21,m=0;
switch(a%3)
{ ?? case 0:m++;break;
case 1:m++;
switch(b%2)
{ ?? default:m++;
case 0:m++;break;
}
}
printf("%d\n",m);
}
3.下面程序的运行结果是______。
#include
void main()
{ ?? int x=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf(“%d,%d \n”,x,y);
}
4.下面程序的运行结果是______。
#include
void main() {
int i,j,p,s;
s=0;
for(i=1;i<=4;i++){
????????????? p=1;
for(j=1;j<=i;j++)
p=p*j;
s=s+p;
}
printf(“s=%d\n”,s);
}
5.下面程序的运行结果是______。
#include
#include