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

下载本文档

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

文档简介

一、单选题一、单选题( (每题每题 2 2 分分) ) 1 、有以下程序 #include int fun(int a, int b) if (b=0) return a; else return (fun(-a, -b); main() printf(“%dn“, fun(4, 2); 程序的运行结果是( ) A1 B2 C3 D4 2 、有以下程序: main() char *p10=“abc“,“aabdfg“,“dcdbe“,“abbd“,“cd“; printf(“%dn“, strlen(p4); 执行后输出结果是( ) A2 B3 C4 D5 3 、下面的函数调用语句中 func 函数的实参个数是 ( ) func(f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8); A3 B4 C5 D8 4 、有以下程序: int a=2; int f(int *a) return (*a)+; main() int s=0; int a=5; s+=f( s+=f( printf(“%dn“,s); 执行后输出结果是( ) A10 B9 C7 D8 5 、以下程序的输出结果是 ( ) int f() static int i=0; int s=1; s+=i; i+; return s; main() int i,a=0; for(i=0;i book 则输出的结果是( ) #include main() char a180,a280,*s1=a1, *s2=a2; gets(s1); gets(s2); if(! strcmp(s1,s2) printf(“*“); else printf(“#“); printf(“%dn“,strlen(strcat(s1,s2); A *8 B #9 C #6 D *9 7 、若有语句 int *point, a=4; 和 point= 下面均代表地 址的一组选项是( )。 A a, point, * 以下可使指针 p1 指向变量 b 的赋值语句是( )。 A p1=*p2 B *p1=p2 C p1=p2 D *p1=*p2 9 、在 C 语言中,运算对象必须是整型数的运算符是( ) A % B / C %和 D * 10 、下面程序段的运行结果是( )。 char str = “ABC“, *p=str; printf(“%dn“, *(p+3); A 67 B 0 C 字符C的地址 D 字符C 11 、设有:int a=1, b=2, c=3, d=4, m=3, n=3; 执行 (m=ab)|(n=cd)后 n 的值为( )。 A 0 B 1 C 2 D 3 12 、以下程序的输出结果是( )。 main() int x=10,y=3; printf(“%dn“,y=x/y); A 0 B 1 C 3 D 不确定的值 13 、若 x 和 y 都是 int 型变量,x=100,y=200,且有下面的程 序片段: printf(“%d“,(x,y); 上面程序片段的输出结果是( ) A 200 B 100 C 100 200 D 输出格式符不够,输出不确定的值 14 、下述语句执行后,变量 k 的值是( )。 int k=1; while(k+ sub(int x,int y,int * z) *z=y-x; main() int a, b, c; sub(10,5, sub(7,a, sub(a,b, printf(“%d,%d,%dn“, a,b,c); A 5,2,3 B -5,-12,-7 C -5,-12,-17 D 5,-2,-7 25 、设有数组定义: char array =“China“; 则数组 array 所占的空间为( ) A 4 个字节 B 5 个字节 C 6 个字节 D 7 个字节 26 、请读程序: #include f(char *s) char *p=s; while( *p!=0) p+; return(p-s); main() printf(“%dn“,f(“ABCDEF“); 上面程序的输出结果是( ) A 3 B 6 C 8 D 0 27 、若执行下面的程序时从键盘上输入 5,则输出是( ) main() int x; scanf(“%d“, if(x+5) printf(“%dn“,x); else printf(“%dn“,x-); A 7 B 6 C 5 D 4 28 、以下程序的输出结果是( )。 main() int a, b; for(a=1,b=1;a =10) break; if(b%3=1) b+=3; continue; printf(“%dn“,a); A 101 B 6 C 5 D 4 29 、设有: char str=“Beijing“; 则执行: printf(“%dn“,strlen(strcpy(str,“China“); 后的输出结果为( )。 A 5 B 7 C 12 D 14 30 、以下程序的输出结果是( )。 main() int i,a10; for(i=9;i=0;i-) ai=10-i; printf(“%d%d%d“,a2,a5,a8); A 258 B 741 C 852 D 369 31 、设有如下定义: char *aa2=“abcd“,“ABCD“;则以下 说法中正确的是( )。 A aa 数组成元素的值分别是“abcd“和 ABCD“ B aa 是指针变量,它指向含有两个数组元素的字符型一 维数组 C aa数组的两个元素分别存放的是含有4个字符的一维 字符数组的首地址 D aa 数组的两个元素中各自存放了字符串“abcd“和 “ABCD“的首地址 32 、对两个静态函数 A 和 B 进行如下初始化: char A=“ABCDEF“; char B=A,B,C,D,E,F; 则下列叙述正确的是( )。 A A 和 B 完全相同 B A 和 B 只是长度相等 C A 和 B 不相同,A 是指针数组 D A 数组长度比 B 数组长 33 、设有以下程序片段: switch(X) case A: printf(“A“); case B: printf(“B“); default: printf(“error“); 假设 X=A,程序输出结果是( ) A A B B C error D ABerror 34 、已知字符 A 的 ASCII 码为十进制的 65,下面程序的输出 是( ) main() char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf(“%d,%cn“,ch1,ch2); A 67,D B B,C C C,D D 不确定的值 35 、以下选项中,不能正确赋值的是( )。 A char s110;s1=“Ctest“; B char s2=C,t,e,s,t; C char s320=“Ctest“; D char *s4=“Ctestn“; 36 、设变量已正确定义,则以下能正确计算 f=n!的程序段是 ( ) A f=0; for(i=1;i 1;i+) f*=i; D f=1; for(i=n;i=2;i-) f*=i; 37 、以下正确的数组定义语句是( )。 A int y14=1,2,3,4,5; B float x3=1,2,3; C long s23=1,1,2,1,2,3; D int m14=4; 38 、若二维数组 a 有 m 列,则在 aij前的元素个数为( )。 A j * m+i B i * m+j C i * m+j-1 D i * m+j+1 39 、 以下能正确定义整型变量 a,b 和 c 并为其赋初值 1 的语句 是( )。 A int a=b=c=1; B int a,b,c=1; C a=b=c=1; D int a=1,b=1,c=1; 40 、下列合法的数组定义是( )。 A int a=“string“; B int a5=0,1,2,3,4,5; C char a=“string“; D char a=0,1,2,3,4,5; 41 、下列函数定义中,会出现编译错误的是( ) A max(int x, int y, int* z) *z = xy?x:y; B int max(int x, y) int z; z = xy?x:y; return z; C max(int x, int y) int z; z = xy?x:y; return(z); D int max(int x, int y) return (xy ? x : y); 42 、在以下选项中,操作不合法的一组是( )。 A int x6, *p; p= B int x6, *p; *p=x; C int x6, *p; p=x; D int x6,p; p=x0; 43 、若已定义 char s10; 则在下面表达式中不能表示 s1 的地址的是( )。 A s+1 B s+ C B scanf(“%d%d%d“, C scanf(“%d%d%d“,x,y,z); D read(“%d%d%d“, 45 、有语句: char str110,str210=“books“; 则能将字符串 books 赋给数组 str1 的正确语句是( )。 A str1=“Books“; B strcpy(str1,str2); C str1=str2; D strcpy(str2,str1); 46 、若有以下调用语句,则不正确的 fun 函数的首部是( ) main() int a50,n; fun(n, A void fun(int m, int x) B void fun(int s, int h41) C void fun(int p, int *s) D void fun(int n, int A) 47 、 下面的程序中( )有错误(每行程序前面的数字是行号)。 1 #include 2 main() 3 float s5; 4 int i,sz=0; 5 for(i=0;i =k B-k+ Ck%int(f) Dk m 4 、若有定义语句:double x5=1.0,2.0,3.0,4.0,5.0, *p=x;则正确引用 x 数组元素的是( ) A*p Bx5 C*(p+1) D*x 5 、若要求定义具有 10 个 int 型元素的一维数组 a,则以下定 义语句中正确的是 ( ) A#define N 10 int aN; B#define n 5 int a 2*n; Cint a5+5; Dint n=10,an; 6 、C 源程序中可以表示的数制是 ( ) A二进制 B八进制 C十进制 D十六进制 7 、按照 C 语言规定的用户标识符命名规则,能出现在标识符 中的是( ) A大写字母 B连接符 C数字字符 D下划线 8 、以下不合法的字符型常量是( ) Ax13 B081 C065 D“n“ 9 、以下合法的字符常量是 ( ) A018 B“ C D0xcc 10 、以下叙述中正确的是( ) AC 语句必须以分号结束 B复合语句在语法上被看作一条语句 C空语句出现在任何位置都不会影响程序运行 D赋值表达式末尾加分号就构成赋值语句 11 、以下合法的赋值语句是( ) An=(i=2,+i); Bj+; C+(i+1); Dx=j0; 12 、以下能正确定义二维数组的选项

温馨提示

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

评论

0/150

提交评论