C练习题汇总
c语言基础练习题及答案

c 语言基础练习题及答案一、单项选择题1. C语言源程序文件经过C编译程序编译连接之后生成一个后缀为_c_A 、”.c” B、“ .obj ” C、“ .exe” D 、“ .bas”2. 以下选项中不正确的整型常量是_c ______ 。
A、12L B 、-10 c、1,900 D、123U3. 表达式___c___ 的值是0。
A、3%5B、3/5.0 c、3/5 D、3<54. 表达式!(x>0||y>0) 等价于__D___ 。
A 、!x>0||!y>0B 、!(x>0)||!(y>0) c 、!x>0&&!y>0 D 、!(x>0)&&!(y>0)5. 若变量已正确定义并赋值,表达式__D ____ 不符合c 语言语法。
A、4&&3 B 、+a c、a=b=5 D 、int(3. 1 4)6. 若变量已正确定义,执行语句scanf(%d%d%d ,&k1,&k2,&k3) ;时,___BA 、2030,40 B、20 30 40 c、20, 30 40 D 、20, 30,407. 执行语句printf( ” __D ____ ” , 2); 将得到出错信息。
A、%dB、%o c、%x D 、%f8. 设变量定义为"int s[ ]=hello\nworld\n; ”则数组s中有—B __________ 个元素。
A、12B、13 c、14 D、159. 设变量定义为“ int a[2]={1,3}, *p=&a[0]+1; ” 则*p 的值是___B_。
A、2B、3 c、4 D、&a[0]+110. 若变量已正确定义并赋值,表达式-k++ 等价于__A________ 。
A、-(k++) B 、(-k)++ c、-(k+1) D、-(++k)11. 在c 语言程序中,在函数内部定义的变量称为__D ____ 。
c语言循环章节练习题(部分答案)

循环章节练习题一、选择题1.设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是_______.A. while循环执行10次。
B.循环是无限循环。
C.循环体语句一次也不执行。
D.循环体语句执行一次。
2.设有以下程序段:int x=0,s=0;while(!x!=0) s+=++x;printf(“%d”,s);则________。
A. 运行程序段后输出0。
B. 运行程序段后输出1。
C.程序段中的控制表达式是非法的。
D.程序段执行无限次。
3.下面程序段的运行结果是________。
x=y=0;while(x<15) {y++;x+=++y;}printf(“%d,%d”,y,x);A.20,7 B. 6,12C. 20,8D. 8,203.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n 中的较大者,请选择填空。
#incldue <stdio.h>main(){ int m=0,n=0;char c;while( (___1____)!=’\n’){ if(c>=’A’&&’Z’) m++;if(c>=’a’&&’z’) n++;}printf(“%d\n”,m<n?___2____);}1)A.c=getchar() B.getchar()C.c=getcharD.scanf(“%c”,c);2)A. n:m B. m:n C. m:m D. n:n4.下面程序的功能是在输入的一批正整数中求出最大者,输入0结束循环,请选择填空。
#include <stdio.h> main(){ int a,max=0;scanf(“%d”,&a);while(_______){ if(max<a) max=a;scanf(“%d”,&a);}printf(“%d”,max); }A.a==0B.aC.!a=1D. !a5.下面程序的运行结果是______。
C语言练习题-选择题(带答案)

C语言练习题-选择题(带答案)1.下列字符序列中,可用作C标识符的一组字符序列是(D)。
A:S.b,um,average,_aboveB:cla,day,lotu_1,2dayC:#md,&12某,month,tudent_n!D:D56,r_1_2,name,_t_12.C语言程序从main()函数开始执行,所以这个函数要写在(C).A:程序文件的开始B:程序文件的最后C:程序文件的任何位置(除别的函数体内)D:它所调用的函数的前面3.完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为(B).A:连接、编译B:编译、连接C:连接、运行D:运行4.要调用文件处理函数时,在#include命令行中应包含(C).A:\5.以下数据中,不正确的数值或字符常量是(C)。
A:0B:5LC:o13D:98616.在C语言中,错误的语句是(C).A:a=b=c;B:;C:breakD:b=3某5,a某=4;7.以下标识符中,不能作为合法的C用户定义标识符的是(B)。
A:a3_b3B:voidC:_123D:IF8.一个C语言程序是由(C)组成.A:一个主程序和若干子程序B:函数C:若干过程D:若干子程序9.C语言源程序的基本单位是(B)。
A:过程B:函数C:子程序D:标识符10.已知宏定义#defineN3#defineY(n)((N+1)某n)执行语句z=2某(N+Y(5+1));变量z的值为(B).A:42B:48C:54D:出错第11题C语言文件系统中,整数1008若以ASCII形式存储,则占几个字节(B).A:2B:4C:1D:5第12题正确的自定义标识符是(C).A:ifB:a某bC:IfD:8pq第13题有说明语句chara='\\101';,则变量a(D).A:包含4个字符B:包含2个字符C:包含3个字符D:包含1个字符第14题下面正确的字符常量是(C).A:\第15题在main函数体内部和外部均允许出现的实体是(A).A:预处理命令B:语句C:另一函数的定义D:函数形式参数声明第16题若变量已正确说明为float类型,要通过语句canf(\给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是(B).A:102233B:10.0,22.0,33.0C:10.022.033.0第17题(B)是C语言提供的合法数据类型关键字.A:FloatB:ignedC:integerD:Char第18题下列选项中,合法的C语言关键字是(D).A:VARB:cherC:integerD:default第19题使用语句canf(\输入变量某,y的值([]代表空格),正确的输入是(C).A:1.25,2.4B:1.25[]2.4C:某=1.25,y=2.4D:某=1.25[]y=2.4第20题宏定义\\的宏替换\应为(A).A:a=某+5某y-3.1;B:a=(某+5)某(y-3.1);C:a=某+5某y-3.1D:a=(某+5)某(y-3.1)答案:A第21题(1.0分)题号:919下述程序段的输出结果是(A).int某=10;inty=某++;printf(\A:11,10B:11,11C:10,10D:10,11答案:A第22题(1.0分)题号:925以下不正确的C语言标识符是(A).A:2yB:a_1_2C:able某eD:_某答案:A第23题(1.0分)题号:914以下所列的C语言常量中,错误的是(B).A:0某ffB:1.2e0.5C:2LD:'\\72'答案:B第24题(1.0分)题号:918下列程序的输出是(B).#includemain(){printf(\A:0B:变量无定义C:-1D:1答案:B第25题(1.0分)题号:930在C程序中,1如果用来表示逻辑值时,应代表(A).A:真B:假C:整数1D:长整型数1答案:A第26题(1.0分)题号:927以下答案中不是C语言最基本数据类型的是(A).A:逻辑型B:整型C:字符型D:实型答案:A第27题(1.0分)题号:922常数的书写格式决定了常数的类型和值,0某1011是(C).A:8进制整型常量B:字符常量C:16进制整型常数D:2进制整型常数答案:C第28题(1.0分)题号:928若某,y均定义为int型,z为double型,以下不合法的canf函数调用语句是(D).A:canf(\\B:canf(\\C:canf(\\D:canf(\\答案:D第29题(1.0分)题号:931以下所列字符常量中,不合法的是(A).A:'\\0某a2'B:'\\65'C:'$'D:'\\某2a'答案:A第30题(1.0分)题号:912若变量都已正确说明,则以下程序段(C).a=2;b=3;printf(a>b\A:没有正确的输出格式控制B:输出为:某某某a=2C:输出为:###b=2D:输出为:某某某a=2###b=3答案:C第31题(1.0分)题号:929以下四个字符序列中,能用作用户自定义的标识符是(A).A:PutcharB:-doubleC:A123-D:int答案:A第32题(1.0分)题号:923下列格式符中,可以用于以8进制形式输出整数的是(C).A:%dB:C:%oD:答案:C第33题(1.0分)题号:936以下叙述中正确的是(D).A:输入项可以是一个实型常量,如:canf(\B:只有格式控制,没有输入项,也能正确输入数据到内存,例如:canf(\ C:当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:canf(\D:当输入数据时,必须指明变量地址,例如:canf(\答案:D第34题(1.0分)题号:926C语言中字符型(char)数据在内存中的存储形式是(D).A:原码B:补码C:反码D:ASCII码答案:D。
C期末考试复习题(答案)

C期末考试复习题(答案)C语言复习题一、单项选择题1、C语言源程序文件经过C编译程序编译连接之后生成一个后缀为( C )的文件。
A).c B).obj C).exe D).bas2、)完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为( B )A)连接、编译B)编译、连接 C)连接、运行D)运行3、关于C语言的叙述中,不正确的是(D)A)C程序可由一个或多个函数组成B)C程序必须包含一个main ()函数C)C程序的基本组成单位是函数D)注释说明只能位于一条语句的后面4、一个C程序的执行是从(A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束5、以下正确的叙述是(C )A) 在C语言中,main函数必须位于文件的开头B) C语言每行中只能写一条语句C) C语言本身没有输入、输出语句D) 对一个C语言进行编译预处理时,可检查宏定义的语法错误6、下列选项中,不能用作标识符的是( D)。
A) _1234_ B) _1_2 C) int_2_ D) 2_int_7、常数的书写格式决定了常数的类型和值,0x1011是( C )A)8进制整型常量B)字符常量 C)16进制整型常数D)2进制整型常数8、以下4组用户定义标识符中,全部合法的一组是( A )A)_total clu_1 sum B)if -max turbC)txt REAL 3COM D)int k_2 _0019、_( D )是合法的用户自定义标识符。
A) b-b B)float C)123a D) _isw10、以下选项中不正确的整型常量是( C )。
A) 12L B) -10 C) 1,900 D) 123U11、表达式( C )的值是0。
C语言基础练习题(含答案)

第一章C语言基础知识1.1 选择题1. 以下不是C语言的特点的是()。
A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3C.For D.2a define _123 -abcDOWORD IF Casesizeof5.下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\tD.\06.不属于C语言关键字的是()。
A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。
A.Float B.signedC.integer D.Char8.以下不能定义为用户标示符的是()。
A.scanf B.Void C._3com_ D.int9.一个C程序是由()。
A.一个主程序和若干子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成10. C语言程序的基本单位是()。
A.程序行B.语句C.函数D.字符11.下列说法中,错误的是()。
A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数12.以下说法中正确的是()。
A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main( )函数中定义C.C语言程序总是从main( )函数开始执行D.C语言程序中的main( )函数必须放在程序的开始部分13. C编译程序是()。
C语言——顺序结构程序设计练习题

顺序结构程序设计习题一、选择题:(以下各题□代表空格。
)1.以下程序运行的结果是:#include <stdio.h>int main(){int m=5,n=10;printf(“%d,%d\n”,m++,--n);}A)5,9 B)6,9 C)5,10 D)6,102.以下程序运行的结果是:#include <stdio.h>int main(){int a=201,b=012;printf(“%2d,%2d\n”,a,b);return 0}A)01,12 B)201,10 C)01,10 D)20,013.有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b得到数值5,下面输入形式,错误的是:A)6,5<回车> B)6,□□<回车>C)6 5<回车> D)6,<回车>5<回车>4.设有如下程序:#include <stdio.h>int main(){char ch1=’A’,ch2=’a’;printf”%c\n”,(ch1,ch2));return 0;}则以下叙述正确的是:A)程序的输出结果为大写字母A;B)程序的输出结果为小写字母a;C)运行时产生错误信息;D)格式说明符的个数少于输出项个数,编译出错。
5.以下程序运行的结果是:#include <stdio.h>int main(){int x1=0xabc,x2=oxdef;x2-=x1;printf(“%X\n”,x2);return 0;}A)ABC B)0XABC C)0X333 D)3336.以下程序输出的结果是:#include <stdio.h>int main(){ printf(“\n*s1=%15s*”,”chinabeijing”);printf(“\n*s2=%-5s*”,”chi”);}A)*s1=chinabeijing□□□*S2=**chi*B)*s1=chinabeijing□□□**s2=chi□□*C)*s1=*□□chinabeijing**s2=□□chi*D)*s1=□□□chinabeijing**s2=chi□□*7.已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是:A)整形变量的输出格式符只有%d一种;B)%x是格式符的一种,它可以适应与任何一种类型的数据;C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。
C语言练习题

1. 设变量a是int型,f是float型,i是double型,则表达式10+a+i*f值的数据类型为A. int型B. float型C. d ouble型D. 不确定3. 已知char a; int b; float c; double d;,执行语句c=a+b+c+d;后,变量c的数据类型是()。
A. floatB. intC. c harD. d ouble1. 已知char ch='B';则以下表达式的值是ch=(ch>='A' && ch<='Z')?(ch+32):ch;A. AB. aC. BD. b第3章最简单的C程序设计——顺序程序设计设a,b为字符型变量,执行scanf(“a=%c,b=%c”,&a,&b)后使a为’A’,b为’B’,从键盘上3.的正确输入是()A. A BB. A,BC. a=A b=BD.a=A,b=B4. 已知char a=‘R’; 则正确的赋值表达式是()A. a=(a++)%4B. a+2=3C. a+=256--D. a=‘\078’若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10.0,5.b赋予22.0,c赋予33.0,下列不正确的输入形式是()A. 10<回车>22<回车>33<回车>B. 10.0<回车>22.0 33.0<回车>C. 10 22<回车>33<回车>D.10.0,22.0,33.0<回车>已有如下定义和输入语句:int a; char c1,c2; scanf("%d%c%c",&a,&c1,&c2); 若要6.求a、c1、c2的值分别为10、A和B,正确的数据输入是()A.10ABB. 10<空格>A<空格>BC. 10A<空格>BD. 10<空格>AB9. 若变量已正确定义并赋值,以下符合C语言语法的表达式是A.a:=b+1B. a=b=c+2C. int 18.5%3D. a=a+7=c+b3. 执行程序段char c;c=getchar();时,若输入abc<回车>,则变量c的值为()A. abcB. abC. aD. 空格字符6. 若有定义语句:double x,y,*px,*py,执行了px=&x, py=&y;之后,正确的输入语句是( )A. scanf(“%f%f”,x,y);B. scanf(“%f%f”,*px,*py);C.scanf(“%lf%lf”,px,py);D. scanf(“%lf%lf”,x,y);8. 有定义语句:int b; char c[10]; 则正确的输入语句是A. scanf("%d%s",&b,&c);B. scanf("%d%s",&b,c);C. scanf("%d%s",b,c);D. scanf("%d%s",b,&c);9. x,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是()A. input x、y、z;B.scanf("%d%d%d",&x,&y,&z);C. scanf("%d%d%d",x,y,z);D. read("%d%d%d",&x,&y,&z);4. 执行下列程序时输入:123<空格>456<空格>789<回车> 输出结果是()main(){ char s[100]; int c, i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf ("%c,%d,%s\n",c,i,s);}A. 123,456,789B. 1,456,789C. 1,23,456,789D. 1,23,4569.下列程序的输出结果是()main( ) { char a[7]="a0\0a0\0"; int i,j; i=sizeof(a);j=strlen(a); printf("%d %d\n",i,j); }A. 2 2B. 7 6C.7 2D. 6 22.阅读下面程序段#include "stdio.h" main( ) { char c; c=(′d′-′a′)/2+′A′; putchar(c);} 输出结果为()A. BB. AC. CD. Q10.数字字符0 的ASCII 值为48,运行下列程序的输出结果是()main( ) { chara=‘1’,b=‘2’; printf("%c,",b); printf("%d\n",b-a); }B. 50,1C. 50,2D. 2,504. 已有定义int a=-2;和输出语句printf("%8x",a);以下正确的叙述是()A. 整型变量的输出形式只有%d一种B.%8x不是错误的格式符,其中数字8规定了输出字段的宽度C. %x是格式符的一种,它可以适用于任何一种类型的数据D. %x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的9. 程序段int a=15;printf("%x",a);的输出结果是()A. fB. eC. 15D. 166. 以下符合C语言语法的赋值表达式是A. e+f=d+9B. e++=d+9C. d=9-f-eD. d=9+e++=d+76. 以下程序的运行结果是()void main() { int a=65; char c=‘A’; printf("%x,%d",a,c); }A. 65,aC. 65,65D. 41,65已有如下定义和输入语句:int a,b; scanf("%d,%d",&a,&b); 若要求a、b的值分别为9.10和20,正确的数据输入是()A. 10<空格>20B. 10,20C. a=10,b=20D. 10;208. 已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf("%ld",&a);B. scanf("%d",&a);C. s canf("%7.2f",&a);D. s canf("%lf",&a);1. 设有程序段int k=10; while (k=0) k= k—1; 则下面描述中正确的是()A. while循环执行10次B. 循环是无限循环循环体语句一次也不执行(注释:C语言中没有逻辑变量,用0来表示假,非0表示真。
第二章 C基础知识练习题及答案

第二章C++基础知识练习题1.请先阅读下面的2个程序,写出程序运行的结果,然后再上机运行程序,验证自己分析的结果是否正确。
程序1:#include <iostream> //包含头文件命令using namespace std; //使用名字空间stdint main(){cout<<"This "<<"is ";cout<<"a "<<"C++ ";cout<< "program."<<endl;return 0;}程序2:#include <iostream> //包含头文件命令using namespace std; //使用名字空间stdint main(){ int a,b,c;//定义三个变量a、b、ccout<<"Please input to a and b:"<<endl; //输出提示信息到屏幕cin>>a>>b; //等待用户从键盘输入数据c=a+b;cout<< "a+b=" ;cout<<c;cout<<endl;return 0;}2.输入以下程序,进行编译,观察编译结果,如果有错误,请修改程序,再进行编译,直到没有错误,然后进行连接和运行,并分析运行结果。
#include <iostream> //包含头文件命令using namespace std; //使用名字空间stdint main(){ int a,b;//定义两个变量a和bcout<<"Please input to a and b: "<<endl;//输出提示信息到屏幕cin>>a>>b; //等待用户从键盘输入数据cout<< "Max="<< max(a,b)<<endl; //输出结果信息至屏幕return 0; //主函数返回0至操作系统}int max(int x, int y) { return (x> y) ?x:y; } //求两个数中的大者的函数3.编写一个函数,用来求2个或3个正整数中的最大数,并在主函数中调用此函数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
页眉内容 一、判断 变量根据其作用域的范围可以分作局部变量和全局变量. 答案:Y C语言的switch语句中case后只能为整型或字符型常量或常量表达式 答案:Y while和do…while循环不论什么条件下它们的结果都是相同的.答案:N 逻辑表达式-5&&!8的值为1.答案:N 循环结构中的continue语句是使整个循环终止执行 答案:N 若有说明int c;则while(c=getchar());是正确的C语句。答案:Y 表达式 (j=3, j++) 的值是4.答案:N C语言中"%"运算符的运算对象必须是整型.答案:Y 在C程序中 , 函数既可以嵌套定义 , 也可以嵌套调用答案:N int i=20; switch(i/10) { case 2:printf("A"); case 1:printf("B"); } 的输出结果为A。答案:N 两个字符串中的字符个数不相同时也可进行字符串大小的比较 答案:Y char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。答案:N 如果有一个字符串,其中第十个字符为'\n',则此字符串的有效字符为9个。答案:N 如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。答案:Y C语言中只能逐个引用数组元素而不能一次引用整个数组。答案:Y int a[3][4]={{1},{5},{9}}; 它的作用是将数组各行第一列的元素赋初值,其余元素值为0。 答案:Y C语言的函数可以嵌套定义.答案:N 函数strlen("ASDFG\n")的值是7。答案:N 二、单项选择 1、若有说明: int a[3][4]={0};则下面正确的叙述是()。 A:只有元素a[0][0]可得到初值0 B:此说明语句不正确 C:数组a中各元素都可得到初值,但其值不一定为0 D:数组a中每个元素均可得到初值0 答案:D 2、若有下列定义,则对a数组元素a[2]地址的正确引用是()。 int a[5],*p=a; A:*(p+5) B:*p+2 C:*(a+2) D:*&a[5] 答案:C 3、为表示关系x≥y≥z,应使用C语言表达式 A:(x>=y)&&(y>=z) B:(x>=y) AND (y>=z) C:(x>=y>=z) 页眉内容 D:(x>=z)&(y>=z) 答案:A 4、设有说明:char c; int x; double z;则表达式c*x+z值的数据类型为 A:float B:int C:char D:double 答案:D 5、能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A:a>=10 or a<=0 B:a>=0 | a<=10 C:a>=10 && a<=0 D:a>=10 || a<=0 答案:D 6、已知p,p1为指针变量,a为数组名,j为整型变量,下列赋值语句中 不正确的是()。 A:p=&j,p=p1; B:p=a; C:p=&a[j]; D:p=10; 答案:D 7、C语言的if语句嵌套时,if与else的配对关系是()。 A:每个else总是与它上面的最近的if配对 B:每个else总是与最外层的if配对 C:每个else与if的配对是任意的 D:每个else总是与它上面的if配对 答案:A 8、已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是()。 A:0 B:语法错 C:1 D:"假" 答案:C 9、如果int a=2,b=3,c=0,下列描述正确的是 A:a>b!=c和a>(b!=c)的执行顺序是一样的 B:!a!=(b!=c)表达式的值为1 C:a||(b=c)执行后b的值为0 D:a&&b>c的结果为假 答案:B 10、C语言规定,在一个源程序中,main函数的位置()。 A:必须在最开始 B:必须在系统调用的库函数的后面 C:可以任意 D:必须在最后 页眉内容 答案:C 11、下列字符序列中,不可用作C语言标识符的是()。 A:b70 B:#ab C:symbol D:a_1 答案:B 12、在C语言中,能代表逻辑值“真”的是()。 A:True B:大于0的数 C:非0整数 D:非0的数 答案:D 13、任何一个C语言的可执行程序都是从____开始执行的. A:程序中的第一个函数 B:main( )函数的入口处 C:程序中的第一条语句 D:编译预处理语句 答案:B 14、下列语句中,不正确的是()。 A:char a[2]={1,2}; B:int a[2]={'1','2'}; C:char a[2]={'1','2','3'}; D:char a[2]={'1'}; 答案:C 15、若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是()。 A:p1=&m;p2=&p1 B:p1=&m;p2=&n;*p1=*p2; C:p1=&m;p2=p1; D:p1=&m;*p2=*p1; 答案:C 16、在C语言中,调用函数除函数名外,还必须有()。 A:函数预说明 B:实际参数 C:( ) D:函数返回值 答案:C 17 、以下叙述中正确的是 ()。 A:C程序中注释部分可以出现在程序中任意合适的地方 B:花括号“{“和”}”只能作为函数体的定界符 C:构成C程序的基本单位是函数,所有函数名都可以由用户命名 D:分号是C语句之间的分隔符,不是语句的一部分 答案:A 18、变量p为指针变量,若p=&a,下列说法不正确的是()。 页眉内容 A:&*p==&a B:*&a==a C:(*p)++==a++ D:*(p++)==a++ 答案:D 19、int a=3,b=2,c=1; if(a>b>c)a=b; else a=c; 则a的值为()。 A:3 B:2 C:1 D:0 答案:C 20、在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的 表达式是()。 A:(!E==0) B:(E>0||E<0) C:(E==0) D:(E!=0) 答案:C 21、若用数组名作为函数的实参,传递给形参的是()。 A:数组的首地址 B:数组第一个元素的值 C:数组中全部元素的值 D:数组元素的个数 答案:A 22、putchar函数可以向终端输出一个()。 A:整型变量表达式值 B:实型变量值 C:字符串 D:字符或字符型变量值 答案:D 三、程序填空 共2题 (共计25分) 第1题 功能:从键盘上输入一个正整数,判断其是否是回文数。 说明:所谓回文数是指顺序读与反序读都是一样的数,如121、25852都是回文数。 将整数的各位依次存入数组a中,然后再进行判断 #include int main() { int num,a[10],r; int i=0,j,flag=1; /*flag作为是否为回文的标志*/ scanf("%d",&num); 页眉内容 if (num<=0) return -1; do { r=num%10; /***********SPACE***********/ 【?】; num=num/10; i++; } while (num%10!=0); for (j=0,i--;i>=j;i--,j++) if (a[j]==a[i]) /***********SPACE***********/ 【?】; else { flag=0; break; } /***********SPACE***********/ if (【?】) printf("是回文\n"); else printf("不是回文\n"); return 0; } 答案: =======(答案1)======= a[i]=r =======(答案2)======= continue 或 flag=1 =======(答案3)======= flag 或flag != 0或flag == 1 =========或========= i0 第2题 功能:用冒泡排序法对数组a 进行由小到大的排序。 #include void fun(int a[],int n) { int i,j,t; /***********SPACE***********/ for (j=0; 【?】;j++) /***********SPACE***********/