收藏 分销(赏)

C语言复习资料参考答案.doc

上传人:二*** 文档编号:4498014 上传时间:2024-09-25 格式:DOC 页数:33 大小:119KB 下载积分:5 金币
下载 相关 举报
C语言复习资料参考答案.doc_第1页
第1页 / 共33页
本文档共33页,全文阅读请下载到手机保存,查看更方便
资源描述
(word完整版)C语言复习资料参考答案 选择题(20题,每题1。5分): 1。下面能正确使用的语句是_____D______。     (A)、  int *x, y=1; x=y;     (B)、  int *x; *x=1;     (C)、  int *x, y; x=&y;     (D)、  int *x; y=1; x=&y; 2。以下程序的运行结果是___C______。  void main() {  int x=1,y=—1,z=2; if (x>y) if (y〉0) z=0; else z++; else x++; printf(“%d,%d”,x,z); }     (A)、22     (B)、 12     (C)、13     (D)、 23 3。若变量x和y均为double类型,且x=1,则合法的语句是______A______。     (A)、  x=y++;     (B)、  x=x&y;      (C)、  x=y++=1     (D)、  y=x%2; 共 页,第 页 4.C++语言中最简单的数据类型包括_____B___。 (A)、整型、实型、逻辑型 (B)、整型、实型、字符型 (C)、整型、字符型、逻辑型 (D)、整型、实型、逻辑型、字符型 5.字符型(char)数据在微机内存中的存储形式是__D______。 (A)、反码 (B)、补码 (C)、EBCDIC码 (D)、ASCII码 6. 已知字母A的ASCII码为十进制的65,下面程序的输出是___A_____。 #include <stdio。h> main()   {     char ch1,ch2;     ch1=’A'+’5’—'3';     ch2='A’+'6’-'3';     printf(”%d,%c\n",ch1,ch2);   } (A)、67,D (B)、不确定的值 (C)、C,D (D)、B,C 7.若有定义和语句: int a=5; a++; 此处表达式a++的值是____B____。 (A)、 4 (B)、5 (C)、7 (D)、6 8、设 x=1,y=2,则表达式x+++y的值为_A_______。 (A)、3 (B)、4 (C)、 1 (D)、2 9. 表达式:10!=9的值是_D_______. (A)、true (B)、 0 (C)、非零值 (D)、1 10。 若以下变量均已定义,则下面表达式不正确的是_____B_______。 (A)、 a=b,c (B)、 x+y=5 (C)、 x/=10 (D)、 x>y?y:x 11。下列函数的声明正确的是___C______。 (A)、 void func(x,y) (B)、 void func(int x,int y) (C)、 void func(int,int); (D)、 void func(int x,y); 12。 C++程序的注释符是___A______。 (A)、 // (B)、 ’ (C)、 ! (D)、 ; 13.以下对一维数组n的正确定义是______A______。 (A)、 int a;int n[a]; (B)、 int a=3,n[a]; (C)、 int n(3); (D)、 const int a=3;int n[a]; 14.设有int a[]={1,2,3},*p=&a[0]; 则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是___C______。 (A)、2, 2, 3 (B)、1, 2, 3 (C)、1, 3, 3 (D)、2, 3, 3 15. 下面选项中,____D______是函数的重载。 (A)、 int print( float x) 与 int *print( float x) (B)、 int print( float x) 与float print( int x) (C)、 int print( char *y, float x) 与int print( float x, char *y) (D)、 float print1( int x) 与float print2( int y) 16. [单选题]有以下程序 #include <iostream。h> void main() { int n; n=9; cout〈〈(n——/3)〈<endl; } 程序运行后的输出结果是___B_____. (A)、 2 (B)、 3 (C)、 编译出错 (D)、 4 17。 执行以下语句后,变量n的值是___D_____. for(n=0,i=5;i〈=20;i++) if(i<=15 && i%5==0) n++; (A)、 4 (B)、 2 (C)、 1 (D)、 3 18。 有以下程序段 char x=’3’;int y=0; switch(x—'2') { case ’1’: y=1;break; case '2': y=2;break; default: y=3; } 程序运行后,变量y的值是__C______。 (A)、 0 (B)、 2 (C)、 3 (D)、 1 19。 表示C++一条预处理命令开始的符号中是____A____.     (A)。  # (B)。  ; (C)。 }(D)。 // 20.类的析构函数的作用是____C____。     (A)、  解析对象     (B)、  初始化对象     (C)、  删除对象     (D)、  重置对象 21.__D______的功能是对对象进行初始化。     (A)、  数据成员 (B)、  析构函数     (C)、  静态数据成员 (D)、  构造函数 22. C++源程序文件经过编译后,生成的目标文件扩展名是__A______。     (A)、  .obj     (B)、  .c     (C)、  。cpp     (D)、  。exe 23. 若有下面函数调用语句: fun(a+b,(x,y),fun(n+k,d,(a+b))); 在此函数调用语句中实参的个数是__B______。     (A)、  5     (B)、  3     (C)、  4     (D)、  6 24。每个C++程序都必须由且仅有一个__D_______。     (A)、  预处理命令     (B)、  函数     (C)、  语句     (D)、  主函数 25。在函数声明时,下列__D______项是不必要的。     (A)、  函数的类型     (B)、  函数的名字     (C)、  函数参数类型     (D)、  返回值表达式 26.执行下面的程序段后,k 的值是_____B____。   int k=1,n=532;   do{k*=n%10;n/=10;}   while(n);     (A)、  1     (B)、  30     (C)、  235     (D)、  5 27。 以下不能对数组x进行正确初始化的语句是____D________。     (A)、  int x[3]={1, 2, 3};     (B)、  int x[3]={0, 1, 2};     (C)、  int x[3]={0, 1, 2, };   (D)、  int x[3]={0, 1, 2, 3}; 28、以下程序的运行结果是_____C____。   void main()   {      int x=1,y=-1,z=2;       if (x>y) if (y〉0) z=0; else z++;       else x++;      cout<<x<〈z<<endl;   }     (A)、  22     (B)、  12     (C)、  13     (D)、  23 29. 可以赋给指针变量的唯一整数是___A_____。     (A)、  0     (B)、  3     (C)、  1     (D)、  2 30. 若以下变量均已定义,则下面表达式不正确的是___B_____. (A)、 a^=5 (B)、 a+3=10 (C)、 a=++a (D)、 a>〉3+1 31。下列函数的声明正确的是____C_____. (A)、 void func(x,y) (B)、 void func(int x,int y) (C)、 void func(int,int); (D)、 void func(int x,y); 32. 下列字符数组初始化语句中,正确的是___A_____。 (A)、 char c[3][10]={"China, Guanzhou, University"}; (B)、 char c[4][10]={”China", ”Guanzhou”, ”University”}; (C)、 char c[3][11]={"China”, "Guanzhou”, "University”}; (D)、 char c[4][11]={"China, Guanzhou, University"}; 33. 判断char型变量c是否为数字字符的表达式是___A_______. (A)、 (’0’<=c) && (c〈='9') (B)、 '0'〈=c<='9' (C)、 ( c>=0) && (c<=9) (D)、 (0〈=c) && (9〉=c) 34、C++语言中最简单的数据类型包括__C______。 (A)、 整型、实型、逻辑型、字符型 (B)、 整型、字符型、逻辑型 (C)、 整型、实型、字符型 (D)、 整型、实型、逻辑型 35. 若n为整型变量,则以下循环的执行次数是___C_____. for(n=0;——n>=0;n++); (A)、 2 (B)、 1 (C)、 0 (D)、 无限次 36. C++程序的注释符是___D______. (A)、 ; (B)、 ' (C)、 ! (D)、 // 37。 已知变量x,y均为整型变量,则下面表达式正确的是__B____。 (A)、 x*2=6 (B)、 y=——y (C)、 x+y=x-y (D)、 y++=x 38. 有以下程序段 char x='3’;int y=0; switch(x—’2') { case ’1': y=1;break; case ’2’: y=2;break; default: y=3; } 程序运行后,变量y的值是___C_____。 (A)、 0 (B)、 2 (C)、 3 (D)、 1 39. 若有定义 ”int x[5]={1,2,3,4,5},*p=&x[0];",则以下表达式中值为5的是__C______。 (A)、 *( p+5) (B)、 p+4 (C)、 *( p+4) (D)、 * p+5 40. 执行以下语句后,变量n的值是____D____. for(n=0,i=5;i<=20;i++) if(i<=15 && i%5==0) n++; (A)、 4 (B)、 1 (C)、 2 (D)、 3 41。 以下说法正确的是 C A)C语言程序总是从第一个的函数开始执行 B)在C语言程序中,要调用函数必须在main()函数中定义 C)C语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须放在程序的开始部分 42.下列关于C语言的说法不正确的是 B A)C语言既具有高级语言的一切功能,也具有低级语言的一些功能 B)C语言中的每一条执行语句都必须用分号结束,分号不是C语言的 一部分,是语句之间的分隔符号 C)注释可以出现在程序中任意合适的地方 D)命令行后面不能加分号,命令行不是C语言的语句 43. C 是正确的字符常量. A.''C'’ B.'ab’ C.’11' D.’\n' 44.C语言中,求余运算符是 A 。 A. % B. / C. %和/ D. * 45. C语言中最简单的数据类型包括 B A)整型、实型、逻辑型 B)整型、实型、字符型 C)整型、字符型、逻辑型 D)字符型、实型、逻辑型 46。若有定义:int a=7;float x=2。5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是 A A)2。500000 B)2.750000 C)3.500000 D)0。000000 47.在C语言中,char型数据在内存中的存储形式是 D A)补码 B)反码 C)原码 D)ASCII码 48.若变量c为char类型,能正确判断出c为大写字母的表达式是 D 。 A.‘A’<=c<= ‘Z'                 B.(c>= ‘A’) || (c<= ‘Z’) C.(‘A’<=c) and (‘Z’>=c)       D. (c>= ‘A’) && (c<= ‘Z’) 49.下列正确的标识符是: C A. 12ab B。 float C。 b6ty D。 aw~1e 50。已知int a=6; 则执行a+=a—=a*a;语句后,a的值为 D A)36 B)0 C)-24 D)—60 51。 设int a,b,c;执行表达式a=b=1,a++,b+1,c=a+b-—后,a,b和c的值分别是 B 。 A.2,1,2 B.2,0,3 C.2,2,3 D.2,1,3 52。下列关于字符串的说法中错误的是 B A)C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志 B)′\0′作为标志占用存储空间,计入串的实际长度 C)在表示字符串常量的时候不需要人为在其末尾加入′\0′ D)在C语言中,字符串常量隐含处理成以′\0′结尾 53.若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予10。0,b赋予22。0,c赋予33.0,下列不正确的输入形式是 B A)10<回车>22〈回车>33〈回车〉 B)10。0,22。0,33。0〈回车> C)10。0〈回车>22。0 33。0〈回车> D)10 22<回车〉33〈回车> 54.执行下面程序时,如果从键盘上输入:defABC〈回车>,则输出为 B #include <Stdio。h> main() { char ch; while ((ch=getchar())!='\n') { if (ch>='A' && ch〈=’Z') ch=ch+32; else if (ch〉='a’ && ch<='z') ch=ch-32; printf("%c”,ch);} A。 ABCdef B。 DEFabc C. abc D.DEF 55.下列程序段的输出结果是: C int a=1234; float b=123。456; double c=12345.54321; printf(”—,%2.1f,%2。1f",a,b,c); A)无输出 B)12,123。5,12345.5 C)1234,123。5,12345。5 D)1234,123.4,1234.5 56.下面程序中的输出语句,a的值是 C main() { int a; printf(”%d\n”,,(a=3*5,a*4,a+5)); } A.65 B.20 C。15 D。10 57.能正确表示逻辑关系:“a≥10或a≤0"的C语言表达式是D A)a>=10 or a〈=0 B)a〉=0|a〈=10 C)a>=10 &&a〈=0 D)a>=10‖a<=0 58.6.1 对表达式for(表达式1; ;表达式3)可理解为B A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3) C)for(表达式1;表达式1;表达式3) D)for(表达式1;表达式3;表达式3) 59.以下程序的输出结果是 C 。 #include 〈stdio。h> void main() { int m=5; if (++m>5) printf(“%d\n",m); else printf(“%d\n”,m—-); } A.7 B.6 C.5 D. 4 60。下列选项中错误的说明语句是D A)char a[]={′t′,′o′,′y′,′o′,′u′,′\0′}; B)char a[]={"toyou\0"}; C)char a[]="toyou\0"; D)char a[]=′toyou\0′; 61。 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。 A.必须为字母或下划线 B.必须为下划线 C.必须为字母 D.可以是字母、数字和下划线中的任一种字符 62。 以下说法中正确的是 B 。 A. C语言程序总是从第一个的函数开始执行 B。 C语言程序总是从main( )函数开始执行 C。 在C语言程序中,要调用的函数必须在main( )函数中定义 D。 C语言程序中的main( )函数必须放在程序的开始部分 63. if语句的基本形式:if(表达式)语句 其中“表达式” D A.必须是逻辑表达式或关系表达式 B.必须是关系表达式 C.必须是逻辑表达式 D.可以是任意合法的表达式 64. B 是不正确的字符常量。 A.’A’ B.”a” C.'1’ D.'\n’ 65.C语言中,整除运算符是 B . A. % B. / C. %和/ D. * 66。 表达式:(int)((double)11/2)-(9)%2的值是 C . A.0 B.3 C.4 D.5 67. 组成C语言程序的是 D 。 A.子程序 B. 过程 C.函数 D.主程序和子程序 68。 若变量c为char类型,能正确判断出c为小写字母的表达式是 D 。 A.‘a’<=c〈= ‘z'                 B.(c〉= ‘a’) || (c〈= ‘z’) C.(‘a’〈=c) and (‘z'〉=c)       D. (c〉= ‘a’) && (c<= ‘z’) 69。 x,y,z和k都是int型变量,执行表达式:x=(y=4,z=16,k=32)后,x的值为 A. 4 B。 16 C。 32 D. 52 70. 在C语言中,逻辑值“真”用____C______表示. A. true B. 大于0的数  C. 非0的整数 D。 非0的数 71. 设int x,y;且x = 3, y = 5则下面表达式中值为0的是 C 。 A.!(x = y ) B. ‘x’ && ‘y' C. x || y D.x <= y 72.设有程序段:int k = 10 ; while ( k = 0 ) k = k - 1 ; 以下描述正确的是 A 。 A.循环体语句一次也不执行。 B.循环是无限循环。 C. while 循环语句执行十次。 D.循环体语句执行十一次. 73。以下if语句语法正确的是 A 。 A.if (x〉0) B.if (x>0) printf ( ”%f ”,—x ) { x=x+y ; printf ("%f ", x) ; } else printf (”%f",-x) ; else printf (”%f ", —x) ; C. if (x〉0) D. if(x>0) {x=x+y ; printf ("%f ", x) ; }; {x=x+y ; peintf (”%f", x)} else printf ("%f”, —x) ; else printf (”%f”, -x) ; 74。 执行下面程序时,如果从键盘上输入:ABCdef〈回车>,则输出为( B ) #include <Stdio.h> main() { char ch; while ((ch=getchar())!='\n') { if (ch>='a' && ch<=’z’) ch=ch-32; else if (ch〉=’A’ && ch<='Z’) ch=ch+32; printf("%c",ch);} A. ABCdef B. abcDEF C。 abc D.DEF 75。有两个字符变量a, b,则以下正确的输入格式是 B . A.scanf ("% c % c”, &a, &b ) B.scanf (”% s % s", a, b ) C.scanf ("% c % c”, a, b ) D.gets (”a”); gets ("b”) 76. 下面程序中的输出语句,a的值是( C ) main() { int a; printf(”%d\n”,,(a=15/5,a*4,a+5)); } A.8 B。12 C。3 D.5 77。 输出整型变量a,b的语句为printf(“ D ”, a,b) ; A.a=%2,b=%5 B. a=2,b=5 C.a=%%d,b=%%d D. a=%d,b=%d 78.有以下程序:#include <stdio.h> void main() { int a=2,b=1; printf(“%d,”,b=a+b); printf(“%d\n”,a=2*b); } 程序运行后的输出结果是 A 。 A.3,2 B.3,0 C.3,6 D.3,1 79.以下程序的输出结果是 C . #include 〈stdio。h〉 void main() { int m=5; if (m++〉5) printf(“%d\n”,m); else printf(“%d\n”,m—-); } A.7 B.6 C.5 D. 4 80. 有以下程序: #include 〈stdio。h〉 void fun(int p) { int d=2; p=d+1; printf(“%d”,p); } void main( ) { int a=1; fun(a); printf(“%d\n”,a); } 程序运行后的输出结果是 D 。 A.32 B.13 C.23 D.31 81. 以下运算符中优先级最低的是C A) && B) & C) || D) | 82. printf函数中用到格式符%6s,其中数字6表示输出的字符串占用6列,如果字符串长度大于6,则输出按方式D A) 从左起输出该字符串,右补空格 B) 输出错误信息 C) 右对齐输出该字串,左补空格 D) 按原字符长从左向右全部输出 83。 判断char型变量cl是否为大写字母的正确表达式是B A) (cl〉=A)&&(cl<=Z) B) (cl>='A')&&(cl〈='Z’) C) ('A'〉=cl)||(’Z'〈=cl) D) ’A'〈=cl<='Z’ 84. 以下能对一维数组c进行正确初始化的语句是A A) int c[10]={0,0,0,0,0} B) int c[10]={}; C) int c[]=(0); D) int c[10]={10*1}; 85。字符型(char)数据在微机内存中的存储形式是__D______。 (A)、反码 (B)、补码 (C)、EBCDIC码 (D)、ASCII码 86. 请读程序: #define ADD(x) x+x main() { int m=1,n=3,k=2; int sum=ADD(m+n)*k; printf("sum=%d”,sum); } 上面程序的运行结果是A A) sum=11 B) sum=10 C) sum=12 D) sum=18 87。若有定义和语句: int a=5; ++a; 此处表达式++a的值是__D______。 (A)、 4 (B)、5 (C)、7 (D)、6 88、以下叙述正确的是C A) 在C程序中,main函数必须位于程序的最前面 B) C程序的每行中只能写一条语句 C) C语言本身没有输入输出语句 D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 89. 表达式:10!=9的值是__D______。 (A)、true (B)、 0 (C)、非零值 (D)、1 90. C语言规定,在一个源程序中,main函数的位置C A) 必须在最开始 B) 必须在系统调用的库函数的后面 C) 可以任意 D) 必须在最后 91。 下面四个选项中,均是不合法的用户标识符的选项是C A) A P_0 do B) float la0 _A C) b-a goto int D) _123 temp int 92。 C++程序的注释符是___A______。 (A)、 // (B)、 ’ (C)、 ! (D)、 ; 93。 下面正确的字符常量是C A) "c” B) ’\\’’ C) 'W' D) ’' 94. 在C语言中,引用数组元素时,其数组下标的数据类型允许是A A) 整型常量 B) 整型表达式 C) 整型常量或整型表达式 D) 任何类型的表达式 95。 在C语言中,要求运算数必须是整型的运算符是D A) / B) ++ C) != D) % 96. [设有说明:char w;int x;float y;double z;则表达式w*x+z—y值的数据类型为D A) float B) char C) int D) double 97。 以下关于运算符优先顺序的描述中正确的是C A) 关系运算符<算术运算符<赋值运算符〈逻辑运算符 B) 逻辑运算符〈关系运算符<算术运算符〈赋值运算符 C) 赋值运算符<逻辑运算符<关系运算符〈算术运算符 D) 算术运算符〈关系运算符〈赋值运算符〈逻辑运算符 98。 若希望当A的值为奇数时,表达式的值为“真",A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是A A) !(A%2) B) !(A%2==0) C) A%2==1 D) A%2 99。 已知 int x=10,y=20,z=30;以下语句执行后x,y,z的值是 if(x〉y)B z=x;x=y;y=z; A) x=10,y=20,z=30 B) x=20,y=30,z=30 C) x=20,y=30,z=10 D) x=20,y=30,z=20 100. 请阅读以下程序: main() { int a=5,b=0,c=0; if(a=b+c) printf("***\n”); else printf(”$$$\n”); } 以上程序D A) 有语法错不能通过编译 B) 可以通过编译但不能通过连接 C) 输出*** D) 输出$$$ 101。 以下运算符中优先级最低的是C A) * B) ( ) C) = D) && 102。 判断char型变量cl是否为小写字母的正确表达式是A A) (cl〉=’a')&&(cl<='z') B) (cl>=a)&&(cl〈=z) C) ('a’>=cl)||(’z’<=cl) D) 'a’<=cl〈='z’ 103。 以下能对一维数组a进行正确初始化的语句是C A) int a[10]=(0,0,0,0,0) B) int a[10]={}; C) int a[]={0}; D) int a[10]={10*1}; 104。每个C++程序都必须由且仅有一个___D______。     (A)、  预处理命令     (B)、  函数     (C)、  语句     (D)、  主函数 105. 以下程序的运行结果是B #define MIN(x,y) (x)〈(y)?(x):(y) main() {int i=10,j=15,k; k=10*MIN(i,j); printf("%d\n",k); } A) 10 B) 15 C) 100 D) 150 106. 一个C程序的执行是从A A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序的main函数开始,到本程序文件的最后一个函数结束 D) 本程序文件的第一个函数开始,到本程序main函数结束 107. 以下叙述不正确的是D A) 一个C源程序可由一个或多个函数组成 B) 一个C源程序必须包含一个main函数 C) C程序的基本组成单位是函数 D) 在C程序中,注释说
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服