计算机基础与程序设计试题.docx
- 文档编号:9706160
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:91
- 大小:83.07KB
计算机基础与程序设计试题.docx
《计算机基础与程序设计试题.docx》由会员分享,可在线阅读,更多相关《计算机基础与程序设计试题.docx(91页珍藏版)》请在冰点文库上搜索。
计算机基础与程序设计试题
全国2006年4月计算机基础与程序设计试题
一、单项选择题(本大题共20小题,每小题1分,共20分)
1.CPU处理数据和指令的基本单位是字(Word),一个字的字长是( )
A.8bitsB.16bitsC.32bitsD.与CPU数据总线有关的bit位数
2.与十进制1100等值的十六进制数是( )
A.44AB.44CC.54AD.54C
3.退出TurboC2.0返回系统,在主菜单File项中可选择( )
A.LoadB.NewC.SaveD.Quit
4.设有inta=3,b=-4,c=5;表达式(a
a+b:
(a-b,b+4,a-=b+4)的值是( )
A.–1B.0C.3D.7
5.若有下列程序段,欲使a=2、b=3,对应正确的数据输入方法是( )
(其中
inta,b;
scanf(″a=%db=%d″,&a,&b);
A.2
3
6.下面程序段的输出结果是( )
main()
{ints,p;
s=p=5;
p=++s;
p++;++p;
printf(″%d\n″,p);
}
A.5B.6C.7D.8
7.下列if语句中,有语法错误的是( )
A.if(x>y);
B.if(x=y)x+y;
C.if(x!
=y)scanf(″%d″,&x)elsescanf(″%d″,&y)
D.if(x 8.下面程序段执行后的输出结果是( ) inti=-1; if(i<=0)printf(″****\n″); elseprintf(″%%%%\n″); A.****B.%%%%C.%%%%cD.****c 9.下面程序段的循环次数是( ) intk=2; while(k==0)printf(″%d″,k); k--;printf(″\n″); A.0次B.1次C.2次D.无限次 10.下面程序段的输出结果是( ) a=100; while(a>120); a=a+1; printf(″%d″,a); A.100B.101C.120D.121 11.下面程序执行后,i的值是( ) main() {inta[5]={1,2,3,4,5},i=2 printf(″%d″,a[i++]); } A.1B.2C.3D.4 12.下面程序的输出结果是( ) main() {inti,x[3][3]={9,8,7,6,5,4,3,2,1}; for(i=0;i<4;i+=2)printf(″%d″,x[i][1]); } A.51B.52C.82D.93 13.在C程序中,若用基本数据类型所定义的变量调用函数,正确的说法是( ) A.由系统自动指定对应实参和形参是否共用存储单元 B.对应实参和形参各占一个独立的存储单元 C.对应实参和形参共用一个存储单元 D.可以由用户指定对应实参和形参是否共用存储单元 14.下面叙述中不正确的是( ) A.不同函数中可以使用相同名字的变量B.形式参数是局部变量 C.在一个函数内部定义的变量只能在本函数范围内有效 D.在一个函数内部的复合语句中定义的变量在本函数范围内有效 15.设有语句inta[4][10],*p=*a;则下面表达式中属于地址表达式的是( ) A.a[1][2]B.a[1]C.*(p+1*10+2)D.*(a[1]+2) 16.下面定义不正确的是( ) A.structstarB.structstar {{ intidintid; char*name;char*name; }star1={1001,″Moon″};};star1={1001,″Moon″}; C.structD.structstar {{ intid;intid; char*name;char*name; }star1={123,″Sun″};}star1; 17.下面各个位运算符的优先级从左到右依次升高的是( ) A.|^&>>B.^>>&~C.<<|^~D.~|&>> 18.设有说明: intu=1,v=14;表达式u+v>>2的值是( ) A.0B.3C.5D.7 19.如果将文件指针fp指向文件末尾,正确的语句是( ) A.feof(fp);B.rewind(fp);C.fseek(fp,0L,0);D.fseek(fp,0L,2); 20.下面程序段中,不能完成的功能是( ) FILE*fp; charch=′v′; fp=fopen(″boy″,″rb+″); fputc(ch,fp); A.建立文件指针fp与文件boy的联系B.从boy文件中读取一个字符 C.向boy文件中写一个字符D.打开名为boy的二进制文件 二、多项选择题(本大题共5小题,每小题2分,共10分) 21.总线是连接微机CPU、内存和外设之间传送信号的公共通道,微机的总线包括有( ) A.电源线B.数据线C.地址线D.控制线E.网络线 22.若定义charc[11];可将字符串″Iamaboy″赋给数组c,下面正确的选项有( ) A.c=″Iamaboy″;B.getchar(c);C.gets(c);D.scanf(″%s″,c); E.for(i=0;i<10;i++)scanf(″%c″,&c[i];c[10])=’\0’; 23.若有如下定义和语句,则能正确表示数组a首元素地址的表达式有( ) inta[10],*p; p=a; A.a[0]B.aC.p+1D.pE.*p 24.设有说明: intx=1,y=3;下面表达式的值为2的有( ) A.y&~xB.x^yC.x|yD.y|x>>1E.x<<1|y>>2 25.在C语言中,关于符号FILE下面说法正确的有( ) A.FILE是C的关键字B.FILE表示一种关于文件参数的结构体类型 C.FILE表示一种关于文件参数的结构体变量D.FILE*可以用来说明文件指针 E.文件指针指向的变量的数据类型是FILE 三、简答题(本大题共4小题,每小题4分,共16分) 26.C语言中如何表示“真”和“假”? 系统如何判断一个量的“真”和“假”? 27.什么是“直接递归调用”? 什么是“间接递归调用”? 28.判断下面两程序段正确与否,并说明原因。 (1)charstr[12];str=″program″; (2)char*str;str=″program″; 29.设有说明: structlanguage{longspearer;charcountry[20];}chinese; 试写出对chinese的成员spearer和country分别赋值1250000000和”China”的C语句。 四、阅读分析题(本大题共6小题,每小题5分,共30分) 30.阅读下面程序,写出运行结果(已知A的ASCII码为65,a的ASCII码为97)。 #include″stdio.h″ main() {intk=100;charm; m=k;putchar(m); printf(″,%d,%c,%o,″k,m-32,m); } 31.阅读下面程序,并回答问题: main() {intx,y,z,c; scanf(″%d%d%d″,&x,&y,&z); if(x if(x if(x printf(″%d,%d,%d″,x,y,z); } (1)若程序运行时,输入3、2和5,则输出结果是什么? (2)写出程序所实现的功能。 32.阅读下面程序,并回答问题: main() {intm,n; m=65; n=14; while(m! =n) {while(m>n)m-=n; while(n>m)n-=m; } printf(″m=%d\n″,m); } (1)程序输出结果是多少? (2)外循环执行完一次时,m和n的值分别是多少? (3)将while(n>m)n-=m;语句删除后,程序运行情况如何? 33.阅读下面程序,并回答问题: gcd(intx,inty) {inttemp; while(y){temp=x%y;x=y;y=temp;} returnx; } main() {inta,b,y; scanf(″%d,%d″,&a,&b); y=gcd(a,b); printf(″最大公约数是: %d″,y); } (1)gcd函数的返回值类型是什么? (2)若将returnx写成returny会得到什么样的结果? 34.阅读下面程序,写出运行结果。 mian() {char*str[]={″Pascal″,″CLanguage″,″Dbase″,″Cobol″}; intk; for(k=0;k<4;k++) printf(″%s\n″,str[k]); } 35.阅读下面程序段,写出输出结果。 structnum {floatf1; intj; }u={5.6,8},*p=&u; printf(″%.2f,%d\n″,u.f1,u.j); printf(″%.2f,%d\n″,(*p).f1,p->j); 五、程序设计题(本大题共2小题,每小题12分,共24分) 36.若有n行n列数组,试编写一程序,分别求出两条对角线元素之和。 (从键盘输入n*n个整型数,n≤20) 37.若在c: \tclt路径下有一个名为zz.dat的文本文件,它包括10个按升序排列的整数,且每两个数之间用逗号隔开,现要插入一个整数使该序列仍保持升序,并把新序列写入到c: \tclt路径下名为zzz.dat的文本文件中。 全国2006年7月计算机基础与程序设计试题 一、单项选择题(本大题共20小题,每小题1分,共20分) 1.存储量1MB等于( ) A.23字节B.210字节C.220字节D.230字节 2.下面数据中最小数是( ) A.(0.1100)2B.(0.64)8C.(0.8125)10D.(0.D)16 3.在TurboC2.0中,寻求在线帮助可按键( ) A.F1B.F5C.F9D.F10 4.设有inta=3,b=-4,c=0;表达式((a>b)? a: b)&&c<0的值是( ) A.-4B.0C.1D.3 5.若有下列程序段,欲使a=2、b=3,对应正确的数据输入方法是( ) (其中 inta,b; scanf(″a=%d,b=%d″,&a,&b); A.2 3 6.下面程序段的输出结果是( ) main() {ints,p; s=p=5; p=--s; p++;++p; printf(″%d\n″,p); } A.5B.6C.7D.8 7.关于if语句下面叙述正确的是( ) A.只有当if语句中表达式的值等于1时,才执行if的内嵌语句 B.只有当if语句中表达式的值为假时,才执行if的内嵌语句 C.只有当if语句中表达式的值等于0时,才执行if的内嵌语句 D.只要if语句中表达式的值非0时,就执行if的内嵌语句 8.若执行下面程序时,从键盘输入数据3和4,则程序的输出结果是( ) main() {inta,b,s; scanf(″%d″,&a,&b); s=a; if(a s=s*s; printf(″%d″,s); } A.9B.12C.16D.25 9.若intx=0;则while(x==0);的循环次数是( ) A.0B.1C.2D.无限次 10.下面程序段的输出结果是( ) for(i=1;i<3;i++) {for(j=1;j<3;j++) printf(″%d″,i+j); printf(″\n″);} A.2334B.234C.23D.2 3434 11.下面程序的输出结果是( ) mian() {inta[5]={2,4,6,8,10},i; i=2; printf(″%d″,a[i++]); } A.2B.4C.6D.8 12.下面程序的输出结果是( ) main() {inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; inti,j,k=0; for(i=0;i<3;i++) k=k+a[i][0]; printf(″%d\n″,k); } A.27B.33C.39D.45 13.以下正确的函数定义形式是( ) A.doublefun(intx,inty)B.doublefun(intx;inty) C.doublefun(intx,inty);D.doublefun(intx,y); 14.关于变量以下不正确的说法是( ) A.在不同函数中可以使用相同名字的变量 B.形式参数是全局变量 C.在函数内定义的变量只在本函数范围内有效 D.在函数内的复合语句中定义的变量是局部变量 15.设有语句inta[4][10],*p=*a;则下列表达式中不是地址表达式的是( ) A.&a[1][2]B.a[3]C.*(p+1*10+2)D.p+1*10+2 16.下面关于结构体类型变量定义不正确的是( ) A.structscoreB.struct {{ intmath;intmath; intChinese;intChinese; }Li,Wang;}Li,Wang; C.structscoreD.structscore {{ intmath;intmath; intChinese;intChinese; };};Li,Wang; structscoreLi,Wang; 17.下面各个运算符的优先级从左到右依次降低的是( ) A.&>>|^B.~&>>|C.>>&^|D.~>>&^ 18.设有说明: intu=1,v=2;表达式: u+v<<2的值是( ) A.-1B.1C.9D.12 19.下面程序段中,不能完成的功能是( ) FILE*fp; charch; fp=fopen(″file1″,″rb+″); ch=fgetc(fp); A.建立文件指针fp与文件file1的联系B.从file1文件中读一个字符 C.向file1文件中写一个字符D.打开名为file1的二进制文件 20.在格式: fread(stu,size,n,fp);中,下面说法不正确的是( ) A.stu是内存中存放数据的首地址B.n表示读n次 C.size是一个数据块的字节数D.fp表示文件指针 二、多项选择题(本大题共5小题,每小题2分,共10分) 21.微机系统的主机包含的部件有( ) A.输入设备B.存储器C.输出设备D.运算器E.控制器 22.下面各选项中,能正确进行字符串操作的有( ) A.chars[]={′a′,′b′,′c′,′d′,′e′,′\0′}; B.chars[10];s=″abcde″; C.chars[10];strcpy(s,″abcde″) D.chars[10];getchar(s); E.chars[10];gets(s); 23.若有以下定义和语句,则能正确表示数组a首元素地址的表达式有( ) doublea[5],*p1 p1=a; A.aB.p1+1C.*p1D.&a[1]E.p1 24.设有说明: intu=1,v=3,w=7;下面表达式的值为3的有( ) A.w>>1&v|uB.u&v&wC.u|v&wD.w&v<<1E.v^w|u 25.在C语言中,下面关于文件说法正确的有( ) A.按数据的组织形式,可分为文本文件和二进制文件B.文件只能是ASCII码文件 C.文件能用fopen()函数打开D.文件只能是二进制文件 E.对打开的文件可以进行读或写操作 三、简答题(本大题共4小题,每小题4分,共16分) 26.简述C语言中标识符的命名规则并说明C语言中哪些名是用标识符来标识的? 27.变量有哪几种存储类别? 指明它们存储数据的区域。 28.定义char*str=″computer″;是将字符串″computer″赋值给变量str,这种说法对吗? 为什么? 29.设有说明: structflower{char*part;char*color;}mum; char*part_of_flower[3]={″花″,″茎″,″叶″}; char*seven_color[7]={″赤″,″橙″,″黄″,″绿″,″青″,″蓝″,″紫″}; 试写出将mum的成员part定义为″花″、成员color定义为″黄″的C语句。 四、阅读分析题(本大题共6小题,每小题5分,共30分) 30.阅读下面程序,写出运行结果。 main() {inta=789,x,y,z; x=a/100; y=a/10-10*x; z=a-10*y-100*x printf(″%d,%o,%x,%d″,x,y,z,100*z+10*y+x); } 31.阅读下面程序,并回答问题: main() {inta,b,x,y; scanf(″%d,%d″,&a,&b); x=a*a+b*b if(x>100) {y=x/100;printf(″%d″,y);} elseprintf(″%d″,a+b); } (1)若程序运行时,输入6和9,输出结果是什么? (2)说明程序的功能。 32.阅读下面程序,并回答问题: main() {intu,v,a,b,t,r; u=24;v=16; if(u>v){t=u;u=v;v=t;} a=u;b=v; while((r=b%a)! =0) {b=a;a=r;} printf(″a=%d\n″,a); } (1)程序输出结果是什么? (2)该程序完成什么功能? (3)若将while循环替换为do-while循环,请写出相应的程序段。 33.阅读下面程序,写出运行结果。 inta=5,b=5; chang1() {inta=4; printf(″a1=%d,b1=%d\n″,a,b++); } chang2(inta,intb) {a++;b--; } main() {chang1();a++,b++;chang2(a,b); printf(″a2=%d,b2=%d\n″,a,b); } 34.阅读下面程序,写出运行结果。 #include #include main() {charp1,p2,srt[50]=″abc″,str1[50]; p1=″abc″;p2=″abc″; puts(str); strcpy(str1,p1); p1=str1; printf(″%s\n″,strcat(p1,p2)); strcpy(str+1,p1); printf(″%s\n″,str); } 35.设有说明语句int*p;请分析下面语句的含义: p=(int*)malloc(sizeof(int)); free(p); 五、程序设计题(本大题共2小题,每小题12分,共24分) 36.从键盘输入n*n个整型数(n≤20),组成n行n列数组,打印出其上三角数组。 37.用循环语句编程打印下列图案,并以ASCII码的形式写到c盘根目录下的1x.dat文件中。 (第一行的″$″在第20列) $ $$$ $$$$$ $$$$$$$ 全国2007年4月计算机基础与程序设计试题 一、单项选择题(本大题共20小题,每小题1分,共20分) 1.I/O设备指的是计算机的( ) A.存储设备B.输入和输出设备C.控制器D.运算器 2.具有只读功能的内存储器是指( ) A.ROMB.RAMC.硬盘D.CD-ROM 3.十进制数-5在八位的微机内的存储形式是( ) A.00000101B.10000101C.11111010D.11111011 4.C语言源程序的基本单位是( ) A.过程B.函数C.子程序D.语句 5.设有intp,q;以下不正确的语句是( ) A.p*=3;B.p/=q;C.p+=3;D.p&&=q; 6.若有下列程序段,欲使a=2,b=3,对应正确的数据输入方法是(其中 inta,b scanf("%d%d",&a,&b); A.2 3 7.设有说明intx=0,y=2; 则执行if(x=0)y=1+x; elsey=x-1; 后,变量y的值是( ) A.-1B.0C.1D.2 8.下面程序的输出结果是( ) main() { intx=5,y; if(x>0) y=1; y=0; if(x<0) y=-1; printf("%d",
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 基础 程序设计 试题