安徽大学C语言平时作业Word文档格式.docx
《安徽大学C语言平时作业Word文档格式.docx》由会员分享,可在线阅读,更多相关《安徽大学C语言平时作业Word文档格式.docx(77页珍藏版)》请在冰豆网上搜索。
C)分支、过程、循环
D)顺序、过程、循环
下列说法正确的是( )
A)C语言版本众多,但这些版本大多不能兼容
B)C语言只能在固定的操作系统上运行。
C)C语言不包含依赖硬件的输入/输出语句,其输入/输出功能语句需要手工来编写。
D)C语言允许对位、字节、地址这些计算机功能中的基本成分进行操作。
当用户用编辑器将C语言程序录入到计算机后,就建立一个源文件,则( )
A)源文件可以直接被计算机执行
B)源文件需要编译后就可执行
C)源文件经过编译链接后生成的可执行程序和源程序是独立的
D)错误调试一般在执行过程进行
下列说法中正确的是()
A.由于C源程序是高级语言程序,因此一定要在VC++软件中输入
B.由于C源程序是字符组成,因此可以作为文本文件在任何文本编辑的软件中输入
C.由于C程序是高级语言程序,因此输入后即可执行
D.由于C程序是高级语言程序,因此它由命令组成
下列说法中错误的是()
A.主函数可以分为两个部分:
主函数说明部分和主函数体
B.主函数可以调用任何非主函数的其它函数
C.任何非主函数可以调用其它任何非主函数
D.程序可以从任何非主函数开始执行
答案:
BBDCCCBCCAAABDCBD
C基本数据类型及计算
下列不正确的C语言用户标识符是____。
A)intB)a_1_2C)ab1exeD)_x
下列正确的C语言标识符是____。
A)#defineB)_123C)%dD)\n
下列四组字符串中都可以用作C语言程序标识符的一组是____。
A)print__123Pxqstr_l
B)_3done_halfMy->
bookCpp
C)oodbstart$itline#pow
D)aBc3paiHis.agewhile
下面各选项组中,均是C语言关键字的组是____。
A)auto,enum,includeB)switch,typedef,continue
C)signed,union,scanfD)if,struct,type
下列不属于C语言关键字的是____。
A)defaultB)registerC)enumD)external
执行语句printf("
%x"
-1);
屏幕显示____。
A)-1B)1C)-ffffD)ffffffff
已知inta=2,b=1,c;
执行语句c=b/a+2.5后,c的值____。
A)2.5B)3C)3.0D)2
有关变量已经定义,以下合法的数值表达式是____。
A)a=1/b=2B)++(a+b)C)b=b/(a=6)D)c=int(a)+b
将字符g赋给字符变量c,正确的表达式是____。
A)c=\147B)c="
\147"
C)c='
\147'
D)c='
0147'
下列转义字符中错误的一个是____。
A)'
\000'
B)'
\014'
C)'
\x111'
D)'
\2'
将空格符赋给字符变量c,正确的赋值语句是____。
A)c='
\0'
B)c=NULLC)c=0D)c=32
已知:
chara='
\70'
;
则变量a中。
A)包含1个字符B)包含2个字符
C)包含3个字符D)说明非法
字符串"
\"
EOF\n=-\61\"
"
的长度是____。
A)8B)9C)14D)非法字符串
A)0B)1C)2D)非法字符串
chara;
intb;
floatc;
doubled;
执行语句"
c=a+b+c+d;
后,变量c的数据类型是。
A)intB)charC)floatD)double
逗号表达式"
(a=3*5,a*4),a+15"
的值是____。
A)15B)60C)30D)不确定
如果inta=1,b=2,c=3,d=4;
则条件表达式a<
b?
a:
c<
d?
c:
d的值是____。
A)1B)2C)3D)4
已知inti=10;
表达式"
20-0<
=i<
=9"
A)0B)1C)19D)20
已知intx=1,y;
执行下述语句后变量x的值是____。
y=++x>
5&
&
++x<
10;
为判断字符变量c的值不是数字也不是字母时,应采用下述表达式____。
A)c<
=48||c>
=57&
=65||c>
=90&
=97||c>
=122
B)!
(c<
=122)
C)c>
=48&
=57||c>
=65&
=90||c>
=97&
D)!
(c>
已知intx=5,y=5,z=5;
执行语句x%=y+z;
后,x的值是____。
A)0B)1C)5D)6
ABABDDDCCCDABACCABBDC
输入和输出
设a=3,b=4,执行“printf(“a=%d,B=%d"
a,b);
”的输出是()
A.a=3,b=4B.3,4C.a=3,B=4D.a=3B=4
设a=1234,b=12,c=34执行“printf(“|%3d%3d%-3d|\n”,a,b,c);
”的输出是()
A.|12341234| B.|1231234|C.|123412-34|D.|2341234|
使用“scanf(“x=%f,y=%f”,&
x,&
y);
”,要使x,y均为1.25,正确的输入是()
A.1.25,1.25 B.1.251.25 C.x=1.25,y=1.25 D.x=1.25y=1.25
要使doublex;
longa;
获得数据,正确的输入语句是()
A.scanf(“%d,%f”,&
a,&
x);
B.scanf(“%f,%ld”,&
a);
C.scanf(“%d,%lf”,&
D.scanf(“%ld,%lf”,&
设有inta=255,b=8;
则printf(“%x,%o\n”,a,b);
的输出的是()
A.255,8B.ff,10C.0xff,010D.输出格式错
设a、b为字符型变量,执行“scanf(“a=%c,b=%c”,&
b);
”后使a为’A’,b为’B’,从键盘上的正确输入是()
A.‘A’’B’B.‘A’,’B’C.A=A,B=BD.a=A,b=B
语句printf(“%f%%”,1.0/3);
的输出结果为:
A.0.333333B.0.333333% C.0.333333%%D.出错
已有定义intx;
floaty;
且执行scanf("
%3d%f"
&
输入数据为12345678<
回车>
则x和y的值为:
A.12345.000000B.123678.000000
C.12345678.000000C.345678.000000
有如下的定义和输入语句:
inta1,a2;
charc1,c2;
scanf("
%d%d"
a1,&
a2);
%c%c"
c1,&
c2);
若要求a1,a2,c1,c2的值分别为10、20、A和B,则正确的数据输入方式为()
A.1020ABB.1020<
CR>
AB<
C.1020AB<
D.1020AB<
已有定义:
floatf1,f2;
程序运行时输入数据为4.523.5,则输入语句正确的为()
A.scanf("
%f,%f"
f1,&
f2);
B.scanf("
%f%f"
C.scanf("
%f%f\n"
D.scanf("
%3f%f"
下列数据中属于“字符串常量”的是()
A.“a”B.{ABC}C.’abc\0’D.’a’
在PC机中,‘\n’在内存占用的字节数是()
A.1B.2C.3D.4
在PC机中,“a\xff”在内存占用的字节数是()
A.5B.6C.3D.4
在C语言中,合法的长整型常数是()
A.0LB.4962710 C.0.054838743D.2.1869e10
下列数据中不属于“字符常量”的是()
A.‘\a’B.‘\160’ C.‘\070’D.070
CACDBDBADBAACAD
C程序控制结构
结构化程序设计的3种结构是
A)顺序结构、选择结构、转移结构
B)分支结构、等价结构、循环结构
C)多分支结构、赋值结构、等价结构
D)顺序结构、选择结构、循环结构
已知 intt=0;
while(t=1)
{...}
则以下叙述正确的是
A)循环控制表达式的值为0
B)循环控制表达式的值为1
C)循环控制表达式不合法
D)以上说法都不对
有如下程序:
main()
{
intx=1,a=0,b=0;
switch(x)
case0:
b++;
case1:
a++;
case2:
b++;
}
printf("
a=%d,b=%d\n"
该程序的输出结果是
A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2
有以下程序 main()
{inti=1,j=1,k=2;
if((j++||k++)&
i++)
%d,%d,%d\n"
i,j,k);
执行后输出结果是
A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3
有如下程序 main()
{floatx=2.0,y;
if(x<
0.0)y=0.0;
elseif(x<
10.0)y=1.0/x;
elsey=1.0;
%f\n"
y);
A)0.000000 B)0.250000 C)0.500000 D)1.000000
{intn=9;
while(n>
6){n--;
printf("
%d"
n);
A)987 B)876 C)8765 D)9876
在下列选项中,没有构成死循环的是
A)inti=100;
while
(1)
{i=i%100+1;
if(i>
100)break;
B)for(;
;
);
C)intk=10000;
do{k++;
}while(k>
10000);
D)ints=36;
while(s)--s;
有如下程序段 #include"
stdio.h"
{inta=10,b=50,c=30;
a=a>
30?
1:
2;
b=b>
c=c>
a,b,c);
则执行结果为
A)2,1,2 B)1,2,1 C)1,1,2 D)2,1,1
阅读如下程序段
#include"
main()
{inta=45,b=40,c=50,d;
d=a>
b:
c;
switch(d)
{case30:
%d,"
a);
case40:
b);
case50:
c);
default:
#"
}}
则输出的结果是
A)40,50, B)50,# C)40,# D)40,50,#
若有定义intk=10;
则下列程序的输出结果为
do{
k--);
}while(!
k);
A)9 B)10 C)10987654321 D)没有输出
阅读下列程序段,则程序的输出结果是
{inta=10,b=10,k;
for(k=0;
a>
8;
b=++k)
%d,%d,"
a--,--b);
\n"
A)10,10,10,0, B)10,9,9,0, C)10,10,9,1, D)9,9,9,1,
下列程序的运行结果是
{inta,b,m;
for(a=5;
=1;
a--)
{m=0;
for(b=a;
b<
=5;
b++)
m=m+a*b;
%d\n"
m);
A)30 B)15 C)20 D)10
若inti,j;
,则for(i=j=0;
i<
10&
j<
i++,j+=3)控制的循环体执行的次数是( )
A)9 B)8 C)3 D)2
下列程序的输出结果是
{inti=6;
while(i--)
--i);
A)531 B)420 C)654321 D)死循环
阅读下列程序,则执行结果是
{inta=0,b=0,c=0,i;
for(i=0;
4;
switch(i)
{case0:
a=i++;
b=i++;
c=i++;
case3:
i++;
%d,%d,%d,%d\n"
a,b,c,i);
A)0,1,3,4 B)1,2,3,4 C)0,1,2,5 D)0,2,3,4
下面程序的运行结果是
{intj,i,k=0;
for(j=50;
=60;
j++)
{if(!
(k%10))printf("
for(i=2;
j;
i++)if(!
(j%i))break;
=j-1){printf("
j);
k++;
}}}
A)5359 B)5953 C)3595 D)9535
已知charch='
C'
则以下表达式的值是
ch=(ch>
='
A′&
ch<
Z′)?
(ch+32):
ch;
A)A B)a C)Z D)c
{intx=-9,y=5,z=8;
y)
if(y<
0)z=0;
elsez+=1;
z);
A)6 B)7 C)8 D)9
现有定义intk=1;
则执行语句while(++k<
4);
后,k的值为
A)4 B)5 C)6 D)8
以下程序的运行结果为
{intm,n;
for(m=0,n=10;
m<
n;
m+=3,n--);
%d,%d\n"
m,n);
A)6,7 B)7,6 C)9,7 D)7,9
DBACCBDABDBBCBCADDAC
数组
1、若有以下数组说明,则数值最小和最大元素的下标分别是()。
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
A.1,12B.0,11C.1,11D.0,12
2、若有以下数组说明,且i=10;
则a[a[i]]元素数值是()。
inta[12]={1,4,7,10,2,5,8,11,3,6,9,12};
A.10B.9C.6D.5
3、设有定义:
chars[12]={“string”};
,则
printf(“%d\n”,strlen(s));
的输出是()。
A.6B.7C.11D.12
4、以下对数组描述正确的是()。
A.数组一旦定义其大小是固定的,但数组元素的类型可以不同
B.数组一旦定义其大小是固定的,且数组元素的类型必须相同
C.数组一旦定义其大小是可变的,且数组元素的类型可以不同
D.数组一旦定义其大小是可变的,但数组元素的类型必须相同
5、以下叙述中错误的是()。
A.不可以用数组名对数组整体进行操作
B.数组名代表的是数组所占存储区的首地址,其值不可改变
C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息
D.可以通过赋初值的方式确定数组元素的个数
6、下列定义的字符数组中,printf(“%s\n”,str[2]);
语句的输出是()。
charstr[3][20]={“basic”,“foxpro”,“windows”};
A.basicB.foxproC.windowsD.输出语句出错
7、以下能正确将字符串“Boy”进行完整赋值操作的是()。
A.chars[3]={‘B’,‘o’‘y’};
B.chars[]=“Boy”;
C.chars[3]={“Boy”};
D.chars[3];
s[0]=‘B’;
s[1]=‘o’;
s[2]=‘y’;
8、定义:
chara[]="
China"
则数组a所占的空间为()。
A.4个字节B.5个字节C.6个字节D.7个字节
9、若有inta[4]={1,2,3,4};
,则a[a[0]+2*a[2]-a[3]]的值()。
A.1B.2C.3D.4
10、设变量定义为charformat[]=“s=%d\n”;
则数组format中有()个元素。
A.4B.5C.6D.7
11、静态整型数组不赋初值时,其各元素的值是()。
A.不定值B.-1C.0D.1
12、有以下程序段的输出结果是()。
chara[]=“abcdefgh”;
intm,n;
m=sizeof(a);
n=strlen(a);
printf(“%d,%d\n”,m,n);
A.9,9B.8,9C.8,8D.9,8
13、以下程序段的输出结果是()。
inti,a[10];
for(i=9;
i>
=0;
i--)
a[i]=10-i;
printf(“%d%d%d”,a[2],a[5],a[8]);
A.258B.741C.852D.369
14、以下程序运行后的输出结果是()。
{intp[8]={11,12,13,14,15,16,17,18},i=0,j=0;
while(i++<
7)
if(p[i]%2)j+=p[i];
%d\n"
A.42B.45C.56D.60
15、以下程序执行后输出结果是()。
{intp[7]={11,13