高级语言程序设计练习题42Word文档格式.docx
- 文档编号:17688392
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:19
- 大小:27.52KB
高级语言程序设计练习题42Word文档格式.docx
《高级语言程序设计练习题42Word文档格式.docx》由会员分享,可在线阅读,更多相关《高级语言程序设计练习题42Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
stdio.h>
intmain()
{char*s="
abc"
;
do
{printf("
%d"
*s%10);
++s;
}while(*s);
return0;
}
程序运行后的输出结果是。
25.以下程序运行后的输出结果是。
intfun(intx)
{intp;
if(x==0||x==1)
return(3);
p=x-fun(x-2);
returnp;
}
intmain()
{printf("
%d\n"
fun(9));
26.有以下程序:
#include<
{inta,b=0;
for(a=0;
a++<
=2;
);
b+=a;
printf("
%d,%d\n"
a,b);
程序运行后的输出结果是。
27.以下程序运行后的输出结果是。
intmain()
{inti,j,row,column,m;
intarray[3][3]={{100,200,300},{28,72,-30},{-850,2,-26}};
m=array[0][0];
for(i=1;
i<
3;
i++)
for(j=0;
j<
j++)
if(array[i][j]<
m)
{m=array[i][j];
row=i;
column=j;
printf("
%d,%d,%d\n"
m,row,column);
28.对于以下宏定义:
#defineM1+2
#defineN2*M+1
执行语句“x=N;
”之后,x的值是。
29.对于以下宏定义:
#defineM(x)x*x
#defineN(x,y)M(x)+M(y)
执行语句z=N(2,2+3);
后,z的值是。
30.已知老师记录描述为
structteather
{intid;
struct{inty;
intm;
intd;
}birth;
}t;
将变量t中的d成员赋值为12的语句为___________________。
31.下面语句中的指针s所指字符串的长度是______。
char*s="
\t\"
Name\\Addres\n"
;
32.使用fopen("
abc.txt"
“w+”)打开文件时,如abc.txt文件不存在,则___________________。
33.C语言中,根据数据的存放形式,文件可以分为_____________文件和_____________文件。
34.C语言中,文件的格式化输入输出函数对是_____________和____________。
35.C语言中用_____________函数打开文件,用____________函数关闭文件。
36.下面程序给一维数组输入数据,找出下标为偶数的元素的最小值并输出。
{inta[10],min,i;
for(i=0;
i<
10;
i++)
____________________________;
min=a[0];
for(i=2;
i=i+2)
if(______________________)
min=a[i];
min);
return0;
37.下面程序是用递归函数实现求两个整数的最大公约数,主函数读入待求的两个整数并调用公约数函数求解,输出结果。
请在横线上填入相应的语句以使程序完整。
intGcd(intm,intn)
{intr;
r=m%n;
if()
returnn;
return;
{intm,n;
scanf("
%d%d"
&
m,&
n);
Gcdofmandnis:
%d\n"
);
}
(二)选择题:
1.第一个结构化程序设计语言是。
A)Pascal
B)CC)Basic
D)Fortran
2.以下哪一种程序设计语言是目前最受欢迎的编程语言之一。
3.C语言规定:
源程序中main函数的位置________。
A)必须在最开始B)必须在调用的函数的后面
C)可以任意D)必须在最后面
4."
程序存储思想"
是提出来的。
A)丹尼尔·
里奇
B)冯·
诺依曼C)贝尔
D)马丁·
理查德
5.计算机中的所有信息都是以的形式存储在机器内部的。
A)字符
B)二进制编码C)BCD码
D)ASCII码
6.C语言中,下列哪一个不是合法的标识符________。
A)_fileB)printfC)xyz.cD)ab3C
7.C语言中,下列哪一个是合法的标识符________。
A)3*XB)forC)_filenameD)$X
8.关于软件和程序,下列说法不正确的是________。
A)软件的核心是程序B)软件就是程序
C)软件=程序+文档D)软件中文档必不可少
9.C语言中,错误的转义字符是()。
A)'
\n'
B)'
\101'
C)'
\"
'
D)'
\108'
10.属于C语言基本数据类型的是________。
A)数组型
B)浮点型C)指针型
D)结构型
11.以下正确的C语言变量名是________。
A)%kB)a+bC)a123D)test!
12.C语言中主函数的个数是________。
A)2个
B)1个C)任意个
D)10个
13.不属于C语言基本数据类型的是________。
A)字符型
B)浮点型C)整型
D)结构型
14.在C语言中,合法的字符常量是________。
A)'
\084'
B)'
\x43'
C)'
ab'
D)"
\0"
15.执行语句a=4*5,a*2,a+15;
后a的值是________。
A)35B)40C)55D)20
16.C语言程序的三种基本结构是_________。
A)顺序结构,选择结构,循环结构B)递归结构,循环结构,转移结构
C)嵌套结构,循环结构,顺序结构D)递归结构,选择结构,顺序结构
17.以下选项中不属于字符常量的是________。
C'
B)'
\072'
C)'
\xCC'
D)"
C"
18.设a为int型变量,分别执行下列赋值语句后,a所获得的值分别是______。
a=125.534;
a=20.0/3;
a=(int)125.521%4;
A)125,6,31
B)125,6,1
C)125,7,1
D)125.534,6.666666,1.521
19.若已定义x和y为double类型变量,则表达式“x=1,y=x+3/2”的值是____。
A)1B)2C)2.0D)2.5
20.以下选项中不属于字符常量的是________。
A)"
s"
B)'
\117'
\x86'
D)'
a'
21.以下选项中,不是C语句的是________。
A)a+=b;
B);
C){x++;
++y;
}D)printf(“%d”,a)
22.以下非法的赋值语句是________。
A)n=(i=2,++i);
B)j++;
C)++(i+1);
D)x=j>
0;
23.已知w=1,x=2,y=3,z=3,a=4,b=2;
z);
后,
a,b的值为________。
A)1和1B)0和0C)4和2D)0和2
24.设有语句:
inta=7;
floatx=2.5,y=4.7;
则表达式x+a%3*(int)(x+y)%2/4
的值是________。
A)2.5B)2.75C)2.0D)0.0
25.执行语句a=4*5,a*2,a+15;
A)35B)40C)55D)20
26.阅读程序:
#include"
stdio.h"
{inta;
floatb,c;
scanf("
%2d%3f%4f"
a,&
b,&
c);
\na=%d,b=%f,c=%f"
a,b,c);
return0;
}
若运行时从键盘上输入9876543210(0表示回车),则程序的输出结果_______。
A)a=98,b=765,c=4321B)a=98,b=765.000000,c=4321.000000
C)a=98,b=765.0,c=4321.0D)a=98.0,b=765.0,c=4321.0
27.下列四种数组定义中,合法的数组定义是___。
A)chara[]="
hello"
B)inta[4]={4,3,2,1,0};
C)chara="
D)chara[5]="
28.下列________循环不是无限循环。
A)for(y=0;
x=1;
++y);
B)for(;
;
x=0);
C)while(x=1){x=1;
}D)for(y=1,x=1;
x>
=++y;
x++);
29.以下叙述正确的是________。
A)do…while语句构成的循环不能用其他语句构成的循环来代替
B)do…while语句构成的循环只能用break语句退出
C)用do…while语句构成的循环,在while后的表达式为非零时结束循环
D)用do…while语句构成的循环,在while后的表达式为零时结束循环
30.下面的表达式中值为0的是________。
A)5%7B)5/7.0C)5/7D)5*7
31.设intk;
则语句for(k=0;
k=1;
k++);
和语句for(k=0;
k==1;
执行的次数分别是________。
A)无限和0B)0和无限C)都是无限D)都是0
32.下列________循环不是无限循环。
A)for(y=0;
B)for(;
C)while(x=1){x=1;
}D)for(y=1,x=1;
33.有变量定义如下:
doublenum;
,要使得num的值为3.14159,正确的输入语句是________。
A)scanf("
%lf"
,num);
B)scanf("
,&
num);
C)scanf("
D)scanf("
%f"
34.设charx[]="
abcde"
,y[]={'
'
b'
c'
d'
e'
};
那么________。
A)x数组的长度大于y数组的长度B)x数组的长度等于y数组的长度
C)x数组的长度小于y数组的长度D)x数组与y数组的存储区域相同
35.下面不正确的字符串赋值或赋初值方式是________。
A)char*str;
str="
string"
B)charstr[7]={'
s'
t'
r'
i'
n'
g'
C)charstr1[10];
strl="
D)charstr1[]="
str2[20];
strcpy(str2,str1);
36.定义如下变量和数组:
inti;
intx[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是________。
3;
i++)
%d"
x[i][2-i]);
A)159B)147C)357D)369
37.假设已定义chara[10];
char*p;
那么下面语句正确的是________。
A)p=a;
B)a="
abcdef"
C)*p="
D)p=*a;
38.若有说明:
inta[]={15,12,-9,28,5,3},*p=a;
;
则下列________表达式是错误的。
A)*(a=a+3)B)*(p=p+3)C)p[p[4]]D)*(a+*(a+5))
39.为了避免嵌套的条件分支语句if-else的二义性,C语言规定:
C程序中的
else总是与________组成配对关系。
A)缩排位置相同的ifB)在其之前未配对的if
C)在其之前未配对的最近的ifD)同一行上的if
40.若chara[7]={'
p'
'
o'
m'
char*p=a;
那么下面________能
得到字符'
。
A)*p+2;
B)*(p+2);
C)p+2D)p++,*p;
41.下列编译预处理指令中,不正确的是___。
A)#defineM3B)#include"
C)#include<
math.h>
D)#definePI=3.14159
42.宏定义#includeG9.8中的宏名G表示________。
A)一个单精度实数B)一个双精度实数
C)一个字符串D)不确定类型的数
43.设inta=9,b=20;
则printf("
a--,--b);
的输出结果是________。
A)9,19
B)9,20
C)10,19
D)10,20
44.以下关于switch语句和break语句的描述正确的是________。
A)在switch语句中必须使用break语句
B)break语句只能用于switch语句体中
C)break语句只能用于循环语句中
D)在switch语句中可以不使用break语句
45.下面关于函数的理解,不正确的是___。
A)函数可以嵌套定义B)函数可以嵌套调用
C)函数可以没有形式参数D)函数可以有多个形式参数
46.以下叙述中正确的是________。
A)全局变量的作用域一定比局部变量的作用域范围大
B)静态(static)存储变量的生存期贯穿于整个程序的运行期间
C)函数的形参都属于全局变量
D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值
47.若有定义inta[2][3],对元素a[i][j]地址的不正确引用是___。
A)a[i]+j;
B)*a+i*3+j;
C)(a+i)+j;
D)*(a+i)+j;
48.若有以下语句:
inta[3][2]={1,2,3,4,5,6,},*p[3];
p[0]=a[1];
则*(p[0]+1)所代表的数组元素是________。
A)a[0][1]B)a[1][0]C)a[1][1]D)a[1][2]
49.下列对指针p的操作,正确的是___。
A)int*p;
*p=2;
B)inta[5]={1,2,3,4,5},*p=&
a;
*p=5;
C)inta,*p=&
a;
D)floata[5];
int*p=&
50.对于C程序的函数,下列叙述中正确的是___。
A)函数的定义不能嵌套,但函数调用可以嵌套
B)函数的定义可以嵌套,但函数调用不能嵌套
C)函数的定义和调用均可以嵌套
D)函数的定义和调用均不能嵌套
51.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是。
A)函数调用可以作为独立的语句存在
B)函数调用可以作为一个函数的实参
C)函数调用可以出现在表达式中
D)函数调用可以作为一个函数的形参
52.函数的返回值类型由___决定。
A)return后的表达式B)定义函数时指定的返回值类型
C)调用函数时临时决定D)主调用函数的类型
53.以下不能对二维数组a进行正确初始化的语句是___。
A)inta[2][3]={0};
B)inta[][3]={{1,2},{0}};
C)inta[2][3]={{1,2},{3,4},{5,6}};
D)inta[][3]={1,2,3,4,5,6};
54.下面对一维数组a进行正确初始化的语句是___。
A)inta[5]={1,2};
B)inta[2]={1,2,3,4,5};
C)inta[5]={,,1,2};
D)inta{5}={1,2,3,4,5};
55.若函数定义时不指明函数的类型,则其默认的返回值类型是___。
A)voidB)任意类型C)intD)double
56.下面对一维数组定义错误的是___。
A)inta[]={1,2,3,4};
B)chara[5];
C)chara[6]="
test"
D)intn=5,a[n];
57.以下选项中正确的语句组是___。
A)chars[];
s="
BOOK!
B)char*s;
s={"
C)chars[10];
D)char*s;
58.若有下面的说明和定义:
structtest
{intm1;
charm2;
floatm3;
unionuu
{charu1[5];
intu2[2];
}ua;
};
则在VC++系统中sizeof(structtest)的值是________。
A)9B)12C)13D)14
59.有如下定义:
structexam
{intx,y;
}v1;
则___是正确的引用或定义。
A)exam.x=10;
B)examv2;
v2.x=10;
C)structv2;
D)structexamv2={10};
60.设函数外有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是___。
A)staticB)registerC)autoD)extern
61.当用户输入的字符串含空格时,应使用___函数读入字符串。
A)scanf()B)gets()C)getchar()D)getc()
62.设函数中有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是___。
A)autoB)registerC)staticD)extern
(三)判断题:
1.在while循环中允许使用嵌套循环,但只能嵌套while循环。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言程序设计 练习题 42