C语言考试题库及答案2015
(完整版)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语言考试试题及答案
《C语言》考卷一单选题(每题2分,共25题,共50分)1.要把高级语言编写的源程序转换为目标程序,需要使用( )[2分][2分]A.编辑程序B.驱动程序C.诊断程序D.编译程序参考答案:D2.以下叙述中正确的是( )[2分][2分]A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D.main可作为用户标识符,用以命名任意一个函数作为主函数参考答案:C3.若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是( )[2分][2分] int a int a=66 = 65 + 1.6 =66.6A.a的值是字符BB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符‘A’的ASCII值加上2参考答案:Aint a = ‘A’;char b = 65;4.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )[2分][2分]A.a:=b+1B.a=b=c+2C.18.5%3D.a=a+7=c+b参考答案:B5.下列可用于C语言用户标识符的一组是( )[2分][2分]A.void, define, WORDB.a3_b3, _123,carC.For, -abc, IF CaseD.2a, DO, sizeof参考答案:B6.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )[2分][2分]A.scanf("%d",a,b,c);B.scanf("%d%d%d",a,b,c);C.scanf("%d",p); //scanf(“%d”,&c);D.scanf("%d",&p);参考答案:C7.以下关于long、int和short类型数据占用内存大小的叙述中正确的是( )[2分][2分]A.均占4个字节B.根据数据的大小来决定所占内存的字节数 // long a = 1 int b = 1000000C.由用户自己定义D.由C语言编译系统决定参考答案:D8.若变量已正确定义,有以下程序段i=0;do{printf("%d,",i); //0}while(i++); //while(0) i=1printf("%d\n",i); //1其输出结果是( )[2分][2分]A.0,0B.0,1C.1,1D.程序进入无限循环参考答案:B9.有以下计算公式则不能够正确计算上述公式的程序段是( )(提示:库函数sqrt()用来求一个数的平方根)[2分][2分]A.if(x>=0) y=sqrt(x); else y=sqrt(-x); //if/else配合使用B.y=sqrt(x) if(x<0) y=sqrt(-x);C.if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x); //if单独使用D.y=sqrt(x>=0?x:-x);参考答案:B10.设有条件表达式:EXP ? i++ : j--;则以下表达式与之完全等价的是( )[2分][2分]A.(EXP==0)? i++ : j--;B.(EXP!=0)? i++ : j--;C.(EXP==1)? i++ : j--;D.(EXP!=1)? i++ : j--;参考答案:B11.有以下程序#include<stdio.h>int main(void){int y=9;for( ; y>0; y--){if(y%3 == 0)printf("%d",--y);}}程序的运行结果是( )[2分][2分]A.741B.963C.852D.875421参考答案:C12.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )[2分][2分]A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元 //局部变量C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元参考答案:D13.已知字符‘A’的ASCⅡ代码值是65,字符变量c1的值是‘A’,c2的值是‘D’。
(完整版)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语言试卷及答案一、选择题(每题2分,共40分)1、C语言源程序的基本单位是( )A.程序行B.语句C.函数D.字符2、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后3、在下列字符列中,合法的标识符是( )A.p12&.aB.stud_100C. water$12D.88sum4、在C语言中,要求运算的数必须是整数的运算符是()A./B.!C.%D.= =5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()A、3B、0C、9D、-126、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()A、1B、2C、3D、47、执行下列程序时输入:1234567,程序的运行结果是()main(){int x,y;scanf(“%2d%*2c%1d”,&x,&y);printf(“%d\n”,x+y);}A.17B.46C.15D.98、下述程序的输出结果是() #includevoid main(){int x=-1,y=4;int k;k=++x<=0&&!(y--<=0);printf("%d,%d,%d",k,x,y);}A.0,0,3B.0,1,2,C.1,0,3,D.1,1,29、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if10、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是()main(){int x;scanf(“%d“,&x);if(x++>5)printf(“%d”,x);else printf(“%d\n”,x--);}A.7和5B.6和3C.7和4D.6和411、若变量c为char类型,能正确判断出c为小写字母的表达式是( )A. 'a'<=c<= 'z'B. (c>= 'a')||(c<= 'z')C. ('a'<=c)and ('z'>=c)D. (c>= 'a')&&(c<= 'z')12、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是。
c语言笔试考试题及答案
c语言笔试考试题及答案C语言笔试考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name答案:C2. 下列哪个选项是C语言的关键字?A. defineB. intC. integerD. float答案:B3. 以下哪个语句不能通过编译?A. int a = 10;B. int b = 10.5;C. int c = 'a';D. int d = 1.0;答案:B4. C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sin()D. sum()答案:D(注意:sum()不是C语言标准库函数,这里假设它是一个自定义函数)5. 以下哪个选项是正确的C语言数组声明?A. int numbers[];B. int numbers[10] = {};C. int numbers = 10;D. int [10] numbers;答案:B6. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\"World"答案:A7. 在C语言中,以下哪个是正确的函数声明?A. void myFunction();B. int myFunction;C. myFunction();D. int myFunction()答案:A8. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. cout()D. getchar()答案:C9. 在C语言中,以下哪个是正确的逻辑运算符?A. &&B. ||C. ||D. ++答案:A10. 下列哪个选项是C语言的预处理指令?A. #includeB. defineC. ifD. else答案:A二、简答题(每题5分,共20分)1. 请简述C语言中数组和指针的区别。
C语言试题库(含答案)
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;
C语言考试题库及答案
C语言考试题库及答案1. 以下不是C语言的特点的是( C )A、C语言简洁,紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言的移植性好2. 一个C程序是由()BA、一个主程序和若干个子程序组成B、一个或多个函数组成C、若干过程组成D、若干子程序组成3.以下描述正确的是( ) CA、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。
C、在do-while循环体中,不一定要有能使while后面表达式的值变成零(“假”)的操作。
D、do-while循环中,根据情况可以省略while。
4.以下对一维整形数组a的正确说明是( ) DA、int a(10);B、int n=10,a[n];C、int n;D、int a[10];5.以下对二维数组a的正确说明是( ) CA、inta[3][];B、float a(3,4);C、double a[1][4];D、float a(3)(4);6.数组名作为实参传给被调用的函数时,形参获得的是()CA、该数组第一个元素的值B、该数组所有元素的值C、该数组第一个元素的首地址D、该数组所有元素的首地址7. C程序的开始是从()AA、main()函数开始,直到main()函数结束B、第一个函数开始,直到最后一个函数结束C、第一个语句开始,直到最后一个语句结束D、main()函数开始,直到最后一个函数结束8.在C程序中,main()函数的位置()CA、必须作为第一个函数B、必须作为第二个函数C、可以任意D、必须放在它所调用的函数之后9. C编译程序是()CA、C语言的机器语言版本B、一组机器语言指令C、将C源程序编译成目标程序的程序D、是由自己编制的10.以下叙述中错误的是( )CA、C程序经过编译、连接之后形成一个真正可执行的二进制机器指令文件B、用C语言编写的程序称为源程序,它以ASCⅡ代码形式存放在文件中C、C语言中的每条可执行语句和非执行语句最终被转换成二进制的机器指令非执行的语句不转换:例如//和/**/是注释的意思D、C语言源程序经编译后生成后缀为.obj的目标程序1.以下不正确的C语言标识符是( )D字母,数字,下划线组成,但是不能以数字开头A、ABCB、abcC、a_bcD、ab.c12.一个C语言程序是由( ) BA、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成13.以下叙述错误的是( ) C算法可以没有输入输入,但是一定不能没有输出A、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有个相同的结果14.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+ i*f值的数据类型为( ) C强制类型转换A、intB、floatC、doubleD、不确定15.以下叙述中错误的是( )CA、结构化程序由顺序、分支、循环三种基本结构组成B、C语言是一种结构化程序设计语言C、使用三种基本结构构成的程序只能解决简单问题D、结构化程序设计提倡模块化的设计方法16.以下叙述中错误的是()CA、算法正确的程序最终一定会结束B、算法正确的程序可以有零个输入C、算法正确的程序可以有零个输出D、算法正确的程序对于相同的输入一定有相同的结果17.以下选项中关于程序模块化的叙述错误的是()BA、把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B、可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C、把程序分成若干相对独立的模块,可便于编码和调试D、可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序18. 关于C语言的符号常量,以下叙述中正确的是()CA、符号常量的名是标识符,必须大写B、符号常量的名是标识符,必须小写C、符号常量是指用一个符号名来代表一个常量D、符号常量的符号名必须是常量19.关于C语言的变量,以下叙述中错误的是()BA、所谓变量是指在程序运行过程中其值可以被改变的量B、变量所占的存储单元地址可以随时改变C、程序中用到的所有变量都必须先定义后使用D、由三条下划线构成的符号名是合法的变量名20.以下选项中合法的变量名是()CA、5aB、A%C、_10_D、sizeof21.在C语言中,char型数据在内存中的存储形式是( ) DA、补码B、反码C、源码D、ASCII码22.有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( ) 。
c语言考试题及答案
c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是:A. 数组必须在程序开始时初始化B. 数组的元素可以是不同的数据类型C. 数组的索引从1开始D. 数组的声明必须指定数组的大小答案:D5. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. define答案:B6. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. &答案:A7. 下列哪个选项是C语言中合法的注释?A. // 这是一个注释B. /* 这是一个注释 */C. // 这是一个注释/* 这是一个注释 */D. /* 这是一个注释 */答案:A8. C语言中,用于定义一个空指针的值是:A. NULLB. 0C. falseD. none答案:A9. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的索引D. 指针可以存储指针的地址答案:C10. 在C语言中,用于定义一个字符型指针的声明是:A. char *ptr;B. int *ptr;C. float *ptr;D. double *ptr;答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:______ int array[10];。
答案:int2. 如果一个变量的值是10,那么表达式sizeof(&var)的结果是:______。
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=13 C) 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) 字符8、设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) 10 10、下面程序的输出是____B______.#include<stdio.h>void main(){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___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型B) 整型,实型,字符型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(){char ch;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,10 D) 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);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.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) 636、若有定义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) 1 37、在C语言中,以下叙述不正确的是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) 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) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(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");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____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);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%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) 10 47、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___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!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) 1 D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___.A) Z B) a C) z D) 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) 1 C) 9 D) 054、运行下面程序时,若从键盘输入"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) 18 D) 2056、下列程序的执行结果是_____D____.#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,0 B) 0,0 C) 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____.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;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.50000C) 0.200000 D) 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) first B) firstsecond thirdC) first D) secondthird61、以下程序的执行结果是____A____.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 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>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%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);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入9,则输出结果是.______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) 9 D) 869、以下程序输出结果是_____D_____.#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);else printf("%d\n",--m);}A) 7 B) 6 C) 5 D) 4 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) 1077、运行下面程序后,输出是___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;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D_____.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2087、下面程序的运行结果是___B_____.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。
C语言_2014-2015第二学期试题A卷
#include<stdio.h>
voidmain()
{ int i,sum;
for(i=1;i<6;i++) sum+=sum;
printf("%d\n",sum);}
A.15 B.14 C.不确定D.0
20.以下程序段的输出结果是。
#include<stdio.h>
C.i=1;p=1;while(i<=5){p*=i;i++;}D.i=1;p=1;do{p*=i;i++;}while(i<=5);
18.以下数组定义中不正确的是______。
A.int a[2][3]; B.int b[ ][3]={0,1,2,3};
C.int c[100][100]={0}; D.int d[3][]={{1,2},{1,2,3},{1,2,3,4}};
int a[10]={6,7,8,9,10};
A.将5个初值依次赋给a[1]至a[5]
B.将5个初值依次赋给a[0]至a[4]
C.将5个初值依次赋给a[6]至a[10]
D.因为数组长度与初值的个数不相同,所以此语句不正确
25.合法的数组说明语句是______。
A.int a[ ]="string"; B.char a[ ]="string";
江苏大学试题
(2014-2015学年第二学期)
课程名称程序设计(C语言)开课学院计算机学院
使用班级理工类考试日期2015年06月17日
题号
一
二
三
总分
核查人签名
C语言考试题及答案
C语言考试题一、单项选择题(每题2分,共40分)1、一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(B)A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性2、C语言中最简单的数据类型包括(B)A、整型、实型、逻辑型B、整型、实型、字符型C、整型、字符型、逻辑型D、整型、实型、逻辑型、字符型3、设a和b均为double型变量,且a=5。
5、b=2。
5,则表达式(int)a+b/b的值是(D)A、 6.500000B、 6C、 5。
500000D、 6。
0000004、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是(B)A、 INPUT x、y、z;B、 scanf("%d%d%d",&x,&y,&z);C、 scanf(”%d%d%d”,x,y,z);D、 read("%d%d%d”,&x,&y,&z);5、设 int x=1, y=1;表达式(!x||y——)的值是(B)。
A、0B、1C、2D、—16、对两个字符数组a和b进行初始化char a[]="ABCDEF”;char b[ ]={'A',’B’,'C’,’D','E’,'F'}; 则以下叙述正确的是(D)。
A、a与b数组完全相同B、a与b长度相同C、a和b中都存放字符串D、a数组比b数组长度长7、为了避免在嵌套的条件语句if――else中产生二义性,c语言规定:else子句总是与(B)配对.A、缩排位置相同的ifB、其之前最近的ifC、其之后最近的ifD、同一行上的if8、下面不正确的字符串常量是(A)A、 'abc’B、”12'12”C、 "0”D、 " ”9、以下错误的if语句是(C).A、 if(x〉y) z=x;B、 if(x= =y) z=0;C、 if(x!=y) printf(”%d",x) else printf("%d”,y);D、 if(x<y) { x++;y-—;}10、若有说明:int a[3][4];则对a数组元素的非法引用是( D)。
2015C语言程序设计(2)期末复习题(1)
C语言程序设计(2)复习题判断题:●C程序是由函数构成的,每一个函数完成相对独立的功能。
()●被main函数调用的函数只能是库函数。
()●定义函数时,必须要有形参和返回值。
()●在C程序中,main函数和自定义的函数都可以有多个。
()●函数必须有return语句。
()●语句return(a,b);则函数可以返回两个值。
()●传值调用时,在函数中形参变量值改变后,不改变实参变量的值。
()●函数的递归调用不过是一个函数直接或间接地调用它自身。
()●在 C 程序中 , 函数既可以嵌套定义,也可以嵌套调用。
()●传值调用的形参只有在被调用时,才被创建(分配存储单元)。
()●自定义函数中若缺省函数值类型,则隐含的类型是int。
()●定义为void类型的函数,其含义是调用函数后,函数的返回值为任意的类型。
()●C语言程序中,若实参是变量,当调用函数时实参和形参各占一个独立的存储单元。
()●在C语言中,所有函数之间都可以相互调用。
()●void类型的函数一定无形参。
()●C语言规定,实参应与其对应的形参类型一致。
()●构成数组的各个元素的数据类型不一定要相同。
()●数组元素的下标必须是整数,不能用实数。
()●系统判断字符串结束的标志是’\n’。
()●定义数组后,可通过赋值运算符=对该数组名直接赋值。
例如:int a[5]; a={1,2,3,4,5};()●若有定义语句“int a[10];”则a[10-9/2] 是合法的数组元素。
()●若有定义:double a[10]={1.1,2.5},i=1;则a[i]为2.5。
()●语句int N=10; int a[N];可以正确定义数组a。
()●有定义:int a[10]={1,2,3,4,5};则a[5]为0。
()●有数组定义int a[3][3]={{1},{2,3}};,则a[3][3]的值为0。
()●若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维大小是3。
C语言考试复习题及答案
一、单选题(请将正确答案写在答题纸,1~20题每题1分,21~35题每题2分,共50分)1. 下列关于C语言的说法不正确的是( D )。
A.C语言既具有高级语言的一切功能,也具有低级语言的一些功能B.注释可以出现在程序中任意合适的地方C.C语言中的每一条执行语句都必须用分号结束,分号是C语言的一部分D.定义函数的首行要加分号2. C语言程序的执行顺序是(B)。
A.从第一个函数开始执行B.从main函数开始执行C.从任意函数开始执行D.从第一条语句开始执行3. 以下关于注释的叙述,正确的是(D)。
A.注释参与编译,影响程序结果B.注释不参与编译,但影响程序结果C.注释参与编译,但不影响程序结果D.注释不参与编译,不影响程序结果4. 以下叙述正确的是(A)。
A.C语言程序可以在任意C编译器下编译B.C语言程序只能在TC环境下编译C.C语言程序只能在VC或TC环境下编译D.C语言程序只能在VC环境下编译5. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符( B )。
A.必须为字母B.必须为下划线或字母C.必须为下划线D.可以是字母,数字和下划线中任一字符6. 下面四个数字常量选项中,书写均正确的是(D)。
A.016 0x8f 018 (零开头的是八进制,不能用8)B.0312 7ff -087(8进制没有符号)C.0xbc 0a7(8进制没有a)0xaD.070 0xf1 0x19(16进制以ox开头)7. 若有说明语句:char c=0x7f;则变量c(B)。
A.包含3个字符B.包含1个字符C.包含2个字符D.说明不合法,c的值不确定8. 设有int x=11;则表达式(++x*1/3)的值是( B )。
(11+1再除以3)A.3B.4C.11D.129. 阅读下面程序段,输出结果为( B )。
(z-a=25)#include "stdio.h"void main(){ char c;c=('z'-'a')/3+'A';putchar(c);}A.HB.JC.ID.K10. 若有定义和语句:int a=23,b=023; printf(“%x,%d \n”,a,b);输出结果是( D )。
(完整版)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语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。
2015C语言期末考试样题
---------------------------------------------------------------------------------------------------------------一、选择题(每小题1分,共30分)1.以下叙述正确的是( )。
A) 在C程序中,main函数必须位于程序的最前面B) C程序的每行中只能写一条语句C) C语言本身没有输入输出语句D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误2.一个C语言程序的基本单位是( )A) 函数B) 子程序C) 过程D) 命令3.一个C语言的语句必须使用的结束符号是()A) ,B) 。
C) :D) ;4.下列选项中,可以作为C语言标识符的是()A) 3stu B) #stu C) stu3D) stu.35.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为()A) float B) char C) int D) double6.下列叙述正确的是()A)赋值语句中的“=”是表示左边变量等于右边表达式B)赋值语句中左边的变量值不一定等于右边表达式的值C)赋值语句是由赋值表达式加上分号构成的D)x+=y;不是赋值语句7.若x为int型变量,则执行x=6; x+=x-=x*x; 语句后,x的值为()A) 36 B) -60 C) 60 D) -248.若有a=2,b=3,c=4,则表达式a= =3和a=3的值分别为()A) 0和0 B)1和3 C)3和3 D)0和39.使条件表达式(year%4==0&&year%100!=0)||(year%400==0)结果为假的值是()A) 1950B) 2000 C) 1996 D) 200410.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为( )。
x=(i=4,j=16,k=32)A) 4 B) 16 C) 32 D) 5211.逻辑运算符两侧运算对象的数据类型()A) 只能是0和1 B) 只能是0或非0正数C) 只能是整型或字符型数据D) 可以是任何类型的数据12.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。
C语言试题库(带答案解析)~排版
C语⾔试题库(带答案解析)~排版⼀、选择题1、以下不能定义为⽤户标识符的是()。
(A) MAIN (B) _HJ(D) LINE1 2、以下不能定义为⽤户标识符的是() (A) If(B) H_J (D) LINE12 3、下⾯属于C 语⾔标识符的是( )。
(A) 2ab (B) @f(C) b 4、下列符号中⽤来表⽰C 语⾔中的回车换⾏的是()。
(A) \r(C) \b (D) \t 5、在计算机系统中,可执⾏程序是() (A)源代码(B)汇编语⾔代码(D) ASCII 码6、在Visual C++ 环境下,C 源程序⽂件名的默认后缀是()。
(A) .obj (B) .txt (D) .doc7、Microsoft Visual C++ 中,C 语⾔可执⾏程序的扩展名是:( )(B) obj (C) c 或cpp (D) txt 8、C 程序由()组成。
(A)⼦程序 (B) 主程序和⼦程序 (D) 过程 9、C 程序的基本组成单位()。
(A) 数据类型 (B) 变量和常量 (D) 表达式 10、C 语⾔中主函数的个数是( )。
(A) 2个 (C) 任意个 (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□9 C) D)15、以下选项中⾮法的字符常量是A)'\102' B)'\65' C)'\xff' 16、以下选项中,能表⽰逻辑值“假”的是A)1 B) D)17、下列关系表达式中,结果为“假”的是 A)(3+4)>6 C) 3<=4||3 D)(3<4)==1 18、关于C 语⾔变量,以下说法不正确的是() (A) 变量名由程序员定义,必须符合标识符的命名规则。
C语言题库(含答案)
C语言题库(含答案)一、简答题。
( 共14题 ,共0分,每题0分 )1. int i=10, j=10, k=3; k*=i+j; k最后的值是?答:k = 60ok2. 写出程序结果:void Func(char str[100]){printf("%d\n", sizeof(str));}答:4或者8(如果操作系统为32位则为4,64位则为8)是地址吗3. 写出sizeof(struct name2)的结果struct name2{char str;int num;short x;}不会!看结构答:此题考察结构对齐的知识,结果为124. 写出sizeof(struct name1) 的结果struct name1{char str;short x;int num;}不会!答:同样考察的是结构对齐的知识,结果为85. A.c 和B.c两个c文件中使用了两个相同名字的static变量,编译的时候会不会有问题?这两个static变量会保存到哪里(栈还是堆或者其他的)?答:没有问题,static变量只在当前文件中有效,也就是说static 变量的作用域属于所在的文件域。
static变量保存在全局/静态区6. (void *)ptr 和(*(void**))ptr的结果是否相同?答:相同。
首先第一个(void *)ptr将ptr转换为空指针类型(一级指针),(*(void**))ptr相当于先将ptr转换为空类型指针(二级指针)。
二级指针是指向指针的指针,在前面加上*(解指针),也就是空类型指针了(一级指针)。
7. #define DOUBLE(x) x+x ,i = 5*DOUBLE(5);i 是多少?答: i = 5 * 5+5 = 30;看书上的结构理解下意思8. 下面的声明都是什么意思?const int a;int const a;const int *a;int * const a;int const * const a ;答:第一个定义常量a,第二个也是定义常量a,第三个定义常量指针a,第四个定义指针常量a,第五个定义指向常量的指针常量(相当于const引用)。
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语言c语言考试题库及答案
c语言c语言考试题库及答案一、选择题1. 在C语言中,用于定义变量的关键字是:A. defineB. varC. intD. let答案:C2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable-twoD. variable#答案:B3. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\tWorld"答案:A5. 以下哪个是C语言中的控制语句?A. ifB. switchC. both A and BD. none of the above答案:C二、填空题6. 在C语言中,一个基本的程序结构包括____、____和____。
答案:预处理指令;函数定义;语句7. 一个C语言程序的执行从____函数开始。
答案:main8. 在C语言中,使用____关键字可以定义一个函数。
答案:void 或其他数据类型9. 一个C语言数组的元素默认情况下是按照____顺序存储的。
答案:连续10. C语言中的____运算符用于连接字符串。
答案:+三、简答题11. 解释C语言中指针的概念。
答案:指针是一种变量,它存储了另一个变量的内存地址。
通过指针,可以直接操作内存地址中的数据,实现数据的间接引用。
12. 描述C语言中结构体的定义和使用。
答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的变量组合成一个单一的类型。
定义结构体时,使用struct关键字,然后定义结构体的名称和成员。
使用结构体时,可以创建结构体变量,并通过点(.)运算符访问其成员。
四、编程题13. 编写一个C语言程序,计算并输出1到100的整数之和。
c语言考试试题及答案
c语言考试试题及答案一、选择题1. 在C语言中,下列哪个关键字用于声明一个变量的名称?A. defineB. intC. printfD. scanf答案:B2. 函数的返回类型可以是下列哪种类型?A. intB. floatC. charD. all of the above答案:D3. 下列哪个运算符用于访问结构体变量的成员?A. .B. ->C. :D. ,答案:A4. 文件指针是下列哪种类型?A. FILEB. pointerC. file*D. fp答案:A5. 下面哪个循环结构在执行前先判断条件,再决定是否执行循环体?A. forB. whileC. do-whileD. switch答案:B二、填空题1. C语言中,用于定义常量的关键字是____。
答案:const2. 在C语言中,用于输出结果到控制台的函数是____。
答案:printf3. C语言中,用于读取用户输入的函数是____。
答案:scanf4. 下面是一个二维数组的声明方式:int arr[3][4];那么该数组的元素个数是____。
答案:125. C语言中,用于在循环执行过程中跳过当前迭代的关键字是____。
答案:continue三、编程题请编写一个程序,实现从键盘输入两个整数,然后输出它们的和。
```c#include <stdio.h>int main(){int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```以上是一道简单的示例题目,通过该题目可以熟悉C语言的基本输入输出、变量声明和运算符等基础知识。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
200题)C语言(共1、下面程序的输出是___D______voidmain()#include<stdio.h>{intx=023;voidmain()printf("%d\n",--x);{intk=11;}printf("k=%d,k=%o,k=%x\n",k,k,k);A)17B)18C)23D)24}11、下面程序的输出的是_____C____.A)k=11,k=12,k=11B)k=11,k=13,k=13#include<stdio.h>C)k=11,k=013,k=0xbD)k=11,k=13,k=bvoidmain(){intx=10,y=3;2、在下列选项中,不正确的赋值语句是__D______.printf("%d\n",y=x/y);A)++t;B)n1=(n2=(n3=0));}C)k=i=j;D)a=b+c=1;A)0B)1C)3D)不确定的值的65,下面程序制3、下面合法的C语言字符常量是______A____.12、已知字母A的ASCII码为十进的输出是______A_____.A)'\t'B)"A"C)65D)A#include<stdio.h>4、表达式:10!=9的值是________D____.voidmain()A)trueB)非零值C)0D)1{charch1,ch2;ch1='A'+'5'-'3';型关键字是ch2='A'+'6'-'3';5、C语言提供的合法的数据类_____B____.printf("%d,%c\n",ch1,ch2);A)DoubleB)shortC)integerD)Char}A)67,DB)B,CC)C,DD)不确定的值6、字符(char)型数据在微机内存中的存储形式是__D__.13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.A)反码B)补码C)EBCDIC码D)ASCII码A)a<>0B)!aC)a=0D)a7、C语言程序的基本单位是_____C______.A)程序行B)语句C)函数D)字符14、以下程序的输出结果是____D_____.#include<stdio.h>8、设inta=12,则执行完语句a+=a-=a*a后,a的值是voidmain()____D____{intx=10,y=10;A)552B)264C)144D)-264printf("%d%d\n",x--,--y);}9、执行下面程序中的输出语句后,输出结果是A)1010B)99C)910D)109____B__.:#include<stdio.h>15、设有如下定义voidmain()intx=10,y=3,z;{inta;则语句printf("%d\n",(a=3*5,a*4,a+5));printf("%d\n",z=(x%y,x/y));}的输出结果是_____D_____.A)65B)20C)15D)10A)1B)0C)4D)310、下面程序的输出是____B______.16、为表示关系x≥y≥z,应使用C语言表达式#include<stdio.h>___A___.-1-A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)}程序的运行结果是______C____.C)(x>=y>=z)D)(x>=y)&(y>=z)A)8,10,8,10B)9,11,8,1017、C语言中非空的基本数据类型包括____B____.C)9,11,9,10D)9,10,9,11A)整型,实型,逻辑型B)整型,实型,字符型C)整型,字符型,逻辑型22、已知a=12,则表达式a+=a-=a*=a的结果是D)整型,实型,逻辑型,字符型_____A__.18、若x和y都是int型变量,x=100,y=200,且有下面的A)0B)144C)12D)-264程序片段:23、若已定义inta,则表达式a=10,a+10,a++的值是printf("%d",(x,y));__B_.上面程序片段的输出结果是____A___.A)20B)10C)21D)11A)200B)100C)100200D)输出格式符不够,输出不确定的值24、阅读下面的程序#include<stdio.h>19、阅读下面的程序voidmain()#include<stdio.h>{voidmain()inti,j;{scanf("%3d%2d",&i,&j);charch;printf("i=%d,j=%d\n",i,j);scanf("%3c",&ch);}如果从键盘上输入1234567<回车>,则程序的运行结果printf("%c",ch);是____D____.}如果从键盘上输入A)i=123,j=4567B)i=1234,j=567abc<回车>C)i=1,j=2D)i=123,j=45则程序的运行结果是__A_____.A)aB)bC)cD)程序语法出错25、下面程序的输出结果是____D____.#include<stdio.h>20、阅读下面的程序voidmain()#include<stdio.h>{voidmain()inta=-1,b=4,k;{k=(++a<=0)&&(b--<=0);inti,j;printf("%d,%d,%d\n",k,a,b);i=010;}j=9;A)1,1,2B)1,0,3C)0,1,2D)0,0,3printf("%d,%d",i-j,i+j);}26、下面程序的输出结果是____A____.则程序的运行结果是____D____.#include<stdio.h>A)1,19B)-1,19C)1,17D)-1,17voidmain(){21、阅读下面的程序inta=5,b=3;#include<stdio.h>floatx=3.14,y=6.5;voidmain()printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));{}inti,j,m,n;A)1,0B)0,1C)1,1D)0,0i=8;j=10;m=++i;27、执行下面程序段后,输出结果是____A____.n=j++;inta;printf("%d,%d,%d,%d",i,j,m,n);intb=65536;-2-a=b;B)在C程序中,变量名代表存储器中的一个位置printf("%d\n",a);C)静态变量的生存期与整个程序的生存期相同A)65536B)0C)-1D)1D)C语言中变量必须先定义后引用28、若有以下定义和语句:38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.inta=010,b=0x10,c=10;printf("%d,%d,%d\n",a,b,c);A)必须为字母则输出结果是____B_____.B)必须为下划线A)10,10,10B)8,16,10C)8,10,10D)8,8,10C)必须为字母或下划线29、已知有double型变量x=2.5,y=4.7,整型变量a=7,D)可以是字母,数字或下划线中的任意一种则表达式x+a%3*(int)(x+y)%2/4的值是_____B____.39、设有说明:charw;intx;floaty;doublez;则表达式:A)2.4B)2.5C)2.75D)0w*x+z-y值的数据类型是___D____.A)floatB)charC)intD)double30、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.40、一个C语言的执行是从_____A______.A)5.5B)5C)3D)4.0A)本程序的主函数开始,到本程序的主函数结束B)本程序的第一个函数开始,到本程序的最后一个函31、以下程序的输出结果是____D____.数结束#include<stdio.h>C)本程序的主函数开始,到本程序的最后一个函数结voidmain()束{D)本程序的第一个函数开始,到本程序的主函数结束inta=12,b=12;printf("%d,%d\n",--a,++b);41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.}A)10,10B)12,12C)11,10D)11,13A)10<a<15B)a==11||a==12||a==13||a==14C)a>10&&a<15D)!(a<=10)&&!(a>=15)32、设有以下语句:intx=10;x+=3+x%(3),则x的值是.____A_____42、下列程序执行后的输出结果是_____C____.A)14B)15C)11D)12#include<stdio.h>voidmain()33、若d为double型变量,则表达式d=1,d+5,d++的值{inta=5,b=60,c;是_____D__.if(a<b)A)1B)6.0C)2.0D)1.0{c=a*b;printf("%d*%d=%d\n",b,a,c);}else34、表达式5!=3的值是____D____.{c=b/a;printf("%d/%d=%d\n",b,a,c);}A)TB)非零值C)0D)1}A)60/5=12B)300C)60*5=300D)1235、若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.43、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A)0B)1C)12D)6A)if(c=='32')B)if(c==32)36、若有定义intx=3,y=2和floata=2.5,b=3.5,则表达C)if(c=='\40')D)if(c=='')式:(x+y)%2+(int)a/(int)b的值是__D__.A)0B)2C)1.5D)144、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____.37、在C语言中,以下叙述不正确的是_____A____.#include<stdio.h>A)在C程序中,无论是整数还是实数,都能被准确无误voidmain()的表示{-3-intx,y;{floata,b;scanf("%d,%d",&x,&y);scanf("%f",&a);if(x==y)if(a<0.0)b=0.0;printf("x==y");elseif((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);elseif(x>y)elseif(a<10.0)b=1.0/2;printf("x>y");elseb=10.0;elseprintf("%f\n",b);printf("x<y");}}A)0.000000B)0.500000A)3<5B)5>3C)x>yD)x<yC)1.000000D)0.25000045、运行下面程序时,若从键盘输入数据为48、执行下面程序后,运行结果是____A____."6,5,7<CR>",则输出结果是____C___.#include<stdio.h>#include<stdio.h>voidmain()voidmain(){intx=41,y=1;{inta,b,c;if(x%3==0&&x%7==0)scanf("%d,%d,%d",&a,&b,&c);{y+=x;printf("y=%d\n",y);}if(a>b)elseif(a>c){y=x;printf("y=%d",y);}printf("%d\n",a);}elseA)y=41B)y=43C)y=42D)y=1printf("%d\n",c);else49、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.if(b>c)printf("%d\n",b);#include<stdio.h>elsevoidmain()printf("%d\n",c);{intx,y,z;}scanf("%d,%d,%d",&x,&y,&z);A)5B)6C)7D)不定值if(x<y)if(y<z)printf("%d\n",z);elseprintf("%d\n",y);46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.elseif(x<z)printf("%d\n",z);#include<stdio.h>elseprintf("%d\n",x);voidmain()}{intk;charcp;A)34B)12C)9D)不确定的值cp=getchar();if(cp>='0'&&cp<='9')50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.k=cp-'0';elseif(cp>='a'&&cp<='f')#include<stdio.h>k=cp-'a'+10;voidmain()elsek=cp-'A'+10;{charch;printf("%d\n",k);ch=getchar();}switch(ch)A)2B)4C)1D)10{case'H':printf("Hello!\n");case'G':printf("Goodmorning!\n");47、运行下面程序时,从键盘输入"2.0<CR>",则输出default:printf("Bye_Bye!\n");结果是___B_____.}#include<stdio.h>}voidmain()A)Hello!B)Hello!-4-GoodMorning!C)Hello!D)Hello!56、下列程序的执行结果是_____D____.Goodmorning!Bye_Bye!#include<stdio.h>Bye_Bye!voidmain(){intx=0,y=1,z=0;51、执行下列程序段后的输出结果是_____A____.if(x=z=y)intx=1,y=1,z=1;x=3;x+=y+=z;printf("%d,%d\n",x,z);printf("%d\n",x<y?y:x);}A)3B)2C)1D)4A)3,0B)0,0C)0,1D)3,152、设ch是char型变量,值为'A',则表达式ch=(ch>='A'57、假定等级和分数有以下对应关系:&&ch<='Z')?ch+32:ch的值是__B___.等级:A分数:85~100等级:B分数:60~84A)ZB)aC)zD)A等级:C分数:60以下对于等级grade输出相应的分数区间,能够完成该功53、下面程序的输出结果是____C____.能的程序段是____D____.#include<stdio.h>voidmain()A)switch(grade){intx=8,y=-7,z=9;{if(x<y)case'A':printf("85--100\n");if(y<0)z=0;case'B':printf("60--84\n");elsez-=1;case'C':printf("60以下\n");printf("%d\n",z);default:printf("等级错误!\n");}}A)8B)1C)9D)0B)switch(grade){54、运行下面程序时,若从键盘输入"5<CR>",则程序的case'A':printf("85--100\n");break;输出结果是_____B___.case'B':printf("60--84\n");#include<stdio.h>case'C':printf("60以下\n");voidmain()default:printf("等级错误!\n");{inta;}scanf("%d",&a);C)switch(grade)if(a++>5)printf("%d\n",a);{elseprintf("%d\n",a--);case'A':printf("85--100\n");break;}case'B':printf("60--84\n");break;A)7B)6C)5D)4case'C':printf("60以下\n");default:printf("等级错误!\n");55、运行下面程序时,若从键盘输入"3,4<CR>",则}程序的输出结果是____B___.D)switch(grade)#include<stdio.h>{voidmain()case'A':printf("85--100\n");break;{inta,b,s;case'B':printf("60--84\n");break;scanf("%d,%d",&a,&b);case'C':printf("60以下\n");break;s=a;default:printf("等级错误!\n");if(s<b)s=b;}s=s*s;printf("%d\n",s);58、能够完成如下函数计算的程序段是__B____.}┌-1x<0A)14B)16C)18D)20y=┤0x=0-5-└1x>0b=1;A)y=1;B)if(x>=0)d=20;if(x!=0)if(x>0)y=1;if(a)d=d-10;if(x>0)y=1;elsey=0;elseif(!b)elsey=0;elsey=-1;if(!c)x=15;C)y=0;D)y=-1;elsex=25;if(x>=0)if(x>0)y=1;printf("d=%d\n",d);if(x>0)y=1;elsey=0;}elsey=-1;A)d=20B)d=10C)d=15D)2559、有如下程序62、有如下程序:#include<stdio.h>#include<stdio.h>voidmain()voidmain(){floatx=5.0,y;{inta=2,b=-1,c=2;if(x<0.0)y=0.0;if(a<b)elseif(x<10.0)y=1.0/x;if(b<0)c=0;elsey=1.0;elsec++;printf("%f\n",y);printf("%d\n",c);}}该程序的输出结果是____C_____.该程序的输出结果是___C_____.A)0.000000B)0.50000A)0B)1C)2D)3C)0.200000D)1.00000063、下列程序执行后的输出结果是____B____.60、以下程序的执行结果是___B_____.#include<stdio.h>#include<stdio.h>voidmain()voidmain(){intx,y=1,z;{intx=1,y=0;if((z=y)<0)x=4;switch(x)elseif(y==0)x=5;{elsex=6;case1:printf("%d,%d\n",x,y);switch(y)}{A)4,1B)6,1C)5,0D)出错信息case0:printf("first\n");break;case1:printf("second\n");break;64、有如下程序}#include<stdio.h>case2:printf("third\n");voidmain()}{intx=1,a=0,b=0;}switch(x)A)firstB)first{secondthirdcase0:b++;C)firstD)secondcase1:a++;thirdcase2:a++;b++;}61、以下程序的执行结果是____A____.printf("a=%d,b=%d\n",a,b);#include<stdio.h>}该程序的输出结果是______A____.voidmain(){inta,b,c,d,x;A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2a=c=0;-6-65、下面程序的输出结果是____C_____.scanf("%d",&x);#include<stdio.h>if(x++>5)printf("%d\n",x);voidmain()elseprintf("%d\n",x--);{inta=-1,b=1,k;}if((++a<0)&&(b--<=0))A)7B)6C)5D)4printf("%d%d\n",a,b);else71、以下程序段运行结果是____A____.printf("%d%d\n",b,a);intx=1,y=1,z=-1;}x+=y+=z;A)-11B)01C)10D)00printf("%d\n",x<y?y:x);66、假定w、x、y、z、m均为int型变量,有如下程A)1B)2C)4D)不确定的值序段:72、有以下程序w=1;x=2;y=3;z=4;#include<stdio.h>m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;voidmain()则该程序段执行后,m的值是____D_____.{inta,b,c=246;A)4B)3C)2D)1a=c/100%9;b=(-1)&&(-1);67、以下程序的输出结果是___D______.printf("%d,%d\n",a,b);main()}{inta=100;输出结果是____A____.if(a>100)printf("%d\n",a>100);A)2,1B)3,2C)4,3D)2,-1elseprintf("%d\n",a<=100);}73、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.A)a<=100B)100C)0D)1#include"stdio.h" 68、若执行下面的程序从键盘上输入9,则输出结果voidmain()是.______B________{intnum,i,j,k,place; #include<stdio.h>scanf("%d",&num);voidmain()if(num>99){intn;place=3;scanf("%d",&n);elseif(num>9)if(n++<10)printf("%d\n",n);place=2;elseprintf("%d\n",n--);}elseA)11B)10C)9D)8place=1;i=num/100;69、以下程序输出结果是_____D_____.j=(num-i*100)/10;#include<stdio.h>k=(num-i*100-j*10);voidmain()switch(place){intm=4;{case3:printf("%d%d%d\n",k,j,i);if(++m>5)printf("%d\n",m--);break;elseprintf("%d\n",--m);case2:printf("%d%d\n",k,j);}break;A)7B)6C)5D)4case1:printf("%d\n",k);}70、若执行下面的程序从键盘上输入5,则输出结果是.}#include<stdio.h>A)123B)1,2,3C)321D)3,2,1voidmain(){intx;74、执行下列程序后的输出结果是___D____.-7-#include<stdio.h>A)缩排位置相同的ifvoidmain()B)在其之前未配对的if{intk=4,a=3,b=2,c=1;C)在其之前尚未配对的最近的ifprintf("%d\n",k<a?k:c<b?c:a);D)同一行上的if}A)4B)3C)2D)180、设x、y、z、t均为int型变量,则执行以下语句后,t的值为____C_____.75、以下条件表达式中能完全等价于条件表达式x的x=y=z=1;是____B___.t=++x||++y&&++z;A)(x==0)B)(x!=0)C)(x==1)D)(x!=1)A)不定值B)4C)1D)076、若运行下面程序时,给变量a输入15,则输出结果81、以下程序段____C______.是___A___.x=-1;#include<stdio.h>dovoidmain(){{inta,b;x=x*x;scanf("%d",&a);}while(!x);b=a>15?a+10:a-10;A)是死循环B)循环执行两次printf("%d\n",b);C)循环执行一次D)有语法错误}A)5B)25C)15D)1082、对下面程序段描述正确的是___B____.intx=0,s=0;77、运行下面程序后,输出是___D___.while(!x!=0)s+=++x;#include<stdio.h>printf("%d",s);voidmain()A)运行程序段后输出0{intk=-3;B)运行程序段后输出1if(k<=0)printf("****\n");C)程序段中的控制表达式是非法的elseprintf("####\n")D)程序段循环无数次}A)####83、下面程序段的输出结果是____C____.B)****x=3;C)####****do{y=x--;D)有语法错误不能通过编译if(!y){printf("*");continue;}printf("#");78、执行下面程序的输出结果是____C____.}while(x=2);#include<stdio.h>A)##B)##*C)死循环D)输出错误信息voidmain(){inta=5,b=0,c=0;84、下面程序的运行结果是____B____.if(a=a+b)printf("****\n");#include<stdio.h>elseprintf("####\n");voidmain()}{inta=1,b=10;A)有语法错误不能编译doB)能通过编译,但不能通过连接{b-=a;a++;C)输出****}while(b--<0);D)输出####printf("%d,%d\n",a,b);}79、为了避免嵌套的if-else语句的二义性,C语言规A)3,11B)2,8C)1,-1D)4,9定else总是与___C___组成配对关系.-8-85、下面程序段的运行结果是____B______.voidmain()intn=0;{inta,b;while(n++<=2)a=-1;printf("%d",n);b=0;A)012B)123C)234D)错误信息do{++a;86、下面程序段的运行结果是___D_____.++a;intx=0,y=0;b+=a;while(x<15)y++,x+=++y;}while(a<9);printf("%d,%d",y,x);printf("%d\n",b);A)20,7B)6,12C)20,8D)8,20}87、下面程序的运行结果是___B_____.A)34B)24C)26D)25#include<stdio.h>91、下面程序段的运行结果是_____D______.voidmain()for(i=1;i<=5;){ints=0,i=1;printf("%d",i);while(s<=10)i++;{s=s+i*i;A)12345B)1234C)15D)无限循环i++;}92、下面程序的输出结果是_____B_____.printf("%d",--i);#include<stdio.h>}voidmain()A)4B)3C)5D)6{intn=4;while(n--)printf("%d",n--); 88、函数pi的功能是根据以下近似公式求π值:}____C______A)20B)31C)321D)210(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。