一、单项选择题(本大题共20小题,每小题2分,共40分。在每小题给出的四个备选项中,选出一个正确的答案,并将所选项前的字母填写在答题纸的相应位置上。)
1.下列关于C语言的叙述错误的是()。
A.大写字母和小写字母的意义相同
B.不同类型的变量可以在一个表达式中
C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D.同一个运算符号在不同的场合可以有不同的含义
2按照标识符的要求,()不能组成标识符。
A.连接符
B.下划线
C.大小写字母
D.数字字符
3.以下叙述中正确的是()。
A.在C语言中,预处理命令行都以“#”开头
B.预处理命令行必须位于e源程序的起始位置
C. #include必须放在C程序的开头
D.C语言的预处理不能实现宏定义和条件编译的功能
4.在C语言中,不允许有常量的数据类型是( )
A.整型
B.结构型
C.字符型
D. 字符串
5.与x*=y+z等价的赋值表达式是()
A.x=y+z
B.x=xy+2
C.x=x(y+z)
D.x=x+y*2
6.下列运算符中,()不是关系运算符。
A.<=
B.>
C.=
D.!=
A.3
B.4
C.5
D.6
A.0
B.1
C.2
D.3
9.下列语句中,()将输出%d。
A. printf(“%d”);
B. printf(“%%d”);
C. printf(“%d”);
D. printf(“%%%d”);
10.已知int ii,ij.ik;scanf(“%d%d%d”,&ii,&ij,&ik);若希望从键盘输入并使得ii,ij,ik 的值分别为12,3时,则错误的输人方式是()
A.1 2 3
B.1,2,3
C.1(回车)2(回车)3(回车)
D.1(回车)23
11.下列程序段输出结果为()。
#没有主函数不可直接运行
int x =-3, y = 2;
if(x>y);
x=-x;
if(x<y)
y=-y;
printf("x=%d,y=%d\n", x, y);
A. x=3,y=-2
B.x=3,y=2
C. x=-3,y=2
D.x=-3,y=-2
A. while ((ch = getchar)) != ‘N’)printf(“%c”, ch);
B. while (ch =getchar) != ‘N’)printf(“%e”, ch);
C. while (ch = getchar) == ‘N’)printf(“%e”, ch);
D. while ((ch = getchar) == 'N")printf(“%c”, ch);
int main(){ int p[8]={11,12,13,14,15,16,17,18}, i=0, j=0;
while(i++<7)
if(p[i]%2) j+=p[i];
printf("%d\n",j);
return 0;
}
A. 42
B.45
C. 56
D.60
14.在int a[ ][3]={{1,4), (3,2), (4,5,6), {0));中,a[2][1]的值是()。
A.5
B.0
C.6
D.2
A. char str]=“string”;
B. char str(7]=(‘s’, ‘t’, ‘r’, ‘i’, ‘n’, ‘g’);
C.char str[10]; str=“string”;
D. char str7)=(‘s’, ‘t’, ‘r’, ‘i’, ‘n’,‘g’, "10’);
16.下列程序的输出结果是()。
void f(int v, int w)
{ int t;
t=v; v=w; w=t;
}
int main()
{
int x=1, y=3, z=2;
if(x>y) f(x,y);
else if(y>z) f(y,z);
else f(x,z);
printf("%d,%d,%d\n", x, y, z);
return 0;
}
A.1,2,3
B. 3,1,2
C.1,3,2
D.2,3,1
17.C语言规定,数组名做实参时,它和对应的形参之间的数据传递方式是()。
A.地址传递
B.值传递
C.由实参传给形参,再由形参传给实参
D.由用户指定传递方式
#include
int main(){
int x[5]= {2,4, 6, 8, 10}, *p, **pp;
p=x;
pp = &p;
printf("%d", *(p++));
printf("%d\n", **pp);
return 0;
}
A.44.
B.24
C.22
D.46
A. struct是结构体类型的关键字
B. example是结构体类型名
C.x,y,z都是结构体成员名
D. struct ex是结构体类型
20.下面程序的输出结果是
#include
void fun (int *x, int *y){
printf("%d%d", *x,*y);
*x=3; *y=4;
}
int main(){
int x=1,y=2;
fun(&x,&y);
printf("%d%d", x, y);
return 0;
}
A.2134
B.1212
C.1234
D.2112
二、程序阅读题(本大题共5小题,每小题6分,共30分。请将程序的运行结构填写在答题纸的相应位置上。
1___________
#include
void main()
{
int num, r;
num = 17;
r = num % 2;
if(r=0) printf("even");
else printf("odd");
}
2_________
#include
#define N 7
void main()
{
int i,j,temp,a[N]={1,2,3,4,5,6,7};
for(i = 0;i<N/2;i ++)
{
j= N-1-i;
temp=a[i];a[i]=a[j];a[j]=temp;
}
for(i=0;i<N;i++) printf("%d ",a[i]);
}
3_________
#include
void p(int x,int*y){
*y=x++;
}
void main(){
int x=0,y=0;
p(10,&y);
printf("%d,%d#",x,y);
p(y,&x);
printf("%d,%d#",y);
}
4______
#include
int hzct(int n)
{
if(n==4) return 1;
else return 2*(hzct(n+1)+1);
}
int main()
{
printf("%d\n",hzct(1));
}
5______
#include
int main(){
int fac(int n);
int i;
for(i=1;i<=5;i++)
printf("%d!=%d\n",i,fac(i));
}
int fac(int n)
{
static int f=1;
f=f*n;
return(f);
}
三、程序填空题(每空5分,共35分。请将答案填写在答题纸的相应位置上。)
1.输出 1 到100之间的所有完数。要求定义和调用函数is(n)判断n是否为完数,若n为完数则返回1,否则返回0。完数就是因子和与它本身相等的数,6是完数(6=1+2+3),1不是完数。
#include
int main()
{
int i;
int is(int n);
for(i= 1; i<=100; i++)
if( is(i))
printf("%d ", i);
return 0;
}
int is(int n)
{
int i, sum;
_________;
sum=0;
for(i = 1; i <= n/2; i++)
if(______)
sum=sum + i;
if(_______)
return 1;
else
return 0;}
```
2. 下面程序的功能是利用指向结构体数组元素的指针,从键盘输入30名学生信息并进行访问,统计来自"山东"的学生人数,请填空。
```c
#include "stdio.h"#
define N 30
#include "string.h"
typedef struct student
{
int number;
char name[8];
char addr[20];
}STU;
void main()
{ STU stu[N],*p;
int count=0;
printf("input students information:\n");
for(p=stu;p<______)p++)
{ scanf("%d %s %s",_________);
if(________)
count++;
}
printf("%d come from 山东n",);
}
四、编程题(本大题共3小题,每小题15分,共45分。请在答题纸的相应位置上作答。)
1.按照规定,在高速公路上行使的机动车,达到或超出本车道限速的10%则处200元罚款;若达到或超出50%,就要吊销驾驶证。编写程序根据车速和限速自动判别对该机动车的处理。输入2个正整数,分别对应车速和限速。输出处理意见:若属于正常行驶,则输出"OK";若应处罚款,则输出"Exceed x%. Ticket 200";若应吊销驾驶证,则输出"Exceed x%. License Revoked"。其中x是超速的百分比,精确到整数。
2,请按要求编程:由键盘输入全班30名学生成绩,按成绩从高到低排序,并输出排序后的成绩。要求:(1)主函数中输入30名学生成绩,输出排序后的成绩(2)子函数中对30个成绩排序
3,编写函数:函数int IsSquare(long int n)功能判定完全平方数。若一个数能表示成某个数的平方的形式,则称这个数为完全平方数。