C语言练习题 .pdf_第1页
C语言练习题 .pdf_第2页
C语言练习题 .pdf_第3页
C语言练习题 .pdf_第4页
C语言练习题 .pdf_第5页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 C 选择题答案 D 0159、下列叙述错误的是(下列叙述错误的是( ) 。) 。 A.一个 C 语言程序只能有一个 main()函数 B.C 语言程序一行内可以有多条语句 C.C 语言程序一条语句可以分写在多行 D.一个 C 语言程序可以有多个 main()函数 B 0160、下列关于下列关于 C 语言程序的叙述错误的是(语言程序的叙述错误的是( ) 。) 。 A.一个 C 语言程序由一个或多个函数组成 B.编译时注释部分的错误会被发现 C.注释内容必须放在/*和*/之间 D.可以在“”内写若干条语句,构成复合语句 A 0161、C 语言程序中的函数是语言程序中的函数是由(由( )组成。)组成。 A.函数首部和函数体 B.函数名和参数 C.返回值类型和函数名 D.函数名和函数体 C 0162、结构化程序设计的结构化程序设计的 3 种基本结构是顺序结构、 (种基本结构是顺序结构、 ( )和循环结构。)和循环结构。 A.逻辑结构 B.嵌套结构 C.选择结构 D.递归结构 C 0163、结构化程序设计采用的方法不包括(结构化程序设计采用的方法不包括( ) 。) 。 A.自顶向下、逐步细化 B.模块化设计 C.封装、继承和多态 D.结构化编码 B 0259、C 语言的数据类型不包括(语言的数据类型不包括( ) 。) 。 A.整型 B.泛型 C.联合类型 D.结构类型 C 0260、 ( )为)为合法合法的常的常量。量。 A.Cprogram B.2E3.3 C.0 x100 D.0783 C 0261、 ( )为合法用户标识符。)为合法用户标识符。 A.void B._a$bc C._abc D.3c B 0262、Turbo C 中,占用内存空间最大的是(中,占用内存空间最大的是( ) 。) 。 A.float B.double C.int D.char B 0263、Turbo C 中,每个中,每个 signed short int 型数据占用的内存空间为(型数据占用的内存空间为( )字节。)字节。 A.1 个 B.2 个 C.4 个 D.8 个 D 0359、若已定义:若已定义:int t,a,b; 语句语句 t=(a=5,b=a+); 执行后,变量执行后,变量 t、a、b 的值依次为(的值依次为( ) 。) 。 A.6,6,5 B.5,6,6 C.6,6,6 D.5,6,5 B 0360、若已定义:若已定义:int a=1,b=2,c=3; 则正确的表达式是(则正确的表达式是( ) 。) 。 A.a=b+1=c B.c=(a,b) C.a+b=c D.a=bc B 0361、若已定义:若已定义:int x=2,y=3,z=5; 则表达式值为则表达式值为 2 的是(的是( ) 。) 。 A.z=(x,z) B.z=x,z C.x=y=z D.x+y+z B 0362、若已定义:若已定义:int a=5; 则表达式则表达式 a-=a+=a*a 的值为(的值为( ) 。) 。 A.25 B.0 C.-20 D.-25 A 0363、若已定义:若已定义:char c; 则(则( )是错误的赋值表达式。)是错误的赋值表达式。 A.c=097 B.c=a C.c=32 D.c=n 2 A 0459、下列叙述错误的是(下列叙述错误的是( ) 。) 。 A.自增与自减运算符可以用于 float 型变量 B.赋值运算符的结合方向为“自右向左” C.整型与字符型变量混合运算的结果是整型 D.程序中算术表达式的书写形式与数学公式完全相同 B 0460、若已定义:若已定义:int i=1; 则则表达表达式式 i+=10 的值为(的值为( ) 。) 。 A.1 B.11 C.10 D.2 D 0461、若已定义:若已定义:int a=1,b=2; ( )是正确的表达式。)是正确的表达式。 A.a+/b=2 B.a+b=2 C.a+b*=2 D.a*=b+2 B 0462、若已定义:若已定义:int m=3,n=4; 则表达式则表达式(m+)+n 的值是(的值是( ) 。) 。 A.8 B.7 C.4 D.5 C 0463、若已定义:若已定义:int a=3,x=4; 语句语句 x+=a+;执行后变量执行后变量 x 的值为(的值为( ) 。) 。 A.4 B.8 C.7 D.6 C 0559、若已定若已定义:义:int x; 拟从键盘输入一个值赋予拟从键盘输入一个值赋予 x,正确的函数调用是(,正确的函数调用是( ) 。) 。 A.scanf(%f, B.scanf(%d,x) ; C.scanf(%d, D.scanf(%f,x) ; A 0560、puts(char *str) 函数的功能是向终端输出(函数的功能是向终端输出( ) 。) 。 A.str 指向的字符串 B.str 指向的第一个字符 C.一个整数变量的值 D.一个实型变量的值 C 0561、若已定义:若已定义:int a=5,b=6; 语句语句 printf(%d*%d=%dn,a+a,b+b,(a+a)*(b+b); 执行执行 后的输出结果是(后的输出结果是( ) 。) 。 A.5*6=30 B.5,6,30 C.10*12=120 D.10,12,120 A 0562、以下程序段的运行结果是(以下程序段的运行结果是( ) 。) 。 int m=65,n=66; char k=C; printf(%c-%c-%dn,m,n,k);(注:字母(注:字母A的的 ASCII 值为值为 65) A.A-B-67 B.AB67 C.65-66-C D.6566C B 0563、要使语句要使语句 scanf(%d,%d,能够正确接收从键盘输能够正确接收从键盘输入的入的值,值,正确的数据输入正确的数据输入 形式是(形式是( ) 。) 。 A.10 20 B.10,20 C.1020 D.10 20 D 0659、若已定义:若已定义:int a=1,b=2,c=3; 语句语句 (+b,a) | (a+,c+); 执行后变量执行后变量 a、b、c 的值分的值分 别是(别是( ) 。) 。 A.2 3 4 B.2 3 3 C.1 2 3 D.1 3 3 C 0660、能正确表示数学关系式能正确表示数学关系式“k0 或或 k10”的的 C 语言表达式是(语言表达式是( ) 。) 。 A.(k=10) B.(k=0) 则表达式则表达式 a=b=c 的值为(的值为( ) 。) 。 3 A.3 B.2 C.1 D.0 D 0662、若已定义:若已定义:int a=1,b=2,c=3; 表达式值为表达式值为 0 的是(的是( ) 。) 。 A.aa B.a+b=c | b=c C.a+b 则表达式则表达式 a+b 语句语句 t=+a | !b 执行后执行后 a、b、c 的值分别是的值分别是 ( ) 。) 。 A.4 2 1 B.4 2 2 C.3 2 1 D.4 0 2 B 0760、若已定义:若已定义:int x = 100; 则正确的赋值表达式是(则正确的赋值表达式是( ) 。) 。 A.x=abc B.x=A C.x=x+08 D.x%=0.3 B 0761、若已定义:若已定义:char c; int a; float x; double m; 则表达式则表达式 0.3+a+c+x+m*a 值的数据类型值的数据类型 为(为( ) 。) 。 A.float B.double C.char D.int C 0762、若已定义:若已定义:char c=E; int a=9; float x=5; 则表达式则表达式 c/x-a 的值是(的值是( ) 。) 。已知已知A的的 ASCII 码值为码值为 65 A.13.8 B.5 C.4.8 D.4 C 0763、若已定义:若已定义:int a=3,b=2,c=1; 则表达式则表达式(float)(a+b)/(c+a)的值是(的值是( ) 。) 。 A.1 B.3.0 C.1.25 D.8 C 0859、执行以下程序,输入执行以下程序,输入 99,运行结果是(,运行结果是( ) 。) 。 #include void main() int score; scanf(%d, switch(score/10) case 10: case 9:printf(A); case 8:printf(B); case 7: case 6:printf(C);break; default:printf(D); printf(n); A.A B.AB C.ABC D.ABCD 4 B 0860、以下程序的运行结果是(以下程序的运行结果是( ) 。) 。 #include void main() int a=4,b=3,c=2,d=1; if(abc) printf(%dn,d); else if(c-1=d) printf(%dn,d+1); else printf(%dn,d+2); A.4 B.2 C.3 D.1 C 0861、以下程序段执行后变量以下程序段执行后变量 m 的值为(的值为( ) 。) 。 int x=6,y=4,z=8,m; m=(xy)?(xz?x:z):(yb?b:c 语句的功能等价。语句的功能等价。 A.if(k=a) k=b; B.if(ab) k=a; else k=c; else k=b; C.if(ab) k=b; D.if(ab) k=b; else k=c; B 0959、以下程序段中循环体的执行次数是(以下程序段中循环体的执行次数是( ) 。) 。 int i=0,a=0; for (i=i+3;i10;i+) 5 if(a%3=0) break; a+; A.3 B.1 C.7 D.10 D 0960、以下程序段, (以下程序段, ( ) 。) 。 int a=0; do +a; while(1); A.循环体执行 1 次 B.循环体执行 2 次 C.有语法错误 D.是无限循环 C 0961、以下程序段执行后变量以下程序段执行后变量 a 的值为(的值为( ) 。) 。 int i,a=0; for(i=1;i=0;i-=2) ai=ai+32; for(i=0;i5;i+) printf(%3c,ai); A.a b c d e B.A B C D E C.a B c D e D.A b C d E C 1062、以下程序段的运行结果是(以下程序段的运行结果是( ) 。) 。 int a10=1,1,1,1,1,1,1,1,1,1,i; for(i=1;i=5;i+) ai-1=ai-1-1; for(i=0;i10;i+) printf(%3d,ai); A.1 1 1 1 1 1 1 1 1 1 B.0 0 0 0 0 0 0 0 0 0 C.0 0 0 0 0 1 1 1 1 1 D.1 1 1 1 1 0 0 0 0 0 A 1063、下列叙述正确的是(下列叙述正确的是( ) 。) 。 A.数组元素的下标可以使用整型变量 B.数组元素的下标不能使用字符常量 C.在定义数组时,数组的长度可以使用整型变量 D.在定义数组时,数组的长度不能使用整型常量 D 1159、以下程序段执行后以下程序段执行后 s 的值是(的值是( ) 。) 。 int a34=1,2,3,4,1,2,3,4,1,2,3,4; int i,j,s=1; for(i=0;i3;i+) for(j=0;ji+2;j+) s*=aij; A.16 B.144 C.12 D.288 C 1160、若已定义若已定义:int s43=1,6,1,2,8,4,7,3,5; 则则 s31的值是(的值是( ) 。) 。 A.7 B.8 C.3 D.2 A 1161、以下程序段执行后以下程序段执行后 sum 的值是(的值是( ) 。 int i,sum=0;int a35=11,12,13,14,15,16,17,18,19,20,22,24,26,28,31; for(i=0;i3;i+) sum+=aii+2; A.63 B.58 C.61 D.60 C 1162、错误的数组定义是(错误的数组定义是( ) 。) 。 A.int arr3=0,1,2,3,1; B.int arr43=1,2,3,0; C.int arr4=0,1,2,3,4,5,6,7,8,9,10,11; D.int arr3=10,9,8,7,6,5,4,3,2,1; B 1163、若已定义:若已定义:int a43; 假设元素假设元素 a00在存储空间中的位置序号为在存储空间中的位置序号为 1,则元素,则元素 a22 7 的位置序号应是(的位置序号应是( ) 。) 。 A.7 B.9 C.8 D.10 A 1259、以下程序段的运行结果是(以下程序段的运行结果是( ) 。) 。 char a53=Y,o,u, ,a,r,e,0 ,w,e,l,c,o,m,e; printf(%s, A.You are B.You are wel C.You D.You are welcome A 1260、以下程序段的运行结果是(以下程序段的运行结果是( ) 。) 。 char a=Teacher; char b=Driver; strcpy(a,b); printf(%s %c,a,a5); A.Driver r B.Driver e C.Teacher r D.Teacher e B 1261、以下程序段的运行结果是(以下程序段的运行结果是( ) 。) 。 int x=5;char *s1=music,*s2=s1;x=strcmp(s1,s2);printf(%dn,x); A.1 B.0 C.-1 D.5 B 1262、若已定义:若已定义: char sa20=dictionary,sb20;则(则( )语句是正确的。)语句是正确的。 A.sb=sa; B.sb0=sa0; C.scanf(%s, D.printf(%s,sa); D 1263、以下程序段的运行结果是(以下程序段的运行结果是( ) 。) 。 char s80=super;strcat(s,market);printf(%d,strlen(s); A.9 B.10 C.12 D.11 B 1359、以下程序的运行结果是(以下程序的运行结果是( ) 。) 。 #include void f(int a3) int i; for(i=0;i3;i+) printf(%2d,ai0); printf(n); void main() int a33=1,2,3,1,3,2,2,1,3; f(a); A.2 3 1 B.1 1 2 C.3 2 3 D.1 2 3 A 1360、以下程序的运行结果是(以下程序的运行结果是( ) 。) 。 #include fun(int x, int y) return(x*y+10); 8 void main() int a=11,b=2,c; c=fun(a,b); printf(c=%dn,c); A.c=32 B.32 C.c=22 D.22 B 1361、以下程序的运行结果是(以下程序的运行结果是( ) 。) 。 #include void fun(int i) int a; a=+i; printf(%d ,a); void main() int a=3,b=6; fun(b); printf(%d ,a); A.3 7 B.7 3 C.3 3 D.7 7 C 1362、以下程序的运行结果是(以下程序的运行结果是( ) 。) 。 #include fun(int x) static int y=2; y=y+x; return(y); void main() int i,s=0; for(i=1;ip2 D.p1p2 A 1560、若已定义:若已定义: char a=student,*p=a;能正确指向存放字符能正确指向存放字符u单元的表达式是(单元的表达式是( ) 。) 。 A.a+2 B.*(a+5) C.p+5 D.*(p+2) D 1561、若已定义若已定义:int a=3,*p; 执行语句执行语句 p=后,下列(后,下列( )均能表示)均能表示 a 的地址。的地址。 A.*p,a B.*p, 执行执行语句语句 p= 后,后,*(p+4)表示的值是表示的值是 ( ) 。) 。 A.4 B.6 C.5 D.3 A 1563、以下程序段执行后,正确的是(以下程序段执行后,正确的是( ) 。) 。 char a=University; char *p; p=a; A.strlen(p)与 strlen(a)表示的值相等 B.a3与*p 表示的内容相同 C.a 与 p+3 表示的地址一致 D.*(p+3)与 a0表示的内容相同 D 1659、以下程序段的运行结果是(以下程序段的运行结果是( ) 。) 。 int a=2,b=5,*p; p= b=a; printf(%d,%dn,b,*p); A.5,2 B.2,5 C.5,5 D.2,2 B 1660、以下程序段的运行结果是(以下程序段的运行结果是( ) 。) 。 int a=1,b=2,sum,*p,*q; p= q= sum=*p+*q; a=*q; printf(%d,%dn,a,sum); A.1,4 B.2,3 C.2,4 D.1,3 10 C 1661、以下程序段的运行结果是(以下程序段的运行结果是( ) 。) 。 int a=5,b=2,c,*p1,*p2; p1= p2= if(*p1*p2) c=*p1+2; else c=*p2+4; printf(%dn,c); A.9 B.7 C.6 D.4 C 1662、以下程序的运行结果是(以下程序的运行结果是( ) 。) 。 #include void fun(int x,int *p) *p=x+10; void main( ) int a,b,c; fun(5, fun(a, fun(b, printf(a=%d,b=%d,c=%dn,a,b,c); A.a=5,b=5,c=5 B.a=5,b=15,c=25 C.a=15,b=25,c=35 D.a=15,b=15,c=15 C 1663、以下程序段的运行结果是(以下程序段的运行结果是( ) 。) 。 int a=6,b=3,m,n,*p,*q; p= q= m=(*p)/(*q)+8; n=(*p)+(*q)*8; printf(m=%d,n=%dn,m,n); A.m=10,n=8 B.m=8,n=80 C.m=10,n=30 D.m=8,n=30 C 1759、一个结构变量占用的内存容量由(一个结构变量占用的内存容量由( )决定。)决定。 A.占内存容量最小的成员所需容量 B.第一个成员所需内存容量 C.各成员所需内存容量之和 D.最后一个成员所需内存容量 B 1760、若已定义:若已定义: struct person int num; char name8; int age,grade; p1; 11 Turbo C 环境中,结构变量环境中,结构变量 p1 在内存中占用了(在内存中占用了( )个字节。)个字节。 A.12 B.14 C.10 D.16 C 1761、若已定义:若已定义: struct worker int num; char sex; float height; w1; 下列叙述错误的是(下列叙述错误的是( ) 。) 。 A.w1 是用户定义的结构变量名 B.worker 是结构类型名 C.w1 是结构类型名 D.num、sex 和 height 都是结构变量 w1 的成员 C 1762、下列叙述正确的是(下列叙述正确的是( ) 。) 。 A.一个联合变量中真正起作用的是其中占内存容量最大的成员 B.引用联合变量就是引用该变量所有成员的值之和 C.一个联合变量在某一时刻只能由其中的某一个成员起作用 D.联合变量在定义的同时可进行初始化 A 1763、下列叙述错误的是(下列叙述错误的是( ) 。) 。 A.联合变量可以作为函数的形参 B.联合类型可以出现在结构类型定义中 C.一个联合变量中各成员的首地址相同 D.联合变量所占内存容量等于其中占内存容量最大的成员所占的容量 C 1859、以下程序段的运行结果是(以下程序段的运行结果是( ) 。) 。 char a=WELL,*p; for(p=a;pheight C.*(p+)-height D.(+p)-height C 1862、以下程序段执行后,能正确引用以下程序段执行后,能正确引用Li Ming的是(的是( ) 。) 。 struct salesperson char name10; int amount; sm3=Ma Li,163,Li Ming,155,Jack,172; struct salesperson *p; p=sm; A.*(p+1).name B.* C.(p+1)-name D.p-name C 1863、以下程序段的运行结果是(以下程序段的运行结果是( ) 。) 。 int a6=1,2,3,4,5,6; int *p; p=a; *(p+3)+=3; printf(%3d,%3dn,*p,*(p+3); A.7, 7 B.1, 4 C.1, 7 D.4, 4 B 1959、若已定义:若已定义:enum colors red, green=2, blue, blackx,a3;以下语句(以下语句( ) 。) 。 /* 语句语句 1 */ a1=black; /* 语句语句 2 */ red=1; /* 语句语句 3 */ x=green; A.语句 1 和语句 2 正确,语句 3 错误 B.语句 1 和语句 3 正确,语句 2 错误 C.语句 2 和语句 3 正确,语句 1 错误 D.语句 1 正确,语句 2 和语句 3 错误 C 1960、在无符号数的位运算中在无符号数的位运算中,操,操作数右移一位相当于将该操作数(作数右移一位相当于将该操作数( ) 。) 。 A.除以 4 B.乘以 4 C.除以 2 D.乘以 2 C 1961、若已定义:若已定义:int a=8,b=7,c; 语句语句 c=a|b; 执行后执行后 c 的值为(的值为( ) 。) 。 A.0 B.8 C.15 D.7 A 1962、若有以下类型说明,叙述错误的是(若有以下类型说明,叙述错误的是( ) 。) 。 typedef struct int num; char name10; float score; PLAYER,*p; A.p 是一个结构类型名 B.PLAYER 是一个结构类型名 C.p 是指向结构类型 PLAYER 的指针类型名 D.num 是结构类型 P

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论