一、单项选择题(每小题3 分,共30分)
1. C语言属于( )。
A) 机器语言 B) 中级语言 C) 低级语言 D) 汇编语言
2. 下列可以作为字符常量的是( )。
A) “a” B) “\n” C) ‘w’ D) “55”
3. 设a=8,b=9,式子a>b?a:b的结果是()
A) 8 B) 9 C) 17 D) 72
4.C语言的三种循环语句是指( )
A) for、do……while、while B)for、break、continue
C)do……while、continue、break D)while、break、continue
5. 有一维数组定义为:int a[5]={6,7,8,9,10};,该数组的最大下标是( )。
A)10 B)5 C)4 D)9
6.int main() { int a=8; {int a=5; printf(“%d”,a);}}
问两次运行该程序,这条输出语句输出的结果是( )。
A) 都是8 B)都是5 C)第一次运行输出8第二次输出5 D)两次运行都输出13
7. 有定义int x=10,b=16,c=20,*pa,*pb,*p;p=&x;pb=&b;问*p是()。
A)16 B)20 C)10 D)&x
8 .变量a、b的二进制数值为a=00001111,b=11110000,则a&b的结果是。( )
A)11111111 B)01010101 C)10101010 D)00000000
9. 下列字符串不是变量的是( )。
A) _HJ B) _above C) _and D) #dfg
10. 判断字符型变量ch为大写字母的表达式是( )。
A) ‘A’<=ch <=’Z’ B)(ch>=’A’)&(ch=’Z’)
C)(ch<=’A’)&&(ch<=’Z’) D) (ch<=’A’)and(ch<=’Z’)
二、填空题(每个空2分,共10分)
11. 要从键盘上给整型变量x输入一个值,完善语句scanf(“%d\n”, );。
12. 已有定义int a[]={3,5,7,9,11,15};则a[5]的值是( )。
13. 有宏定义#define s(r) r*r,又有int a=4,b=5;,则s(a b)的值是( )。
14. 如果a等于b,则将a、b分别赋值100,填空完善用C语言表示if( ) {a=100;b=100}。
15. 已知a=3,b=5,而式子a 3,b a,b 3结果是( )。
三、程序分析(每题4分,共20分)
16.分析下列程序运行结果:
#include<stdio.h>
int add(int x,int y)
{ int sum;
sum=x y;
return(sum);
}
int main()
{ int a,b,c;
a=123;
b=456;
c=add(a,b);
printf(“sum=%d\n”,c);
}
运行结果是( )。
17.阅读程序:
#include<stdio.h>
int main()
{ char c1,c2;
c1=65;
c2=67;
printf(“%d %d\n”,c1,c2);
}
运行结果是( )。
18.阅读程序:
#include<stdio.h>
int main()
{ char c1,c2;
c1=’N’;
c2=’W’;
putchar(c1);
putchar(‘E’);
putchar(c2);
}
运行结果是( )。
19.阅读程序:
#include<stdio.h>
int main()
{ int i=2,j=3,k;
k=i j;
{
int k=8;
if(i==2)
printf(“k1=%d\n”,k);
}
printf(“k2=%d\n”,k);
}
运行结果是( )。
20.阅读程序:
#include<stdio.h>
void square(int *p)
{ *p=*p**p;}
int main()
{ int n=6;
square(&n);
printf(“%d\n”,n);
}
程序运行结果是( )。
四、程序填空(每小题5 分,共20分)
21. 阅读下列比较两个字符串大小的程序程序并完善填空。
#include<stdio.h>
#include<string.h>
int main()
{ char s1[]=”uvw”,s2[]=”uVwxyz”;
if(strcmp(s1,s2)==0)
printf(“s1=s2”);
else if(_________) /*这里需要填空*/
printf(“s1>s2”);
else
printf(“s1<s2”)
}
22.阅读下列将两个变量int a=5,b=9;借助一个变量t实行的值交换的程序并完善填空。
#include<stdio.h>
Int main()
{ int a=5,b=9,t;
{t=a;a=b;________} /*这里需要填空*/
printf(“%d,%d,%d\n”,a,b);
}
23.有一结构体定义如下,请将空缺填充完善。
_______ stu /*这里需要填空*/
{ int num;
char *name;
char sex;
float score;
}boy;
24.以写的方式打开文件后,又将文件关闭,请填空完善。
#include<stdio.h>
#include<stdlib.h>
int mai()
{
file *fp;
if((fp=fopen(“c:\\test.text”,”w”))==NULL)
{
printf(“Can not open file\n”);
exit(0);
}
fclose(_____); /*这里需要填空*/
}
五、编程题(每小题10 分,共20分)
25.编写一个程序,将一维数组int a[10]={1,2,3,4,5,6,7,8,9,10}用for循环输出。
26.编写一个程序,计算s[10]={1,2,3,4,5,6,7,8,9,10}的各元素的和并输出。