计算机基础与程序设计试题及答案Word文件下载.docx
《计算机基础与程序设计试题及答案Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机基础与程序设计试题及答案Word文件下载.docx(8页珍藏版)》请在冰豆网上搜索。
0)B.!
a||aC.a%=aD.a>
=a
5.如果a=5,b=2,c=3,d=4,则表达式a>
b?
a:
c>
d?
c:
d的值是()。
A.2B.3C.4D.5
6.在C程序中,设一表达式中包含有int,long,char和unsigned类型的变量和数据,这四种类型数据的转换规则是()。
A.int→unsigned→long→charB.char→int→long→unsigned
C.char→int→unsigned→longD.int→char→unsigned→long
7.设有说明:
inta=11,b=10;
执行表达式a%=b+(a&
b)后,a的值为()。
A.0B.1C.11D.22
8.下面程序段的运行结果是()。
main()
{
intx=1,y=2,z=3,s=0;
if(y>
x)
z)s=1;
elses=2;
elses=3;
printf(”%d\n”,s);
}
A.0B.1C.2D.3
9.设有说明:
intx=1,y=2;
执行条件表达式(x=y)?
++x:
--x后,x的值为:
()。
10.若k为整型变量,则下面while循环()。
k=10;
while(k==0)k=k-1
A.执行0次B.执行1次
C.执行10次D.执行无限次
11.关于for(;
;
);
语句,下面说法正确的是()。
A.有语法错误B.循环一次也不执行
C.循环只执行一次D.循环执行无限次
12.以下对一维数组a的正确定义是()。
A.inta(10);
B.intn=10,a[n];
C.intn;
D.#defineSIZE10
scanf(”%d”,&
n);
inta[SIZE];
inta[n];
13.以下一维数组初始化语句中,正确的是()。
A.inta[5]={1,2};
B.inta[5]={};
C.inta[5]={5*2}D.inta[]=(1,2,0,0,0);
14.若定义字符数组chars[5]=”BOOK”;
则输出该串正确的函数调用是()。
A.puts(s[10]);
B.puts(s);
C.printf(”%c”,s);
D.printf(”%s”,&
s);
15.下列定义不正确的是()。
A.#definePI3.1415926B.staticcharc;
C.intmax(x,y);
D.int*p[5];
intx,y;
{}
16.下列哪种数据不是存放在动态存储区中()。
A.局部自动变量B.局部静态变量
C.函数调用时的现场保护数据D.函数形参变量
17.设有chars[]=”top”,*p=s;
p[1]=‘a’;
则下面说法不正确的是:
A.s[0]存放字符tB.s[1]存放字符0
C.s[1]存放字符aD.s[2]存放字符p
18.定义一个指向具有5个元素的一维整型数组的指针变量的正确定义为()。
A.int*p[5];
B.int*p;
C.int(*p)[5];
D.int*p[][5];
19.下面程序的运行结果是()。
#defineSQR(x)((x)*(x))
#include<
stdio.h>
{floatv=3.0;
printf(”sqr=%.2f\n”,SQR(v)+1);
}
A.sqr=3.0B.sqr=9.0C.sqr=10D.sqr=10.00
20.feof函数用来判断文件是否结束,如果文件没有结束,则返回值是()。
A.-1B.0C.1D.EOF
二、多项选择题(本大题共5小题,每小题2分,共10分)
在每小题列出的五个备选项中有二至五个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选、少选或未选均无分。
21.下面哪些软件属于操作系统范畴?
A.DOSB.FoxproC.TurboC
D.UNIXE.Windows
22.在下列各说法中,正确的说法有()。
A.与while结构相比,do…while结构至少要执行一次循环。
B.for结构和do…while结构类似,也是“先判断后执行”。
C.do…while结构是“先执行后判断”。
D.进入do…while循环的条件是:
条件表达式为1。
E.退出while循环的条件是:
23.若有如下定义和赋值()。
inta=3,*p,*q;
p=&
a;
q=p;
则能够输出变量a的地址值的语句是:
A.printf(”%d\n”,p);
B.printf(”%d\n,*q”);
C.printf(”%d\n”,a);
D.printf(”%d\n”,*p);
E.printf(”%d\n”,q);
24.设有定义intx[4][5],*p;
以及赋值p=*x;
则非法的表示x数组元素的形式是()。
A.x[4][5]B.x[1]C.*(x[1]+2)
D.x[2][3]E.p[20]
25.表达式~0<
<
2的值可以是()。
A.-4B.-3C.0xfffc
D.0177774E.65531
三、填空题(本大题共10小题,每小题1分,共10分)
请在每小题的空格中填上正确答案。
错填、不填均无分。
26.用一字节表示十进制-7在机内的存储形式是___________。
27.C语言中的函数应由___________和函数体两部分组成。
28.在格式输出语句中,用于字符串输出的格式符是%___________。
29.设有intx=10;
则执行while(x^x)++x;
后,x的值是___________。
30.设i,y,s均为int型变量,则执行下面for循环后,y的值为___________。
for(i=0,y=0;
i<
4;
){s=i*i;
y=y+s;
i++;
31.设有inty[2][3]={5,4,6,7,8,9};
则y[1][1]的值为___________。
32.定义在函数内部的变量和函数的形参都是___________变量。
33.若p为指针变量,则(*p)++表示先取指针p指向的对象再使对象的___________。
34.已知定义:
union{longx;
inty;
}data;
则变量data占用内存的字节数是___________。
35.字符串读函数fgets()的格式是fgets(str,n,fp);
它的功能是从与fp有联系的文件中读___________个字符。
四、简答题(本大题共4小题,每小题3分,共12分)
36.简述字符常量与字符串常量的差异。
37.在C语言的if语句中,用作条件判断的“表达式”可以是什么类型的表达式?
38.用字符串指针变量处理字符串与用字符数组处理字符串有何不同?
36.简述fread函数的作用,其使用格式如下:
fread(stu,size,n,fp);
其中fp为文件指针,size为字节数,n为整数,stu为内存地址。
五、阅读分析题(本大题共7小题,每小题4分,共28分)
40.阅读下列程序并写出运行结果。
#include”stdio.h”
#include”string.h”
{charstr[]=”department”,*p=s;
printf(”thelengthofsrtis%d”,strlen(p));
prinft(”\n%s”,p);
41.阅读下列程序并写出运行结果。
{inti=3,b;
b=(i--)+(i--)+(i--);
printf(”%d,%d\n”,b,i);
42.阅读下列程序,并回答问题。
{ints=0,k;
for(k=4;
k>
=0;
k--)
{switch(k)
{case1:
case4:
s++;
break;
case0:
case2:
break;
case3:
s+=2;
printf(”s=%d\n”,s);
试回答switch语句共执行多少次并写出运行结果。
43.阅读下列程序并写出运行结果。
{inty[2][3]={5,4,6,7,8,9};
intm[2],k,j;
for(k=0;
k<
2;
k++){
m[k]=y[k][0];
for(j=1;
j<
3;
j++)
if(y[k][j]<
m[k])m[k]=y[k][j];
k=0;
printf(”%d\n”,m[k]);
第44题、第45题请参阅下面程序,并回答相关问题:
{inti,j,x=0;
for(i=0;
i<
i++)
{x++;
for(j=0;
=3;
{if(j%2)continue;
x++;
printf(”x=%d\n”,x);
44.if(j%2)continue;
语句的作用是什么?
continue语句执行了多少次?
45.程序输出结果是多少?
46.设指向单向链表的头结点指针head是一个全局指针变量,且有如下程序:
voiddisplay()
{structfood*p=head;
while(p!
=NULL)
{printf(”%s\n”,p→name);
printf(”%d\n”,p→product);
p=p→next;
设程序已经提供了关于food结构体的全部信息,试写出结构体food的定义。
六、程序设计题(本大题共2小题,第47题8分,第48题12分,共20分)
47.对下面的3行3列的二维整型数组x:
intx[3][3]={1,2,3,4,5,6,7,8,9};
编程求每一行中元素的累加和并输出之。
48.从键盘输入一些字符,逐个把它们送到磁盘上并统计这些字符的个数,直到输入一个“#”为止。
设磁盘ASCII码文件名为ab.txt。