logo

咨询热线

15020086924 (点击在线咨询)
您现在的位置:山东自考网>历年真题 > 正文
自考攻略

2021年4月山东自考计算机基础与程序设计试题

时间:2022-11-18 10:16:59 作者:储老师

自考助学 课程代码:02275 一、单项选择题(本大题共20小题,每小题1分,共20分) 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1. CPU处理数据和指令的基本单位是字(Word),一个字的字长是(   ) A. 8bits B. 16bits C. 32bits D. 与CPU数据总线有关的bit位数 2. 与十进制1100等值的十六进制数是(   ) A. 44A B. 44C C. 54A D. 54C 3. 退出Turbo C 2.0返回系统,在主菜单File项中可选择(   ) A. Load B. New C. Save D. Quit 4. 设有int a=3, b=-4, c=5;表达式(a<b)? a+b: (a-b,b+4,a-=b+4)的值是(   ) A. –1 B. 0 C. 3 D. 7 5. 若有下列程序段,欲使a=2、b=3,对应正确的数据输入方法是(   ) (其中<CR>表示换行)   int a, b;   scanf(″a=%d  b=%d″,&a, &b); A. 2<CR> B. a=2 b=3<CR>   3<CR> C. a=2, b=3<CR> D. 2,3<CR> 6. 下面程序段的输出结果是(   ) main() {  int s, p;   s=p=5;   p=++s;   p++; ++p;   printf(″%dn″,p);   } A. 5 B. 6 C. 7 D. 8 7. 下列if语句中,有语法错误的是(   ) A. if(x>y); B. if(x=y)  x+y; C. if(x!=y)  scanf(″%d″, &x)  else scanf(″%d″,&y) D. if(x<y)  {x++; y++;} 8. 下面程序段执行后的输出结果是(   ) int  i=-1; if(i<=0)  printf(″* * * * n″); else printf(″%%%%n″); A. **** B.%%%% C. %%%%c D. ****c 9. 下面程序段的循环次数是(   ) int  k=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. 100 B. 101 C. 120 D. 121 11. 下面程序执行后,i的值是(   ) main( ) {  int a [5]={1,2,3,4,5},i=2   printf(″%d″,a[i++]); } A. 1 B. 2 C. 3 D. 4 12. 下面程序的输出结果是(   ) main( ) {  int i, 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. 5 1 B. 5 2 C. 8 2 D. 9 3 13. 在C程序中,若用基本数据类型所定义的变量调用函数,正确的说法是(   ) A. 由系统自动指定对应实参和形参是否共用存储单元 B. 对应实参和形参各占一个独立的存储单元 C. 对应实参和形参共用一个存储单元 D. 可以由用户指定对应实参和形参是否共用存储单元 14. 下面叙述中不正确的是(   ) A. 不同函数中可以使用相同名字的变量 B. 形式参数是局部变量 C. 在一个函数内部定义的变量只能在本函数范围内有效 D. 在一个函数内部的复合语句中定义的变量在本函数范围内有效 15. 设有语句int  a[4][10],*p=*a;则下面表达式中属于地址表达式的是(   ) A. a[1][2] B. a[1] C. *(p+1*10+2) D. *(a[1]+2) 16. 下面定义不正确的是(   ) A. struct star B. struct star   {  { int  id  int  id; char  *name;  char  *name;   }  star1={1001, ″Moon″};  };  star1={1001, ″Moon″}; C. struct D. struct  star   {  { int  id;  int  id; char  *name;  char  *name;   }  star1={123, ″Sun″}; }  star1; 17. 下面各个位运算符的优先级从左到右依次升高的是(   ) A. | ^ & >> B. ^ >> & ~ C. << | ^ ~ D. ~ | & >> 18. 设有说明:int u=1, v=14;表达式u+v>>2的值是(   ) A. 0 B. 3 C. 5 D. 7 19. 如果将文件指针fp指向文件末尾,正确的语句是(   ) A. feof(fp); B. rewind(fp); C. fseek(fp,0L,0); D. fseek(fp,0L,2); 20. 下面程序段中,不能完成的功能是(   ) FILE *fp; char ch =′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. 若定义 char c[11]; 可将字符串″I am a boy″ 赋给数组c,下面正确的选项有 (     )  A. c=″I am a boy″; 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首元素地址的表达式有(     ) int  a[10], *p; p=a; A. a[0] B. a C. p+1 D. p E. *p 24. 设有说明:int  x=1, y=3; 下面表达式的值为2的有(     ) A. y&~x B. x^y C. x|y D. y|x>>1 E. 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)char  str[12];  str=″program″; (2)char *str;  str=″program″; 29.设有说明: struct language {long spearer; char country[20];} chinese; 试写出对chinese的成员spearer和country分别赋值1250000000和”China”的C语句。 四、阅读分析题(本大题共6小题,每小题5分,共30分) 30.阅读下面程序,写出运行结果(已知A的ASCII码为65,a的ASCII码为97)。 #include ″stdio. h″ main( ) {  int k=100;char m; m=k; putchar(m); printf(″,%d,%c,%o, ″k,m-32,m); } 31.阅读下面程序,并回答问题: main() {  int x, y, z, c;   scanf(″%d%d%d″,&x, &y, &z);   if(x<z){c=y; y=z; z=c;}   if(x<z){c=x; x=z; z=c;}   if(x<y){c=x; x=y; y=c;}   printf(″%d, %d, %d″, x, y, z); } (1)若程序运行时,输入3、2和5,则输出结果是什么? (2)写出程序所实现的功能。 32.阅读下面程序,并回答问题: main( ) {  int  m, n; m=65; n=14; while(m!=n) {  while(m>n)m-=n;   while(n>m)n-=m; } printf(″m=%dn″, m); } (1)程序输出结果是多少? (2)外循环执行完一次时,m和n的值分别是多少? (3)将while(n>m)n-=m;语句删除后,程序运行情况如何? 33.阅读下面程序,并回答问题: gcd(int x, int y) {  int  temp;   while (y){temp=x%y; x=y; y=temp;}   return x; } main() {  int  a, b, y;   scanf(″%d, %d″, &a, &b);   y=gcd(a,b);   printf(″最大公约数是:%d″, y); } (1)gcd函数的返回值类型是什么? (2)若将return x写成return y会得到什么样的结果? 34.阅读下面程序,写出运行结果。 mian( ) {  char * str[ ]={″Pascal″, ″C Language″, ″Dbase″, ″Cobol″};   int k;   for(k=0; k<4;k++)   printf(″%sn″, str[k]); } 35.阅读下面程序段,写出输出结果。 struct num {  float f1;   int j; }u={5.6,8},*p=&u; printf(″%.2f,%dn″,u.f1, u.j); printf(″%.2f,%dn″, (*p).f1,p->j); 五、程序设计题(本大题共2小题,每小题12分,共24分) 36.若有n行n列数组,试编写一程序,分别求出两条对角线元素之和。(从键盘输入n*n个整型数,n≤20) 37.若在c:tclt路径下有一个名为zz.dat的文本文件,它包括10个按升序排列的整数,且每两个数之间用逗号隔开,现要插入一个整数使该序列仍保持升序,并把新序列写入到c:tclt路径下名为zzz.dat的文本文件中。

声明:

(一)由于考试政策等各方面情况的不断调整与变化,本网站所提供的考试信息仅供参考,请以权威部门公布的正式信息为准。

(二)本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。

考试提醒

准考证打印时间:10月21-26日
  • 考生交流群
  • 微信公众号
  • 考生交流群 扫一扫加入微信交流群

    与考生自由互动、并且能直接与专业老师进行交流解答。

  • 微信公众号 扫一扫加关注微信公众号

    与考生自由互动、并且能直接与专业老师进行交流解答。

关注公众号

回复“免费资料”领取复习资料

微信公众号

微信公众号

微信交流群

微信交流群

<<点击收起

在线咨询

在线咨询

联系微信
联系
微信
学习群
微信
学习群
在线报名
在线
报名
回到顶部
回到
顶部
APP下载
微信客服
微信交流群