深大C语言期末考试模拟题1由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言期末考试试题1”。
一、单选题
1.是构成C语言的基本单位。
A.函数B.过程C.子程序D.子例程
2.能正确表示a≥10或a≤0关系表达式的是
A.a>=10 or a=10 | a=10 || a=10,a
3.以下是C合法的标识符。
A.A#CB.entryC.voidD.ab*
4.设c1是char类型的变量,则判断c1是否为数字字符的正确表达式是。
A.(c1>=’0’)&&(c1=0)&&(c1
C.’0’=’0’)||(c1
5.在C语言中,字符型数据在内存中是以形式存放的。
A.原码B.BCD码C.反码D.ASCII码
6.若有以下类型说明语句:char w;int x;float y;double z,则表达式w*x+z-y结果的类型是:。
A.floatB.charC.intD.double
7.若有int a=0,x=1;则循环语句 while(a
A.无限次B.不确定次C.10次D.9次
8.定义int n=5;下面语句的输出结果为。
printf(n%2 ? “AAA”:”BBB”);
A.无输出B.AAAC.BBBD.AAABBB
9.下列语句中,正确的是:
A.int a[3][]={{1},{2}}B.int a[][]={{1,2},{4},{5,6,7}};
C.int a[3][]={{1,2},{4,5}};D.int a[4][3]={{1},{4,2},{0,6,7}};
10.下列定义不正确的是:。
A.int i, *p=i;B.int *p,i;C.int i,*p=&i;D.int i,*p;
11.在C语言程序中,有关函数的描述正确的是。
A.函数的定义可以嵌套,但函数的调用不可以嵌套。
B.一个C语言程序的执行是从函数main开始,直到最后一个函数结束。
C.C语言函数的返回值类型由定义函数时所指定的函数值类型决定。
D.若一个C语言程序由多个函数组成,必须完全按调用顺序书写程序。
12.调用函数时若以数组名(一维数组)作为实参,则实际上传递的是。
A.数组第一个元素值B.数组中所有元素值
C.数组第一个元素地址D.数组元素个数
13.有如下定义“char str1[20]=”Visual”,str2[10]=”C++6.0”;int c;”,调用函数strcat(str1,str2);后,str1的内容是。
A.VisualB.C++6.0C.VisualC++6.0D.C++6.0Visual
14.若定义: char str[3]=”AB”;char *p=str+1;则*(p+1)的值为。
A.”B”B.’B’C.’ ’D.0
15.若有以下定义和语句,不正确的引用方式是:。
Struct person
{ int no;
char name[10];
} stu, *p=&stu;
A.stu.noB.(*p).noC.p->noD.stu->no
16.下列正确的预编译命令是。
A.define PI 3.14159B.#define P(a,b)strcpy(a,b)
C.#define stdio.hD.#define PI 3.14159
17.放100个学生的数据、包括学号、姓名、成绩。在如下的定义中,不正确的是。
A.struct student {int sno;char name[20];float score;} stu[100];
B.struct student stu[100] {int sno;char name[20];float score;};
C.struct{ int sno;char name[20];float score;} stu[100];
D.struct student {int sno;char name[20];float score};struct student stu[100];
18.在下列语句中,将C定义为文件型指针变量的是。
A.FILE cB.FILE *cC.file cD.file *c
19.若用函数打开一个已存在的文本文件,保留该文件原有数据,且可读可写,文件打开模式是:。
A.”r”B.”w+”C.”a+”D.”a”
二、程序阅读题
1.假定所有变量均已正确定义,则下列程序段运行后y的值是:。
int a=0,y=10;
if(a=0)y=y-1;
else if(a>0)y=y+1;
else y+=y;
A.20B.11C.9D.0
2.定义int n=7下面程序段的执行结果为
switch(n)
{
case 6: n+=2;break;
case 7: n+=3;break;
case 8: n+=4;break;
case 9: n++;
}
printf(“%dn”,n);
A.8B.9C.10D.1
13.下面程序的运行结果是。
#include
main()
{ int y;
for(y=9;y>0;y--)
{ if(y%3!= 0)
continue;printf(“%d”,y);}
printf(“n”);
}
A.369B.963C.875D.246
4.有一函数的定义:void fun(char *s){„„} 不正确的函数调用是。
A.main()B.main()
{char a[20]=”abcdefgh”;{ char a[20]=”abcdefgh”;
fun(a);fun(&a[0]);
…………
}}
C.main()D.main()
{char a[20]=”abcdefgh”;{ char a[20]=”abcdefgh”;
char *p=a;fun(p);fun(a[5]);
…………
}}
5.若输入字符串“Szu!”,程序的运行结果是。
#include
void main()
{char c;
while((c=getchar())!='n')
{if((c>='a' && c='A' && c
{ c=c-4;
if(c='a'-4 || c
}
printf(“%c”,c);
}
}
A.Wdy!B.Szu!C.Ovq!
6.程序的运行结果是。
#include
void main()
{int f1(int);
int a=1,i;
for(i=0;i
printf(“%d ”,f1(a));
}
int f1(int a)
{auto int b=0;
static c=3;
a=a+1;b=b+1;c=c+1;
return(a+b+c);
}
A.7 8 9B.7 7 7C.8 9 10
7.下列程序的输出结果为。
#include
void main()
{
int a[2][3],b[3][2],i,j;
for(i=0;i
for(j=0;j
{a[i][j]=3*i+j+1;D.Wdy!!D.2
4b[j][i]=a[i][j];}
for(i=0;i
{
for(j=0;j
printf(“%2d”,b[i][j]);
printf(“n”);
}
}
A.1 4B.1 2 3C.3 3D.2
5 66
8.下列程序的运行情况为。
#include
int fun(int x)
{
int p;
if(x==0 || x==1)return 3;
p= fun(x-2)+1;
return p;
}
void main()
{
printf(“%dn”,fun(7));
}
A.5B.9
9.下列程序的输出结果为。
#include
void main()
{void f(int *x,int n);
int i,a[5]={2,4,3,1,10};
f(a,5);
for(i=0;i
printf(“%d,”,a[i]);
printf(“n”);
}
void f(int *x,int n)
{int *p,temp,*i,*j,m=(n-1)/2;
i=x;j=x+n-1;p=x+m;
for(;i
{temp=*i;*i=*j;*j=temp;
return
}3 33 63 34 7C.6D.3}
A.2,4,3,1,10B.10,4,3,2,1C.1,2,3,4,10D.10,1,3,4,210.下面程序的功能是。
#include
#include
main()
{FILE *fp;
char str[]=”enjoy”;
int i;
fp=fopen(“study1”,”w”);
for(i=0;i
fputc(str[i],fp);
fclose(fp);
}
A.在屏幕上显示“enjoy”B.把“enjoy”存入study1
C.在打印机上打印出“enjoy”D.在屏幕上显示“study1”
三、编程题
1.编写程序,由键盘输入某位同学的百分制成绩,要求:
(1)将其转换为等级制输出。转换标准是:90-100分,‘A’,80-89分,‘B’,70-79分,‘C’,60-69分,‘D’,60分以下,‘F’。
(2)如输入的成绩不在0-100之间,提示“输入错误!”。
2.编写程序,实现由键盘输入15个整数,按照由大到小的顺序重新排序,并输出排序后的结果。
3.编写程序:计算5!+7!要求定义一个求阶乘函数(fac),调用函数来完成计算。
4.用结构体存放下表中的学生成绩,计算平均成绩(avg),将表中的数据和avg