《大一C语言总题库.pdf》由会员分享,可在线阅读,更多相关《大一C语言总题库.pdf(117页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1-1 1-1 C语言中在else之后可以直接跟条件。(1分)F1-2 C语言中的变量名属于标识符。(1分)T1-3可以使用print输出一个字符。(1分)T1-3 c语言中书写程序时一行可以写多个语句。Q分)T1-5执行c程序时,不是从main函数开始。(1分)F1-6 c程序书写格式限制严格,-行内只能写一条语句。(1分)F1-7-个程序可由一个或多个函数组成。(1分T1-8 c程序的基本组成单位是函数。Q分)T1-9在c程序中,注释语句只能位于一条语句的后面。Q分)F1-10 c程序中注释语句可以这样写:/注释/和注释。(1分)F1-11 c语言具有位运算功能。(1分T1-12每一条c语
2、言语句的最后都必须加分号。(1分)T1-13 c语言的每个函数都可以用return语句返回一个返回值。(1分)T1-14 c语言每个函数的返回值都是int型的。(1分)F1-15若有定义:charch=105;测变量ch中包含4 个字符。(1分)F1-16 C语言中变量名和R表示同-一个变量。Q分)F1-17 c语言中运算符%的优先级高于&。Q分)T1-18 C语言中3/2的值是1。(1分)T1-19 C语言中字符串常量是用双引号括起来的。Q分)T1-20在C语言中这个表达式是正确的:a+2(1分)T1-21在C语言中一个字符型变量中可以存放多个字符。Q分)F122在C语言中转义字符可以算是多
3、个字符,如,101。Q分)F1-23这个赋值语句是正确的:5=a;(l分)F1-24在C语言中一个float型变 量一般是占2个字节的内存空间。Q分)F1-25求余数运算符%的两边只能是整型的数据。(1分)T1-26可以使用圆括号改变运算符的运算次序。(1分)T127C语言中的运算符有单目的、双 目的,还有三目的。(1分)T1-28函数pow(x,y)的作用是计算y的x次方。Q分)F1-29判断整型变量a是否是偶数的表达式为a%2=0o(1分)F1-30判断整型变量a能否同时被3和7整除的表达式为a%3=0&a%7=0o(1分)T1-31表达式的值只能是1或者0。(1分)T1-32赋值号左边必
4、须为变量。(1分)T1-33假设有float f=7;则f%2的值为10(1分)F1-34复合语句是由一对大括号括起来的若F条语句组成的。(1分)T1-35空语句不是一条始法的语句,因为它没有作用。(1分)F1-36可以使用getchar函数输入一个字符串。Q分)F1-37不可以把一个实型数据赋给一个整型变量。(1分)F1-38可以把一个整型数据赋给一个实型变量。(1分)T1-39可以使用scant输入.个字符。Q分)T1-40复合语句语法上是一条语句。分)T1-41在逻辑运算符中,逻辑非的优先级别最高。T1-42示变量x的值在1到9之间的逻辑表达式为l=xb)&(n=c d)后,m 的值为
5、0,n 的值也为0o(1分)F1-44 if(ab)t=a;a=b;b=t;y后,变量z 的值为6O(1 分)F1-51 while循环的循环体最少要执行-次。(1 分)F1-52对 for(表达式L;表达式3)可理解为for(表达式1;1;表达式3)。(1 分)T1-53 c 语言中三种循环语句可以相互嵌套。(1 分)T1-54 do-while循环的循环体最少要执行-次。(1 分)T1-55循环体中若有多条语句,应构成一复合语句。(1 分)T1-56 C语言的数组下标从0 开始。Q 分)T1-57若有定义float a=123,则数组中含有3 个元素。(1 分)F1-58若有定义:int
6、a34;则 a b-a 2是对a 数组元素的正确引用。(1 分)F1-59数组初始化时,初始值个数小于数组元素的个数,C语言自动将剩余的元素初始化为初始化列表中的最后一个初始值。(1 分)F1-6 0对于定义int a5;可以通过语句scanf(Wd“a)输入全部元素的值。Q 分)F1-6 1要对文件进行操作必须先使用fopen函数打开该文件。Q 分)T1-6 2 close;表示关闭指针fp 所指向的那个文件。(1 分)F1-6 3 fprintf(fp$d”,a);表 示 将 变 量 a 以十进制整数形式保存到指针fp 所指向的文件中。Q分)T1-6 4 scanf(fp,c,&xch);
7、表示从指针fp 所指向的文件中读出一个字符并保存到变量ch中。(1分)F1-65 语句 int*p 和 printf(”%d”,*p);中的*p 含义相同。(1 分)F1-66可以将一个整型数据赋给一个指针变量,如P=3000。(1分)F1-67指针变量中保存的肯定是一个地址。(1分)T1-68指针变中保存的不一定是一个地址。(1分)F1-69如此定义指针变量int*p;后,可以把一个实型变 量的地址赋给变量p。(1分)F1-70对于定义inta5,*p=a后,*(p+l)和*(a+l)的值是相同的。(1分)T1-71 char s80;s=hello”;这样赋值是可以的。(1 分)F1-72
8、 char s80,*p=s;p=hell。”,这样赋值是可以的。(1 分)T1-73 char sl80,s280;sl=s2;这样赋值是正确的。(1 分)F1-74语句char*pstr=lalala!”的含义是将字符串存入到变量pstr中。Q分)F1-75对于两个字符串变量s i和s 2,使用if(s干s2)来比较大小是可以的。(1分)F1-76 C语言的一个源程序文件中只能包含一个函数。(1分)F1-77 C语言程序执行时是从m ain函数开始,最后也是结束于m ain函数。(1分)T1-78 m ain函数必须位于其他函数之前。Q分)F1-79除了 m ain函数,其他函数都必须先声
9、明才能调用。(1分)F1-80在不同函数中不能使用相同名称的变量。(1分)F1-8 1以数组名作函数参数时,数据传递的方向是“双向的”,因此我们可以说,在此情况下,函数带回的返回值可能不止一个。(1分)T1-8 2以数组名作函数参数时,实参数组与形参数组都不必定义长度,因为实参与形参的结合方式是地址结合,与数组长度无关。(1分)T1-8 3在调用一个函数的过程中又出现直接或间接地调用该函数本身,这称为函数的递归调用。(1分)T1-84函数的递归调用是嵌套调用的特例。Q分)T1-85用指针变量做函数参数时,参数间进行的是地址传递。Q分)T1-86 C语言中的预处理命令都以u#开头。(1分)T1-
10、87/include 是一条编译预处理命令。(1分)T1-88#define PI 3.1415926 是一条 C 语句。(1 分)F1-89宏定义不存在类型问题,宏名无类型,它的参数也无类型。(1分)T1-90宏名必须用大写字母表示。(1分)F1-91 C语言中的结构体类型属于-种构造类型。(1分)T1-92结构体变量的存储空间是该结构体中所有成员所需存储空间的总和。(1分)T1-93-个结构体类型中的各个成员的类型必须是相同的。(1分)F1-94结构体类型不可以嵌套定义。(1分)F1-95结构体变量不能进行整体输入输出。T1-96当对一个数进行左移运算时,每左移-位,-定相当于移位对象乘以
11、2。(1分)F1-97若要使一个数中某些指定位翻转而另-一些位保持不变,可以将此数与另-个数做”异或“运算。Q分)T1-98 a为任意整数,表达式a=aa能将变量a清零。(1分)T1-99 5-2 b的值为0。(1分)F2-1以下叙述不正确的是(C)。1.c程序中,语句之间必须用分号分隔。2.c程序中,多行语句可以写在一行上。3.c程序中,可以不必包含主函数。4.一个c程序,可以由多个函数组成。2-2c语言规定,在一个源程序中,m ain函数的位置(C)1.必须在最开始2.必须在系统调用库函数的后面3.可以任意4,必须在最后2-3以下叙述不正确的是(A)。1.m ain函数必须位于程序的最前面
12、。2.c程序中,每行可以写多条语句。3.c语言本身不提供输入输出语句。4.在对c语言程序进行编译的过程中,不能发现注释中的错误。2-4一个C程序的执行是从(A)。1.本程序的m ain函数开始,到m ain函数结束2.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束3.本程序文件的第一个函数开始,到本程序m ain函数结束4.本程序的m ain函数开始,到本程序文件的最后一个函数结束2-5以下叙述不正确的是(D)。1.一个C源程序必须包含一个m ain函数2.一个C源程序可由一个或多个函数组成3.C程序的基本组成是函数4.在C程序中,注释说明只能位于一条语句的后面2-6以下叙述不正确
13、的是(B)。1.若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,且b中的值不变。2.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。3.在C程序中,逗号运算符的优先级最低。4.在C程序中,M AX和m ax是两个不同的变量。2-7已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=4 +6-3后,c 2中 的 值 为(C)。1.D2.683.不确定的值4.C2-8sizeof(float)是(B)。1.一个双精度型表达式2.一个整型表达式3.一种函数表达式4.一个不合法的表达式2-9若变量已正确定义,要将a和b中的值进行交换
14、,下面不正确的语句组是(D)。1.a=a+b,b=a-b,a=a-b;2.t=a,a=b,b=t;3.t=b;b=a;a=t;4.a=t;t=b;b=a;2-10若有定义:char ch=,x 4 2;则变量c h中 包 含(A)个字符。1.12.23.44,定义不合法2-11下列选项中可以作为C语言的合法整数的是(B)o1.bf2.0 x7e33.036784.1011B2-12putchar函数可以向终端输出一个(D)。1,整型变量表达式2.实型变量值3.字符串4.字符2-13printf函数中用到格式符%-6 s,其中数字6表示输出的字符串占用6歹限如果字符串长度小于6,则 输 出 按
15、方 式(A)。1.从左起输出该字符串,右补空格2.从右起输出该字符串,左补空格3.04.输出错误信息2-14p rin tf函数中用到格式符%5 s,其中数字5表示输出的字符串占用5歹人如果字符串长度大于5,则 输 出 按 方 式(B)01.从左起输出该字符串,右补空格2.按原字符长从左向右全部输出3.04.输出错误信息2-15若变量已定义为flo a t类型,要通过以下赋值语句scanf(%f,%f“,&a,&b);给a赋值为1 1,给b赋值为22,以下正确的输入形式是(D)。1.2.3.4.11 2211&2211:2211,222-16若变量已正确说明为in t类型,要给a,b,c输入数
16、据,以下正确的输入语句是(C)o1.read a,b,c;2.getchar(a,b,c);3.scanf(%d%d%d,&ar&b,&c);4.scanf(%d%d%d,a,b,c);2-17以下叙述正确的是(C)oI.在c程序中,不允许把一个整数赋值给一个实型变量。2.1/2的值为0.5o3.在C程序中,%是只能用于整数运算的运算符。4.在C程序中,无论是整数还是实数,都能被准确无误地表示。2-18设有说明:char w;int x;float y;double z;则表达式wx+z-y值的数据类型为(D)o1.float2.char3.int4.double2-19已知 intx=10,
17、y=20,z=31;以下语句:if(x y)z=x;x=y;y二z才丸行后 x,y,z 的 值 是(C)o1.x=10,y=20,z=302.x=20,y=30,z=303.x=20,y=10,z=104.x=20,y=30,z=102-20已知 int x=10,y=20,z=32以 下语句:if(x y)z=x;else x=y;y=z;执行后x,y,z 的 值 是(A)o1.2.3.4.x=10,y=10,z=10 x=20,y=30,z=30 x=20,y=30,z-Wx=20,y=20,z=202-21已知 int x=10,y=20,z=33;以下语句:if(xy)z=x;ulse
18、 x=y;y=z;执行后 x,y,z 的 值 是(B )o1.2.3.4.x=10,y=20,z=30 x=10,y=20,z=10 x=20,y=30,z=10 x=20,y=30,z=202-22表示关系1=x=l&x=l and x=1003.l=x=l&x=1002-23在下面的条件语句中(其中S I和S2表示c语言语句),哪一个在功能上与其他3个语句不等 价(B)。1.if(a!=O)Sl;else S2;2.if(a=O)Sl;else S2;3.if(a)Sl;else S2;4.if(a=O)S2;else SI;2-24以下不属于算法的特征的是(A)o1.无穷性2.确切性3.
19、可行性4.输出项2-25判断char型变量ch是否为大写字母的正确表达式是(C)o1.A,=ch=A)&(chv二Z )3.(ch=TV)&(ch=Z )4.(A=ch)2-26设 有:int a=l,b二2,c=3,d=4,m=2,n=2;执行(m=ab)&(n二cd)后 n 的 值 为(B)o1.12.23.34.42-2 7若有 in t a b d=2 4 1;语句 a=d/1 0 0%9;b=(-1)&(-1);执行后 a,b 的 值 为(B)。1.6,12.2,13.6,04.2,02-2 8设有程序段in t k=1 0;w h il e*=0)k=k-1;这下面描述中正确的是(
20、C )。1.w h il e 循环执行1 0 次 C2.循环是无限循环3.循环体语句一次也不执行4.循环体语句执行一次2-2 9若 i为整型变量,则以下循环f o r(i=2;-0;i-)p n n t f(“%c T,i);执行次数是(B )01.无限次2.。次3.1 次4.2次2-3 0执行语句f o (i=l;i 4;i+)后 变 量 i的 值 是(C)o1.32.53.44.不定2-31下列程序的循环次数是(A)oint i=0;while(i 100)if(il)continue;if(i=3)break;i+;)1.2.3.4.死循环1232-32合法的数组定义语句是(D)o1.i
21、nt a 二“string”;2.int a5=0,l,2,3,4,5);3.char a=string;4.char a 二“string”;2-33有定义语句int a5,I;,输入数组a的所有元素的语句应为(C)。1.scanf(%d%d%d%d%d,a5);2.scanf(%d,a);3.for(i=0;i 5;i+)scanf(%d,&ai);4.for(i=0;i 5;i+)scanf(%cT,ai);2-34以下能正确定义二维数组的语句是(D)o1.int aQQ;2.intaD3;3.int a2Q;4.int a23;2-35以下对二维数组a的正确说明是(C)o1.int a
22、3;2.float a(3,4);3.double al4;4.float a(3)(4);2-36变量的指针,其含义是指该变量的(B)o1,值2.地址3.名4.一个标志2-37若想对文本文件进行只读操作,打开此文件的方式是(D)o1,rb2.w3.nab4.r2-38若执行fopen函数时发生错误,则函数的返回值是(C)o1.一个随机地址值2.13.NULL4.EOF2-39文件操作的一般步骤是(B)。1.读/写文件一修改文件一关闭文件2.打开文件T读/写文件一关闭文件3.读/写文件T打开文件T关闭文件4.读文件T写文件一关闭文件2-40若fp是指向某文件的指针,且已读到文件末尾,则表达式f
23、eof(fp)的返回值是(C)。1.EOF2.-13.非零值4.NULL2-41关于文件指针,以下说法错误的是(D)。1.只有通过文件指针变量才能调用相应文件。2,定义文件指针变量时,FILE必须大写。3.一 个文件指针变量只能对应一个文件。4.一个文件指针变量可以同时对应多个文件。2-42以下为一维整型数组a的正确说明是(D)。1.int a(10);2.int n=10,an;3.int n;scanf(%d,&n);int an;4.#define SIZE 10 int aSIZE;2-43若二维数组a有m列,则 在 前 的 元 素 个 数 为(B)。1.j*m+i2.i*m+j3.i
24、*m+j-l4.i*m+j+l2-44若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是(D)。1.a,point,*&a2.&*a,&a/point3.*&point,*point,&a4.&a,&*point,point2-45若有说明:int*p,m=5,n;以下正确的程序段的是(D)o1.p=&n;scanf(%d,&p);2.p=&n;scanf(%d,*p);3.scanf(%d,&n);*p=n;4.p=&n;*p=m;2-46若有以下定义,inta5,*p=a;则对a数组元素的正确引用是(B)。1.*&a52.*(a+2)3.*(P+5)4,a+
25、22-47若有以下定义,inta10,*p=a;则p+5表 示(A)01.元素a5的地址2.元素a的值3.元素a6 的地址4.元素a的值2-48以下叙述错误的是(D)。1.指针可以进行加、减等算术运算;2.指针中存放的是地址值3.指针是一个变量4.指针变量不占用存储空间2-49对于基类型相同的两个指针变量之间,不能进行的运算是(C)o1.s2)2.if(strcmp(sl,s2)3.if(strcmp(s2,sl)0)4.if(strcmp(sl,s2)0)2-54设p l和p 2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语 句 是(B)01.c=*pl;2.p2 二
26、 c3.pl=p24.p l+=22-55以下正确的程序段是(C)o1.char str20;scanf(%s,&str);2.char*p;scanf(%s,p);3.char str20;scanf(%s,&str2);4.char str20,*p=str;scanf(%s,p2);2-56若有说明语句char is mine;char*p=lt is m ine;则以下不正确的叙述是(D)01,a+1表示的是字符t的地址2.p指向另外的字符串时,字符串的长度不受限制3.p变量中存放的地址值可以改变4.a中只能存放10个字符2-57下列选项正确的语句组是(A)。1.char*s;s=he
27、llo!;2.char*s;s=hello!;3.char s8;s=hello!;4.char s8;s=hello);2-58为了判断两个字符串s i和s2是否相等,应当使用下列哪个语句(B)o1.if(sl=s2);2.if(strcmp(sl,s2)=0);3.if(sl=s2);4.if(strcpy(sl,s2);2-59有如下定义,Char s80*p=s;不能给数组s输入字符串的是(B)。1.gets(p)2.gets(s0);3.gets(&s0);4.gets(s);2-60有以下定义,CharsD=012M356*p=s;不能表示字符M的表达式是(D)o1.*(P+3)2
28、.s33.*(s+3)4.*p+32-61有定义语句char array口=China”;则数组array所占用的空间为(C)。1.2.3.4.4个字节5个字节6个字节7个字节2-62以下正确的函数声明形式是(A)。1.int fun(int x,int y)2.int fun(int x;int y)3.int fun(int x,y);4.int fun(int x,int y);2-63C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是(D)。1.地址传递2.由用户指定传递方式3.双向值传递4,单向值传递:实参的值传给形参2-64以下程序有语法性错误,int main(voi
29、d)int N=3,k;void funl();函 数 声 明k=funl(N);/函数调用.o有关错误原因的正确说法是(B)。1.语句void funl();有错,它是函数调用语句,不能用void说明。2.函数说明和函数调用语句之间有矛盾3.函数声明语句不应该放在这里。4.变量名不能使用大写字母2-6 5C语言在C89标准中允许函数定义时缺省函数类型,此时隐含的函数的类型是(C)。1.long2.float3.int4.double2-6 6在 C语言中以下正确的叙述是(D)。1.函数的定义和函数的调用均可以嵌套。2,函数的定义和函数的调用均不可以嵌套。3,函数的定义可以嵌套,但函数的调用不
30、可以嵌套。4.函数的定义不可以嵌套,但函数的调用可以嵌套。2-6 7若有数组名作为函数调用的实参,传递给形参的是(A)o1.数组的首地址2.数组第一个元素的值3.数组中全部元素的值4,数组元素的个数2-6 8如果在一个函数中的复合语句中定义了一个变量,则 该 变 量(B )。1.在该函数中有效2.只在该复合语句中有效3.在该程序范围内均有效4.为非法变量2-6 9凡是函数中未指定存储类别的局部变量,其隐含的存储类别为(B)o1.静 态(static)2.自 动(auto)3.外 部(extern)4,寄 存 器(register)2-70以下说法正确的是(B)。1.实参类型不必同形参类型一致。
31、2.实参可以是常量、变量和表达式。3.形参可以是常量、变量和表达式。D.实参顺序与形参顺序无关。2-71有关C语言的主函数描述正确的是(C)。1.C程序可以有多个m ain函数2.C程序可以没有m ain函数3.C程序有且只有一个m ain函数4.C程序不一定从m ain函数开始执行2-72以下正确的描述是(D)。1.如果形参和实参的类型不一致,应以实参类型为准。2.定义函数时,可以省略不写形参的类型,只写形参名。3.return语句后不能是表达式。4.如果函数值类型与返回值类型不一致,应以函数值类型为准。2-73下列关于函数的描述错误的是(D)。1.C程序是由函数组成的。2.C程序中的函数是
32、各自独立的。3.m ain函数可以调用其他的函数。4.在m ain函数中可以嵌套定义别的函数。2-74对于一维数组名作为函数实参,以下描述正确的是(B )o1.实参数组类型与形参数组类型可以不一致。2,必须在主调函数中说明此数组的大小。3.函数调用时是将实参数组中的所有元素值复制到形参数组中。4.实参数组名与形参数组名必须保持一致。2-75数组名作为参数时,以下叙述正确的是(C)。1.函数调用时是将实参数组的所有元素值传给形参。2.函数调用时是将实参数组的第一个元素值传给形参。3,函数调用时是将实参数组的首地址传给形参。4.函数调用时是将实参数组的所有元素的地址传给形参。2-76已有如下数组定
33、义和函数调用语句,int a34;fun(a);则 fun函数的形参数组定义正确的是(C)。1.fun(int a)2.fun(int a3Q)C.fun(int aQQ)3.fun(int a4)2-77以下描述错误的是(A)o1.实参数可以与形参个数不一致。2.C程序中,函数可以直接或间接地调用自己。C.函数调用时,函数名必须与所调用的函数名字完全一致。D.函数声明语句中的类型必须与函数返回值得类型一致。2-78关于递归函数以下叙述错误的是(B)o1.递归函数是自己调用自己。2.递归函数的运行速度很快。3.递归函数占用较多的存储空间。4.递归函数的运行速度一般比较慢。2-79以下对局部变量
34、描述错误的是(B)。1.在函数内部定义的变量。2.在程序的全部执行过程中一直占用存储单元。3.在main函数中定义的变量是局部变量。4.形式参数也是局部变量。2-80在一个源文件中定义的全局变量的作用域是(B)。1.本文件的全部范围。2.从定义该变量的位置开始到本文件结束。3.本程序的全部范围。4,本函数的全部范围。2-81以下关于局部变量和全局变量的叙述错误的是(C)。1.main函数中定义的变量是局部变量。2.局部变量可以与全局变量重名。3.形式参数不是局部变量。4,在所有函数外定义的变量是全局变量。2-82若函数定义如下,int fun(float a)float b=a+3;retur
35、n b;假设将常数3.6传给a,则函数的返 回 值 是(D)o1.32.6.63.54.62-83若有以下说明语句,struct birthday int year;int month;int day;d a y l;则下面叙述正确的是(D)o1.d a y l为结构体类型名2.struct birthday为结构体变量名3.month为结构体变量名4.d a y l为结构体变量名2-84若有以下结构体类型定义,struct worker int x;float y;a;则赋值语句正确的是(C)。1.worker.x=10;2.worker.a.x=103.a.x=10;4.x.a=10;2-
36、85若有以下结构体类型定义,struct worker char name16;struct date int year;int month;intday;birthday;x;则赋值语句正确的是(B)。1.x.year=1999;2.x.birthday.month=3;3.x.name=“黎明”;4.x.birthday 二1999.9.9;2-86若有如下定义,struct worker char name17;int age;int score;x;且 sizeof(int)=4,贝lj变量x在内存中需要的字节数是(C)。1.172.213.254.42-87根 据 下 面 的 定 义
37、,struct worker char name18;int age;struct workerw100=John,16,Paul,17/Mary,16);能输出字母P 的 语 句 是(D)。1.printf(%c,wl.name);2.printf(%c,w2.name0);3.printf(%c,w2.namel);4.printf(,%c,wl.nameO);2-88根 据 下 面 的 定 义,struct worker char name18;int age;struct workerw100=John,16,Paur,17lMary,17);能输出字符串M ary1的 语 句 是(A
38、)。1.printf(%s,w2.name);2.printf(%s,wl.name);3.printf(%s1w2);4.printf(%s,wl);2-89若有以下定义,struct data int x;int y;datal;int*p;则使p指向d a ta l中的成员x,正确的赋值语句是(B)。1.p=&a;2.p=&datal.x3.p=datal.x;4.*p=datal.x;2-90表达式a 3|b的计算顺序是(D)。1.先执行左移,后执行或运算2,先执行或运算,再执行左移3,先执行或运算,再执行右移4.先执行右移,再执行或运算2-91以下不能将变量m清零的表达式是(C)。1
39、.m=m&m2.m=m&03.m=m|m4.m=mAm2-92表达式0 x ll&0 x l3的 值 是(B)o1.0 x122.0 x113.0 x124.0 x222-93若有以下定义,struct data int x;int y;datal;int*p;则使p指向d a ta l中的成员x,正确的赋值语句是(B)。1.p=&a;2.p=&datal.x3.p=datal.x;4.*p=datal.x;5-1输入一个整数,根据输入,输出该整数的绝对值。限定不能调用库函数。#include in t main(void)in t x;(4 分);5-2键盘输入10个数存入一维数组中,编程实
40、现输出下标为奇数的元素。数据输入时用空格分隔,要求输出完最后一个数据后要换行。#include in t main(void)in t a10fo r(i=0;i10;J(2 分)输入数据apscanf(“d”J (2 分);fo r(i=l;i 1 0;l(2 分)输出数据i f(i!=9)p rin tf(%d ,a i);elsep rin tfC l(2 分)return 0;回文数是指正读和反读都一样的数。例如:12321、55455、35553等都是回文。请编写一个程序,从键盘上读取一个包含5 位数字的长整数,并判断它是否是回文数。先将输入数据输出,再输出是否是回文,若是回文输出“
41、yes”,否则输出“n。,中间用一个空格分隔。#include int main(void)int n,nl,n2,n4,n5;nl表示万位上的数字,n2千位数字,n4 H 立数字,n5个位数字scanf(%d&n);rVIOOOO:i(2 分);n/1000%10(2 分);n/10%10(2 分);(2 分);n1=n5&n2=n4(2 分)printf(H%d yesnn);elseprintf(%d non,n);return 0;5-4请编程从键盘上输入3 个 整 数(用空格分隔),判断这3 个数是否可以构成一个三角形(条件:三条边均大于0 且任意两边之和均大于第三边),如果可以则进
42、一步判断是等边、等腰还是一般三角形。若为等边三角形输出“1 ,若为等腰三角形输出 2,若为一般三角形输出 3,若无法组成三角形输出#include int main(void)int x,y,z;scanf((2 分);x+yz&x+zy&8y-zX(2 分)/能构成三角形if(X T&S y T(2 分)等边三角形printf(ln);x=y&x!=z|x=z&xl=y|y=z&Sy!=x(2 5)/等腰三角形p rin tf(2 n);elsep rin tf(“3n”);一般三角形)else 不能构成三角形printf(return。;)5-5输入三个整数,按照由小到大的顺序输出。数据输
43、入时数据之间用空格分隔,输出时用逗号,分隔。#include in t main(void)in t x,y,z,t;scanf(2 分);if(x y)|t=*p=yy=z)j t=x=Z?=t;if(y z)|t寸;y=Z K;printf(%d,%d,%dn,x,y,z);return 0;5-6输入三个整数,求出其中的最大值并输出。#include in t main(void)in t x,y,z,max;scanf(%d%d%d”,&x,&y,&z);maxE(2 分);i f(l max=y;max1)的累加和。其中n 的值从键盘输入。#include in t main(voi
44、d)in t n,s,i;scanf(%d,&n);8 a o(2 分);I i=1 I i=n I i*H-fo r。(2 分)1(2 分);(2 分)I皿(2 分);p rin tf(%dn,s);return 0;)5-8键盘输入10个数存入一维数组中,编程实现输出下标为奇数的元素。数据输入时用空格分隔,输出时用逗号,分隔。#include in t main(void)in t a 1 0,i;fo r J 函。;(2 分)/输入数据scanf(I(2 分);fo r。(2 分)/输出数据i%21=0i f(l(2 分)printf(2 分);return 0;5-9输入一个3 行 3
45、 列的二维数组,输出二维数组中行列号之和为3 的数组元素以及它们的平均值。#includeint main(void)int a 3 s u m=0Jcount=0;for(i=0;i3;i+)for(j=0;j3;j+)(2 分);for(i=0;i3;i+)for(j=0;j3;j+)k=i+j;if(l(2 分)printf(%dnaij);(sum=urrwaiOcount+(2 分);|(double)sumlouble)oounlprintf(average=%.21fn,(2:/?);return 0;5-10一个整数n 称为完全平方数,是指它的值是另一个整数(1 至 n)的平方
46、。例如81是个完全平方数,因为它是9 的平方。下列程序的功能是对输入的一个数判定是否为完全平方数。请将下列程序补充完整完成相应功能。输入输出样例如下:输入样例1:81输出样例1:81 is a perfect square number.输入样例2:999输出样例2:999 is not a perfect square number.#includei nt numberint iswqs(2 分)int i=(2 分);while(i=number)i*i=numberif(i(2 分)return 1;elsei+;)0return 1(2 分);)int main(void)int n
47、;scanf(%d,&n);if(l ls“(n)(2 分)=。)调用函数printf(%d is not a perfect square number.nn);elseprintf(%d is a perfect square number.n,n);return 0;)5-11下列程序的功能是调用函数fun计算表达式1+1/2+1/3+1/n的值并输出,结果保留3 位小数,不添加任何提示信息,请填空完成程序功能。#include double fun(int n)double t=1.0;int i;I i=nfor(i=2;(2 分);i+)(2 分);treturn 1(2 分);)
48、int main(void)int m;double s;scanf(%d,&m);I fun(m)s=*(2分);调用函数printf(*(2 分);return 0;5-12编写一个函数int mymod(int a,int b),用来求a 除以b 的余数,并写出相应的主函数调用它。请填空完成程序功能。int mymod(int a?int b)int s,ys;s=a/b;ysreturn (2 分);)#include int main(void)int x,y,myys;scanf(!(2 分);mymod(x,y)myys (2 分);printf(1 (2 分);return 0
49、;5-13完美数是指一个正整数的所有的真因子(即除了自身以外的约数)的和,恰好等于它本身,例如:由于6=1+2+3,因此6 是完美数。下面的程序通过调用函数wms来判断一个数是否是完美数,然后输出,请填空完成程序相应功能。int wms(int a)int i,s=0;I i(2 分);i+)|a%=0i f (I(2?)S-M(2 分);if(s=a)return 1;else return 0;)#include in t main(void)in t x;|scanf((2 分);if(l El(2 分)printf(%d ye sn,x);elsep rin tf(%d non,x);
50、return 0;)5-14输入一个由小写英文字母构成的字符串,统计出现次数最多的字母及其所在下标并输出。请填空完成相应程序功能。#include#define N 80in t main(void)char s trN;in t count26=0,i=0Jmax_n,max_i;gets(str)(2 分);/输入字符串(2 分)统计字符个数 count(int)strti-a+(2 分);i+;)max_n=count0;max_i=0;imax_n(2 分)max_n=counti;max_i=i;)p rin tf(*%c,%dn,a+max_i,max_n);return 0;5-