C语言题库(带答案)-排版.doc
(完整版)C语言试题库(完整版)
C语言试题库一、单项选择第一章 C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C、本程序的MAIN函数开始,到本程序的最后一个函数结束。
D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。
(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。
B、 C程序的每行中只能写一条语句。
C、 C语言本身没有输入输出语句。
D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
(3) C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。
B、必须在系统调用的库函数的后面C、可以在任意位置。
D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、 C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、 if, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5) 若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”); else printf(“$ $ $\n”); }以上程序。
C语言基础练习题(含答案)Word版
目录第1-3章C语言基础知识习题 (2)1 选择题 (2)2 填空题 (7)3 答案及部分解析 (9)第4章选择结构习题 (11)1 选择题 (11)2 填空题 (17)3 答案及部分解析 (23)第5章循环结构习题 (26)1 选择题 (26)2 填空题: (32)3 答案及部分解题分析 (39)第6章数组习题 (41)1. 单项选择题 (41)2. 填空题 (44)3. 判断题 (45)4. 程序填空题 (45)5. 阅读程序,分析程序的功能。
(49)第7章函数习题 (55)1. 单项选择题 (55)2. 填空题 (56)3. 判断题 (57)4. 程序填空题 (58)5. 写出下列程序运行结果 (59)第8章指针习题 (67)1 选择题 (67)2 填空题 (69)第1-3章C语言基础知识习题1 选择题1. 以下不是C语言的特点的是()。
A、语言简洁紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件操作D、C语言移植性好2.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok3.正确的C语言标识符是()。
A._buy_2 B.2_buy C.?_buy D.buy?4. 请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof5. 下列符号中,不属于转义字符的是()。
A.\\ B.\0xAA C.\t D.\06.不属于C语言关键字的是()。
A.int B.break C.while D.character7.是C语言提供的合法关键字的是()。
A.Float B.signed C.integer D.Char8.以下不能定义为用户标示符的是()。
A.scanf B.V oid C._3com_ D.int9.一个C程序是由()。
C语言全部考试系统题库含答案
目录目录 (1)单元练习题一 C语言基础知识 (3)一、判断题 (3)二、单项选择题 (4)三、读程序选择题 (7)四、程序填空题 (8)五、编程题..................................... 错误!未定义书签。
单元练习题二 C语言程序结构.. (9)一、判断题 (9)二、单项选择题 (9)三、读程序选择题............................ 错误!未定义书签。
四、程序填空题 (17)五、编程题.................................. 错误!未定义书签。
单元练习题三数组.. (21)一、判断题 (21)二、单项选择题 (22)三、读程序选择题............................... 错误!未定义书签。
四、程序填空题 (28)五、编程题..................................... 错误!未定义书签。
单元练习题四函数.. (33)一、判断题 (33)二、单项选择题 (34)三、读程序选择题 (40)四、程序填空题................................. 错误!未定义书签。
五、编程题..................................... 错误!未定义书签。
单元练习题五预处理................................ 错误!未定义书签。
一、判断题.................................. 错误!未定义书签。
二、单项选择题.............................. 错误!未定义书签。
三、读程序选择题............................... 错误!未定义书签。
四、程序填空题................................. 错误!未定义书签。
(完整版)C语言题库(带详解答案)
(完整版)C语⾔题库(带详解答案)⼀单项选择题1.(A)是构成C语⾔程序的基本单位。
A、函数B、过程C、⼦程序D、⼦例程2.C语⾔程序从 C开始执⾏。
A) 程序中第⼀条可执⾏语句 B) 程序中第⼀个函数C) 程序中的main函数 D) 包含⽂件中的第⼀个函数3、以下说法中正确的是(C)。
A、C语⾔程序总是从第⼀个定义的函数开始执⾏B、在C语⾔程序中,要调⽤的函数必须在main( )函数中定义C、C语⾔程序总是从main( )函数开始执⾏D、C语⾔程序中的main( )函数必须放在程序的开始部分4.下列关于C语⾔的说法错误的是(B)。
A) C程序的⼯作过程是编辑、编译、连接、运⾏B) C语⾔不区分⼤⼩写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执⾏5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满⾜(1);选项D中的int为关键字,不满⾜(3)6.下列C语⾔⽤户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满⾜(2);选项C,E均为为关键字,不满⾜(3);选项D中的“-”不满⾜(1);7.下列四组选项中,正确的C语⾔标识符是(C)。
A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满⾜(1);选项D中的标识符以数字开头不满⾜(2)8、下列四组字符串中都可以⽤作C语⾔程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满⾜(1);选项C中的while 为关键字,不满⾜(3)9.C语⾔中的简单数据类型包括(D)。
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语言题库带详解答案)
一单项选择题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从 C开始执行。
A) 程序中第一条可执行语句 B) 程序中第一个函数C) 程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A) %x B) a+b C) a123 D) 123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while 为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
C语言程序设计题库及答案(word文档良心出品)
第 1 次客观题作业一、单选题(共30题,每题 3 分) 1 .下面表示正确的是__A___。
A. C语言中的逗号是一种运算符B. 在C语言中,一行只能有一个语句C. C中的变量不区分大小写D. c 中的关键字可以做为变量名2 . 字符型常量在内存中存放的是__A ____ 代码值。
A. ASCIIB. 二进制C. 十进制D. 八进制3 .以下不正确的C语言标识符是(C )。
A .AB1 B._ab3 C.4ab D.a2_b4 .以下运算符中优先级最低的运算符是_D ____ 。
A .&& B.& C.|| D.=5 .在C语言中,要求运算数必须是整型的运算符是A.% B./ C.<D.!6 .C 语言程序的基本单位是__C ____ 。
A.程序行B.语句C.函数D.字符7 .将高级语言编写的程序翻译成目标程序的是___BA.解释程序B.编译程序C.汇编程序8 .以下选项中,与k=n++完全等价的表达式是__A_ A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.9 .下列(A )不属于结构化程序设计的循环结构。
A .Fo r B.WhileC.if-elseD .do-whileA___。
程序D.源程序k+=n+110 •以下叙述中错误的是 A 。
A. 用户所定义的标识符允许使用关键字B. 用户所定义的标识符应尽量做到“见名知意C. 用户所定义的标识符必须以字母或下划线开头D. 用户定义的标识符中,大、小写字母代表不同标识11 .若有输入语句seanf( %d%d%d &x,&y,&z);则不能使x值为5, y值为6,z值为7的输入是 A 0A. 5,6 ,7B. 5 回车换行6 7C. 5 6 7D. 5, 6, 712 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是(B ) o for (i=3;i>0;i-- ) for (j=0;j<=4;j++ ) {...}A. 12B. 15C. 16D. 2013 .下列选项中,合法的C语言关键字是_D___oA. VARB. Cher c. Integer D. default14 . C语言中A oA. 能使用do-while语句构成的循环B. do-while语句构成的循环必须用break语句才能退出C. do-while语句构成的循环,当while语句中的表达式为非零时结束循环D. do-while语句构成的循环,当while语句中的表达式值小于零时结束循环15 .以下_D _______ 是高级语言。
C语言全部考试系统题库含答案(可编辑修改word版)
目录
目录................................................................1 单元练习题一 C 语言基础知识 .........................................3
一、 判断题 ...................................................3 二、 单项选择题 ...............................................4 三、 读程序选择题 .............................................7 四、程序填空题 ..................................................8 五、编程题 .....................................................10 单元练习题二 C 语言程序结构 ........................................10 一、 判断题 ..................................................10 二、 单项选择题 ..............................................11 三、 读程序选择题 ............................................18 四、 程序填空题 ..............................................30 五、 编程题 ..................................................35 单元练习题三 数组..................................................36 一、 判断题 ..................................................36 二、 单项选择题 ..............................................37 三、读程序选择题 ...............................................39 四、程序填空题 .................................................43 五、编程题 .....................................................49 单元练习题四 函数..................................................49 一、 判断题 ..................................................49 二、 单项选择题 ..............................................50 三、读程序选择题 ...............................................52 四、程序填空题 .................................................60 五、编程题 .....................................................63 单元练习题五 预处理................................................63 一、 判断题 ..................................................63 二、 单项选择题 ..............................................64 三、读程序选择题 ...............................................64 四、程序填空题 .................................................65 五、编程题 .....................................................65 单元练习题六 指针..................................................66 一、 判断题 ..................................................66 二、 单项选择题 ..............................................66 三、读程序选择题 ...............................................67 四、程序填空题 .................................................74 五、编程题 .....................................................77 单元练习题七 结构体与共用体........................................78 一、 判断题 ..................................................78 二、 单项选择题 ..............................................78
(word完整版)C语言考试题库及答案,推荐文档
C 语言理论上机考试选择题部分(共200 题)1、下面程序的输出是___D ______#include<stdio.h>void main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D _______A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C 语言字符常量是_______ A ____ .A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9 的值是________ D ___ .A) true B) 非零值C) 0 D) 15 、C 语言提供的合法的数据类型关键字是_ B ___ .A) Double B) short C) integer D) Char6、字符(char) 型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC 码D) ASCII 码7、C 语言程序的基本单位是_____ C _____ .A) 程序行B) 语句C) 函数D) 字符 &设int a=12,则执行完语句a+=a-=a*a后,a的值是___ D ___A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是_ B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010 、下面程序的输出是____ B _____ .{int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411 、下面程序的输出的是 ____ C ___ .#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是_____ A ____ .#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if 后一对圆括号中表示a 不等于0 的关系,则能正确表示这一关系的表达式为_______ D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____ D _____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是____ D ____ .A) 1 B) 0 C) 4 D) 316、为表示关系x > y > z,应使用C语言表达式___A___.17、 C 语言中非空的基本数据类型包括_____ B ___ .A) 整型,实型,逻辑型B) 整型,实型,字符型#include<stdio.h> void main() A) (x>=y)&&(y>=z)C) (x>=y>=z)B) (x>=y)AND(y>=z)D) (x>=y) & (y>=z)C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x 和y 都是int 型变量,x=100,y=200, 且有下面的程序片段:printf("%d",(x,y)); 上面程序片段的输出结果是_______________________________ A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h> void main() { charch; scanf("%3c",&ch); printf("%c",ch);}如果从键盘上输入abc< 回车> 则程序的运行结果是__A ______________________ .A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h> void main() {int i,j;i=010; j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是_____ D __ .A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h> void main(){int i,j,m,n; i=8;j=10; m=++i; n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_______ C ____ .A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10D) 9,10,9,1122、已知a=12, 则表达式a+=a-=a*=a 的结果是 ____ A__.A) 0 B) 144 C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入是 ___ D .1 2 34567<回车>,则程序的运行结果A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是_____ D ___ .#include<stdio.h> void main(){int a=-1, b=4, k; k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是_____ A ___ .#include<stdio.h> void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是_____ A ___ .int a;int b=65536; a=b; printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、若有以下定义和语句:int a=010, b=0x10, c=10; printf("%d,%d,%d\n",a,b,c); 则输出结果是____ B ____ .A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double 型变量x=2.5,y=4.7, 整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________ B ____ .A) 2.4 B) 2.5 C) 2.75 D) 030 、若已定义x 和y 是整型变量,x=2;, 则表达式y=2.75+x/2 的值是 ___ C ___ .A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是______ D ___ .#include<stdio.h> void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332 、设有以下语句:int x=10;x+=3+x%(3), 则x 的值是. _____ A _____A) 14 B) 15 C) 11 D) 1233、若d 为double 型变量,则表达式d=1,d+5,d++ 的值是___ D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3 的值是____ D ___ .A) T B) 非零值C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a 的值__________ A ____ . A) 0 B) 1 C) 12 D) 6D) C 语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符_____ C __ .A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y 值的数据类型是___D ____ .A) float B) char C) int D) double40、一个C 语言的执行是从_____ A _____ .A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的 C 语言表达式是___ A ___ .A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_______ C ___ .#include <stdio.h>void main( ) { int a=5,b=60,c;if (a<b) {c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 12 43、如果 c 为字符型变量,判断 c 是否为空格不能使用___ A ___ .( 假设已知空格ASCII 码为32)A) if(c=='32') B) if(c==32)36、若有定义int x=3,y=2 和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b 的值是__D__.A) 0 B) 2 C) 1.5 D) 137、在C 语言中,以下叙述不正确的是_____ A ___ .A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C 程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同44、运行下面程序时,若从键盘输入"3,5<CR>" ,则程序的输出结果是____ D___ .#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y) printf("x==y");else if (x>y) printf("x>y");else printf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45 、运行下面程序时,若从键盘输入数据为"6,5,7<CR>" ,则输出结果是C___.C) if(c=='\40') D) if(c==' ')#include <stdio.h>void main( ){ int a,b,c; scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c) printf("%d\n",a);else printf("%d\n",c);elseif (b>c) printf("%d\n",b);else printf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>" ,则程序的运行结果是_____ A ____ .#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9') k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10; printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<CR>" ,则输出9士里阜 D结果是___B ____ .#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是_____ A ___ .#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>" ,则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是____ C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!51、执行下列程序段后的输出结果是 ________ A __ .int x=1,y=1,z=1; x+=y+=z;printf("%d\n",x<y?y:x); A) 3 B) 2 C) 1D) 452、设 ch 是 char 型变量 ,值为 'A', 则表达式 ch=(ch>='A' && ch<='Z')?ch+32:ch 的值是 __B___. A) Z B) aC) zD) A53、下面程序的输出结果是 _____ C #include <stdio.h> void main( ){ int x=8,y=-7,z=9; if (x<y)if (y<0) z=0; else z-=1; printf("%d\n",z);}A) 8 B) 154、运行下面程序时 ,若从键盘输入 "5 <CR>", 则程序的 输出结果是 _____________ B ___. #include <stdio.h> void main( ){ int a ; scanf("%d",&a); if (a++>5)printf("%d\n",a); else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入 "3 ,4 <CR>" ,则 程序的输出结果是 ____ B___. #include <stdio.h> void main( ){ int a,b,s; scanf("%d,%d",&a,&b); s=a; if (s<b) s=b; s=s*s; printf("%d\n",s) ;}A) 14 B) 16 C) 18D) 20#include <stdio.h> void main( ) { int x=0,y=1,z=0; if (x=z=y)x=3; printf("%d,%d\n",x,z);}A) 3,0B) 0,0C) 0,1 D) 3,157、假定等级和分数有以下对应关系: 等级:A 分数:85〜100 等级:B 分数:60〜84 等级: C分数: 60 以下对于等级 grade 输出相应的分数区间,能够完成该功 能的程序段是 ________ D ___ . A) switch (grade){case 'A':printf("85--100\n"); case 'B':printf("60--84\n");case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} B) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} C) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} D) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n");break; default:printf(" 等级错误 !\n");}58、能够完成如下函数计算的程序段是__B厂-1x<0 y=T 0x=0 L1x>056、下列程序的执行结果是 ______ DA) y=1;B) if (x>=0)Bye_Bye!C) 9D) 0if (a) d=d-10; else if(!b) if (!c) x=15; else x=25; printf("d=%d\n",d);}A) d=20B) d=10C) d=15D) 2562、有如下程序 : #include <stdio.h> void main( ){ int a=2,b=-1,c=2; if (a<b) if (b<0) c=0; else c++; printf("%d\n",c);}该程序的输出结果是 ___C _____ . A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是 ______ B __ . #include <stdio.h> void main( ){ int x,y=1,z; if ((z=y)<0) x=4; else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序 #include <stdio.h> void main( ){ int x=1,a=0,b=0; switch(x) {case 0: b++; case 1:a++; case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是 _______ A ___ . A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是 _____ C ___ . #include <stdio.h>if(x!=0)if(x>0) y=1; else y=0; C) y=0;if (x>=0)if (x>0) y=1; else y=-1;if(x>0) y=1; else y=0; elsey=-1;D) y=-1;if (x>0) y=1; else y=0;59、有如下程序 #include <stdio.h> void main( ) { float x=5.0,y; if(x<0.0) y=0.0; else if (x<10.0) y=1.0/x; else y=1.0; printf("%f\n",y);}该程序的输出结果是 C ____ .A) 0.000000 B) 0.50000 C) 0.200000D) 1.00000060、以下程序的执行结果是 ___B _____ . #include <stdio.h> void main( ) { int x=1,y=0; switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break; }case 2:printf("third\n");}}A) firstB) first second third C) firstD) secondthird61、以下程序的执行结果是 _____ A #include <stdio.h> void main( ){ int a,b,c,d,x; a=c=0; b=1; d=20;void main( ){ int a=-1,b=1,k; if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);else printf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定w、x、y、z、m 均为int 型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z; 则该程序段执行后,m 的值是____________ D __________ . A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D ______ .main( ) { int a=100;if (a>100) printf("%d\n",a>100); elseprintf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入是. B#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);} A) 11 B) 10 C)969、以下程序输出结果是______ D ____#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--); else printf("%d\n",--m);70、若执行下面的程序从键盘上输入5,则输出结果是#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是_____ A___ .int x=1,y=1,z=-1; x+=y+=z; printf("%d\n",x<y?y:x); A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h> void main( ) { int a,b,c=246;a=c/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b);}输出结果是___ A ____ .A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123" ,则输出结果是___C ___ .#include "stdio.h"void main(){ int num,i,j,k,place; scanf("%d",&num); if (num>99)place=3;else if(num>9)place=2;elseplace=1; i=num/100; j=(num-i*100)/10;k=(num-i*100-j*10); switch (place) { case 3:printf("%d%d%d\n",k,j,i); break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D _____ .#include <stdio.h> void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x 的是 __B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a 输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 109,则输出结果D) 8A) 7 B) 6 C) 5 D) 477、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是______ C___ .#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了避免嵌套的if-else 语句的二义性,C 语言规定else 总是与___C___ 组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t 均为int 型变量,则执行以下语句后,t 的值为___ C ____ .x=y=z=1; t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段 C ________ .x=-1;do{x=x*x;} while (!x);A) 是死循环B) 循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的是___B _____ .int x=0,s=0;while (!x!=0) s+=++x; printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____ C ___ .x=3; do { y=x--;if (!y) {printf("*");continue;} printf("#");} while(x=2);A) ## B) ##* C)死循环D)输出错误信息84、下面程序的运行结果是 B . #include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0); printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____ B _____ .int n=0;(n * n )/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 请填空,完成求n 的功能。
(完整版)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语言试题库[完整版]
WORD 格式整理C 语言试题库一、单项选择第一章 C 语言概述( 1)一个 C 程序的执行是从A 、本程序的MAIN函数开始,到MAIN函数结束。
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C、本程序的MAIN函数开始,到本程序的最后一个函数结束。
D 、本程序文件的第一个函数开始,到本程序的MAIN函数结束。
( 2)以下叙述正确的是A 、在 C 程序中, MAIN函数必须位于程序的最前面。
B 、C 程序的每行中只能写一条语句。
C、 C 语言本身没有输入输出语句。
D 、在对一个 C 程序进行编译的过程中,可发现注释中的拼写错误。
( 3)C 语言规定,在一个源程序中,MAIN主函数的位置是在:A 、必须在最前面。
B 、必须在系统调用的库函数的后面C、可以在任意位置。
D 、必须在最后面( 4)一个 C 程序是由:A 、一个主程序和若干子程序组成B 、函数组成C、若干过程组成D 、若干子程序组成( 5)以下叙述不正确的是:A 、一个 C 源程序可由一个或多个函数组成B 、一个C 源程序必须包含一个MAIN 函数C、 C 程序的基本组成单位是函数D 、在 C 程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k 都是 int 型变量,则计算下面表达式后,x 的值为x=(i=4 , j=16 , k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、 define , IF, typeB 、getc, char, printfC、include, scanf, caseE、 if, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P _0, doB、 float,1a0, _AC、 b-a, goto, intD 、_123, temp, INT(4)若有代数式3 ae/bc,则正确的C语言表达式是A、 a/b/c*e*3B、 3*a*e/bcC、 3*a*e/b*cD、 a*e/c/b*3( 5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、 x%(-3)B、 w+=-2;C、 k=(a=2,b=3,a+b)D、 a+=a-=(b=4)*(a=3)第三章简单C程序设计(1) putchar 函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y 均定义为int 型, z 定义为 double 型,以下合法的scanf 函数调用语句是A、 scanf( “%d%lx,%le”,&x,&y,&z);B、 scanf( “%2d*%d%lf”,&x,&y,&z);C、 scanf( “%x%*d%o”,&x,&y,&z);D、 scanf( “%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车 >时,以下程序的输出结果为main(){int x,y,z;scanf(“ %d%d%d” ,&x,&y,&z);printf(“ x+y+z=%dn” ,x+y+z);}A、 x+y+z=48B、 x+y+z=35C、 x+z=35D、不确定值(4)以下能正确的定义整型变量a,b 和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、 int a, b, c=5;C、 a=5, b=5, c=5;D、 a=b=c=5;(5)若有以下定义,则正确的赋值语句是int a,b;float x;A、 a=1, b=2;B、 b++;C、 a=b=5;D、 b=int(x);第四章选择结构程序设计( 1)能正确表示“当 x 的值在 [1, 10] 和 [200, 210] 的范围为真,否则为假”的表达式是A 、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B 、(x>=1) ││ (x<=10)││ (x.>=200)││ (x<=210)C、(x>=1) &&(x<=10)││ (x.>=200) &&(x<=210)D 、(x>=1) ││ (x<=10)&& (x.>=200)││ (x<=210)( 2)以下程序的运行结果是#incl ude “ stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“ %d,%d” ,a,b);}A、6, 1B、2, 1C、6, 0D、2, 0( 3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(n“”* );* *else printf(“ $n$”$ );}以上程序。
C语言题库(带答案)-排版
一、选择题1、以下不能定义为用户标识符的是()。
(A) MAIN (B) _HJ (C) 2ong (D) LINE12、以下不能定义为用户标识符的是()(A) If (B) H_J (C) 208ong (D) LINE123、下面属于C语言标识符的是( )。
(A) 2ab (B) @f (C) ?b (D) _a124、下列符号中用来表示C语言中的回车换行的是()。
(A) \r (B) \n (C) \b (D) \t5、在计算机系统中,可执行程序是()(A) 源代码(B)汇编语言代码(C) 机器语言代码(D) ASCII码6、在Visual C++ 6.0环境下,C源程序文件名的默认后缀是( )。
(A) .obj (B) .txt (C) .c (D) .doc7、Microsoft Visual C++ 6.0 中,C语言可执行程序的扩展名是:( )(A) exe (B) obj (C) c或cpp (D) txt8、C程序由( )组成。
(A)子程序 (B) 主程序和子程序(C) 函数 (D) 过程9、C程序的基本组成单位( )。
(A) 数据类型 (B) 变量和常量 (C) 函数 (D) 表达式10、C语言中主函数的个数是( )。
(A) 2个 (B) 1个 (C) 任意个 (D) 10个11、一个C程序的执行是从()(A)本程序的main()函数开始,到main函数结束.(B)本程序文件的第一个函数开始,到本程序文件最后一个函数结束.(C)本程序文件的第一个函数开始,到本程序main函数结束.(D)本程序的main()函数开始,到本程序文件的最后一个函数结束.12、以下叙述正确的是(A)在C语言程序中,main函数必须放在其他函数的最前面(B)在每个后缀为.C的C语言源程序都可以单独进行编译(C)在C语言程序中,只有main函数才可单独进行编译(D)每个后缀为.C的C语言源程序都应该包含一个main函数13、设变量a是整型,b是实型,c是双精度型,则表达式2+’a’+b*c值的数据类型是()。
c语言考试题库及答案
c语言考试题库及答案1. 选择题- 1.1 以下哪个选项是C语言中的合法整数常量?- A. 0x12- B. 1.2e3- C. 0123- D. 0b1010- 答案:A- 1.2 C语言中,以下哪个关键字用于定义一个结构体?- A. struct- B. union- C. enum- D. typedef- 答案:A- 1.3 在C语言中,以下哪个运算符用于取地址?- A. *- B. &- C. %- D. #- 答案:B2. 填空题- 2.1 在C语言中,`printf` 函数用于输出,其返回值是____。
- 答案:输出的字符数- 2.2 C语言中,`sizeof` 运算符用于获取数据类型或变量的____。
- 答案:大小- 2.3 以下代码段中,`x` 的值是多少?```cint x = 10;x += 5;```- 答案:153. 简答题- 3.1 描述C语言中指针的概念。
- 答案:指针是一个变量,它存储了另一个变量的内存地址。
通过指针,程序可以间接访问和操作内存中的数据。
- 3.2 解释C语言中数组和指针的关系。
- 答案:在C语言中,数组名可以被用作指向数组第一个元素的指针。
因此,数组和指针紧密相关,数组可以通过指针进行操作,指针也可以用于数组的遍历和处理。
4. 编程题- 4.1 编写一个C语言函数,计算并返回两个整数的和。
```cint add(int a, int b) {return a + b;}```- 答案:上述函数定义了名为add的函数,该函数接受两个整数参数a和b,并返回它们的和。
- 4.2 编写一个C语言程序,实现字符串反转的功能。
```cvoid reverse(char *str) {int i, j;char temp;for (i = 0, j = strlen(str) - 1; i < j; i++, j--) {temp = str[i];str[i] = str[j];str[j] = temp;}}```- 答案:上述程序定义了一个名为reverse的函数,该函数接受一个字符串指针作为参数,并通过交换字符的方式实现字符串的反转。
C语言练习题(带答案)-绝对经典题目不看后悔精编版
1单选题1.(A)是构成C语言程序的基本单位。
A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。
A) 程序中第一条可执行语句B) 程序中第一个函数C) 程序中的main函数D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main( )函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是(B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写。
C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5.下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是(B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。
A)%x B)a+b C)a123 D)123选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A、print _3d db8 aBcB、I\am one_half start$it 3paiC、str_1 Cpp pow whileD、Pxq My->book line# His.age选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。
C语言题库(带详解答案)
C语言题库(带详解答案)编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(C语言题库(带详解答案))的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为C语言题库(带详解答案)的全部内容。
一单项选择题1.(A )是构成C语言程序的基本单位.A、函数B、过程C、子程序D、子例程2.C语言程序从 C开始执行。
A) 程序中第一条可执行语句 B)程序中第一个函数C)程序中的main函数 D) 包含文件中的第一个函数3、以下说法中正确的是(C)。
A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中,要调用的函数必须在main( )函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main( )函数必须放在程序的开始部分4.下列关于C语言的说法错误的是( B)。
A) C程序的工作过程是编辑、编译、连接、运行B) C语言不区分大小写.C) C程序的三种基本结构是顺序、选择、循环D) C程序从main函数开始执行5。
下列正确的标识符是(C)。
A.-a1B.a[i]C.a2_iD.int t5~8题为相同类型题考点:标识符的命名规则(1)只能由字母、数字、下划线构成(2)数字不能作为标识符的开头(3)关键字不能作为标识符选项A中的“—” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3)6.下列C语言用户标识符中合法的是( B)。
A)3ax B)x C)case D)-e2 E)union选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是( C)。
C语言题库(带详解答案)(最新整理)
12.若 int x=2,y=3,z=4 则表达式 x<z?y:z 的结果是( B ).
A)4 B)3 C)2 D)0 E)1
13.C 语言中,关系表达式和逻辑表达式的值是( B ) 。
A) 0
B) 0 或 1
C) 1
D) ‘T’或’F’
14. 下面( D )表达式的值为 4.
A) 11/3
B) 11.0/3
选项 A 中的“-” ,选项 B 中“[”与“]”不满足(1);选项 D 中的 int 为关键字,不满足(3)
6.下列 C 语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union
选项 A 中的标识符以数字开头不满足(2);选项 C,E 均为为关键字,不满足(3);选项 D 中 的“-”不满足(1);
/为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=2
11.如果 int a=3,b=4;则条件表达式"a<b? a:b"的值是__A__。
A) 3
B) 4
C) 0
D) 1
详见教材 P97.
表达式 1?表达式 2:表达式 3
先计算表达式 1,
若表达式 1 成立, 则选择计算表达式 2,并表达式 2 的值作为整个大表达式的值;
选项 A,常量表达式只能放在中括号 [ ]中
选项 B,只有在对数组初始化(即赋值)的时候才可以省略数组的长度,B 中并未对 a 进行初始化。
选项 C,常量表达式不能为变量。
18.以下能对一维数组 a 进行初始化的语句是: ( C )
A. int a[5]=(0,1,2,3,4,) B. int a(5)={}
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题1、以下不能定义为用户标识符的是( )。
2、以下不能定义为用户标识符的是( )3、下面属于C 语言标识符的是( )。
4、下列符号中用来表示C 语言中的回车换行的是( )。
(A) \r 5、在计算机系统中,可执行程序是( ) (A) 源代码(B)汇编语言代码(D) ASCII 码6、在Visual C++ 6.0环境下,C 源程序文件名的默认后缀是( )。
7、Microsoft Visual C++ 6.0中,C 语言可执行程序的扩展名是:( )或cpp (D) txt 8、C 程序由( )组成。
(A)子程序 (B) 主程序和子程序过程 9、C 程序的基本组成单位( )。
(A)数据类型 (B) 变量和常量 表达式 10、C 语言中主函数的个数是( )。
(A) 2个 任意个 (D) 10个 11、一个C 程序的执行是从( )(B)本程序文件的第一个函数开始,到本程序文件最后一个函数结束. (C)本程序文件的第一个函数开始,到本程序main 函数结束. (D)本程序的main()函数开始,到本程序文件的最后一个函数结束. 12、以下叙述正确的是(A)在C 语言程序中,main函数必须放在其他函数的最前面 (C)在C 语言程序中,只有main 函数才可单独进行编译 (D)每个后缀为.C 的C 语言源程序都应该包含一个main 函数13、设变量a 是整型,b 是实型,c 是双精度型,则表达式2+’a’+b*c值的数据类型是( )。
(A) int (B) float 14、以下选项中表示一个合法的常量是(说明:符号□表示空格) A) 9□9□15、以下选项中非法的字符常量是16、以下选项中,能表示逻辑值“假”的是17、下列关系表达式中,结果为“假”的是18、关于C 语言变量,以下说法不正确的是( ) (A) 变量名由程序员定义,必须符合标识符的命名规则。
(B) 变量是程序运行过程中其值可以改变的量。
(D) 变量命名时应尽量做到见名知意。
19、关于C 语言中数的表示,以下叙述正确的是B)只要在在允许范围内整型和实型都能精确表示C)只有实型数在允许范围内能精确无误的表示,整型数会有误差 D)只有八进制表示的数在不会有误差20、设有语句int a=3;,则执行了语句a+=a -=a*a;后,变量a 的值是 。
A .3 B .0 C .21、在C 语言中,要求运算数必须是整型的运算符是 。
./ C .< D .! 22、C语言中最简单的数据类型包括 。
A .整型、实型、逻辑型C .整型、字符型、逻辑型D .整型、实型、逻辑型、字符型23、在C 语言中,合法的字符型常量是 。
."A" C .65 D .A24、若已定义x 和y 为double 型变量,则表达式x=1,y=x+3/2的值是 。
A .1B ..2.525、设正x 、y 均为整型变量,且x=10,y=3,则以下语句的输出结果是 。
printf("%d,%d\n",x--,--y);A .10,3B .9,3C .26、若有定义int a=8,b=5,C;,执行语句C=a/b+0.4;后,C 的值为 。
A ..2.0 D .2 27、以下选项中,不正确的赋值语句是 。
A .++t;B .n1=(n2=(n3=0));C .k=i==j;28、设x 和y 均为int 型变量,则语句:x+=y,y=x-y;x-=y;的功能是 。
A .把x 和y 按从大到小的顺序排列 B .把x 和y 按从小到大的顺序排列C .无确定结果 29、以下程序的输出结果是 。
#include <stdio.h> main() {char c='z'; printf("%c",c-25); }B .ZC .z-25D .y30、已知字母A 的ASCII 码为十进制数的65,以下程序的输出结果是 。
#include <stdio.h> main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);B .B,CC .C,DD .不确定的值31、若k 是int 型变量,则以下程序片段的输出结果是 。
k=-3;if(k<=0) printf("####"); B .&&&&C .####&&&&D .有语法错误,无输出结果32、关于以下程序,说法正确的是 。
#include <stdio.h>main(){ int x=3,y=0,z=0;if(x=y+z) printf("* * * *"); else printf("# # # #"); }A .有语法错误不能通过编译B .输出* * * *33、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为 。
A .a<>0B .!aC.a=034的C 语言表达式是 。
B .(x<=y)and(y<=z)C .(x<=y<=z)D .(x<=y)&(y<=z) 35、能正确表示逻辑关系a ≥10或a ≤0的C 语言表达式是 。
A .a>=10 or a<=0 C .a>=10 &&a<=036、若变量c 为char型,能正确判断出c 为小写字母的表达式是 。
A .'a'<=c<= 'z'C .('a'<=c)and ('z'>=c) 37、语句while(E);中的条件E A .E==0 B .E!=1 D .~E 38中的条件!E 等价于 。
B .E!=1C .E!=0D .~E39、以下程序片段的输出结果是 。
int x=23; do {printf("%2d",x--); } while(!x); A .打印出321C .不打印任何内容D .陷入死循环40、若i 、j 已定义为int型变量,则以下程序片段中,内循环体的执行次数是 。
for(i=5;i;i--)B .25C .24D .3041、以下程序的输出结果是 。
#include <stdio.h>main() {int n=4; while(n--) printf("%d ",--n);B .3 1C .3 2 1D .2 1 042、以下定义语句中,错误的是 。
A .int a[]={1,2};C .char s[10]="test";43、设int 型变量占用4个字节,如有定义int x[10]={0,2,4};,则数组x 在内存中所占的字节数是 。
A .3B .12C .2044、以下语句的输出结果是 。
B .1445、以下程序片段的输出结果是 。
char str[]="ab\n\012\\\""; A .3B .4D .1246、以下数组定义中,不正确的是 。
A .int a[2][3];B .int b[][3]={0,1,2,3}; 47、以下程序的输出结果是 。
#include <stdio.h> main() {int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); B .1470C .5430D .不确定的值48、以下程序的输出结果是 。
#include <stdio.h> main() { intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0; for(i=0;i<4;i++) s+=aa[i][1]; printf("%d\n",s); } A .11C .13D .2049、以下对C 语言字符数组的描术中,错误的是 。
A .字符数组可以存放字符串D .不可以用关系运算符对字符数组中的字符串进行比较 50、定义如下变量和数组:int i;int x[3][3]={1,2,3,4,5,6,7,8,9}; 以上语句的输出结果是 。
for(i=0;i<3;i++)printf("%d",x[i][2-i]); A .1 5 9 B .1 4 7D .3 6 951、不能将字符串:Hello!赋给数组b 的语句是 。
C .char b[10];strcpy(b,"Hello!");D .char b[10]="Hello!"; 52、以下数组定义中,合法的是 。
A .int a[]="string"; C .string s="string";53、若有以下定义语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为6的表达式是 。
A .*p+6B .*(p+6)D .p+554、若有以下定义语句:int w[3][4]={{0,1},{2,4},{5,8}};int(*p)[4]=w; 则数值为4的表达式是 。
A .*w[1]+1B .p++,*(p+1)C .55、若有以下定义语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a 数组元素的表达式是 。
A .*pC .*aD .a[p-a]56、下列保留字中用于构成循环结构的是( )57、以下程序运行结果是:( )(B) 输出5次“你好,中国!” (C) 没有任何输出 (D) 编译错误,不能运行 #include<stdio.h>main() {while(5)printf("你好,中国!"); }58、以下函数值的类型是 。
int fun(float x) {float y; y=3*x-4; return y;B .不确定C .voidD .float59、以下程序的输出结果是 。