C语言知识学习要点选择题
C语言基础选择题100道(附答案)01
C语⾔基础选择题100道(附答案)011. 以下选项中可⽤作 C 语⾔合法⽤户标识符的是A) 2aB)voidC)-abcD) _123答案:D2. 以下选项中合法的 C 语⾔赋值语句是A)++i;B)a=b=34C)a=3,b=9D)k=int( a+b );答案:A3. 有以下程序段,其中的变量已定义为 int 类型sum = pad = 5; pAd = sum++, pAd++, ++pAd;printf( “%d\n”, pad );程序段的输出结果是A)4B)5C)6D)7答案:B4. sizeof( double ) 是A)⼀个整型表达式B)⼀个函数调⽤C)⼀个双精度表达式D)不合法的表达形式答案:A5. 有以下程序#include <stdio.h>main(){int a=2, c=5;printf(“a=%%d,b=%%d\n”, a, c );}程序运⾏后的输出结果是A)a=%d,b=%dB)a=%2,b=%5C)a=%%d,b=%%dD)a=2,b=5答案:A6. 有以下程序#include <stdio.h>#include <math.h>main(){int a=1, b=4, c=2;double x=10.5, y=4.0, z;z = ( a+b )/c + sqrt( y ) * 1.2 / c + x;printf("%f\n", z);}程序运⾏后的输出结果是程序运⾏后的输出结果是A)13.700000B)14.000000C)15.400000D)14.900000答案:A7. 若有定义语句:int a=12;,则执⾏语句:a+= a-= a*a;后,a的值是A)264B)552C)144D)-264答案:D8. C 语⾔程序的模块化是通过以下哪个选项实现的A)变量B)语句C)函数D)程序⾏答案:C9. A)1.0/a/b/cB)1/(a b c)C)1.0/a b cD)1/a/b/(double)c答案:A10. 有以下程序#include <stdio.h>main(){int x=010, y=10;printf("%d,%d\n", ++x, y–);}程序运⾏后的输出结果是A) 10,9B)11,10C)010,9D) 9,10答案:D11. 以下选项中叙述正确的是A)C 语⾔的标识符可分为关键字、预定义标识符和⽤户标识符三类B)C 语⾔的标识符可分为语句、变量和关键字三类C)C 语⾔的标识符可分为函数名、变量和预定义标识符三类D)C 语⾔的标识符可分为运算符、⽤户标识符和关键字三类答案:A12. 以下选项中叙述正确的是A)函数体必须由 { 开始B)C 程序必须由 main 语句开始C)C 程序中的注释可以嵌套D)C 程序中的注释必须在⼀⾏完成答案:A13. 以下选项中叙述正确的是A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构B)C 语⾔源程序不编译也能直接运⾏C)使⽤ N-S 流程图不能描述复杂算法D)计算机能够直接运⾏ C 语⾔源程序,不必进⾏任何转换D)计算机能够直接运⾏ C 语⾔源程序,不必进⾏任何转换答案:A14. 以下选项中叙述正确的是A)使⽤三种基本结构就可以实现任何复杂算法B)只要程序包含了三种基本结构中的任意⼀种,就是结构化程序C)程序语法错误要在运⾏时才能发现D)可运⾏ C 语⾔程序不需要包含 main()函数答案:A15. 以下选项中,合法的 C 语⾔常量是A) "\2.0B)‘C++’C) 1.234D)2Kb答案:C16. 以下选项中,合法的 C 语⾔实数是A).2e0B)3.1e0.4C)E13D)7.12E答案:A17. 设 a,b,c 是整型变量且均已赋值,则以下选项中错误的是A)a = (b = 3) = 1;B)a = (b = 2) + c;C)a = b = c + 10;D)a = 1 + (b = c = 2);答案:A18. 有如下程序#include <stdio.h>main(){int x = 072;printf("%d\n", x+1);}程序运⾏后的输出结果是A)72B)73C)115D)59答案:D19. 以下选项中叙述正确的是A)C 程序中的语句要经过编译才能转换成⼆进制机器指令B)算法需要包含所有三种基本结构C)有些算法不能⽤三种基本结构来表达D)简单算法的操作步骤不能超过 20 步答案:A20. 以下选项中叙述正确的是A)复杂任务可以分解成简单⼦任务B)C 语⾔程序中的所有函数必须保存在同⼀个源⽂件中C)全部三种基本结构都包含的才是结构化程序D)C 语⾔程序可以定义多个不同内容的 main 函数答案:A21. 以下选项中,合法的数值型常量是A) 092B)“A”B)“A”C) 3.1415D)0xDH答案:C22. 以下选项中,合法的实数是A) E1.3B) 4.5E2C)7.11ED)1.2E1.2答案:B23. 若有定义 int a, b, c; 以下选项中的赋值语句正确的是A)a = (b = c) + 1;B)(a = b) = c = 1;C)a = (b == c) = 1;D)a + b = c;答案:A24. 有如下程序#include <stdio.h>main(){int x = 0x13;printf("%d\n", x+1);}程序运⾏后的输出结果是A)13B)14C)12D)20答案:D25. 以下叙述中错误的是A)书写风格良好的程序执⾏效率⾼B)书写风格良好的程序易读性好C)C 程序可以在⼀⾏上写多条语句D)C 程序允许将⼀条语句分写在多⾏上答案:A26. 以下选项中不能正确表⽰数值 10000 的实型常量是A)1.0E4.0B)1.E4C)10E3D)1.0e4答案:A27. 设有定义:int a=0,b=1,c=1;以下选项中,表达式值与其它三个不同的是A) a=b=cB) b=a= =cC)a=c= =bD)c=a!=c答案:B28. 设有两⾏定义语句:int scanf;float case;则以下叙述正确的是A)第 1 ⾏语句不合法B)两⾏定义语句都合法C)第 2 ⾏语句不合法D)两⾏定义语句都不合法答案:C29. 设有定义:double x=2.12;,以下不能完整输出变量 x 值的语句是A)printf(“x=%5.0f\n”,x);B)printf(“x=%f\n”,x);C)printf(“x=%lf\n”,x);D)printf(“x=%0.5f\n”,x);答案:A30. 设有定义:int a,b; float x; ,则以下选项中对语句所作的注释叙述错误的是A)scanf("%d%d%f",&a,&b); /* 多余的格式符%f 完全不起作⽤ /B)scanf("%d%d",&a,&b,&x); / 多余的输⼊项不能获得输⼊数据 /C)scanf("%d%f%d",&a,&b,&x); / 输⼊项与格式符类型不匹配,变量 b 和 x 得不到正确的输⼊数据 /D)scanf(“Input:%d%d”,&a,&b); / 格式串中允许加⼊格式符以外的字符串 */答案:A31. 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是A)三种基本结构不可以嵌套使⽤B)顺序结构是按语句在程序中的先后顺序逐条执⾏,没有分⽀,没有转移C)选择结构是根据条件决定执⾏不同分⽀中的语句D)循环结构是根据条件决定是否重复、重复执⾏多少次循环体语句答案:A32. 以下能正确表述算式 sin(2πr+30°)的 C 语⾔表达式是A)sin(23.14r+3.1430/180.0)B)sin(2πr+ 30 )C)sin(23.14r+ 30 )D)sin(23.14r+303.14/360.0)答案:A33. 设有定义:int x=11,y=12,z=0;,以下表达式值不等于 12 的 是A) (z,x,y)B)(z=x,y)C)z=(x,y)D) z=(x==y)答案:D34. 以下可以将任意⼀个两位整数n的个位数与⼗位数对换的表达式为A)(n-n/10*10)10+n/10B)n-n/1010+n/10C)n/10+(n-n/10)D)(n-n/10)*10+(n/10)答案:A35. 设有以下程序段int y;y=rand() % 30+1;则变量 y 的取值范围是A) 1<y<30B)0≤y≤30C) 0<y≤30D)1<y≤30答案:C36. 以下程序段中,循环次数不超过 10 的是A)int i=10; do{ i=i+1;} while(i<0);B)int i=5; do{ i+=1;} while(i>0);C)int i=1; do{ i+=2;} while(i!=10);D)int i=6; do{ i-=2;} while(i!=1);答案:A37. 以下叙述正确的是A)计算机只接收由 0 和 1 代码组成的⼆进制指令或数据B)计算机只接收由 0 和 1 代码组成的⼗进制指令或数据C)计算机可直接接收并运⾏ C 源程序D)计算机可直接接收并运⾏任意⾼级语⾔编写的源程序答案:A38. 简单程序设计步骤中不包括A)编码B)确定算法C)安装编译程序D)调试答案:C39. 关于 C 语⾔标识符,以下叙述错误的是A)标识符可全部由数字组成B)标识符可全部由下划线组成C)标识符可全部由⼩写字母组成D)标识符可全部由⼤写字母组成答案:A40. 若有 C 语⾔表达式 2+34+7/3,则以下选项中关于执⾏顺序的叙述,正确的是A)先执⾏ 34 得 12,再执⾏ 2+12 得 14,再执⾏ 7/3 得 2,最后执⾏ 14+2 得 16B)先执⾏ 34 得 12,再执⾏ 7/3 得 2.5,最后执⾏ 2+12+2.5 得16.5C)先执⾏ 7/3 得 2,再执⾏ 34 得 12,再执⾏ 12+2 得 14,最后执⾏ 2+14 得 16D)先执⾏ 2+3 得 5,再执⾏ 5*4 得 20,再执⾏ 20+7 得 27,最后执⾏ 27/3 得 9答案:A41. 若想给已定义为 int 型的变量 a,b,c,d 赋值为 1,以下选项中错误的语句是A)a=b, b=c, c=d, d=1;B)a=b=c=d=1;C)a=1, b=a, c=b, d=c;D)d=1, c=d, b=c, a=b;答案:A42. 若有定义:char c; int d; 程序运⾏时输⼊:c=1,d=2<回车>,能把字符 1 输⼊给变量 c、整数 2 输⼊给变量 d 的输⼊语句是A)scanf(“c=%c,d=%d”, &c,&d);B)scanf(“c=%c d=%d”, &c,&d);C)scanf(“c=%d,d=%d”, &c,&d);D)scanf(“c=%d d=%d”, &c,&d);答案:A43. 以下叙述正确的是A) C 编译程序把⽂件后缀为.c 的源程序⽂件编译成⽂件后缀为.exe 的可执⾏⽂件B)C 编译程序把⽂件后缀为.c 的源程序⽂件编译成⽂件后缀为.obj 的⼆进制⽂件C)C 编译程序把⽂件后缀为.obj 的⼆进制⽂件编译成⽂件后缀为.exe 的可执⾏⽂件D)链接程序把⽂件后缀为.c 的源程序⽂件链接成⽂件后缀为.exe的可执⾏⽂件答案:B44. 算法应当具有的特性不包括A) 确定性B)有穷性C)美观性D)可⾏性答案:C45. 以下不属于 C 语⾔整数的是A)12fB)25uC)-32D)+20L答案:A46. 有 C 语⾔表达式 23+4+15%3 ,关于其执⾏顺序,以下叙述正确的是A)先执⾏ 23 得 6,再执⾏ 6+4 得 10,再执⾏ 15%3 得 0,最后执⾏ 10+0 得 10B)先执⾏ 23 得 6,再执⾏ 15%3 得 5,最后执⾏ 6+4+5 得 15C)先执⾏ 15%3 得 0,再执⾏ 23 得 6,最后执⾏ 6+4+0 得 10D)先执⾏ 15%3 得 3,再执⾏ 4+3 得 7,再执⾏ 2*3 得 6,最后执⾏ 6+7 得 13答案:A47. 若想给已定义为 int 型的变量 a、b、c、d 赋整数 1,以下选项中错误的语句是A)d=c, c=b, b=a, a=1;B)d=c=b=a=1;C)d=(b=c=(a=1));D)d=1, c=d, b=c, a=b;答案:A48. 若有定义:int a; float b; double c; ,程序运⾏时输⼊:1,2,3<回车>,能把 1 输⼊给变量 a、2 输⼊给变量 b、3 输⼊给变量 c 的输⼊语句是A) scanf("%d,%f,%f", &a,&b,&c);B)scanf("%d%f%lf", &a,&b,&c);C)scanf("%d,%lf,%lf", &a,&b,&c);D) scanf("%d,%f,%lf", &a,&b,&c);答案:D49. 以下叙述正确的是A)循环结构、选择结构、顺序结构都是结构化程序的基本结构B)计算机可以直接执⾏ C 语⾔程序,不需要做任何转换C)过于复杂的算法不能使⽤ N-S 流程图描述D)只有不超过 20 步操作步骤的算法才是简单算法答案:A答案:A50. 以下叙述正确的是A) C 语⾔程序并不是必须要定义 main()函数B)只使⽤三种基本结构即可解决任何复杂问题C)只要程序包含了任意⼀种基本结构,就肯定是结构化程序D)程序中的语法错误只有在运⾏时才能显现答案:B51. 以下选项中,合法的 C 语⾔常量是A) 2MBB)‘CPP’C)"\1.0D) 21.84答案:D52. 以下选项中,合法的 C 语⾔实数是A).1e0B)E1C)0.10ED)2.1e0.2答案:A53. 设 a,b,c 是整型变量,且已正确赋初值,以下选项中错误的赋值语句是A)a = 2 = (b = 9) = 1;B)a = (b = 3) * c;C)a = b = c / 10;D)a = 1 % (b = c = 2);答案:A54. 有如下程序#include <stdio.h>main( ) {int x = 072;printf(“X=%d\n”, x+1);}程序运⾏后的输出结果是A) X=73B) X=59C)X=115D)X=72答案:B55. 下⾯叙述正确的是A)C 语⾔程序的语句经过编译和链接转换成⼆进制机器指令后才能执⾏B)任何算法需要包含三种基本结构中的两种以上C)复杂算法是不能⽤三种基本结构来表达的D)只要是简单算法,它的操作步骤都不会超过 20 步答案:A56. 下⾯叙述正确的是A)任何复杂任务都可以分解成简单⼦任务B)C 语⾔程序的所有函数只能处于同⼀个源⽂件中C)包含全部三种基本结构的程序才是结构化程序D)C 语⾔程序可以定义多个不同内容的 main 函数答案:A57. 以下选项中,合法的数值型常量是A) ‘X’B) 3.2B) 3.2C)099D)0xEH答案:B58. 以下选项中,合法的实数是A) 1.9E1.4B)E1.1C)2.10ED) 1.5E2答案:D59. 若已有定义语句:int a, b, c;,且变量已正确赋初值,则以下选项中正确的赋值语句是A)a = (b = c) + 8;B)(a = b) = c = 9;C)a = (b == c) = ‘A’;D)a + b = c + 1;答案:A60. 有以下程序#include <stdio.h>main( ) {int x = 0x13;printf(“INT:%d\n”, x+1);}程序运⾏后的输出结果是A) INT:12B)INT:13C) INT:20D)INT:14答案:C61. 关于程序设计基本概念,以下叙述错误的是A)计算机可以直接执⾏由任意⾼级语⾔编写的程序B)⾼级语⾔都有与之对应的编译程序或解释程序C)⽤任何⼀种计算机⾼级语⾔都可以把算法转换为程序D)结构化算法可以解决任何复杂的问题答案:A62. 关于程序中的注释,以下叙述正确的是A) 注释中间可以嵌套另⼀个注释B)注释必须置于所说明的语句前或语句后C)注释的内容必须放在/* 和 */之间D)注释内容错误会导致编译出错答案:C63. 以下不能⽤于实型数据的运算符是A) +B)/C)*D) %答案:D64. 以下选项中,与 n=i++ 完全等价的表达式是A)n=i,i=i+1B)n+=i+1C)i=i+1,n=iD)n=++i答案:A65. 以下表达式的值与 x ⽆关、其值恒为真的是A)0 < x < 5B)x>10 && x<5C)x>10 || x<5D)x<10 && x>5答案:A66. 设变量 m 为 float 类型,变量 n 为 int 类型,则以下能实现将m 中的数值保留⼩数点后两位,第三位进⾏四舍五⼊运算的表达式是A)n=m100+0.5, m=n/100.0B)m=(m100+0.5)/100.0C)n=m/100+0.5, m=n100.0D)m=m100+0.5/100.0答案:A67. 以下叙述正确的是A) 函数体内的定义语句和可执⾏语句允许任意交替出现B)main()函数若不带参数,其后⾯的⼀对圆括号可省略C) C 程序总是以 main()作为程序执⾏的起始⾏D)C 语⾔中的语句之间必须⽤分号作为分隔符答案:C68. C 语⾔中的基本数据类型包括A)整型、实型、字符型B)整型、字符型、数组C)整型、实型、逻辑型D)整型、实型、结构体答案:A69. 以下不正确的定义语句是A) long b=0L;B) unsigned int a= -100u;C)short c2=0123;D)int d=0x0;答案:B70. 以下⾮法的字符常量是A)’\n’B)’\101’C)’\x21’D)’\0’答案:A71. 设有定义:int x=7,y=12;,则以下表达式值为 3 的是A)(y%=x)-(x%=5)B)y%=(x%=5)C)y%=x-x%5D)y%=(x-x%5)答案:A72. 设有定义:int n = 1234;double x = 3.1415;则语句: printf("%3d,%1.3f\n", n, x); 的输出结果是A) 1234,3.141B)123,3.142C) 1234,3.142D)123,3.141答案:C73. 以下叙述错误的是A)任何能通过编译和运⾏的算法都⼀定能得到所期望的结果B)⼀个算法所包含的操作步骤应该是有限的C)算法中每⼀条指令必须有确切的含义D)算法可以⽤各种描述⽅法来进⾏描述答案:A74. 关于程序模块化,以下叙述错误的是A) 程序模块化可以提⾼调试程序的效率B)程序模块化可以提⾼程序编制的效率C)程序模块化可以提⾼程序代码复⽤率D)程序模块化可以提⾼程序运⾏的效率答案:D75. 以下是正确 C 语⾔标识符的是A)_3B)#3C)&3D)-3答案:A76. 以下是正确 C 语⾔实型常量的是A)1e-1B)e-1C)-1eD).e-1答案:A77. 若想定义 int 型变量 a,b,c,d 并都赋值为 1,以下写法中错误的是A)int a=b=c=d=1;B)int a=1, b=1, c=1, d=1;C)int a,b,c,d; a=b=c=d=1;D)int a,b,c,d=1; a=b=c=d;答案:A78. 若有定义:char c; double d; 程序运⾏时输⼊:1 2<回车>,能把字符 1 输⼊给变量 c、数值 2 输⼊给变量 d 的输⼊语句是A)scanf("%c%lf", &c,&d);B)scanf("%d%lf", &c,&d);C)scanf("%c%f", &c,&d);D)scanf("%d%f", &c,&d);答案:A79. 以下叙述正确的是A)所有程序⾏都必须⽤分号结束B)C 语⾔程序由 C 语句组成,可以省略 main 函数C)分号是 C 语句之间的分隔符D) 在 C 语⾔中分号是语句的组成部分答案:D80. 以下叙述正确的是A) C 程序由函数组成,可以不包含 main 函数B)每个 C 程序⽂件中的 main 函数都应当放在最前⾯C)每个 C 程序⽂件都应当包含⼀个 main 函数D) 每个 C 程序都只能有⼀个 main 函数答案:D81. 若有定义:int a,b,c; 以下程序段的输出结果是a=11; b=3; c=0;printf("%d\n",c=(a/b,a%b));A)2B)0C)3D)1答案:A82. 有以下程序#include <stdio.h>main(){ int a=2,b=3,c=4;a*=16 +(b++) - (++c);printf("%d \n",a );}程序运⾏后的输出结果是A)30B)28C)15D)14答案:B83. 若有定义:double a, b, c; 能正确给 a,b,c 输⼊数据的语句是A)scanf(" %lf %lf %lf",&a, &b, &c );B)scanf(" %f %f %f",&a, &b, &c );C)scanf(" %lf %lf %lf",a, b, c );D)scanf(" %lf %lf %lf"; *a, *b, *c );答案:A84. 输出语句:printf("%d\n",11+011);的输出结果是A)22B)20C)022D)021答案:B85. 以下叙述正确的是A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构B)C 语⾔程序不编译也能直接运⾏C)有些算法不能⽤三种基本结构来表达D)如果 C 语⾔程序实现的算法很简单,则计算机不进⾏任何代码转换就能执⾏程序答案:A86. 以下叙述正确的是A)通过分解成简单⼦任务,可以完成任何复杂任务B)每个结构化程序都要包含全部三种基本结构C)C 语⾔程序的所有⾃定义函数只能写在同⼀个源⽂件中D)C 语⾔程序允许使⽤多个 main 函数,只要它们的函数体各不相同即可答案:A87. 以下选项中合法的 C 语⾔常量是A) 2EKB)‘C-STR’C)"\1.0D) 2014.1答案:D88. 以下选项中,合法的 C 语⾔实数是A).4e0B)4.3e0.2C)E4.8D)0.29E答案:A89. 设 a,b,c 已定义为整型变量,以下选项中不正确的赋值语句是A)a = 3 = (b = 2) = 1;B)a = (b = 0) * c + 1;C)a = b = c / 1.0;D)a = 10 % (b = c = 2.0);答案:A90. 有以下程序#include <stdio.h>main( ) { int x = 0x9;printf("%c\n", ‘A’+x);}程序运⾏后的输出结果是A)IB)JC)KD)H答案:B91. 以下叙述中错误的是A)计算机可以直接识别由⼗六进制代码构成的程序B)可以连续执⾏的指令的集合称为“程序”C)“程序”是⼈与计算机“对话”的语⾔D)计算机可以直接识别由 0 和 1 组成的机器语⾔代码答案:A92. 在传统流程图中,⽤来表⽰输⼊输出的图形是A) 椭圆形B)长⽅形C)菱形D)平⾏四边形答案:D93. 以下说法正确的是A)赋值语句是⼀种可执⾏语句,应当出现在函数的可执⾏部分B)赋值语句可以出现在函数中的任意位置C)赋值语句可以出现在函数外单独执⾏D)赋值语句可以出现在源程序中的任意位置答案:A94. 若有定义: double x;,则表达式:x=0,x+10,x++ 的值是A)1.0B)10.0C)11.0D)0.0答案:D95. 若变量已正确定义并赋初值,以下合法的赋值语句是A)k=(m==n);B)k=int(m+n);C)k=-m-nD)k=m*n=1;答案:A96. 设有定义: double x=5.16894;,则语句 printf("%lf\n ",(int)(x*1000+0.5)/1000.);的输出结果是句 printf("%lf\n ",(int)(x*1000+0.5)/1000.);的输出结果是A)5.16900B)5.16800C)0.00000D)输出格式说明符与输出项不匹配,产⽣错误信息答案:A97. 以下选项中不是 C 语⾔数据类型的是A) charB)floatC) stringD)int答案:C98. 以下选项中不能在 C 语⾔程序中⽤作⽤户标识符的是A) _3_14B)scanfC)FloatD) auto答案:D99. 以下选项中可⽤作 C 程序合法整数的是A)0x77B)1 2 (数字间有⼀个空格)C)xffD)018答案:A100. 以下选项中关于 C 语⾔算术表达式的叙述中错误的是A)C 语⾔仅提供了+、-、*、/ 这 4 个基本算术运算符B)C 语⾔采⽤的是⼈们熟悉的四则运算规则,即先乘除后加减C)算术表达式中,运算符两侧类型不同时,将进⾏类型之间的转换D)可以通过使⽤⼩括号来改变算术表达式中某些算术运算符的计算优先级答案:A。
c语言基础试题库及答案
c语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。
答案:int2. 在C语言中,________关键字用于定义一个指针。
答案:*3. C语言中,________关键字用于定义一个函数。
答案:int4. 在C语言中,________运算符用于求两个数的和。
答案:+5. C语言中,________运算符用于判断两个数是否相等。
答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。
答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。
函数调用则是通过函数名和参数列表来调用已定义的函数。
2. 解释C语言中指针的概念及其用途。
答案:指针是一种变量,它存储了另一个变量的内存地址。
指针常用于动态内存分配、数组处理和函数参数传递。
四、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。
c语言程序基础考试题及答案
c语言程序基础考试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义字符型变量的关键字是______。
A. intB. charC. floatD. double答案:B2. 下列关于C语言函数的描述,正确的是______。
A. 函数必须有返回值B. 函数可以没有参数C. 函数的返回值类型不能是结构体D. 函数可以没有返回值答案:B3. 在C语言中,以下哪个运算符用于计算两个数的和?A. %B. +C. &&D. ==答案:B4. 以下哪个选项是C语言中的合法整型常量?A. 0x1AB. 0.1C. 1.2e3D. 0123答案:A5. C语言中,以下哪个关键字用于声明一个函数?A. structB. intC. voidD. return答案:C6. 在C语言中,以下哪个选项是正确的字符串字面量?A. "hello"B. 'hello'C. "helloD. 'hello'答案:A7. C语言中,以下哪个选项是正确的注释?A. // this is a commentB. /* this is a comment */C. // this is a commentD. /* this is a comment */答案:A8. C语言中,以下哪个选项是正确的二进制常量表示?A. 0b1010B. 0x2AC. 0101D. 0x10答案:A9. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[] = {1, 2, 3};B. int arr[3] = {1, 2, 3};C. int arr[] = {1, 2};D. int arr[3] = {1};答案:A10. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是______。
C语言选择题 (附答案)
第一单元C语言概述一、选择题1、C语言中主函数的个数为(A)个。
A)1 B)2C)无穷个D)任意个2、以下关于C语言描述错误的是(D)。
A)一个C程序总是从main函数开始执行TB)每个语句和数据声明的最后必须有一个分号TC)C语言的注释符是以“/*”开始并以“*/”结束的TD)一个C程序可以包含多个main函数F3、C 语言源程序文件后缀为(C )。
A).EXE B).OBJ C).C D).ASM4、C语言是由(C )组成的。
A)子程序B)主程序与子程序C)函数D)过程5、C语言属于(B )语言A)机器语言B)汇编语言C)高级语言D)面向对象语言第二单元C语言基础一、选择题1、C语言中普通整型变量int在内存中占(B )字节。
A)1 B)2 C)3 D)42、下列不是C语言基本数据类型的是(A )。
A)字符型B) 整型C) 浮点型D) 结构体3、有关自增、自减运算,以下只有(D )是正确的。
A) ---f B) ++78 C) a—b++ D) d++4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (A<B && !C>B)的值是(A )。
A)0 B)10 C)1 D)55、若有x=1,y=2,z=3,则表达式(x<y?x:y)= =z的值是(D )。
A)1 B)2 C)3 D)06、判断char型变量ch是否为大写字母的正确表达式是(C )。
A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)7、判断整型变量digit是否为数字的正确表达式是(C )。
A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’)C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch)8、一个C程序的执行是从(A )。
大学c语言试题题库及答案
大学c语言试题题库及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种面向对象的语言D. C语言不支持函数答案:A2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. intD. _int答案:B4. C语言中,用于定义一个浮点型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:B5. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. +答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A7. 在C语言中,用于定义一个字符型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:C8. C语言中,用于声明一个函数的关键字是:A. intB. floatC. voidD. return答案:C9. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. while答案:C10. 在C语言中,用于定义一个字符串常量的语法是:A. "Hello"B. 'Hello'C. "Hello"[10]D. 'Hello'[10]答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以连接两个字符串。
答案:+2. C语言中的________关键字用于声明一个无返回值的函数。
C语言的选择题和详细的解释共40题
C语言的选择题和详细的解释共40题1. C语言中,以下哪个关键字用于定义一个变量?a) defineb) varc) intd) function解释:正确答案是c) int。
关键字'int'用于定义整数型变量。
2. 下列哪个运算符用于逻辑与操作?a) &&b) ||c) !d) &解释:正确答案是a) &&。
双与运算符"&&"用于执行逻辑与操作。
3. 在C语言中,如何声明一个字符数组?a) char array[];b) array char[];c) character array[];d) char[] array;解释:正确答案是a) char array[]。
这是声明字符数组的方式。
4. 下列哪个语句用于在C语言中执行条件分支?a) forb) switchc) whiled) do-while解释:正确答案是b) switch。
switch语句用于执行条件分支。
5. C语言中,以下哪个数据类型用于存储小数?a) floatb) intc) chard) double解释:正确答案是d) double。
'double'数据类型用于存储双精度浮点数。
6. 下列哪个操作符用于获取一个变量的地址?a) &b) *c) #d) %解释:正确答案是a) &。
'&'操作符用于获取变量的地址。
7. C语言中,以下哪个关键字用于定义一个函数?a) functionb) definec) voidd) main解释:正确答案是c) void。
'void'关键字用于定义函数返回类型。
8. 在C语言中,如何用单行注释表示注释内容?a) // 注释内容b) /* 注释内容*/c) # 注释内容d) --注释内容解释:正确答案是a) // 注释内容。
C语言的选择题含解答共120道题
C语言的选择题含解答共120道题1. 下列哪个不是C语言的关键字?a) ifb) thenc) elsed) switch解答:b) then。
C语言中没有关键字"then"。
2. 在C语言中,如何声明一个整数型变量?a) int x;b) integer x;c) var x;d) int = x;解答:a) int x;3. 下列哪个运算符用于取地址?a) &b) *c) #d) $解答:a) &4. 下列哪个C语言关键字用于定义一个循环?a) forb) ifc) switchd) do解答:a) for5. 下列哪个选项可以用于在C语言中打印输出?a) print()b) log()c) printf()d) display()解答:c) printf()6. 在C语言中,如何定义一个字符数组?a) char name[20];b) string name[20];c) array name[20];d) character name[20];解答:a) char name[20];7. 下列哪个数据类型用于存储小数?a) floatb) intc) chard) double解答:d) double8. 在C语言中,如何注释一行代码?a) // This is a commentb) /* This is a comment */c) -- This is a commentd) comment: This is a comment解答:a) // This is a comment9. 下列哪个关键字用于退出循环?a) stopb) exitc) breakd) quit解答:c) break10. 下列哪个运算符用于逻辑与操作?a) &&b) ||c) !d) &解答:a) &&11. 在C语言中,如何定义一个常量?a) const x;b) constant x;c) #define x;d) const int x;解答:d) const int x;12. 下列哪个C语言数据类型用于存储单个字符?a) stringb) charc) characterd) letter解答:b) char13. 在C语言中,以下哪个运算符用于求余数?a) %b) /c) *d) //解答:a) %14. 下列哪个关键字用于定义一个函数?a) funcb) defc) functiond) void解答:d) void15. 在C语言中,如何定义一个指向整数的指针?a) int ptr;b) pointer int;c) int *ptr;d) *int ptr;解答:c) int *ptr;16. 下列哪个运算符用于自增操作?a) ++b) --c) +=d) -=解答:a) ++17. 下列哪个条件语句用于多个条件的判断?a) ifb) elsec) switchd) elif解答:c) switch18. 在C语言中,如何声明一个常量字符串?a) string const str = "Hello";b) const char str[] = "Hello";c) constant str = "Hello";d) char str[const] = "Hello";解答:b) const char str[] = "Hello";19. 下列哪个关键字用于引入标准输入输出库?a) importb) usingc) included) require解答:c) include20. 在C语言中,以下哪个关键字用于动态内存分配?a) mallocb) newc) allocated) create解答:a) malloc21. 下列哪个运算符用于按位与操作?a) &b) |c) ^d) ~解答:a) &22. 在C语言中,如何定义一个枚举类型?a) enum type {RED, GREEN, BLUE};b) type enum {RED, GREEN, BLUE};c) enum {RED, GREEN, BLUE} type;d) int enum {RED, GREEN, BLUE};解答:a) enum type {RED, GREEN, BLUE};23. 下列哪个关键字用于定义一个结构体?a) classb) structurec) structd) object解答:c) struct24. 下列哪个运算符用于比较两个值是否相等?a) ==b) =c) !=d) ===解答:a) ==25. 在C语言中,如何定义一个全局变量?a) local int x;b) global x;c) static int x;d) int x;解答:d) int x;26. 下列哪个关键字用于函数返回一个值?a) voidb) returnc) valued) result解答:b) return27. 在C语言中,如何使用条件运算符(三元运算符)?a) if-elseb) switchc) ?:d) ternary解答:c) ?:28. 下列哪个运算符用于逻辑或操作?a) ||b) &&c) !d) |解答:a) ||29. 在C语言中,如何定义一个二维整数数组?a) int array[];b) int matrix[][];c) int array[][];d) int matrix[][];解答:d) int matrix[][];30. 下列哪个关键字用于声明一个函数参数是常量?a) constb) staticc) volatiled) mutable解答:a) const31. 在C语言中,如何通过指针访问结构体的成员?a) struct->memberb) struct.memberc) struct[member]d) struct(member)解答:b) struct.member32. 下列哪个运算符用于按位或操作?a) |b) &c) ^d) ~解答:a) |33. 在C语言中,如何声明一个字符型指针?a) char *ptr;b) pointer char;c) char ptr*;d) char& ptr;解答:a) char *ptr;34. 下列哪个关键字用于定义一个宏?a) macrob) definec) constantd) var解答:b) define35. 在C语言中,如何打开一个文件以供读取?a) open()b) read()c) fopen()d) file_open()解答:c) fopen()36. 下列哪个关键字用于定义一个结构体类型的别名?a) typedefb) aliasc) typed) struct解答:a) typedef37. 在C语言中,如何用条件语句检查多个条件?a) if-elseb) forc) whiled) switch解答:a) if-else38. 下列哪个关键字用于声明一个常量指针?a) constb) pointerc) staticd) readonly解答:a) const39. 在C语言中,如何分配内存以存储多个元素的数组?a) newb) mallocc) created) allocate解答:b) malloc40. 下列哪个运算符用于按位异或操作?a) ^b) &c) |d) ~解答:a) ^41. 在C语言中,如何在代码中添加注释以便于代码维护和理解?a) // 这是一个注释b) /* 这是一个注释*/c) --这是一个注释d) comment: 这是一个注释解答:a) // 这是一个注释42. 下列哪个关键字用于退出整个程序?a) exit()b) returnc) breakd) quit解答:a) exit()43. 在C语言中,如何声明一个包含浮点数的数组?a) float array[10];b) array float[10];c) double array[10];d) int array[10];解答:a) float array[10];44. 下列哪个关键字用于循环中跳到下一次迭代?a) nextb) continuec) breakd) exit解答:b) continue45. 在C语言中,如何将一个整数转换为浮点数?a) int_to_float()b) (float)c) float()d) cast_float()解答:b) (float)46. 下列哪个运算符用于递增指针的值?a) ++b) --c) +=d) -=解答:a) ++47. 在C语言中,如何声明一个具有常量值的枚举?a) const enum {RED = 1, GREEN = 2, BLUE = 3};b) enum {RED = 1, GREEN = 2, BLUE = 3} const;c) enum const {RED = 1, GREEN = 2, BLUE = 3};d) enum {const RED = 1, const GREEN = 2, const BLUE = 3};解答:a) const enum {RED = 1, GREEN = 2, BLUE = 3};48. 下列哪个运算符用于取反操作?a) !b) ~c) -d) ++解答:a) !49. 在C语言中,如何定义一个无符号整数型变量?a) signed int x;b) unsigned x;c) int x;d) int unsigned x;解答:b) unsigned x;50. 下列哪个关键字用于定义一个函数参数是可选的?a) optionalb) requiredc) defaultd) void解答:a) optional51. 在C语言中,如何将一个字符转换为整数?a) (int)char_var;b) int(char_var);c) char_var - '0';d) convert_to_int(char_var);解答:c) char_var - '0';52. 下列哪个关键字用于在循环中跳出当前迭代?a) continueb) exitc) returnd) break解答:d) break53. 在C语言中,如何声明一个指向函数的指针?a) int *func_ptr();b) func_type *ptr;c) typedef int (*func_type)();d) pointer_to_function func_ptr;解答:c) typedef int (*func_type)();54. 下列哪个运算符用于逻辑非操作?a) !b) &&c) ||d) ~解答:a) !55. 在C语言中,如何声明一个二维字符数组?a) char matrix[][];b) char array[][];c) char matrix[][];d) char array[][];解答:c) char matrix[][];56. 下列哪个关键字用于定义一个函数的局部变量?a) localb) varc) staticd) global解答:c) static57. 在C语言中,如何进行字符串连接?a) strconcat()b) strcat()c) strjoin()d) strmerge()解答:b) strcat()58. 下列哪个运算符用于左移位操作?a) <<b) >>c) &d) |解答:a) <<59. 在C语言中,如何使用条件语句检查多个条件的组合?a) if-elseb) switchc) whiled) if-else if-else解答:d) if-else if-else60. 下列哪个关键字用于定义一个宏函数?a) functionb) macroc) defined) method解答:c) define61. 在C语言中,以下哪个关键字用于定义结构体成员的位字段?a) fieldb) bitfieldc) memberd) flag解答:b) bitfield62. 下列哪个运算符用于按位左移操作并将结果赋值给左操作数?a) <<=b) >>=c) &=d) |=解答:a) <<=63. 在C语言中,如何定义一个带有默认参数值的函数?a) int func(int x, int y = 5);b) int func(int x, int y default 5);c) int func(int x = 10, int y);d) int func(int x, int y = default 5);解答:a) int func(int x, int y = 5);64. 下列哪个关键字用于在C语言中定义一个联合?a) unionb) combinec) merged) structure解答:a) union65. 在C语言中,如何在代码中生成一个伪随机数?a) random()b) srand()c) rand()d) randomize()解答:c) rand()66. 下列哪个运算符用于按位右移操作?a) <<b) >>c) &d) |解答:b) >>67. 在C语言中,如何声明一个指向常量的指针?a) const *ptr;b) *const ptr;c) *ptr const;d) const ptr*;解答:b) *const ptr;68. 下列哪个关键字用于定义一个函数参数是可变数量的?a) varargsb) argsc) variabled) ...解答:d) ...69. 在C语言中,如何检查两个字符串是否相等?a) strcompare()b) strcasecmp()c) strcmp()d) strmatch()解答:c) strcmp()70. 下列哪个运算符用于按位异或操作并将结果赋值给左操作数?a) ^=b) &=c) |=d) ~=解答:a) ^=71. 在C语言中,如何定义一个多维数组?a) int array[];b) int matrix[][];c) int array[][];d) int matrix[][];解答:c) int array[][];72. 下列哪个关键字用于定义一个函数参数是不定类型的?a) varargsb) argsc) variabled) void解答:a) varargs73. 在C语言中,以下哪个运算符用于按位取反?a) ~b) !c) -~d) not解答:a) ~74. 下列哪个关键字用于定义一个枚举类型的别名?a) enum typedefb) typedefc) aliasd) enumalias解答:b) typedef75. 在C语言中,如何声明一个指向函数的指针数组?a) int (*ptr_array[])();b) function ptr_array[]();c) ptr_array[]() int;d) int ptr_array[*]();解答:a) int (*ptr_array[])();76. 下列哪个运算符用于检查两个值是否不相等?a) !=b) ==c) <>d) !==解答:a) !=77. 在C语言中,如何定义一个指向常量字符的指针?a) const char *ptr;b) char const *ptr;c) char *const ptr;d) const *char ptr;解答:a) const char *ptr;78. 下列哪个关键字用于定义一个函数的返回值是指向字符的指针?a) char *b) pointerc) returnd) string解答:a) char *79. 在C语言中,如何将一个浮点数转换为整数?a) int(float_var);b) (int)float_var;c) convert_to_int(float_var);d) float_var - int;解答:b) (int)float_var;80. 下列哪个运算符用于按位或操作并将结果赋值给左操作数?a) |=b) ^=c) &=d) <<=解答:a) |=81. 在C语言中,如何将一个字符转换为小写?a) charlower()b) tolower()c) lowerchar()d) casechange()解答:b) tolower()82. 下列哪个关键字用于定义一个函数参数是不可修改的?a) unmodifiableb) immutabilityc) constd) readonly解答:c) const83. 在C语言中,如何声明一个指向结构体的指针数组?a) struct *ptr_array[];b) struct ptr_array[];c) struct *ptr_array[];d) struct array_ptr[];解答:c) struct *ptr_array[];84. 下列哪个运算符用于按位异或操作并将结果赋值给左操作数?a) ^=b) |=c) &=d) ~=解答:a) ^=85. 在C语言中,如何获取字符串的长度?a) strlength()b) strlen()c) stringlength()d) length()解答:b) strlen()86. 在C语言中,以下哪个关键字用于定义一个局部变量是静态的?a) localb) varc) staticd) global解答:c) static87. 下列哪个运算符用于按位与操作并将结果赋值给左操作数?a) &=b) ^=c) |=d) <<=解答:a) &=88. 在C语言中,如何声明一个指向常量整数的指针?a) int const *ptr;b) const int *ptr;c) int *const ptr;d) const *int ptr;解答:b) const int *ptr;89. 下列哪个关键字用于在C语言中定义一个联合体的别名?a) typedefb) unionaliasc) aliasd) typeunion解答:a) typedef90. 在C语言中,如何将一个整数转换为字符?a) (char)int_var;b) char(int_var);c) int_var + '0';d) convert_to_char(int_var);解答:c) int_var + '0';91. 下列哪个关键字用于在C语言中定义一个类型别名?a) aliasb) definec) typedefd) type解答:c) typedef92. 在C语言中,如何将一个整数转换为字符串?a) convert_to_string(int_var);b) (string)int_var;c) sprintf()d) itoa()解答:c) sprintf()93. 下列哪个运算符用于按位左移操作并将结果赋值给左操作数?a) <<=b) >>=c) &=d) |=解答:a) <<=94. 在C语言中,如何声明一个包含指针的结构体?a) struct pointer_struct { int *ptr; };b) struct { int *ptr; } pointer_struct;c) struct { pointer *int; } pointer_struct;d) struct int *pointer_struct;解答:a) struct pointer_struct { int *ptr; };95. 下列哪个关键字用于在C语言中定义一个宏的别名?a) macroaliasb) definec) aliasmacrod) typedef解答:d) typedef96. 在C语言中,如何将一个字符转换为大写?a) toupper()b) charupper()c) upperchar()d) casechange()解答:a) toupper()97. 在C语言中,以下哪个关键字用于定义一个指向函数的常量指针?a) const *ptr;b) *const ptr;c) *ptr const;d) const ptr*;解答:b) *const ptr;98. 下列哪个运算符用于按位左移操作并将结果赋值给右操作数?a) <<=b) >>=c) &=d) |=解答:b) >>=99. 在C语言中,如何声明一个指向常量字符的常量指针?a) const *char ptr;b) char *const ptr;c) const char *const ptr;d) ptr const *char;解答:c) const char *const ptr;100. 下列哪个关键字用于在C语言中定义一个函数参数是不可修改的常量?a) immutabilityb) unmodifiablec) constd) readonly解答:c) const101. 在C语言中,如何声明一个函数参数是不定数量的可选参数?a) varargsb) argsc) variabled) ...解答:d) ...102. 下列哪个关键字用于在C语言中定义一个指向函数的指针参数是不可修改的常量?a) constb) readonlyc) immutabled) funcconst解答:a) const103. 在C语言中,如何声明一个指向函数参数是不定数量的可选参数的指针?a) varargsptrb) args*c) variable*d) ...*解答:d) ...*104. 下列哪个关键字用于在C语言中定义一个结构体成员是不可修改的常量?a) readonlyb) immutablec) constd) unmodifiable解答:c) const105. 在C语言中,如何声明一个指向常量整数的指针数组?a) const int *ptr_array[];b) int const *ptr_array[];c) int *const ptr_array[];d) const *int ptr_array[];解答:a) const int *ptr_array[];106. 下列哪个关键字用于在C语言中定义一个函数参数是不定数量的可选参数的指针?a) varargsptrb) args*c) variable*d) ...*解答:d) ...*107. 在C语言中,如何声明一个指向整数的常量指针数组?a) int const *ptr_array[];b) const int *ptr_array[];c) const *int ptr_array[];d) int *const ptr_array[];解答:d) int *const ptr_array[];108. 下列哪个关键字用于在C语言中定义一个函数参数是不定数量的可选参数的指针数组?a) varargsptrb) args*c) variable*d) ...*解答:d) ...*109. 在C语言中,以下哪个关键字用于定义一个指向常量整数的常量指针数组?a) int const *const ptr_array[];b) const int *const ptr_array[];c) const *int const ptr_array[];d) int *const *const ptr_array[];解答:b) const int *const ptr_array[];110. 下列哪个运算符用于按位异或操作并将结果赋值给右操作数?a) ^=b) |=c) &=d) ~=解答:a) ^=111. 在C语言中,如何声明一个指向整数的指针参数是不可修改的常量?a) constb) readonlyc) immutabled) intconst解答:a) const112. 下列哪个关键字用于在C语言中定义一个枚举类型的常量别名?a) constenumb) enumconstc) typedefd) enumtypedef解答:c) typedef113. 在C语言中,如何声明一个函数参数是不定数量的可选参数的常量指针?a) varargsconstptrb) argsconstptrc) variableconstptrd) ...constptr解答:d) ...constptr114. 下列哪个关键字用于在C语言中定义一个指向函数的常量指针参数是不可修改的常量?a) constb) readonlyc) immutabled) funcconst解答:a) const115. 在C语言中,如何声明一个指向函数参数是不定数量的可选参数的常量指针数组?a) const varargsptr_array[];b) const argsptr_array[];c) const variableptr_array[];d) const ...ptr_array[];解答:d) const ...ptr_array[];116. 下列哪个关键字用于在C语言中定义一个枚举类型的别名?a) constenumb) enumconstc) typedefd) enumtypedef解答:c) typedef117. 在C语言中,如何声明一个指向函数参数是不定数量的可选参数的常量指针数组的指针?a) const varargsptr_array*;b) const argsptr_array*;c) const variableptr_array*;d) const ...ptr_array*;解答:d) const ...ptr_array*;118. 下列哪个关键字用于在C语言中定义一个指向结构体的常量指针?a) constb) readonlyc) immutabled) structconstptr解答:a) const119. 在C语言中,如何声明一个指向结构体的常量指针参数是不可修改的常量?a) constb) readonlyc) immutabled) structconstptr解答:a) const120. 下列哪个关键字用于在C语言中定义一个指向结构体的常量指针参数是不可修改的常量?a) constb) readonlyc) immutabled) structconstptr解答:a) const。
(完整版)C语言单项选择题(带答案)
计算机程序设计基础(C语言)单项选择练习题一、基本概念1. C语言程序是由构成的。
A)一些可执行语言 B)main函数C)函数 D)包含文件中的第一个函数2. 是构成C语言程序的基本单位。
A)函数 B)过程 C)子程序 D)子例程3.C语言可执行程序从开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数4.C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始 B) 程序文件的最后C) 它所调用的函数的前面 D) 程序文件的任何位置5. 以下说法中正确的是。
A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main( )函数中定义C)C语言程序总是从main( )函数开始执行D)C语言程序中的main( )函数必须放在程序的开始部分6. 下列方法中错误的是。
A)主函数可以分为两个部分:主函数说明部分和主函数体。
B)主函数可以调用任何非主函数的其它函数。
C)任何非主函数可以调用其它任何非主函数。
D)程序可以从任何非主函数开始执行。
7.下列关于C语言的说法错误的是。
A) C程序的工作过程是编辑、编译、连接、运行B) 标识符的命名由英文字母、数字和下划线组成,与字母的大小写无关C) C程序的三种基本结构是顺序、选择、循环D) 一个C程序总是从main函数开始执行的8. 系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行。A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错9.下列说法中正确的是。
A)由于C源程序是高级语言程序,因此一定要在TC软件中输入。
B)由于C源程序是由字符流组成的,因此可以作为文本文件在任何文本编辑的软件中输入。
C)由于C程序是高级语言程序,因此输入后即可执行。
D)由于C程序是高级语言程序,因此它是由命令组成的。
C语言常见复习题(选择填空)及参考答案
C语言常见复习题及参考答案一、选择题1.下述标识符中,()是合法的用户标识符。
A.A#CB.getchC.voidD.ab*2.在C语言中,字符型数据在内存中是以()形式存放的。
A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。
A.abc.cB.fileC.MainD.PRONTF4.以下选项中不合法的用户标识符是()。
A.123B.printfC.Anbsp;D.Dim5.可以在C语言程序中用做用户标识符的一组标识符是()。
A.voidB.as-b3C.forD.2cdefine -123 -abc DoWORD If cas SIG6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。
(1)A.001 B.table_1 C.0_t D.k%Int t*.1 W10 point(2)A.Fast_ B.void C.pbl D.Fast+Big abs fabs beep(3)A.xy_ B.longdouble C.*p D.CHAR变量1 signed history Float7.()是构成C语言的基本单位。
A.函数B.过程C.子程序D.子例程8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。
(1).A.包含3个字符 B.包含2个字符C.包含1个字符D.无定值,说明不合法(2).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法(3).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法9.若x为int型变量,则执行以下语句后,x的值为x=6;x+=x-=x*xA.36B.-60C.60D.-2410.在C语言中,char 型数据在内存中是以()形式存储的。
A.原码B.补码C.ASCII码D.反码11.以下运算符中优先级最低的算符为(),优先级最高的为()。
c语言选择题练习37道(含答案)
c语言选择题练习37道(含答案)37道选择题:1. 下列不是C语言关键字的是:A. switchB. caseC. intD. double答案:D 解析:double是C语言中的数据类型,不是关键字。
2. 在C语言中,下列标识符合法的是:A. _123abcB. 123abcC. abc123_D. abc_123_答案:D 解析:在C语言中,标识符可以以字母或下划线开头,只能包含字母、数字和下划线。
3. 表达式x += y 是以下哪个表达式的简写?A. x = x –yB. x = x + yC. x = x * yD. x = x / y答案:B 解析:x += y 是x = x + y 的简写。
4. 下列循环语句中,能保证至少执行一次循环体的是:A. for(i=0;i<10;i++)B. do{i++;}while(i<10)C. while(i<10){i++;}D. 以上都不是答案:B 解析:do-while语句可以保证至少执行一次循环体。
5. 下面C 语言中的数组定义,正确的是:A. int[] a = {1, 2, 3};B. int a[3] = {1, 2, 3};C. int[3] a = {1, 2, 3};D. 以上都不正确。
答案:B 解析:C语言中数组的定义格式为数据类型数组名[元素个数] = {元素1,元素2,...,元素n}。
6. 下列程序的输出结果是什么?#include <stdio.h>int main(){int i=0;while(i>0){printf("%d",i);i++;}return 0;}A. 0B. 1C. 无输出D. 其他答案:C 解析:while循环条件不满足,循环体不会执行,故无输出。
7. 下列代码片段的输出是什么?int a = 10;double b = 10.5;printf("%d %f",a,b);A. 10 10.5B. 10.5 10C. 10.0 10.5D. 编译错误答案:A 解析:%d表示输出整数,%f表示输出浮点数。
C语言的选择题和详细的解释共30题
C语言的选择题和详细的解释共30题1. C语言中,以下哪个关键字用于定义一个常量?a) varb) constc) letd) static解释:正确答案是b) const。
const关键字用于定义常量,表示其值在程序执行过程中不能被修改。
2. 在C语言中,以下哪个关键字用于声明一个函数?a) funcb) methodc) defined) int解释:正确答案是d) int。
在C语言中,函数声明通常以返回类型(如int)开头。
3. 下面的代码片段有什么问题?cint main() {printf("Hello, World!\n")return 0;}a) 缺少分号b) 函数名错误c) 缺少#include指令d) 无问题解释:正确答案是a) 缺少分号。
printf语句末尾缺少分号,应该写成printf("Hello, World!\n");。
4. C语言中,以下哪个关键字用于声明一个指针?a) pointerb) varc) intd) char *解释:正确答案是d) char *。
在C语言中,char *用于声明一个字符指针。
5. 以下哪个运算符用于在C语言中获取变量的地址?a) &b) *c) #d) ->解释:正确答案是a) &。
&运算符用于获取变量的地址。
6. 下面的哪个循环结构在C语言中是无限循环?a) forb) whilec) do-whiled) goto解释:正确答案是d) goto。
goto语句可以用于创建无限循环。
7. 在C语言中,下面的哪个类型用于表示整数值?a) floatb) charc) intd) double解释:正确答案是c) int。
int用于表示整数值。
8. 以下哪个函数用于从标准输入读取一个字符?a) getchar()b) scanf()c) gets()d) read()解释:正确答案是a) getchar()。
c语言选择题题库及详解答案
c语言选择题题库及详解答案C语言作为一门广泛应用的编程语言,其学习过程中,选择题是检验学习效果的重要方式之一。
下面是一个C语言选择题题库及详解答案的示例,供学习者参考。
1. 以下哪个是C语言的标准输入输出库函数?A. printf()B. scanf()C. both A and BD. None of the above答案:C详解:在C语言中,`printf()` 和 `scanf()` 都是标准输入输出库函数,分别用于输出和输入。
2. C语言中,以下哪个关键字用于定义函数?A. ifB. elseC. voidD. function答案:C详解: `void` 关键字用于定义函数的返回类型,表示该函数没有返回值。
3. 下面哪个是C语言中的合法变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B详解: C语言中的变量名必须以字母或下划线开头,可以包含字母、数字和下划线,但不能以数字开头。
4. 在C语言中,以下哪个语句用于结束程序的执行?A. exit();B. return;C. break;D. continue;答案:A详解: `exit()` 函数用于立即结束程序的执行,而 `return` 用于结束函数的执行并返回一个值。
5. 以下哪个是C语言中的控制结构?A. 循环B. 条件判断C. 函数D. 所有选项答案:D详解: C语言中的控制结构包括循环(如 for, while, do-while)、条件判断(如 if, switch-case)和函数。
6. 在C语言中,以下哪个操作符用于计算两个数的乘积?A. +B. -C. *D. /答案:C详解: `*` 操作符用于计算两个数的乘积。
7. 下面哪个是C语言中数组的正确声明方式?A. int numbers = {1, 2, 3};B. int numbers[] = {1, 2, 3};C. int numbers[3] = {1, 2, 3};D. All of the above答案:D详解: C语言中数组可以有三种声明方式:不指定大小并初始化(A),指定大小并初始化(C),或者只指定大小不初始化(未列出)。
(完整版)C语言考试题库及答案
(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。
()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。
()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。
()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。
答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。
答案:911. 在C语言中,用于动态分配内存的函数是______。
答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。
答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。
答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
第一章c语言基础知识
B、 C 程序中不能有空语句
C、 C 程序中的变量必须先定义后使用
D、C 程序中的所有简单数据类型都可以准确无误地表示
3、 C 语言中,合法的用户标识符:
A、_A10
B、
C、return
D、3ab
4、C 程序中,运算对象必须为整型变量的运算符是:
A、++
B、%
C、/
D、*
5、假设 x、y、z 为整型变量,且 x=2,y=3,z=10,则下表达式中值为 1 的是:
C、18H
D、028
int x,y,z;
x=1;
y=5;
z=x%y;
z++;
printf("%d\n",z);
}
A、1
B、2
C、5
13、如下程序输出结果是:
A、
B、2
C、
14、C 语言中,“#define PRICE ”将 PRICE 定义为:
A、符号常量
B、字符常量
C、实型常量
15、”==”代表 C 语言中的:
4、若定义 int x=1, y=1;则执行逗号表达式 y=3,x++,x+5 后,该表达式的值是(
量 x 的值是( ),变量 y 的值是( )。
5、表达式 12/5+(int)*)/(int)+的值的数据类型是:
6、表达式 x=(int)(x*10+/的作用是:
7、C 语言中,关系表达式及逻辑表达式的值为( )或( )。
7、C 语言中合法的字符常量是:
A、n
B、’\n’
C、110
D、”n”
8、C 语言中正确表示“10<a<20 或 a>30”的条件表达式为:
C语言选择题附答案
C语言选择题附答案1. 下列关于C语言的说法中,错误的是:A. C语言是一种高级编程语言B. C语言是由贝尔实验室的Dennis M. Ritchie开发的C. C语言具有强大的可移植性D. C语言常用于嵌入式系统的开发答案:A. C语言是一种高级编程语言2. C语言中使用的注释符是:A. //B. #C. //D. {}答案:A. //3. 在C语言中,下面哪一项是错误的定义变量的方式:A. int num = 10;B. float pi = 3.14;C. double = 3.14;D. char ch = 'A';答案:C. double = 3.14;4. 下列关于C语言中变量命名规则的说法正确的是:A. 变量名可以使用任意字符和数字B. 变量名可以以下划线开头C. 变量名可以与C语言的关键字相同D. 变量名必须以字母开头答案:D. 变量名必须以字母开头5. 在C语言中,下列代码中存在错误的是:A.```cint num = 10;printf("%d", num);```B.```cfloat price = 3.99;printf("%f", price);```C.```cchar ch = 'A';printf("%c", ch);```D.```cstring name = "John";printf("%s", name);```答案:D.```cstring name = "John";printf("%s", name);```6. 在C语言中,下列关于条件语句的说法中,错误的是:A. 条件语句用于根据不同的条件执行不同的代码块B. C语言中的条件语句有if语句和switch语句C. if语句中可以嵌套使用多个if语句D. switch语句中可以使用浮点数作为条件表达式答案:D. switch语句中可以使用浮点数作为条件表达式7. 下列关于循环语句的说法中,错误的是:A. 循环语句用于重复执行一段代码B. C语言中的循环语句有for循环、while循环和do-while循环C. for循环中的三个表达式分别用于初始化、循环条件和循环后操作D. while循环和do-while循环是完全等效的,可以互相替代答案:D. while循环和do-while循环是完全等效的,可以互相替代8. 在C语言中,下列代码的输出结果是:```cint i;for(i = 0; i < 5; i++){if(i % 2 == 0){printf("%d ", i);}}```A. 0 2 4B. 1 3C. 0 1 2 3 4D. 0答案:A. 0 2 49. 在C语言中,下列关于函数的说法中,错误的是:A. 函数是C语言中的基本组成单元B. C语言中的函数可以有多个返回值C. 函数可以嵌套定义在其他函数内部D. 函数可以是递归的答案:B. C语言中的函数可以有多个返回值10. 下列关于C语言中的数组的说法中,错误的是:A. 数组可以存储多个相同类型的元素B. 数组的大小在定义时需要确定C. 数组的下标从0开始D. 数组的大小可以在程序运行过程中改变答案:D. 数组的大小可以在程序运行过程中改变以上为C语言选择题及其答案,希望对您有帮助。
C语言选择题和详细解答共70题
C语言选择题和详细解答共70题1. C语言中的标识符可以包括哪些字符?a) 字母、数字、下划线b) 字母、数字、连字符c) 字母、数字、@符号d) 字母、$符号、空格答案:a) 字母、数字、下划线解释:C语言的标识符可以由字母、数字和下划线组成,但必须以字母或下划线开头。
2. 在C语言中,下面哪个关键字用于定义一个常量?a) varb) constc) staticd) int答案:b) const解释:关键字`const`用于定义常量,常量是不能被修改的值。
3. 下面哪种数据类型用于存储整数值?a) floatb) charc) intd) double答案:c) int解释:`int`数据类型用于存储整数值。
4. 在C语言中,下面哪个运算符用于获取变量的地址?a) &b) *c) $d) #答案:a) &解释:`&`运算符用于获取变量的地址。
5. 下面哪个条件语句用于执行一组语句,只有在给定条件为真时才会执行?a) ifb) whilec) ford) switch答案:a) if解释:`if`语句用于根据条件来执行代码块。
6. 在C语言中,下面哪个循环语句用于执行一组语句多次,只要给定条件为真?a) ifb) whilec) ford) switch答案:b) while解释:`while`循环用于根据条件多次执行代码块。
7. 下面哪个操作符用于分配内存空间给变量?a) newb) deletec) mallocd) free答案:c) malloc解释:`malloc`函数用于分配内存空间,而`free`用于释放已分配的内存。
8. 在C语言中,下面哪个关键字用于声明一个函数?a) defineb) functionc) declared) void答案:d) void解释:`void`用于声明函数的返回类型。
9. 下面哪个运算符用于将两个整数相除并返回整数结果?a) /b) %c) //d) *答案:b) %解释:`%`运算符用于取余,返回整数结果。
c语言选择题考试题库及答案
c语言选择题考试题库及答案一、单项选择题1. C语言中,用于定义变量的关键字是()。
A. varB. defineC. intD. void答案:C2. 下列哪个选项是C语言中的合法标识符?()A. 2variableB. variable2C. variable-2D. variable$2答案:B3. C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. ||C. !D. &答案:A4. C语言中,用于表示逻辑“或”操作的运算符是()。
A. &&B. ||C. !D. &答案:B5. C语言中,用于表示逻辑“非”操作的运算符是()。
A. &&C. !D. &答案:C6. C语言中,用于表示“等于”关系的运算符是()。
A. ==B. =C. !=D. <=答案:A7. C语言中,用于表示“不等于”关系的运算符是()。
A. ==B. =C. !=答案:C8. C语言中,用于表示“小于等于”关系的运算符是()。
A. ==B. =C. <=D. >=答案:C9. C语言中,用于表示“大于等于”关系的运算符是()。
A. ==B. =C. <=D. >=答案:D10. C语言中,用于表示“取模”操作的运算符是()。
A. %B. /C. *D. -答案:A11. C语言中,用于表示“整除”操作的运算符是()。
A. %B. /C. *D. -答案:B12. C语言中,用于表示“乘法”操作的运算符是()。
A. %C. *D. -答案:C13. C语言中,用于表示“加法”操作的运算符是()。
A. +B. -C. *D. /答案:A14. C语言中,用于表示“减法”操作的运算符是()。
A. +B. -C. *答案:B15. C语言中,用于表示“左移”操作的运算符是()。
A. <<B. >>C. <=D. >=答案:A16. C语言中,用于表示“右移”操作的运算符是()。
c语言复习试题及答案
c语言复习试题及答案C语言复习试题及答案一、选择题1. C语言中,一个整型变量的取值范围是:A. -128 到 127B. -32768 到 32767C. -2147483648 到 2147483647D. 取决于编译器答案:D2. 下列哪个关键字用于定义C语言的结构体?A. structB. defineC. unionD. enum答案:A3. C语言中,字符串在内存中是以什么方式存储的?A. 字符串名B. 字符串长度C. 字符串本身D. 字符串结束标志 '\0'答案:D4. 在C语言中,函数返回值的类型由什么决定?A. return 语句B. 函数名C. 函数定义时指定的类型D. 函数参数的类型答案:C5. 下列哪个操作符不能用于位操作?A. &B. |C. ^D. ++答案:D二、填空题6. C语言中,预处理器指令 `#include` 的作用是_______。
答案:引入其他文件7. `int main()` 函数中的 `void` 表示该函数_______。
答案:不返回任何值8. 在C语言中,数组的索引是从_______开始的。
答案:09. `printf` 函数的返回类型是_______。
答案:int10. 表达式 `3.0 / 0` 在C语言中会导致_______。
答案:运行时错误三、简答题11. 请简述C语言中指针的概念及其用途。
答案:指针是一种变量,它存储的是另一个变量的内存地址。
指针在C语言中用于直接访问内存、动态内存分配、数组操作、函数参数传递等。
12. 解释C语言中数组和指针之间的关系。
答案:在C语言中,数组名可以作为指针使用,它指向数组的第一个元素的地址。
通过指针可以遍历数组,也可以通过指针修改数组元素的值。
四、编程题13. 编写一个C语言程序,实现对整数数组的排序。
```c#include <stdio.h>void sort(int arr[], int n) {int i, j, temp, min_idx;for (i = 0; i < n - 1; i++) {min_idx = i;for (j = i + 1; j < n; j++) {if (arr[j] < arr[min_idx]) {min_idx = j;}}if (min_idx != i) {temp = arr[i];arr[i] = arr[min_idx];arr[min_idx] = temp;}}}int main() {int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]);sort(arr, n);printf("Sorted array: \n");for (int i = 0; i < n; i++) {printf("%d ", arr[i]);}printf("\n");return 0;}```14. 编写一个C语言程序,实现字符串的反转。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
29. 如这程序所示,如果运行时,输入 18,18 ,那么 b 的值为多少?(单选) void main() { int a,b; scanf("%d,%o",&a,&b); b+=a; printf("%d",b);
7
} A. 36 答案: C 30. 读懂程序并填空。 #include <stdio.h> void main() { char ch=0x31; printf("%d\n",ch);//屏幕显示___ printf("%o\n",ch);//屏幕显示___ printf("%x\n",ch);//屏幕显示___ printf("%c\n",ch);//屏幕显示___ } 答案: 49 61 31 1 B. 34 C. 输入错误,b 的值不确定 D. 18
8
printf("请输入 a 和 b 的值:"); scanf("%d,%d",___); temp = a; ___ ___ printf("交换后, a=%d , b=%d\n",___); } 答案: &a ,&b a = b; b = temp; a,b 3. 当 a,b,c 的值分别为 3,4,5 时,以下各语句执行后 a,b,c 的值为多少? (1)if(a>c) {a=b;b=c;c=a;} else {a=c;c=b;b=a;} 执行后 a,b,c 的值为___,___,___ (2)if(a<c) a=c; else a=b;c=b;b=a; 执行后 a,b,c 的值为___,___,___ (3)if(a!=c) ; else a=c;c=b;b=a; 执行后 a,b,c 的值为___,___,___ 答案: 5 5 4 5 5 4 3 3 4 4. 当 a=3,b=4,c=5 时,写出下列各式的值。 a<b 的值为___, a<=b 的值为___, a==c 的值为___, a!=c 的值为___, a&&b 的值为___, !a&&b 的值为___, a||c 的值为___, !a||c 的值为___,
3
B. 11.0/3 D. (int)(11.0/3+0.5)
___ ___ ___ ___
答案: 10.5 73.1 7 7.2 16. 指出下面错误的表达式:(多选) A. a+b=5 D. 5.6+6.2%3.1 答案: BD 17. 若变量 f 已说明为 float 类型,i 为 int 类型,则下面哪些表达式(或语句)能够实现将 f 中 的数值保留小数点后两位,第三位进行四舍五入的运算?(多选) A. f=(f*100+0.5)/100.0 B. i=f*100+0.5,f=i/100.0; C. f=(int)(f*100+0.5)/100.0; D. f=(f/100+0.5)*100.0; 答案: BC 18. 写出下面这个程序的结果。 void main() { int count,i; int x,y,z; x=y=z=0; scanf("%d",&count); for(i=0;i<count;i++) { x=(x+1)%2; y=(y+1)%3; z=(z+1)%5; } printf("x=%d,y=%d,z=%d\n",x,y,z); } 如果运行时输入 10, 结果是 x=___,y=___,z=___。 如果运行时输入 17, 结果是 x=___,y=___,z=___。 答案:0 1 1 2 0 2
2
答案: 0x4b 0165 61
0113 117 0x3d
11. 如果要把常量 327 存入变量 a 中,a 可以定义成哪些类型?(多选) A. int C. long 答案: ACD 12. 下面哪些写法是对的,而且是常量?(多选) A. 125 E. E6 B. -.456 F. 0238 C. 1.25e20 G. 0xabcdef D. 'AB' H. "\n\\\'\123" B. char D. float
答案: ABCGH 13. 下面哪个表达式的值为 4.(单选) A. 11/3 C. (float)11/3 答案: D 14. 已知整型变量 a=6,b=7,c=1,则下面表达式的值为多少? a+3 (b-a*3)/5 c*(a+b)+b*(c+a) 3.2*(a+b+c) 答案: 9 -2 62 44.8 15. 已知整型变量 a=6,字符型变量 ch='A',浮点数变量 f=2.1,则下面表达式的值为多少? (提示:'A'的 ASCII 码为 65) a+4.5 ch+a+f (a+30)/5 (a+30)/5.0 ___ ___ ___ ___
9
a+b>c&&b==c 的值为___。 答案: 1 1 0 1 1 0 1 1 0 5. 假设所有变量均已说明,写出下列各程序段运行后 x 的值。(多选) ok1=1; ok2=2; ok3=0; x=15; a=3; b=4; (1)if(!ok1) x++; else if(ok2) { if(ok3) x=3; else x=4; } 运行后 x 的值为下面哪一个? A. 15 B. 3 C. 16 D. 4 (2)if(ok1) { if(a<b) { if(!ok3) x=0; else x=1; } else x=2; } else x=3; 运行后 x 的值为下面哪一个? A. 0 B. 1 C. 2 D. 3 答案: D A
21. 该源程序执行后,屏幕上显示什么?(单选) void main() { int a; float b; a=4; b=9.5; printf("a=%d,b=%4.2f\n",a,b); } A. a=%d,b=%f\n C. a=4,b=9.50 答案: C 22. 下面哪些是非法的 C 语言转义字符?(多选) A. '\t' 答案: BC 23. 以下程序输入三个整数值给 a,b,c,程序把 b 中的值给 a,把 c 中的值给 b,把 a 中的值给 c, 然后输出 a,b,c 的值。请填空。 #include <stdio.h> main()
答案:ACF 9. C 语言中整形常量按进制划分,有以下几种:(多选) A. 十六进制常量 C. 八进制常量 答案:ABC 10. 75 的十六进制写法为___,八进制写法为___。 0x75 的八进制写法为___,十进制写法为___。 075 的十进制写法为___,十六进制写法为___。 B. 十进制常量 D. 二进制常量
4
B. 56=a11 E. 12
C. i=i++ F. a=5,b=6,c=7
19. 已知 a 为整型变量,那么与表达式 a!=0 真假值情况相同的表达式有哪些?(多选) A. a>0||a<0 C. !a==0 答案: ABC 20.若要输出下列各种类型的数据,应使用什么转换说明符。(答题请打上双引号) 字段宽度为 4 的十进制数应使用"%4d",字段宽度为 6 的十六进制数应使用___,八进制整 数应使用___,字段宽度为 3 的字符应使用___,字段宽度为 10,保留 3 位小数的实数应使用___, 字段宽度为 8 的字符串应使用___。 答案:"%6x" "%o" "%3c" "%10.3f" "%8s" B. a D. !a
知识要点学习之二
1. C 程序的结构可分为哪几类?(多选) A.顺序结构 B.循环结构 C.程序结构 D.选择结构 答案: ABD 2. 输入两个实数 a,b,然后交换它们的值,最后输出(提示:要交换两个数得借助一个中间变量 temp。首先让 temp 存放 a 的值,然后把 b 存入 a,再把 temp 存入 b 就完成了)。 void main() { float a,b,temp;
5
B. a=%d,b=%f 9;\08'
C. '\0xaf'
D. '\\'
{ ___ int temp; printf("Enter a,b,c:"); scanf("%d%d%d",___); ___ a=b; b=c; ___ printf("a=%d b=%d c=%d\n",a,b,c); } 答案: int a,b,c; &a,&b,&c temp=a; c=temp; 24. 若 a 为整型变量,且有以下语句___。(单选) a=-017L; printf("%d\n",a); 则下面哪个说法是正确的? A. 赋值不合法 C. 输出为不确定值 答案: B 25. 若 ch 为 char 型变量,a 为 int 型变量,(已知字符 a 的 ASCII 十进制代码为 97)则执行以下 语句后的输出为哪一个?(单选) char ch; int a; ch='a'; a=12; printf("%x,%o,",ch,ch,a); printf("k=%%d\n",k); A. 61,141,12,k=%d B. 输出项与格式描述符个数不符,输出为零值或不定值 C. 61,141,k=%d D. 61,141,k=%12
6
B. 输出值为-17 D. 输出值为-15
答案: C 26. 若有以下说明语句:(单选) char s='\\\092'; 则下面哪一项是正确的. A. 使 s 的值包含 2 个字符 C. 使 s 的值包含 6 个字符 答案: B 27.若 k,g 均为 int 型变量,则以下语句的输出为哪一项?(单选) int k,g; k=017; g=111; printf("%d,",k); printf("%x\n",g); A. 15,6f 答案: A 28. 请从下面的选项中选出正确的 C 语言的转义字符。(多选) A. '//' E. '\1011' 答案: B. '\'' F. '/018' BCDH C. '\t' D. '\n' G. '/123' H. '\xaa' B. f,6f C. f,111 D. 15,111 B. 说明语句不合法 D. 使 s 的值包含 4 个字符