您的当前位置:首页正文

安徽省二级C语言程序设计笔试样题

2020-02-13 来源:易榕旅网
 - .

第1套 C语言程序设计笔试样题

一单项选择题(每题1分,共40分)

1.某微型计算机的型号规格标有PentiuШ600字样,其中PentiuШ是指 __C____ A. 厂家名称 B. 机器名称 C.CPU型号 D. 显示器名称 2.目前微型机上普通使用的光驱及光盘,它采用的是__C____ A. 超导技术 B. 激光技术 C. 集成电路技术 D. 调频技术 3.在下列一组数中,最小数为__C_____

A.(11011101)2 B.(125)10 C.(A7)16 D.(157)8 4.Windows 98中,“回收站”是__B___

A.存中的部分空间 B.硬盘中的部分空间 C.软盘中的部分空间 D. 部分空间中的高速缓存

5.在“我的电脑”窗口中改变一个文件或文件夹的名称,可以采用的方法是:先选取该文件夹或文件,再用鼠标左键_____

A.单击该文件夹或文件的名称 B. 单击该文件夹或文件的图标 C.双击该文件夹或文件的名称 D. 双击该文件夹或文件的图标 6.Windows 98的文件夹组织结构是一种_B____

A.表格结构 B.树形结构 C.网状结构 D.线性结构 7.以太网(Ethernet)的拓扑结构是_B____

A.环形 B.星形 C.总线形 D.树形 8.在因特网(Internet)中,电子公告板简称为_B_____ A. B.BBS C. D.FTP

9.在多媒体个人计算机中,声卡的作用是_D_____ A.用来播放声音 B.连接主机和声音播放设备

C.用来录入声音 D.连接主机和声音播放与录入设备

. -可修遍-

- .

10.“CIH”是一种计算机病毒,它主要是破坏_D___,导致计算机系统瘫痪。 A.CPU B.软盘 C.BOOT(程序) D.BIOS

11.设x,y,z和k都是int型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值为_C___ A.4 B.16 C.32 D.52 12.设有如下的变量定义 int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2;

则以下符合C语言的表达式是C_____

A.a+=a-=(b=4)*(a=3) B.x%(-3)C.a=a*3=2 D.y=float(i) 13.假定有以下变量定义: int k=7,x=12;

则能使值为3的表达式是B_____

A.x%=(k%=5) B.x%=(k-4%5)C.x%=k-k%5 D.(x%=k)-(k%=5) 14.以下叙述正确的是___D__ A.输入量可以是一个实型常量, 例如:scanf("%f",3.5);

B.只有格式控制,没有输入项,也能正确输入数据到存, 例如:scanf("a=%d,b=%df");

C.当输入实型数据时,格式控制部分可以规定小数点后位数, 例如:scanf(“%4.2f”,&f);

D.当输入数据时,必须指明变量地址, 例如:scanf(“%f”,&f);

15.设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是_D_ A.把x和y按从大到小排列 B.把x和y按从小到大排列

. -可修遍-

- .

C.无确定结果 D.交换x和y中的值 16.以下程序的输出结果是__D___ main() {

int a=12,b=12;

printf(“%d,%d\\n”--a,++b); }

A.10 10 B.12 12 C.11 10 D.11 13 17.以下程序运行后,输出结果是__C____ main()

{char*s="abcd"; s+=2;

printf("%1d\\n",s) }

A.cde B.字符c的ASCII码 C.字符c的地址 D.出错 18.以下程序的输出结果是_C___ main() {int m=5;

if(m++>5)printf("%d\\n",m); else printf("%d\\n",m--) }

A.7 B.6 C.5 D.4

19.当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为__B__ if(aelse if(aif(bA.1 B.2 C.3 D.6

. -可修遍-

- .

20.在执行以下程序时,如果从键盘输入:ABCdef<回车>,则输出为_B___ #include { char ch;

while((ch=getchar())!='\\n')

{if(ch>='A'&&ch<=’Z’)ch=ch+32; else if(ch>=’a’&&ch<=’z’)ch=ch-32 printf(“%c”,ch); }

printf(“\\n”); }

A.ABCdef B.abcDEF C.abc D.DEF 21.下面能正确进行字符串赋值操作的语句是__A__

A.char s[5]={“\\ABCDE”} B.char s[5]={‘A’,’B’,’C’,’C.char *s;s={“ABCDEF”}; D.char *s;scanf(“%s”,s); 22.当执行以下程序段时,描述正确的选项是__A__ x=-1;

do {x=x*x;} while(!x);

A.循环题将再执行一次 B.循环题将执行两次 C. 循环题将执行无限次 D.系统提示有语法错误 23.执行以下程序后,输出结果是___D main() {int y=10;

do{y--;}while(--y); printf(“%d\\n”,y--); }

A.-1 B.1 C.8 D.0

. -可修遍-

’,’E’}; D - .

24.在下列选项中,没有构成死循环的程序是__C_ A.int i=100; B.for(;;); while(1) {i=i&100+1; if(i>100) break; }

C.int k=1000; D.int s=36; do{++k;}while(k<=1000); while(s); --s; 25.执行语句:for(i=1;i++<4;);后,变量i的值是__C__ A.3 B.4 C.5 D.不定

26.以下程序运行后,如果从键盘输入ABCDE<回车>,则输出结果为______ #include #include func(char str[]) {int num=0;

while(*(str+num)!=’\\0’)num++; return(num); } main()

{char str[10],*p=str;

gets(p);printf(“%d\\n”,func(p)); }

A.8 B.7 C.6 D.5 27.运行以下程序后,如果从键盘输入china<回车>,则输出结果为___ #include main() {int v1=0,v2=0; char ch;

while((ch=getchar())!=’\\n’) switch(ch) {case ‘a’: case ’h’:

. -可修遍-

- .

default:v1++; case’0’:v2++; }

printf(“%d,%d\\n”,v1,v2); }

A.2,0 B.5,0 C.5,5 D.2,5

28.若以下程序所生成的可执行文件名为fiel.exe,当打入以下命令执行该程序时,程序的输出结果是_____

FILE1 CHINA BEIJING SHANGHAI main(int argc,char*argv[]) { while(argc-- >0)

{++argv;printf(“%s”,*argv);} }

A. CHINA BEIJING SHANGHAI B. FILE1 CHINA C.C B S D.F C B 29.下面程序的运行结果是____ main()

{char ch[7]={“65ab21”}; int i,s=0;

for(i=0;ch[i]>=’0’&&ch[i]<=’9’;i+=2) s=10*s+ch[i]-‘0’; printf(“%d\\n”,s); }

A.12ab56 B.6521 C.6 D.62 30.运行下面的程序,如果从键盘输入: ab<回车> c<回车> def<回车> 则输出结果为____ #include #define N 6

. -可修遍-

BEIJING - .

main() {char c[N]; int i=0;

for(; i}

A.a B.a C.ab D.abcdef b b c d c d e d f

31.以下程序运行后,输出结果是_____ #include ss(char *s) { char*p=s; while(*p)p++; return(p-s); } main()

{char *a= “abded”; int i; i=ss(a); printf(“%d\\n”,i); }

A.8 B.7 C.6 32.以下程序运行后输出结果是____ #include func(int a,int b) {static int m=0,i=2; i+=m+1; m=i+a+b; return(m); }

. D.5 -可修遍-

- .

main() {int k=4,m=1,p;

p=func(k,m);printf(“%d”,p); p=func(k,m);printf(“%d”,p); }

A.8,15 B.8,16 C.8,17 D.8,8 33.以下程序运行后,输出结果是____ #include #define PT 5.5 #define S(x) PT*x*x main() {int a=1,b=2;

printf(“%4.1f\\n”,S(a+b)); }

A.49.5 B.9.5 C.22.0 34.以下程序运行后,输出结果是___ main()

{static char a[]=”ABCDEFGH”,b[]=”abCDefGh”; char *p1,*p2; int k; p1=a;p2=b; for(k=0;k<=7;k++)

if(*(p1+k)==*(p2+k)) printf(“%c”, *(p1+k)); printf(“\\n”); }

A.ABCDEFG B.CDG C.abcdefgh 35.以下程序执行后,a的值是_____. main()

{ int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; printf(“%d,\\n”,a); }

. D.45.0 -可修遍-

D.abCDefGh - .

A.4 B.1 C.0 D 运行时出错,a无定值 36.以下程序运行后,输出结果是______ int d=1; fun(int p) { int d=5; d+=p++;

printf(“%d”,d); } main() { int a=3; fun(a); d+=a++;

printf(“%d”,d); }

A.84 B.99 C.95 D.44 37.以下程序运行后,输出结果是____ main()

{char ch[2][5]={“693”,”825”},*p[2]; int i,j,s=0;

for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++)

for(j=0;p[i][j]>=’0’&&p[i][j]<=’9’;j+=2) s=10*s+p[i][j]-‘0’; printf(“%d\\n”,s); }

A.6385 B.22 C.33 D.693825 38.若有以下程序段,输出结果为_____ int **pp,*p,a=10; p=&a; pp=&p; printf(“%d”,**pp);

A.10 B.p的地址 C.a的地址 D.pp的地址

39.若已建立以下的链表结构,指针p,q分别指向图中所示的结点,则不能将q所指的结点插

. -可修遍-

- .

入到链表末尾的一组语句为_____ Data

a b NULL

c NULL

next p q

A.q->next=NULL; p=p->next; p->next=q; B.p=p->next;q->next=p->next;p->next=q; C.p=p->next;q->next=p;p->next=q;

D.p=(*p).next;(*q).next=(*p).next;(*p).next=q;

40.以读写的方式打开一个已有的文件filel,下面有关fopen函数正确的调用方式为_____ A.FILE *fp;

fp=fopen(“filel”,”r”); B.FILE *fp;

fp=fopen(“filel”,”r+”); C.FILE *fp;

fp=fopen(“filel”,”rb”); D.FILE *fp;

fp=fopen(“filel”,”rb+”); 二.填空题 1.设有变量定义: int a=5,b=4;

则表达式(--a>b++)?--a;b++的值为____ 2.某C编译系统规定,int型数据占2字节,则定义: struct node { int x; long y; }z;

. -可修遍-

- .

后,sizeof(z)=_____ 3.设有变量定义: int a[10]={1,2,3,4,5,6,7}; int *p=a;

则表达式*++p的值为_____ 4.下列程序用于计算

s=1+x+x2/2!+x3/3!….+xi/i!+….的近似值。 #include main() {int i=0;

float s,t=1.0,x;

scanf(“%1f”,&x); s=t=1.0;

while(fabs(t)>1.0e-5) {i++; t=____; s+=t; }

printf(“s=%f\\n”,s); }

5.下面程序用于将输入的三个数从小到大排序输出。 void main() {int a,b,c,x,y;

scanf(“%d%d%d”,&a,&b,&c); if(_____)

{x=a;y=b;} else {x=b;y=a;} if(______) x=c; else

if(y>c) y=c;

printf(“%d,%d,%d”,y,a+b+c-x-y,x);}

6.以下程序将输入的一行字符串中的字母全部变成大写输出。 #include main()

{char str[255];

int i=0;

while((str[i++]=getchar())!=’\\n’); str[i-1]=’\\0’;

for(i=0;str[i]!=’\\0’;i++)

if(str[i]>=’a’&&str[i]<=’z’) str[i]=(________); printf(“\\n%s\\n”,str);

. -可修遍-

- .

}

7.程序运行后,输出4,16,256。 test()

{_______x=2; x=x*x;

printf(“%d”,x); }

main() { test(); test(); test(); }

8.函数trans()实现对给定的十进制整数d(d>=0),译成s(2<=s<=16)进制表示形式的字符串。 char trans(unsigned int d,int s)

{ char digits[]=”0123456789ABCDEF”; char buf[17]; int i=16;

if (s<2||s>16) return(0); buf[i]=’\\0’; do {

buf[--i]=digits[d%s]; ( ); }while ( ); printf(“%s”,&buf[i]); }

main() {int s,d;

scanf(“%d,%d”,&s,&d); printf(“%4d=”,d); trans(d,s);

printf(“ %d\\n”,s ); }

三.阅读下列程序,写出结果; [程序1] main() {int i,x;

scanf(“%d”,&x); for (i=2;x%i;i++);

printf(“%d\\n”,i==x); }

运行后,从键盘输入3,运行结果为:( ); 从键盘输入4,运行结果为:( ); [程序2] main() {int i;

. -可修遍-

- .

for (i=1;i<6;i++)

{ if (i%2) else continue; printf(“$”); }

printf(“#”); }

printf(“&\\n”); 运行结果为:( ) [程序3]

main()

{int n[3],i,j,k;

for (i=0;i<3;i++) k=2;

n[i]=0; for (i=0;i}

printf( for (j=0;j<=k;j++) “n[j]=n[i]+1; %d\\n”,n[k]); 运行结果为:( ) [程序4]

long f(int n) {long s;

if ((n==1)||(n==2)) else s=2;

return s; s=n+f(n-1); main() } { long x; x=f(4);

printf(“%d\\n”,x);}

运行结果为:( [程序5]

#include main() { int m,n,i; m=5;n=7;i=1; do

{ if ((i%m==0)&&(i%n==0)) { printf( “%d\\n”,i); } break;

i++;

}

}while (i!=0); . -可修遍-

) - .

运行结果为:( ) 四.编程题

1、找出1~100之间的全部“同构数”。所谓“同构数”是指一个数,他出现在他的平方数的右端。如6的平方是36,6就是同构数。 2、编程实现二维数组()的转置(即行列互换)。 3、按下述递归定义编写一个计算幂级数递归函数。 1 xn

=

x

. n =0 *

xn-1

-可修遍-

因篇幅问题不能全部显示,请点此查看更多更全内容