收藏 分销(赏)

C语言选择题(附答案).doc

上传人:a199****6536 文档编号:7194362 上传时间:2024-12-27 格式:DOC 页数:37 大小:100.54KB
下载 相关 举报
C语言选择题(附答案).doc_第1页
第1页 / 共37页
C语言选择题(附答案).doc_第2页
第2页 / 共37页
点击查看更多>>
资源描述
(完整版)C语言选择题(附答案) 第一单元 C语言概述 一、选择题 1、C语言中主函数的个数为( A)个。 A)1 B)2 C)无穷个 D)任意个 2、以下关于C语言描述错误的是( D)。 A)一个C程序总是从main函数开始执行T B)每个语句和数据声明的最后必须有一个分号T C)C语言的注释符是以“/*”开始并以“*/”结束的 T D)一个C程序可以包含多个main函数F 3、C 语言源程序文件后缀为( C ). A).EXE B).OBJ C) .C D).ASM 4、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)4 2、下列不是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)5 5、若有x=1,y=2,z=3,则表达式(x〈y?x:y)= =z的值是( D )。 A)1 B)2 C)3 D)0 6、 判断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 ). A) 本程序的main函数开始,到main函数结柬 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main函数开始,到本程序文件的最后一个函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束 9、在以下标识符中,合法的是( C ) A)if B) 0xy C)_xy D)case 10、C语言中各种类型的数据其实决定了占用内存的字节数。float占( C )。 A)一字节 B)二字节 C)四字节 D)八字节 11、下列各选项中,( A )是有效的标识符。 A)ab B)3day C)day-3 D)#abc 12、以下叙述正确的是( C ) A) 在C程序中,每行只能写一条语句  B) 若a是实型变量,C程序中不允许a=10这种赋值。 C) 在C程序中,%是只能用于整数运算的运算符 D) 在C程序中,无论是整数还是实数,没有什么区别 13、有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量 a的值为1,b的值为3,c的值为2,则正确的数据输入方式是( B ). A)132↙ B)1,3,2↙ C)a=1 b=3 c=2↙ D)a=1,b=3,c=2↙ 14、设整型变量a为5,使b不为2的表达式是(   C  )。 A) b = a/2    B) b = 6-(-—a)    C) b=a%2    D) b=a〉3?2:1 15、以下程序的输出结果是(   D   ). int x=10,y=10;  printf(“%d  %d\n”,x——,——y); A) 10  10      B) 9   9      C) 9   10     D) 10   9 16、选出下列标识符中不是合法的标识符的是(    D )。 A) hot_do      B) cat1       C) _pri         D) 2ab 17、设有如下定义: int x=10,y=3,z; 则语句printf(”%d\n",z = x%y); 的输出结果是(  D   )。 A) 1       B) 0        C) 4         D) 3 18、各种基本数据类型的存贮空间正确的长度排列为(   C   )。  A)int 〈 char <float<double     B)double<float 〈int<char  C)char<int 〈float<double     D)float〈int 〈char<double 19、下面的变量说明中(   C   )是正确的。  A)char:a, b, c;  B)char a; b; c;     C)char a, b, c;    D)char a, b, c。 20、转义字符“反斜杠线"的表示方法正确的是(     B ) 。 A) \    B) \\    C ) ‘\’   D)  “\” 21、若x=5,y=3 则y*=x+5; y的值为(   D  )。 A)  10   B)  20    C)  15      D)  30 22、能正确表示a和b同时为正或同时为负的逻辑表达式是(    D  ) A)(a〉=0||b>=0)&&(a<0 ||b<0)      B)(a〉=0 && b〉=0)&&(a〈0 && b〈0) C)(a+b〉0) &&(a+b〈=0)            D) a*b>0 23、C语言中,合法的字符型常数是(    D  )。 A)‘A’         B)“A”        C) 65         D) A 24、下列程序段的输出结果是(    C  ). char c1,c2; c1=65; c2=65+32+1; printf(“%c,%c",c1,c2);  A)a,B     B)a,b     C)A,b     D)A,B 25、下列语句不具有赋值功能的是(  C   ) A)a*=b    B)x=1          C)a+b       D)a++ 26、在C语言中,存储一个整型、字符型、双精度实型变量所需的字节(     A )。 A)2、1、8                         B)4、1、4 C)4、1、4                         D)2、2、8 27、下列程序段输出结果是(    B  ). int j=2 , i=1; j /= i*j; printf(“%d”,j); A)0    B)1   C)2   D)3 28、不是C语言提供的合法关键字是(   D   )。 A)switch   B)char   C)case    D)this 29、在C语言中,要求参加运算的数必须时整数的运算符是(    C  )。 A)/ B)* C)% D) = 30、若已定义x和y为double类型,且x=1;则表达式y=x+3/2的值是(     C )。 A)1     B)2    C)2.0    D)2。5 31、设a为整型变量,不能正确表达数学关系:10〈a〈15的C语言表达式是(    C  ). A)10〈a<15       B)a= =11 || a= =12 || a= =13 || a= =14 C)a〉10&&a<15   D)!(a〈=10)&&!(a〉=15) 32、表达式“10!=9”的值是(   D   )。 A)true   B)非零值   C)0     D)1 33、设a,b为字符型变量,执行scanf(“a=%c,b=%c",&a,&b)后使a为'A’,b为’B',从键盘上的正确输入是(    B  ). A) ’A’ ‘B’    B) ’A',’B’  C)A=A,B=B   D)a=A,b=B 34、设有单精度变量f,其值为13.8.执行语句“n=( (int)f )%3;”后,n的值是(   B   )。 A)4     B)1    C)4.333333    D)4.6 35、普通整形int能够处理的数据范围是(   D   ) A)—32767~32767   B)—32768~32768  C)-32767~32768   D)-32768~32767 36、若定义x为double型变量,则能正确输入x值的语句是。B A)scanf(“%f",x); B)scanf(“%f",&x); C)scanf(“%lf”,&x); D)scanf(“%5.1f",&x) 37、执行 x=(6*7%8+9)/5; 后,x的值为(   B  ) A)1     B)2    C)3    D)4 38、若有代数式3ae/bc,则不正确的c语言表达式是(   B  ) A)a/b/c*e*3    B)3*a*e/b/c    C)3*a*e/b*c    D)a*e/b/c*3 39、设有变量说明:float x = 4.0 , y = 4。0,下面使x为10.0的表达式是(   D   ) A)x -= y*2.5  B)x /= y+9   C)x *= y—6    D)x += y+2 40、以下能正确定义整型变量z、b、c并为其赋初值5的语句是(   C   ) A)int  a=b=c=5;   B)int  a,c, c=5; C)a=5,b=5,c=5;    D)a=b=c=5; 41、C语言中双精度浮点型变量double在内存中占(D )字节. A)1 B)2 C)4 D)8 42、以下哪个数学函数的作用是求某数的平方根( A )。 A)sqrt() B)fabs() C)pow() D)exp() 43、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是(    C ). int x; scanf(”%d",&x); if(++x〉5)   printf("%d",x); else    printf(”%d\n",x -—); A) 7和5      B) 6和3      C) 7和4       D)6和4 44、执行语句"x=(a=3,b=a—-)”后,x,a,b的值依次为(   B )。 A)3, 3, 2         B)3,2,2           C)3,2,3           D)2,3,2 45、读出以下语句的输出结果是(    D  )。     int x=10,y=10; printf("%d  %d\n",x-—,-—y); A) 10  10 B)9   9 C)9   10 D) 10  9 * 46、C语言中,合法的字符串型常数是(  D    )。 A)‘A’         B)”A”         C) ‘abcd’        D) abcd 47、为表示关系x≥y≥z,应使用C语言表达式(   A   ). A)(x〉=y)&&(y>=z)    B)(x〉=y) AND (y〉=z) C)(x>=y〉=z)           D) (x〉=z)&(y〉=z) 48、C语言的输入与输出操作是由(   C   )完成的。 A)输入语句                  B)输出语句 C)输入与输出函数          D)输入与输出语句 49、设有int x=11 ;则表达式(x+1/3)的值是(   C   )。 A)11。3    B)11。333333     C)11     D)12 50、若已定义x和y为double类型,则表达式x = 1,y = x+3/2的值是( C ) A)1     B)2    C)2。0    D)2。5 二、判断题 ( )1、 “A”是一个字符常量. X ( )2.、在程序运行过程中其值可以改变的量称为变量。 V ( )3、在C语言中,变量可以先使用再定义。 X ( )4、在C语言中,所有算术运算符的优先级都相同。 X ( )5、程序中若要使用数学函数就必须包含头文件”math.h”。 V ( )6、程序中若要使用printf()函数就必须引用头文件”stdio.h”。 V ( )7、在标准C中,“="是判断两个数是否相等。 X ( )8、在标准C中,使用所有输入输出函数必须包含“stdio。h”文件. X ( )9、在C语言中输出数据时可以指定数据的精度,即小数点后保留几位。 V ( )10、C语言中的基本数据类型有字符型、整型和浮点型。 V ( )11、所有的C语言程序都必须有一个名为main的主函数。 V ( )12、/ 运算符要求运算数必须是整数。 X ( )13、Int, #a15 , char都是合法的标识符。 X ( )14、’b'和"b”是不同的两种常量。 V ( )15、C语言本身没有输入输出语句,要实现输入输出必须调用相应的输入输出函数。 V 第三单元 算法 一、判断题 ( )1、 算法简而言之就是基于某种计算机语言,利用数据结构来解决具体问题的思路和方法。 V ( )2、 描述算法的图形化方法之一就是程序流程图.V ( )3、 描述算法可以用自然语言、传统流程图、N—S流程图来描述。V ( )4、 算法要有一定的逻辑性和健壮性。V ( )5、 算法的特点之一是无穷性。X 第四单元 顺序结构 一、选择题 1、下列标识符中合法的标识符是( A ) A) int2 B) if C) 2two D) a#b 2、选出下列标识符中不是合法的标识符的是( B ) A) hot_do B) cat@113 C) INT D) _2ab 3。、以下选项中属于C语言的数据类型是( B ) A) 字符串型 B) 双精度型 C) 逻辑型 D) 布尔型 4、设有如下定义: int x=10,y=3, z; 则语句printf("%d\n”, z = x%y ); 的输出结果是( D ) A) 3 B) 0 C) 4 D) 1 5、设整型变量n的值为2,执行语句"n += n;"后,n的值是( B ) A) 0 B) 4 C) - 4 D) 2 二、判断题 ( )1、结构化程序设计的三种结构是顺序结构、选择结构和循环结构。V ( )2、可以用printf("%d” ,123);语句输出一个十六进制整数。X ( )3、可以用scanf("%x”,&da);语句从键盘接收一个八进制整数给变量da.X ( )4、语句scanf("%5。2f", &a); 是正确的.X ( )5、 如果a是一维字符数组名,则语句scanf(”%s”, &a); 是正确的。X 第五单元 选择结构 一、选择题 1、有以下程序段 int a; if (3&&2) a=1; else a = 2; 执行后a=(    A )。 A)1 B)2 C)3 D)0 2、表达式:10!=9的值是(    D )。 A) true     B) 非零值     C) 0      D) 1 3、设int x=1,y=1;表达式(!x++ || y-—)的值是_(    B )。 A)0     B) 1       C) 2     D)—1 4、设整型变量s, c1,c2的值均为2,则执行语句(s=(c1= =c2))后,s的值为:(   B  ).     A)0  B)1   C)2  D)3 5、设整型变量a,b的值分别为1,0,那么a && b的结果是(   A  ). A)0 B)1 C)2 D)都不对 6、设整型变量a,b的值分别为1,0,那么a || b的结果是(   B  )。 A)0 B)1 C)2 D)都不对 7、设整型变量a,b的值分别为1,0,那么a != b的结果是(   B  ). A)0 B)1 C)2 D)都不对 8、设整型变量a,b的值分别为1,0,那么a || (b++)的结果是(  B   )。 A)0 B)1 C)2 D)都不对 9、设整型变量a,b的值分别为1,0,那么a && (++b)的结果是(   B  )。 A)0 B)1 C)2 D)都不对 10、设整型变量a,b的值分别为1,2,那么表达式 a〉b?a+b:a—b的结果是(    D )。 A)1 B)2 C)3 D)-1 11、下边程序段 int a=2,b=3,c=4; if(c=a+b) printf(“OK!") else printf(“NO!”); 输出结果是(    A )。 A)OK! B)NO C)程序错误 D)以上都不对 12、设整型变量a,b的值分别为1,0,那么a= =b 的结果是(    A ). A)0 B)1 C)2 D)都不对 13、设整型变量a,b的值分别为1,0,那么!(a = = b)的结果是(    B )。 A)0 B)1 C)2 D)都不对 14、设整型变量a,b的值分别为1,2,那么!a && b的结果是(    A )。 A)0 B)1 C)2 D)都不对 15、设x为非零,则下列描述错误的是(   D  ). A)!(x = = 0) B)x != 0 C)3*x != 0 D)x〉0 16、下列表达式的值中哪个表示为逻辑假(   C  )。 A)1 B)3 C)0 D)-1 17、设整型变量a,b的值分别为6,2,那么a%b != 0的结果是(  A   ). A)0 B)1 C)2 D)3 18、下列属于分支结构的是(   B  ). A)while B)switch C)for D)以上都不是 19、设整型变量a,b的值分别为1,0,那么a || (++b)的结果是(   B  )。 A)0 B)1 C)2 D)都不对 20、设整型变量a,b的值分别为1,0,那么a&&(b++)的结果是(   A  )。 A)0 B)1 C)2 D)都不对 二、判断题 ( )1、在分支结构switch中,case后面跟的一定是常量。 V ( )2、逻辑运算符优先级高于关系运算符的优先级。 X ( )3、关系运算符中,= = 的优先级要高于 >= 的优先级。 X ( )4、关系运算符中,〉 的优先级要高于 >= 的优先级。 X ( )5、在条件表达式中,-3代表为真。 V ( )6、在条件表达式中,非0代表为真。 V ( )7、条件运算符 ?: 是2目运算符。 X ( )8、在switch语句中,有没有break的情况都是相同的。 X ( )9、判断a,b两个数是否相等,用 a = b. X ( )10、判断a,b两个数是否相等,用 a = = b. V 第六单元 for循环结构 一、选择题 1、对下边for循环,循环体体执行次数是( B )。 for ( i = 1; i 〈= 10; i = i + 2 ) ; A) 6 B) 5 C) 4 D) 7 2、对下边for循环,循环体执行次数是( C ). for ( i = 5; i 〉 1; i -— ) ; A) 6 B) 5 C) 4 D) 7 3、下边循环执行完后,a为( C )。 for ( a= 1;a〈 5; a++ ) a = 2 * a; A) 5 B) 4 C) 7 D) 8 4、下边循环执行完后,s为( A ).//无法确定 for ( a= 1; a〈 5; a++ ) for ( b= s = 0; b〈 a; b++, s = s +a) ; A) 6 B) 4 C) 7 D) 无答案 7、下边程序段输出结果是( A ). int i , a= 0; for ( i = 0; i < 10; i++ ) a++, i++; printf(”%d", a); A)5 B)6 C)9 D)10 8、以下for循环的次数为( D )。 for(x = 0,y = 0; (y=123) && (x<4) ; x++) ; A)不循环 B)无限次 C)3 D)4 9、从循环体内某一层跳出,继续执行循环外的语句是:( A )。 A) break语句      B)return语句     C)continue语句     D)空语句 11、循环语句 for (x=0,y=0; (y!=123)|| (x<4);x++) ;的循环执行次数为(  C )。 A)无限次    B)不循环   C)4次   D)3次 12、设i,j,k均为int型变量,k初值为0,执行完下面的for循环后,k的值为(  A )。 for (i=0,j=10; i〈=j; i++,j--) k=i+j; A)10    B)9    C)8   D)7 13、以下程序段的循环次数是( C )。  for (i=2 ; i=0 ; ) printf(“%d” , i--) ;   A)无限次 B)0次 C)1次 D)2次 14、下边程序段循环执行的次数是( B )。 int a= 0, j = 10; for ( ; j 〉 3; j—— ) { a++; if ( a> 3) break ; } A) 3 B、4 C、5 D)6 18、for循环中,能省略的表达式有(  D )。 A)表达式1 B)表达式2 C)表达式3 D)3个都可以 A)3次 B)2次 C)6次 D)9次 20、下面循环体被执行的次数是(  2 ). for(i=0;i<3;i++) ; 21、定义变量int i=-1; 则以下不是无限循环的是: ( C )。 A。 for (i=0; i=1; i++) ; B。 for ( i=0; ; i—-) ; C。 for ( ; i>-10; i--) ; D。 for ( ; i<0 ; ) ; 22、定义变量int i=2; 则以下是无限循环的是: ( D )。 A. for (i=0;i==1;i++) ; B。 for (i=0; i<0 ; ) -—i; C. for ( ; i〉10; i++) ; D。 for ( ; i ; ++i ) ; 23、以下for循环语句,循环体的执行次数是: ( A )。/*该题经验证是3次,不知道怎么回事 ,自己取研究*/ for( i=1; i<=5; i+=2 ) ; A. 4 B. 5 C. 6 D. 7 24、以下for循环语句,循环体的执行次数是: ( A )。 for( i=5; i〉1; i—- ) ; A. 4 B. 5 C. 3 D。 2 25、下面的循环体执行完后,a的值是: ( A )。 for( a=2; a〈8; a++) a*=2 ;4 A. 10 B。9 C. 12 D。 11 二、判断题 ( )1、continue语句只能用于循环语句中。 V ( )2、在for循环中允许使用嵌套循环,但只能是嵌套while循环。X ( )3、break语句只能用于循环语句中. X ( )4、for循环可能一次都不执行。 V ( )5、break语句是结束本层循环. V ( )6、break语句是结束本次循环。 X ( )7、continue语句是结束本层循环. X ( )8、continue语句是结束本次循环. V ( ) 9、在循环过程中,使用break语句和continue语句的作用是一样的. X ( )10、for( ; ; )这写书写for循环是合法的,即for三个表达式都是可以省略的。 V 三、程序阅读 1、以下程序运行完后的输出数据是:__aaaaaaaaa__ main() { int a=10 ; for( ; a ; ) { a——; if(a==0) break; printf("a”); } } 2、以下程序运行完后a的值是: __1__ main() { int i, a=0 ; for(i=0; i<10; i++) i++; a++; printf("%d”, a); } 3、 以下程序运行完后a的值是: __5__ main() { int i, a=0 ; for(i=0; i<10; i++) a++, i++; printf(”%d”, a); } 4、以下程序运行完后的结果是:_#*#*_ main() { int k; for (k=1;k〈5;k++) { if(k%2!=0) printf(”#"); else printf(”*") ; } } 5、以下程序运行完后s的值是: _1。0__ main() { int n ; float s=1。0; for(n=10;n>1;n-—) s=s+1/n; printf(”%6.1f\n",s); } 第七单元 while与do—while循环 一、选择题 1、break语句的正确的用法是( C )。 A)无论在任何情况下,都中断程序的执行,退出程序。 B)在多重循环中,只能退出最靠近的那一层循环语句。 C)跳出多重循环。 D)只能修改控制变量。 2、int i=0; while( i++ < 5); 循环结束后i的值是( C )。 A)6 B)7 C)5 D)8 3、语句while ( E ); 括号中的表达式E等价于( D )。  A)E==0 B)E!=1 C)E!=0 D)E==1 4、 int i=1; while( --i ) ; 循环次数是( B )。 A)无限次 B)0 C)2 D)1 7、do—while语句的循环体( B )。 A)可能一次都不执行 B)至少要执行一次 C)由循环条件决定循环次数 D)B C均正确 8、对下面的while语句,循环体执行次数是( A )次。 a=30; while ( a-—) ; A)30 B)31 C)39 D)都不对 9、在C语言中,下列说法中正确的是( B ). A)不能使用”do … while”的循环。 B)”do while”的循环必须使用break语句退出循环. C)"do while”的循环中,当条件为0时将结束循环。 D) "do while”的循环中,当条件为非0时将结束循环。 10、下面的循环执行完后,循环次数是( B )次. while( k=10 ) k--; A)9 B)10 C)11 D)无穷次 二、判断题 ( )1、while 适合控制循环次数不确定的循环。(V) ( )2、无论循环条件是否满足,do 。。. while循环的循环体至少执行一次.(V) ( )3、while( ’a' ) ;是一个死循环。(V) ( )4、在实际编程中,do-while循环完全可以用for循环替换。(V) ( )5、continue;语句和break;语句有同样的作用.(X) 第八单元 数组 一、选择题 1、下列描述中不正确的是(  A   )。 A) 字符型数组中可能存放字符串。 B) 可以对字符型数组进行整体输入、输出。 C) 字符串函数声明在包ctype。h中. D) 字符串的结束符是’\0’. 2、定义如下变量和数组: int i ; int x[6] ={1,2,3,4,5,6}; 则语句for(i=0;i<3;i++)  printf("%d  ",x [5-i]); 的输出结果是( D    )。 A) 1  2 3           B)1  3  5       C)2 4  6          D)6  5  4 3、以下对二维数组a进行正确初始化的是(    D )。 A) int a[2][3]={{1,2},{3,4},{5,6}};          B) int a[ ][3]={1,2,3,4,5,6}; C)int a[2][ ]={1,2,3,4,5,6};                D) int a[2][ ]={{1,2},{3,4}}; 4、下列程序的输出结果是(   A  )。 char a[]=”abcd", b[]=”ABCD", str[50]=”xyz”; strcpy( str , strcat( a, b ) ); printf( ”%s”, str ); A)xyabcAB        B)abcABz       C)ABabcz       D)abcdABCD 5、不能把字符串:Hello!赋给数组b的语句是(   B  )。 A)char b[10]={’H',’e’,'l','l’,’o','!’};            B)char b[5] ="Hello!”; C)char b[10];  strcpy(b,"Hello!");          D)char b[10]="Hello!”; 6、下列对数组定义不正确的语句是( A ). A)int m[5];                B)char b[]={‘h',’e’};   C)int a[10]={1,6,8,4};     D)char  p[]; 7、以下对二维数组 a的正确定义是(   A ) A)int a[3][] ;       B)float  a(3,4) ; C)double a[2][4]; D)float a(3)(4) ; 8、给出以下定义: char x[ ]="abcdefg"; char y[ ]={'a','b','c','d','e','f','g'}; 以下正确的叙述是( D )。 A)数组x和数组y等价 B)数组x和数组y长度相等 C)数组x的长度大于数组y的长度
展开阅读全文

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


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

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

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

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

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

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

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

客服