计算机基础与程序设计试题及答案.docx
计算机根底与程序设计试题课程代码:02275一、单项选择题本大题共 20 小题,每题 1 分,共 20 分在每题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多项选择或未选均无分。1. 微机一般是 16 位机或 32 位机,它指的是机器的()。 A.速度B.容量C.系列号D.字长2. 假设当前路径为 C 盘 TC 子名目,仅将 A 盘根名目下的文件名第 3 个字符为 P,扩展名为 C的全部文件复制到C 盘TC 子名目下,肯定成功的命令是()。A.COPY A:*P*.CB.COPY A:?P*.C C: C.COPY A:?P*.CD.COPY ?P*.C C:TC3. 在C 程序中,main 函数的位置是()。A.必需作为第一个函数B.必需作为最终一个函数C.可以放在任意位置D.必需放在它所调用的函数之后4.设 int a=3;以下哪一个表达式的值等于 0()。A.a&&(a>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.56. 在C 程序中,设一表达式中包含有int, long, char 和 unsigned 类型的变量和数据,这四种类型数据的转换规章是()。A.intunsignedlongcharB.charintlongunsignedC.charintunsignedlongD.intcharunsignedlong7. 设有说明:int a=11, b=10;执行表达式 a%=b+(a&&b)后,a 的值为()。A.0B.1C.11D.228. 下面程序段的运行结果是()。mainint x=1,y=2,z=3,s=0; if(y>x)if(y>z) s=1; else s=2; else s=3;printf(”% d n”,s);A.0B.1C.2D.319. 设有说明:int x=1, y=2;执行条件表达式(x=y)? +x:-x 后,x 的值为:()。A.0B.1C.2D.3 10.假设k 为整型变量,则下面while 循环()。k=10;while(k=0)k=k1A.执行 0 次B.执行 1 次C.执行 10 次D.执行无限次11.关于for(;;);语句,下面说法正确的选项是()。 A.有语法错误B.循环一次也不执行C.循环只执行一次D.循环执行无限次12.以下对一维数组a 的正确定义是()。A.int a(10);B.int n=10, an;C.int n;D.#define SIZE 10scanf(”%d”, &n);int aSIZE; int an;13. 以下一维数组初始化语句中,正确的选项是()。A.int a5=1,2;B.int a5=;C.int a5=5*2D.int a=(1,2,0,0,0);14. 假设定义字符数组char s5=”BOOK”;则输出该串正确的函数调用是()。A.puts(s10);B.puts(s);C.printf(”%c”,s);15.以下定义不正确的是()。D.printf(”%s”,&s);A.#define PI 3.1415926B.static char c;C.int max(x,y);D.int *p5;int x,y;16. 以下哪种数据不是存放在动态存储区中()。A.局部自动变量B.局部静态变量C.函数调用时的现场保护数据D.函数形参变量17. 设有char s=”top”,*p=s;p1=a;则下面说法不正确的是:()。A.s0存放字符tB.s1存放字符 0C.s1存放字符aD.s2存放字符p18. 定义一个指向具有 5 个元素的一维整型数组的指针变量的正确定义为()。A.int *p5;B.int *p;C.int (*p)5;D.int *p5; 19.下面程序的运行结果是()。#define SQR(x)(x)*(x)#include <stdio.h> main float v=3.0;printf(”sqr=%. 2fn”, 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.Turbo CD.UNIXE.Windows22. 在以下各说法中,正确的说法有()。A. 与 while 构造相比,dowhile 构造至少要执行一次循环。B. for 构造和dowhile 构造类似,也是“先推断后执行”。C. dowhile 构造是“先执行后推断”。D. 进入dowhile 循环的条件是:条件表达式为1。E. 退出while 循环的条件是:条件表达式为 1。23.假设有如下定义和赋值()。int a=3, *p, *q; p=&a; q=p;则能够输出变量a 的地址值的语句是:A.printf(”%dn”,p);B.printf(”%dn,*q”);C.printf(”%dn”,a); D.printf(”%dn”,*p);E.printf(”%dn”,q);24. 设有定义int x45,*p;以及赋值p=*x;则非法的表示 x 数组元素的形式是()。A.x45B.x1C.*(x1+2)D.x23E.p2025. 表达式0<<2 的值可以是()。A.-4B.-3C.0xfffcD.0177774E.65531三、填空题本大题共 10 小题,每题 1 分,共 10 分 请在每题的空格中填上正确答案。错填、不填均无分。26. 用一字节表示十进制7 在机内的存储形式是。27.C 语言中的函数应由和函数体两局部组成。28. 在格式输出语句中,用于字符串输出的格式符是%。29. 设有int x=10;则执行while(xx) +x;后,x 的值是。30. 设 i,y,s 均为 int 型变量,则执行下面for 循环后,y 的值为。for(i=0, y=0; i<4;)s=i*i;y=y+s;i+;31.设有int y23=5,4,6,7,8,9;则 y11的值为。32. 定义在函数内部的变量和函数的形参都是变量。33. 假设p 为指针变量,则(*p)+表示先取指针p 指向的对象再使对象的。34. 定义:unionlong x;int y;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” main char str=”department”,*p=s; printf(”the length of srt is %d”,strlen(p); prinft(”n%s”,p);41. 阅读以下程序并写出运行结果。main int i=3, b;b=(i-)+(i-)+(i-);printf(”%d,%dn”,b,i);42. 阅读以下程序,并答复以下问题。mainint s=0, k; for(k=4;k>=0;k-) switch(k) case 1:case 4: s+;break;case 0:case 2: break;case 3: s+=2;break;printf(”s=%dn”,s);试答复switch 语句共执行多少次并写出运行结果。43.阅读以下程序并写出运行结果。main int y23=5,4,6,7,8,9;int m2,k,j;for (k=0;k<2;k+)mk=yk0; for(j=1;j<3;j+)if(ykj<mk) mk=ykj; k=0;printf(”%dn”,mk);第 44 题、第 45 题请参阅下面程序,并答复相关问题: mainint i,j,x=0; for(i=0;i<2;i+)x+;for (j=0;j<=3;j+) if(j%2) continue; x+;x+;printf(”x=%dn”,x);44.if(j%2) continue;语句的作用是什么?continue 语句执行了多少次? 45.程序输出结果是多少?46.设指向单向链表的头结点指针head 是一个全局指针变量,且有如下程序:void display() struct food *p=head; while (p!=NULL) printf(”%sn”, pname);printf(”%dn”, pproduct); p=pnext;设程序已经供给了关于food 构造体的全部信息,试写出构造体food 的定义。六、程序设计题本大题共 2 小题,第 47 题 8 分,第 48 题 12 分,共 20 分 47.对下面的 3 行 3 列的二维整型数组x:int x33=1,2,3,4,5,6,7,8,9;编程求每一行中元素的累加和并输出之。48.从键盘输入一些字符,逐个把它们送到磁盘上并统计这些字符的个数,直到输入一个“#”为止。设磁盘ASCII码文件名为ab.txt。789