高级语言程序设计自考题模拟30Word文档格式.docx

上传人:b****4 文档编号:17618424 上传时间:2022-12-07 格式:DOCX 页数:9 大小:19.56KB
下载 相关 举报
高级语言程序设计自考题模拟30Word文档格式.docx_第1页
第1页 / 共9页
高级语言程序设计自考题模拟30Word文档格式.docx_第2页
第2页 / 共9页
高级语言程序设计自考题模拟30Word文档格式.docx_第3页
第3页 / 共9页
高级语言程序设计自考题模拟30Word文档格式.docx_第4页
第4页 / 共9页
高级语言程序设计自考题模拟30Word文档格式.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

高级语言程序设计自考题模拟30Word文档格式.docx

《高级语言程序设计自考题模拟30Word文档格式.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计自考题模拟30Word文档格式.docx(9页珍藏版)》请在冰豆网上搜索。

高级语言程序设计自考题模拟30Word文档格式.docx

[考点]scanf函数

[解答]scanf函数中的输入项必须是指针,只有C符合要求。

4.设有定义:

intx=4;

以下表达式中,值不为20的是______

A.x*=x+1

B.x++,4*x

C.x*=(x+1)

D.2*x,x+=12

[考点]逗号运算符的运算方式

[解答]逗号运算符的作用是将若干表达式连接起来,它的优先级别在所有运算符中是最低的,结合方向是“自左向右”。

A和C项的结果是一样的,可展开为:

x=x*(x+1)=20;

B项中先执行x++,逗号执行前x的值变为5,逗号后的值就是整个表达式的值为20;

D选项逗号前并未给x赋值,所以表达式的值就是x+=12的值,即为16。

5.阅读下面程序段,执行后的结果为______

#include<stdio.h>

intfun(int,int);

main()

{intm=4,n=2,k;

k=fun(m,n);

printf("

%d\n"

k);

}

fun(intm,intn)

{return(m*m*m-n*n*n);

A.64

B.56

C.8

D.0

B

[考点]函数之间的数据传递

[解答]如果没有指明函数数值类型,则默认函数返回值的类型为int类型。

6.设有以下语句:

structex

{intx;

doubley;

char*z}apple;

则下面叙述中不正确的是______

A.struct是结构体类型的关键字

B.apple是结构体类型名

C.x,y,z都是结构体成员名

D.structex是结构体类型名

[考点]结构体的组成

[解答]structex是结构体类型名,apple是结构体变量名。

7.设staticintx;

执行表达式(x+1>=2)&

&

(x=-1)&

(x+=1)后,x的值为______

A.0

B.1

C.-1

D.2

[考点]存储类型及逻辑运算

[解答]static型变量未赋值时,系统赋值为0;

左端第一个表达式的值为假时,结果肯定为假,此时第二个表达式将不再运行。

8.若x是int型变量,且有下面的程序段:

for(x=4;

x<7;

x++)printf((x%2)?

("

**%d):

##%d\n"

),k);

输出的结果是______

A.**4

**5

##6

B.##4

##5

**6

C.##4

**5##6

D.**4##5

[考点]条件运算符

[解答]这种条件表达式的一般形式为:

表达式1?

表达式2:

表达式3,条件运算符的执行顺序是先求解表达式1,若非零则求解表达式2,否则求解表达式3,所求表达式即为整个条件表达式的值。

9.定义如下变量和数组:

intk:

intx[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是______

for(k=0;

k<3;

k++)

x[2-k][k]);

A.951

B.963

C.753

D.741

[考点]二维数组元素的引用方法

[解答]题中通过二维数组的行列下标来定位元素的位置,从而实现元素的引用。

10.以下程序运行后,a的值是______

{inta,k=4,m=2,*p1=&

k,*p2=&

m;

a=p1==&

a);

}

A.4

B.0

C.1

D.运行时出错,a无定值

[考点]指针及逻辑运算

[解答]题中,k与m的地址是不一样的,a=p1==&

m,先运行关系运算符==,p1不等于&

m,所以为假,为0,所以a=0。

11.C语言规定,调用一个函数,实参与形参都是简单变量时,它们之间的传递方式是______

A.地址传递

B.单向值传递

C.用户指定方式

D.双向值传递

[考点]调用函数时数据的传递方式

[解答]在C语言中,函数间参数的传递方式是实参向形参的单向值传递,而单向值传递是指只能从主调函数向被调函数传递数据。

12.执行以下程序段后,s的值为______

inta[]={6,3,7,2,1,5,4,10};

ints=0,k;

k<8;

k+=2)

s+=*(a+k);

A.18

B.28

C.14

D.无定值

[考点]循环结构和指针

[解答]*(a+k)指向的是第k+1个元素,因为数组下标是从O开始的,所有s的值为6,7,1,4四个值相加所得。

13.设有数组定义:

chararray[]="

china"

;

则数组array所占用的空间和长度为______

A.4个字节,5

B.5个字节,5

C.6个字节,5

D.7个字节,6

[考点]字符数组的空间及字符长度

[解答]字符串“china”存储在数组中时,其后的'

\0'

也是占内存的,所以是6个字节,但其长度不包括'

,所以其长度为5。

14.如果打开文件时,选用的文件操作方式是"

wb+"

,则下列说法中正确的是______

A.要打开的文件必须存在

B.打开文件后只能读数据

C.打开文件后只能写数据

D.文件打开后删除原内容再写

[考点]文件的打开与关闭

[解答]“wb+”对二进制文件进行读或写操作。

如果该文件不存在,系统自动建立新文件;

如果该文件存在,其内容被清除。

15.包含用户类型符“FILE”的定义的头文件是______

A.string.h

B.stdlib.h

C.stdio.h

D.file.h

[考点]文件指针

[解答]文件指针是指向与文件参数有关的结构体类型的指针变量,系统在头文件“stdio.h”中已经定义。

二、填空题

1.若a,b,c均是整型变量,则计算表达式a=(b=3)+(c=7)后,a的值为______,c的值为______。

10,7

[考点]算术表达式

[解答]括号的优先级是最高的,c的值为7,a为10。

2.表达式8.0*(1/2)的值为______。

0.0

[解答]“就长不就短”原则,所以最后的数据类型为实型。

3.设x,y,z均为整型变量,请写出描述“x或y中至少有一个大于z”的表达式______。

(x>z)||(y>z)

[考点]逻辑表达式

[解答]至少有一个,使用或运算符。

4.在C语言中,二维数组元素在内存中的存放顺序是______。

顺序

[考点]二维数组的初始化

[解答]二维数组元素在内存中的存放中是顺序存放,即先行后列。

5.以下程序的输出结果是______。

{chars[]="

abcdefg"

s[4]='

%s\n"

s);

abcd

[考点]字符串的输出

[解答]%s格式输出,遇到'

,结束。

6.在一个源文件中定义的外部变量的作用域为______。

从定义该变量的位置开始至本文件结束

[考点]外部变量的作用域

[解答]外部变量的作用域为定义点到程序结束。

7.设chars[20]="

My"

则执行strcat(s,"

Boy!

"

)后s的内容是______。

MyBoy!

[考点]strcat函数

[解答]srcat函数的功能是将字符串连接到字符数组的最后一位有效字符,并组成新的字符串。

8.设inta[2][5]={{8},{5}};

则数组元素______的值为5。

a[1][0]

[解答]8和5分别赋给了第一行和第二行的第一个元素。

9.fopen函数打开文件成功,返回值是与打开文件相关的______。

文件指针

[考点]fopen函数

[解答]能正确打开指定的文件,则返回一个指向文件的文件指针。

10.a盘根目录下的一级子目录tc中的text.exe文件的磁盘文件名是______。

a:

\tc\text.exe

[考点]磁盘文件名

[解答]磁盘文件名的一般组成是盘符:

路径\文件主名.扩展名。

路径是由目录序列组成的,目录间的分隔符号为“\”。

三、程序分析题

1.main()

{intn,k=0;

for(n=0;

n<20;

n++)

{k=0;

while(k<=n)

{if(n==5*k)

%d,"

n);

k++;

0,5,10,15,

2.#include<stdio.h>

intt(intx,inty,intp,intq)

{p=x*x+y*y;

q=x*x-y*y;

{inta=4,b=3,c=5,d=6;

t(a,b,c,d);

%d%d\n"

c,d);

56(注意:

传递实参的值,但不改变实参的值)

3.#include<stdio.h>

intb=2;

intfunc(int*a)

{*a+=b;

return(*a);

{inta=3,res=1;

res+=func(&

a);

a,res);

56

4.#include<stdio.h>

{structAPPLE{

struct{intx;

inty;

}in;

inta;

intb;

}e;

e.a=2;

e.b=3;

e.in.x=e.a*e.b;

e.in.y=e.a+e.b;

%d,%d"

e.in.x,e.in.y);

6,5

四、程序填充题

1.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。

{inti,a[20],sum,count;

sum=count=0;

for(______)scanf("

a[i]);

/*第一空*/

for(i=0;

i<20;

i++)

 {if(______)/*第二空*/

{count++;

______;

}/*第三空*/

count=%d,sum=%d\n"

count,sum);

i=0;

i++

a[i]>0

sum+=a[i] 

2.下面程序是将字符串p中的所有字符复制到字符串b中,要求每复制三个字符后插入一个空格。

voidcp(char*p,char*b)

{inti,k=0;

while(*p)

{i=0;

while(______)/*第一空*/

{b[k]=*p;

p++;

i++;

if(*p)

{______;

/*第二空*/

/*第三空*/

{chara[20],b[20];

gets(a);

cp(a,b);

puts(b);

\n"

);

i<3&

*p

b[k++]='

'

b[k]='

3.以下程序由终端输入一个文件名,然后把从终端键盘输入的字符依次存放到该文件中,用“#”作为结束输入的标志。

#include<stdlib.h>

{FILE*fp;

charch,fname[10];

inputthenameoffile\n"

gets(fname);

if((fp=______)==NULL){printf("

cannotopen\n"

exit(0);

}/*第一空*/

else{printf("

enterdata\n"

while(______)fputc(______,fp);

}/*第二、三空*/

fclose(fp);

fopen(fname,"

w"

(ch=getchar())!

='

#'

ch

五、程序设计题

1.编一个程序,其功能是对名为“abc.txt”的磁盘文件中“@”之前的所有字符进行处理,处理方法是每个字节的内容减10。

#include<stdio.h>

{

FILE*fp;

charc;

if((rp=fipen("

abc.txt"

"

r+"

))==NULL)/*测试文件是否正确被打开*/

{printf("

Cannotopenfile!

while(!

feof(fp))

if((c=fgetc(fp))!

@'

/*如果不是@字符则进行加密运算*/

{c=c-10;

/*加密运算*/

fseek(fp,-11,1);

/*前移一个字符。

因在fgetc(fp)时文件内部指针会自动后移一个字符,指向应被加密字符的下一个字符*/

fputc(c,fp);

/*将获得加密的字符填入该位置,且文件内部指针会自动后移一个字符*/

fseek(fp,01,1);

/*避免指针漂移,定位文件内部指针在当前位置不移动,并将其传递给函数feof(fp)*/

elsebreak;

rclose(fp);

return(0);

2.用指针方法实现:

输入8个整数,将最大数和最后一个数交换,最小数和第一个数交换,然后整体倒序输出。

#include<stdio,h>

#defineN8

{intz[N],*p=a,i,d,d1=0,x,x1=0;

i<N;

{scanf("

if(i==0){d=*p;

x=*p;

if(d<*p){d=*p;

d1=i;

elseif(x>*p){x=*p;

x1=i;

p--;

a[d1]=*p;

*p=d;

a[x1]=*(p-7);

*(p-7)=x;

for(i=N-1;

i>=0;

i--,p--)

*p);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 社交礼仪

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1