((1)—(40)题每小题1分,(41)—(50)题每小题2分,共和60分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。
A) 8
B) 16
C) 32
D) 随CPU的型号而定
A) 速度快
B) 资源共享
C) 精度高
D) 容量大
A) 所有的多媒体信息
B) 只有文本信息
C) 除声音外的所有信息
D) 文本和图像信息
A) RAM
B) ROM
C) 软盘
D) 硬盘
A) 11111111
B) 01111111
C) 10000000
D) 11111110
A) DIR *.TXT>PRN
B) TYPE *.TXT>PRN
C) COPY *.TXT PRN
D) COPY *.TXT>PRN
A) XCOPY *.* A:\ /M
B) XCOPY *.* A:\ /S
C) XCOPY *.* A:\ /P
D) XCOPY *.* A:\ /A
A) C:>
B) C:\>
C) C>
D) C:\
A) 子目录
B) 磁盘文件
C) 键盘
D) 显示器
A) 输入、处理、输出
B) 树形、网形、环形
C) 顺序、选择、循环
D) 主程序、子程序、函数
A) 编辑程序
B) 驱动程序
C) 诊断程序
D) 编译程序
A) 50
B) 66
C) 52
D) 68
A) 复制当前窗口到剪贴板
B) 打印当前窗口的内容
C) 复制屏幕到剪贴板
D) 打印屏幕内容
A) 关闭该应用程序窗口
B) 最小化该应用程序窗口
C) 双击该应用程序窗口的标题栏
D) 将该应用程序窗口移出屏幕
A) *Z.”
B) X*.*
C) ?Z,TXT
D) ?.”
int a=8,b=5,C;
执行语句
C=a/b+0.4;
后,c的值为(B)。
A) 1.4
B) 1
C) 2.0
D) 2
A) a的值是字符C
B) a的值是浮点型
C) 不允许字符型和浮点型相加
D) a的值是字符‘A’的ASCII值加上1。
int a=1234; printf("%2d\n",a);
A) 12
B) 34
C) 1234
D) 提示出错、无结果
A) signed short int
B) unsigned long int
C) unsigned int
D) long short
A) scanf("%d%d%d",&a,&b,d);
B) scanf("%d%d%d",&a,&b,&d);
C) scanf("%d%d%d",a,b,d);
D) scanf("%d%d%d",a,b,*d);
A) a=20000+20000;
B) a=4000*10;
C) a=30000+10000;
D) a=4000L*10L;
A) 可以把define和if定义为用户标识符
B) 可以把define定义为用户标识符,但不能把if定义为用户标识符
C) 可以把if定义为用户标识符,但不能把define定义为用户标识符
D) define和if都不能定义为用户标识符
A) 无确定值
B) a的地址
C) 512
D) 511
main() { int a=5,b=4,c=6,d; printf("%d\n",d=a>b?(a>c?a:c):(b)); }
A) 5
B) 4
C) 6
D) 不确定
main() { int i=0; while(i<10) { if(i<1) continue; if(I==5) break; i++; } ...... }
A) 1
B) 10
C) 6
D) 死循环,不能确定次数
main() { int a=0,i; for(i=0;i<5;i++) { switch(i) { case 0: case 3:a+=2; case 1: case 2:a+=3; default:a+=5; } } printf("%d\n",a); }
A) 41
B) 13
C) 10
D) 20
main() { int a=4,b=5,c=0,d; d=!a&&!b||!c; printf("%d\n",d); }
A) 1
B) 0
C) 非0的数
D) -1
#include<stdio.h> main() { int i=0,a=0; while(i<20) { for(;;) { if((i%10)==0) break; else i--; } i+=11; a+=i; } printh("%d\n",a); }
A) 21
B) 32
C) 33
D) 11
char cchar(char ch) { if(ch>=‘A’&&ch<=‘Z') ch=ch-‘A'+‘a'; return ch; } main() { char s[]="ABC+abc=defDEF",*p=s; while(*p) { *p=cchar(*p); p++; } printf("%s\n",s); }
A) abc+ABC=DEFdef
B) abc+abc=defdef
C) abcaABCDEFdef
D) abcabcdefdef
int f() { static int i=0; int s=1; s+=i; i++; return s; } main() { int i,a=0; for(i=0;i<5;i++) a+=f(); printf("%d\n",a); }
A) 20
B) 24
C) 25
D) 15
char s[]="\\141\141abc\t"; printf ("%d\n",strlen(s));
A) 9
B) 12
C) 13
D) 14
#include<stdio.h> void f(int n); main() { void f(int n); f(5); } void f(int n) { printf("%d\n",n); }
则以下叙述中不正确的是(C)。
A) 若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f
B) 若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f
C) 对于以上程序,编译时系统会提示出错信息:提示对对f函数重复说明
D) 函数f无返回值,所以可用void将其类型定义为无值型
findmax(int *a,int n) { int *p,*s; for(p=a,s=a; p-a〈n;p++) if( ) s=p; return(*s); } main() { int x[5]={12,21,13,6,18}; printf("%d\n",findmax(x,5)); }
在下划线处应填入的是
A) p>s
B) *p>*s
C) a[p]>a[s]
D) p-a>p-s
main() { char cf[3][5]={"AAAA","BBB","CC"}; printf("\"%s\"\n",ch[1]); }
A) "AAAA"
B) "BBB"
C) "BBBCC"
D) "CC"
A) auto
B) register
C) static
D) extern
A) p=2*(int*)malloc(sizeof(int));
B) p=(int*)malloc(2*sizeof(int));
C) p=(int*)malloc(2*2);
D) p=(int*)calloc(2,sizeof(int));
(37) 以下程序的输出结果是(A)。main() { char x=040; printf("%0\n",x<<1); }
A) 100
B) 80
C) 64
D) 32
A) fopen("A:\user\abc.txt","r")
B) fopen("A:\\user\\abc.txt","r+")
C) fopen("A:\user\abc.txt","rb")
C) fopen("A:\\user\\abc.txt","w")
A) char str[5]="good!";
B) char str[]="good!";
C) char *str="good!";
D) char str[5]={‘g',‘o',‘o',‘d'};
struct test { int ml; char m2; float m3; union uu { char ul[5]; int u2[2]; } ua; } myaa;
则sizeof(struct test )的值是(A)。
A) 20
B) 16
C) 14
D) 9
int aa[8];
则以下表达式中不能代表数组元aa[1]的地址的是(C)。
A) &aa[0]+1
B) &aa[1]
C) &aa[0]++
D) aa+1
f(int b[ ],int m,int n) { int i,s=0; for(i=m;i<n;i=i+2) s=s+b[i]; return s; } main() { int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf("%d\n",x); }
A) 10
B) 18
C) 8
D) 15
int s[4][5],(*ps)[5]; ps=s;
则对s数组元素的正确引用形式是(C)。
A) ps+1
B) *(ps+3)
C) ps[0][2]
D) *(ps+1)+3
main() { int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) t=t+b[i][b[j][j]]; printf("%d\n",t); }
A) 3
B) 4
C) 1
D) 9
#include<stdio.h> #include<string.h> main() { char b1[8]="abcdefg",b2[8],*pb=b1+3; while(--pb>=b1) strcpy(b2,pb); printf("%d\n",strlen(b2)); }
A) 8
B) 3
C) 1
D) 7
A) 一个用于指向整型数据的指针变量
B) 一个用于指向一维数组的行指针
C) 一个用于指向函数的指针变量
D) 一个返回值为指针型的函数名
A) main(int a,char *c[])
B) main(int arc,char **arv)
C) main(int argc,char *argv)
D) main(int argv,char *argc[])
(48) 以下程序的输出的结果是(C)。int x=3; main(){ int i; for(i=1;i<x;i++) incre(); } incre() { staic int x=1; x*=x+1; printf(" %d", x); }
A) 3 3
B) 2 2
C) 2 6
D) 2 5
struct link { int data; struck link *next; }a,b,c,*p,*q;
且变量a和b之间已有如下图所示的链表结构:
a b data next data next ┌──┬──┐ ┌──┬──┐ │ 5 │──┼──→│ 9│ \0│ └──┴──┘ └──┴──┘ ↑p c data next ┌──┬──┐ │ 7││ └──┴──┘ ↑q
指针p指向变量a,q指向变量c。则能够把c插入到a和b 之间并形成新的链表的语句组是:(C)。
A) a.next=c; c.next=b;
B) p.next=q; q.next=p.next;
C) p->next=&c; q->next=p->next;
D) (*p).next=q; (*q).next=&b;
typedef struct { int n; char ch[8]; }PER;
则下面叙述中正确的是(B)。
A) PER 是结构体变量名
B) PER是结构体类型名
C) typedef struct 是结构体类型
D) struct 是结构体类型名
请将每一个空的正确答案写在答案卡上,答在试卷上不得分。
(1) 为了要将当前盘目录中的可执行程序ABC.EXE的输出结果存放到当前盘当前目录中的文件OUT.TXT中,则应使用的DOS命令为【ABC.EXE >OUT.TXT】 。
(2) 计算机网络分为广域网和局域网,因特网属于【广域网】 。
(3) 要想在当前目录下方便地执行C盘\UCDOS目录中的程序,就应该先执行预设搜索路径的命令,该DOS命令为【PATH C:\UCDOS】。
(4) 要查看当前目录中扩展名为.DAT的所有文件目录,应该使用的DOS 命令为【DIR *.DAT】 。
(5) 在Windows环境下,当进行复制操作时,其复制的内容将存放在【剪贴板】中
(6) 若从键盘输入58,则以下程序输出的结果是 【585858】 。
main() { int a; scanf("%d",&a); if(a>50) printf("%d",a); if(a>40) printf("%d",a); if(a>30) printf("%d",a); }
(7) 以下程序的输出结果是【261】 。
main() { int a=177; printf("%o\n",a); }
(8) 以下程序的输出结果是【16】 。
main() { int a=0 a+=(a=8); printf("%d\n",a); }
(9) 以下程序输出的结果是【0】 。
main() { int a=5,b=4,c=3,d; d=(a>b>c); printf("%d\n",d); }
struct node { int info; 【struct node*】 link; }(11) 以下程序的输出结果是【11】 。
main() { int s,i; for(s=0,i=1;i<3;i++,s+=i); printf("%d\n",s); }
(12) 以下程序的输出结果是【efgh】 。
main() { char *p="abcdefgh",*r; long *q; q=(long*)p; q++; r=(char*)q; printf("%s\n",r); }
main() { char s[]="abcdef"; s[3]=‘\0'; printf("%s\n",s); }
(14) 以下程序的输出结果是【7】 。
main() { int x=0; sub(&x,8,1); printf("%d\n",x); } sub(int *a,int n,int k) { if(k<=n) sub(a,n/2,2*k); *a+=k; }
(15) 设有如下宏定义
#define MYSWAP(z,x,y) {z=x; x=y; y=z;}
以下程序段通过宏调用实现变量a、b内容交换,请填空。
float a=5,b=16,c; MYSWAP( 【c】 ,a,b);
(16) 以下程序用来统计文件中字符个数。请填空。
#include "stdio.h" main() { FILE *fp; long num=0L; if((fp=fopen("fname.dat","r"))==NULL) { pirntf("Open error\n"); exit(0); } while( 【!feof(fp】 ) // (char ch=fgetc(fp)) != EOF { fgetc(fp); num++; } printf("num=%1d\n",num-1); // 使用feof会多统计一个字符 fclose(fp); }(17) 以下程序中,select 函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。
#include<stdio.h> #define N 3 #define M 3 select(int a[N][M],int *n) { int i,j,row=1,colum=1; for(i=0;i<N;i++) for(j=0;j<M; j++) if(a[i][j]>a[row][colum]){ row=i;colum=j; } *n=row; return a[row][colum]; } main() { int a[N][M]={9,11,23,6,1,15,9,17,20},max,n; max=select(a,&n); printf("max=%d,line=%d\n",max,n); getchar(); }
int mystrlen(char *str) { int i; for(i=0; 【str[i]】!=‘\0';i++); return(【i】); }
本页共576段,19566个字符,24673 Byte(字节)