C语言单选题试卷

合集下载

C语言单选题

C语言单选题

1、下列符号串中,不属于C语言保留字的是A、ifB、thenC、staticD、for参考答案:B2、下列符号中,不属于转义字符的是A、\\B、\x00C、\nD、\09参考答案:D3、以下程序的输出结果是# include <stdio.h># include <string.h>void main(){char str[12]={'s','t','r','I','n','g','\0'};printf("%d\n",strlen(str));}A、6B、7C、11D、12参考答案:A4、下列符号可以作为变量名的是:A、+aB、*pC、_DAYD、next day参考答案:C5、下面有关for循环的正确描述是:A、for循环只能用于循环次数已经确定的B、for循环是先执行循环体语句,后判断表达式C、在for循环中,不能用break语句跳出循环体D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来参考答案:D6、C语言规定,函数返回值的类型是由A、return语句中的表达式类型所决定B、调用该函数时的主函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定参考答案:D7、假定a和b为int型变量,则执行以下语句后b的值为a=1;b=10;do{b-=a;a++;}while(b--<0);A、9B、-2C、-4D、8参考答案:D8、若有以下说明,则数值为4的表达式是:int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',g;A、a[g-c]B、a[4]C、a['d'-'c']D、a['d'-c]参考答案:D9、以下叙述不正确的是A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面参考答案:D10、执行下列程序段,其中的do-while循环一共执行_次。

(完整版)C语言试题库(完整版)

(完整版)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语言单选题

c语言单选题\、c语言源程序的基本单位是()。

a)过程b)函数c)子程序d)标识符答案:b\\、下列字符序列中,可用作c标识符的一组字符序列是()。

a)s.b,sum,average,_aboveb)class,day,lotus_1,2dayc)#md,&12x,month,student_n!d)d56,r_1_2,name,_st_1答案:d\\、以下标识符中,不能作为合法的c用户定义标识符的是()。

a)a3_b3b)voidc)_123d)if答案:b\\、以下数据中,不恰当的数值或字符常量就是()。

a)0b)5lc)o13d)9861答案:c\\、以下的选择中,正确的赋值语句是()。

a)a=1,b=2b)j++c)a=b=5;d)y=int(x)答案:c\\、以下运算符中,优先级最低的运算符就是()。

a)?:b)++c)&&d),答案:b\\、在c语言中,能代表逻辑值“真”的是()。

a)trueb)大于0的数c)非0整数d)非0的数答案:d\\、下列变量说明语句中,正确的是()。

a)char:abc;b)chara;b;c;c)intx;z;d)intx,z;答案:d\\、以下字符序列中,不容用做c语言标识符的就是()。

a)b70b)#abc)symbold)a_1答案:b\\、以下不正确的叙述是()。

a)在c程序中所用的变量必须先定义后采用b)程序中,aph和aph就是两个相同的变量c)若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变d)当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值答案:d\\、以下标识符中,不能作为合法的c用户定义标识符的是()。

a)forb)printfc)wordd)sizeof答案:d\\、以下标识符中,无法做为合法的c用户定义标识符的就是()。

a)answerb)toc)signedd)_if答案:c\\、以下标识符中,不能作为合法的c用户定义标识符的是()。

C语言试卷

C语言试卷

C语言试卷1. 以下不是C语言的特点的是 ( B D )。

[单选题] *A.(正确答案)C语言简洁、紧凑D. C语言移植性好2. 以下不正确的C语言标识符是()。

[单选题] *A. ABCB. AbcC. a_bcD. ab.c(正确答案)3. 3.C语言规定,函数返回值的类型由()所决定。

[单选题] * A.return语句中的表达式类型B.调用该函数时的主调函数类型C.调用该函数时的形参类型D.在定义该函数时所指定的函数类型(正确答案)4. C程序由()组成。

[单选题] *A.子程序B.主程序和子程序C.函数(正确答案)D.过程5. 设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为()。

[单选题] *A. intB. FloatC. double(正确答案)D. 不确定6. 在C语言中,char型数据在内存中的存储形式是()。

[单选题] *A. 补码B. 反码C. 源码D. ASCII码(正确答案)7. 有如下程序,输入数据:12345M678<cR>后( [单选题] *#includemain(){int x;float y;scanf("%3d%f",&x,&y);}A. 12345B. 123C. 运行错误(正确答案)D. 3458. 若有以下定义int a,b; float x,则正确的赋值语句是()。

[单选题] *A. a=1,b=2C. a=b=5;(正确答案)D. b=int(x);9. 以下程序的执行结果是()。

[单选题] *#include{int i=10,j=10;printf("%d,%d\n",++i,j--);}A. 11,10(正确答案)B. 9,10C. 11,9D. 10,910. 已知字母A的ASCII码是65,以下程序的执行结果是()。

[单选题] * #includemain(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A. A,YB. 65,65C. 65,90D. 65,89(正确答案)11. 下列运算符中优先级最高的是()。

C语言100题

C语言100题

C语言100题C语言精编100题一、单选题1.由C语言编写的代码程序( )A. 可直接执行B. 是一个源程序C. 经过编译即可执行D. 经过编译解释才能执行2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是( )A. 大写字母B. 中划线C. 数字字符D. 下划线3.下列选项中,不能用作标识符的是( )A. _1234_B. _1_2C. int_2_D. 2_int_4.以下选项中合法的用户标识符是( )A. longB. _2TestC. 3DmaxD. A.dat5.以下不能定义为用户标识符的是( )A. MainB. _0C. _intD. sizeof6.下列定义变量的语句错误的是( )A. int _int;B. double int_;C. char For;D. float US$;7.在C语言中,合法的实型常数是( )A. 5E2.0B. E-3C. 2E0D. 1.3E8.在C语言中,合法的实型常数是( )A. 1.2E0.5B. 3.14159EC. 5E-3D. E159.以下选项中,不能作为合法常量的是( )A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e010.以下不合法的数值常量是( )A. 011B. le1C. 8.0E0.5D. 0xabcd11.在C语言中,非法的字符常量是( )A.‘\t’B.‘\17’C. "\n"D.‘\xaa’12.以下不合法的字符常量是( )A.‘\018’B.‘\"’C.‘\\’D.‘\xcc’13.下列运算符中优先级最高的运算符是( )( )A. <=B. =C. %D. &&A. ==B. /C. =D. >=14.以下程序的输出结果是( )main(){ int a=3,b=4;printf("%d\n",a<=b);}A. 3B. 4C. 1D. 015.在C语言中,以下非法的表达式是( )A. 0<=x<=100B. i=j==0C. (char)(65+3)D. x+1=x+116.在C语言中,以下非法的赋值语句是( )A. j++;B. ++(i+1);C. x=j>0;D. k=i==j;17.表达式3.6-5/2+1.2+5%2的值是( )A. 4.3B. 4.8C. 3.3D. 3.818.设有语句:int a=3;则执行了语句a+=a-=a*a;变量a的值是( )A. 3B. 0C. 9D. -1219.设有语句:int x=10;则执行了语句x+=x-=x-x;变量x的值是( )A. 10B. 20C. 40D. 3020.以下程序的输出结果是( )( )( )( )( )⑴ main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}A. 9,2B. 10,2C. 9,1D. 10,1⑵ main(){ int a=12,b=12;printf("%d %d\n" ,--a,++b);}A. 10 10B. 12 12C. 11 10D. 11 13⑶ main(){ int x=023;printf("%d\n",--x);}A. 17B. 18C. 23D. 24⑷ main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A. 10 10B. 9 9C. 9 10D. 10 9⑸ main(){ int i=010,j=10;printf("%d,%d\n",++i,j--);}A. 11,10B. 9,10C. 010,9D. 10,921.以下程序的输出结果是( ) main(){ int x=100,y=200;printf("%d\n",(x,y)); }A. 200B. 100C. 100 200 D)200 10022.以下程序的输出结果是( )main(){ int x=10,y=3,z;printf("%d\n",z=(x%y,x/y));}A. 1B. 0C. 4D. 323.int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( )A. k++B. k+=1C. ++kD. k+124.以下程序的输出结果是( )main(){ int x,y,z;x=y=1;z=x++,y++,++y;printf("%d,%d,%d\n",x,y,z); }A. 2,3,3B. 2,3,2C. 2,3,1D. 2,2,125.设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为( )A. 1B. 2C. 3D. 426.设int x=-1;执行表达式++x||++x||++x||++x,x的值是( )A. 0B. 1C. 2D. 427.以下程序的输出结果是(1) main(){ int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k);}()A. k=11,k=12,k=11B. k=11,k=13,k=13C. k=11,k=013,k=0xbD. k=11,k=13,k=b(2) main(){ int k=17; printf("%d,%o,%x\n",k,k,k); }()A. 17,021,0x11B. 17,17,17C. 17,0x11,021D. 17,21,1128.运行时从键盘上输入9876543210(表示回车),则该程序的输出结果是()main(){ int a;float b,c;scanf("%2d%3f%4f\n",&a,&b,&c);printf("a=%d,b=%f,c=%f\n",a,b,c);}A. a=98,b=765,c=4321B. a=10,b=432,c=8765C. a=98,b=765.000000,c=4321.000000D. a=98,b=765.0,c=4321.029.设变量均已正确定义,若要通过scanf("%d%c%d%c",&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

C语言习题集(含答案)

C语言习题集(含答案)

一、单选题:(1)在C语言提供的合法的关键字是( )A)swicth B) cher C)Case D)default(2)在C语言中,合法的字符常量是()A)’\084’ B) ’\x43’C)’ab’D) "\0”(3)若有定义和语句:char s[10]: s="abcd”;printf(”%s\n",s);则结果是(以下u代表空格)()A)输出abcd B)输出aC)输出abcduuuuu D)编译不通过(4) 若有定义和语句:int **pp, *p,a=10, b=20;pp=&p;p=&a; p=&b; printf("%d,%d\n",*p,**pp);则输出结果是:()A)10,20 B)10,10 C)20,10 D)20,20(5)若有以下定义和语句:int u=010,v=0x10,w=10;printf("%d,%d,%d\n”,u, v, w);则输出结果是()A) 8,16,10B)10,10,10 C)8,8,10 D) 8,10,10 (6) 若有以下定义和语句char c1=' b', c2='e’;printf(”%d,%c\n", c2-c1,c2—'a’+”A");则输出结果是( )A)2,M B)3,EC)2,E ?D)输出项与对应的格式控制不一致,输出结果不确定(7)若有以下定义:char s[20]=”programming”,*ps=s;则不能代表字符o的表达式是( )A)ps+2 B) s[2]C) ps[2]D) ps+=2,*ps(8)若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是() for (i=5; i; i—-)for(j=0;j<4; j++){。

}A) 20B) 25 C)24 D) 30(9)若有以下定义和语句:char *s1=”12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是()A)4B)5 C)9 D)10(10)若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则不能表示a数组元素的表达式是()A) *p B) a[10]C)*a D)a[p-a](11)下面程序的输出是()main(){char *s=”121";int k=0,a=0,b=0;do{k++;if(k%2==0) {a=a+s[k]—’0’;continue;}b=b+s[k]—’0';a=a+s[k]—'0';}while (s[k+1]);printf("k=%d a=%d b=%d\n",k,a,b);A) k=3 a=2 b=3 B) k=3 a=3 b=2C)k=2 a=3 b=2D) k=2 a=2 b=3(12) 下面程序的输出是( )main(){ unsigned a=32768;printf("a=%d\n”,a);}运行结果: —32768A)a=—32768 B)a=32767C)a=-32767 D)a=—1(13) 若有以下定义:float x; int a,b; 则正确的switch 语句是( )A)switch(x) B) switch(x){case1.0:printf("*\n”);{case1, 2:printf(”*\n”);case2。

c语言考试题库

c语言考试题库

一、单选题(每题1分,共100题)1.C语言源程序文件是后缀为(未填)的文件。

错误正确答案:AA. .cB. .exeC. .objD. .bat2.C语言中主函数的个数是(未填)。

错误正确答案:DA. 2个B. 任意个C.10个D. 1个3.定义指针变量时,需要在指针变量名前加上(未填)错误正确答案:CA.!B.@C.*D.&4.变量的指针,其含义是指该变量的(未填)错误正确答案:BA.值B.地址C.名D.标志5.若定义:int a=511,*b=&a;则printf("%d\n",*b);的输出结果为(未填)错误正确答案:DA.无确定B.a的地址C.512D.5116.若有以下定义int a[10],*p=a;则p+5表示(未填)错误正确答案:AA.元素a[5]的地址B.元素a[5]的值C.元素a[6]的地址D.元素a[6]的值7.下列变量名中合法的是(未填)错误正确答案:AA.TomB.3a6bC.6a7bD.5ABC8.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(未填)。

错误正确答案:CA.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母,数字和下划线中任一字符9.表达式18/4*sqrt(4.0)/8值的数据类型为(未填)。

错误正确答案:CA.intB.floatC.doubleD.不确定10.若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是(未填)。

错误正确答案:CA.A%2==1B.!(A%2==0)C.!(A%2)D.A%211.下列数据中,为字符的是(未填)。

错误正确答案:DA.‘AB’B."A"C.HowD.'A'12.下列不合法的实数是(未填)错误正确答案:CA.34.65B.6.3E2C.e3D.54.313.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为(未填)。

《C语言程序设计》考试及答案

《C语言程序设计》考试及答案
int main( )
{
int *p, a = 10;
p = &a;
printf("%d,%d\n",a,*p);
return 0;
}
[单选题]*
D、10,10(正确答案)
C、10,*p
B、a,*p
A、-859668,163828
6、当定义一个结构体变量时,系统为它分配的内存空间是()。[单选题]*
A、一个函数
B、一个数组
C、一个结构体(正确答案)
D、一个文件名
12、int *p,q;的含义是()。[单选题]*
A、q是一个指针变量
B、p是一个整型变量
C、p是一个指针变量,用来存放一个整型变量在内存中的地址(正确答案)
D、以上都不对
13、若有定义:int x,*pp;则正确的赋值表达式是()。[单选题]*
A、(a<=0)&&(a>=10)
B、(a<=0)||(a>=10)(正确答案)
C、(a<=0)OR(a>=10)
D、(a<=0)|(a>=10)
26、如果a=4 , b=3 ,c=2 ,d=1 ,则条表达式
a<b ? a : c<d ? c : d的值为( )。
[单选题]*
A、1(正确答案)
B、2
A、1(正确答案)
B、2
C、3
D、4
3、变量的指针,其含义是指该变量的()。[单选题]*
A、值
B、地址(正确答案)
C、名
D、一个标志
4、若执行fopen函数时发生错误,则函数的返回值是()。[单选题]*
A、地址值
B、NULL(正确答案)

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30C. 60D. 756. .以下程序的输出结果是( c )。

main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1B. a++C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?a:d的结果是( a )A.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。

C语言单项选择题

C语言单项选择题

C语言单项选择题单项选择题(本大题共20小题,每小题1分,共20分)1.C++源程序文件扩展名为(A)A..cppB..hC..1ibD..obj5.对使用关键字new所开辟的动态存储空间,释放时必须使用(C)A.free B.createC.delete D.realse6.从本质上看,引用是被引用变量的(B)A.拷贝B.别名C.复制D.克隆7.在函数调用时,如某一默认参数要指明一个特定值,则有(B)A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值8.设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是(C)A.int m=max(22,max(59,70));B.int m=max(max(22,59),70);C.int m=max(22,59,70);D.int m=max(59,max(22,70));9.设存在函数int min(int,int)返回两参数中较小值,若求15,26,47三者中最小值,下列表达式中错误的是(B)A.int m=min(min(15,26),min(15,47));B.int m=min(15,26,47);C.int m=min(15,min(47,26));D.int m=min(min(47,26),16);13.函数int&min(int&,int&)返回参数中较小者,设有两整型变量int a=10;int b=15;在执行语句min(a,b)--;之后,a,b值分别为(B)A.9,14B.9,15C.10,14D.10,1516.设函数void swap(int&,int&)将交换两形参的值,如两整型变量int a=10;int b=15;则执行swap(a,b)后,a、b值分别为(C)A.10,10B.10,15C.15,10D.15,1517.设函数void swap(int,int)将交换两形参数值,如有两整型变量int a=10;int b=15,则执行swap(a,b);之后,a,b值分别为(C)A.15,10B.15,15C.10,15D.10,1018.设函数void subone(int)将形参值减1,如有整形变量int b=10;则执行subone(b)后,b 的值为(B)A.9B.10C.11D.未知10.下列函数不能和函数void print(char)构成重载的是(C)A.int print(int);B.void print(char,char);C.int print(char);D.void print(int,int);15.函数int sum(int a=l,int b=1,int c=3)可与下列哪个函数同时声明(C)A.double sum(int);B.char sum(int,int);C.int sum(double);D.int sum(int,int,int);11.C++类中定义的成员默认访问属性为(B)A.publicB.privateC.protectedD.friend12.决定C++语言中函数的返回值类型的是(D)A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型14.声明函数为内联函数时所使用的关键字为(B)A.constB.inlineC.shortD.signed19.声明函数int Func(int a=0,int b=3,int c=4)相当于声明了几个函数形式(A)A.1B.2C.3D.420.函数默认参数在函数原型中说明,默认参数必须放在参数序列的(C)A.前部B.中部C.后部D.两端21.下列哪个类型函数不适合声明为内联函数(A)A.函数体语句较多B.函数体语句较少C.函数执行时间较短D.函数执行时间过长22.int Func(int,int);不可与下列哪个函数构成重载(B)A.int Func(int,int,int);B.double Func(int,int);C.double Func(double,double);D.double Func(int,double);23.设函数void inc(int)将形参加1,如有整型变量int i=10;则执行inc(i);后,i的值为(B)A.9B.10C.11D.未知24.下列哪种默认参数的声明是不正确的(C)A.int max(int a,int b,int c,int d=0);B.int max(int a,int b,int c=0,int d=0);C.int max(int a=0,int b,int c=0,int d=0);D.int max(int a,int b=0,int c=0,int d=0);25.设int&max(int&,int&)返回两参数中较大者,如有两整型变量int a=10;int b=15;在执行max(a,b)++后,a,b值分别为(C)A.10,15B.11,15C.10,16D.1l,1626.包含哪种语句的函数不能声明为内联函数(A)A.循环B.变量自增自减C.if...else…D.变量声明*27.对类中声明的变量,下列描述中正确的是(C)A.属于全局变量B.只属于该类C.属于该类,某些情况下也可被该类不同实例所共享D.任何情况下都可被该类所有实例共享28.类的私有成员可在何处访问(D)A.通过子类的对象访问B.本类及子类的成员函数中C.通过该类对象访问D.本类的成员函数中29.如果没有为一个类定义任何构造函数的情况下,下列描述正确的是(A)A.编译器总是自动创建一个不带参数的构造函数B.这个类没有构造函数C.这个类不需要构造函数D.该类不能通过编译30.一个类可包含析构函数的个数是(B)A.0个B.1个C.至少一个D.0个或多个31.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来(A)A.<>B.“”C.()D.{}32.一个类拥有多个构造函数,则这些构造函数间为(A)A.重载关系B.重复关系C.拷贝关系D.无关系33.对于拷贝构造函数point::point(point&p),下列说明正确的是(C)A.该函数只能访问P的私有成员B.该函数不能访问P的公有成员C.该函数可以访问P的私有和公有成员D.该函数不能访问P的成员34.使用delete[]删除对象数组时,描述正确的是(A)A.数组中各元素都调用析构函数B.数组中各元素都调用构造函数C.不调用析构函数D.只有首元素调用析构函数35.this指针存在的目的是(B)A.保证基类公有成员在子类中可以被访问B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码C.保证基类保护成员在子类中可以被访问D.保证基类私有成员在子类中可以被访问36.下列关于类的权限的描述错误的是(A)A.类本身的成员函数只能访问自身的私有成员B.类的对象只能访问该类的公有成员C.普通函数不能直接访问类的公有成员,必须通过对象访问D.一个类可以将另一个类的对象作为成员37.设类A将其它类对象作为成员,则建立A类对象时,下列描述正确的是(B)A.A类构造函数先执行B.成员构造函数先执行C.两者并行执行D.不能确定*38.下列描述错误的是(A)A.在创建对象前,静态成员不存在B.静态成员是类的成员C.静态成员不能是虚函数D.静态成员函数不能直接访问非静态成员39.对于友元描述正确的是(B)A.友元是本类的成员函数B.友元不是本类的成员函数C.友元不是函数D.友元不能访问本类私有成员*40.在哪种派生方式中,派生类可以访问基类中的protected成员(B)A.public和private B.public和protectedC.protected和private D.仅protected41.内联函数的特点是(D)A.减少代码量,加快访问速度B.减少代码量,减缓访问速度C.增加代码量,减缓访问速度D.增加代码量,加快访问速度42.类的私有成员可在何处被访问(A)A.本类的成员函数中B.本类及子类的成员函数中C.通过对象名在任何位置D.不可访问43.假定MyClass为一个类,则该类的复制构造函数的声明语句为(C)A.MyClass&(MyClass x);B.MyClass(MyClass x);C.MyClass(MyClass&x);D.MyClass(MyClass*x);44.类的构造函数在以下什么情况下会被自动调用(B)A.定义成员函数时B.定义对象时C.定义数据成员时D.定义友元函数时45.下列关于析构函数描述正确的是(D)A.可以重载B.函数体中必须有delete语句C.返回类型必须是void类型D.不能指定返回类型46.设有函数T Sum(T x,T y){return x+y;},其中T为模板类型,则下列语句中对该函数错误的使用是(D)A.Sum(1,2);B.Sum(3.0,2.2);C.Sum(‘A’,‘C’);D.Sum("A","C");*47.关于类的静态成员函数描述错误的是(A)A.在创建对象前不存在B.不能说明为虚函数C.不能直接访问非静态函数D.不是对象的成员48.如果类A被声明成类B的友元,则(B)A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元49.派生类的对象可以访问以下那种情况继承的基类成员(B)A.私有继承的私有成员B.公有继承的私有成员C.私有继承的保护成员D.公有继承的公有成员50.函数模板templatevoid Func(T,T)可具有下列哪种实例化形式(B)A.void Func(float,int)B.void Func(char,char)C.void Func(int,double)D.void Func(bool,float)13.下列访问成员的方式哪个是正确的(A)A.对象名.对象成员名B.对象指针名.对象成员名C.对象名→对象成员名D.类名→对象成员名*51.对类A,复制构造函数的原型是(A)A.A::A(const A&);B.A::A(const A*);C.A::A(const A);D.A::A();52.对class point,如使用point*ptr=new point[2];创建对象数组,则删除此数组使用的语句是(B)A.delete ptr[2];B.delete[]ptr;C.delete ptr[];D.delete[2]ptr;53.下列哪个编译指令不属于条件编译指令(D)A.#ifB.#elseC.#endifD.#error54.类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x的值为(B)A.未初始化B.等于a.xC.等于0D.随机55.使用string.h库操纵字符串时,将两个字符串连接成一个字符串的函数是(C)A.strlen()B.strcap()C.strcat()D.strcmp()56.基类中的public成员,通过public派生,其在派生类中的访问权限为(D)A.不可访问B.privateC.protectedD.public57.不同对象调用同名函数,但导致完全不同行为的现象称为(D)A.抽象B.封装C.继承D.多态性58.设类Test中存在成员static int x,则下列哪种初始化方式是正确的(C)A.Test::int x=25;B.int x=25;C.int Test::x=25;D.int Test x=25;59.下列关于友元的描述错误的是(C)A.成员函数不可作友元B.类可以作友元C.普通函数可以作友元D.静态函数可以作友元60.在继承中,派生类拥有的基类个数为(B)A.0个B.1个C.多个D.至少1个61.基类中的protected成员,通过public派生,其在派生类中的可见性为(D)A.不可访问B.privateC.protectedD.public62.下列哪个不是面向对象的关键要素(B)A.抽象性B.结构性C.封装性D.多态性63.设函数void subone(int&)将形参减1,如有整型变量int k=10,则执行subone(k);后,k的值为(A)A.9B.10C.11D.未知64.对函数int max(int a,int b=0,int c=0,int d=0,int e=0);下列调用方式正确的是(A)A.int m=max(10,11,12,13,14);B.int m=max(10,,12,13,14);C.int m=max(10,1l,,13,14);D.int m=max(10,11,12,,14);65.类MyClass的定义如下:class MyClass{public:MyClass(){}MyClass(int i){value=new int(i);}int*value;};若要对value赋值,则下面语句正确的是(B、D)A.MyClass my;my.value=10;B.MyClass my;*my.value=10;C.MyClass my;my.*value=10;D.MyClass my(10);66.包含哪种语句的函数不能声明为内联函数(D)A.变量定义B.if……elseC.位操作D.switch67.声明函数模板的关键字是(B)A.inlineB.templateC.constD.short68.对于类中的成员,使用public修饰,表明该成员的访问权限是(A)A.公有的B.私有的C.保护的D.不可见的*69.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存(B)A.不允许B.允许C.无法确定D.视构造函数的函数,可确定70.析构函数的参数个数为(A)A.0个B.1个C.至少1个D.多于1个71.非静态成员函数都会有一个隐含指针,它是(B)A.self指针B.this指针C.current指针D.one指针72.下列访问公有静态成员的方式,错误的是(A)A.类名::静态成员名B.对象名.静态成员名C.对象指针->静态成员名D.对象指针.静态成员名73.声明友元使用下列哪个关键字(C)A.class B.constC.friend D.virtual74.派生类继承了基类的(A)A.所有成员B.部分成员C.数据成员D.成员函数75.基类private成员,通过public派生,其在派生类中为(A)A.private B.protectedC.public D.不可访问76.在哪种派生方式中,派生类可以访问基类中的protected成员(B)A.public和privateB.public和protectedC.protected和privateD.仅protected77.对使用关键字new所开辟的动态存储空间,释放时必须使用(C)A.freeB.createC.deleteD.realse78.对于new类型名[size]描述正确的是(C)A.申请可以存储size个字节的空间B.申请可以存储1个该数据类型的空间C.申请可以存储size个该数据类型对象的空间D.申请可以存储1个字节的空间79.构造函数用于(B)A.定义对象B.初始化对象C.清除对象D.普通计算80.C++中专门定义一个仅在模板中使用的参数类型的关键字是(D)A.const B.inlineC.short D.typename81.对于类中的成员,使用private修饰,表明该成员的访问权限是(B)A.公有的B.私有的C.保护的D.不可见的82.使用new创建的对象,对其生命周期描述正确的是(B)A.由系统决定B.由用户控制C.全局生命周期D.永久存在83.析构函数被调用的时间点是(B)A.对象被创建时B.对象被销毁时C.不会被调用D.主函数被调用时*84.对象的构造函数调用顺序取决于(C)A.对象成员在初始化列表中给出的顺序B.对象成员在类中声明的顺序C.对象成员与在初始化列表中顺序和类中声明顺序均有关D.随机顺序85.下列对静态成员函数描述正确的是(B)A.静态成员函数中可使用1个this指针B.静态成员函数中不能使用this指针C.静态成员函数中可使用多个this指针D.静态成员函数中只可使用1个that指针86.友元的声明可出现在(B)A.类的私有部分B.类的公有部分C.类的保护部分D.类的任何部分*87.在下列派生中,子类和父类间是isa关系的是()A.private B.protectedC.public D.publish88.面向对象不仅进行功能抽象,还要进行(C)A.动态抽象B.消息抽象C.数据抽象D.算法抽象89.如声明对象数组,则下列描述正确的是(A)A.对每个元素均调用一次构造函数B.部分元素调用构造函数,其它元素不需调用C.均不需要调用构造函数D.只是首元素调用构造函数*90.不同对象调用同一成员函数时,this指针指向(A)A.不同对象B.相同对象C.无对象D.不确定*91.一个类可拥有多少个构造函数(C)A.0个B.1个C.1或多个D.以上皆对92.下列哪个要素不是面向对象的关键要素(A)A.模块化B.抽象性C.封装性D.继承性93.下列对于类的描述错误的是(C)A.类要先声明后使用B.类是具有唯一标识的实体C.两个类可以使用同一个名称D.组成类的不仅有数据,还可以有对数据进行操作的函数*94.使用引用调用方式将实参传给形参,下列说法正确的是(A)A.形参是实参的备份B.实参是形参的备份C.形参和实参共享同一对象D.形参和实参无联系95.关于对象的性质,下列描述错误的是(B)A.同一类对象之间可相互赋值B.不能使用对象数组C.对象可以用作函数参数D.一个对象可以用作另一个类的成员96.类的私有成员可在哪里被赋值(B)A.类体中B.该类的成员函数中C.A和BD.以上都不是97.派生类中继承的基类成员初始化如何进行(A)A.由派生类构造函数调用基类的构造函数进行B.由派生类构造函数进行C.由基类构造函数进行,无需派生类构造函数调用D.以上皆不正确98.对于多重继承,下列描述正确的是(B)A.所有基类使用相同的派生方式B.每个基类可使用不同派生方式C.只能是public派生D.只能是protected派生99.下列关于类的权限描述错误的是(B)A.类本身的成员函数可以访问自身的任何成员B.类的对象可以访问该类的所有成员C.普通函数不能直接访问类的公有成员,必须通过成员函数对其访问D.一个类可以将另一个类的对象作为成员100.运算符delete与哪个函数一起运行(B)A.构造函数B.析构函数C.主函数D.不与任何函数一起工作101.一个类可以获得另一个类的特性的机制称为(C)A.抽象B.封装C.继承D.多态性102.对引用调用描述正确的是(B)A.分配新存储空间B.修改已存储空间的名称为引用名C.引用名与已存在存储空间无任何关联D.将引用名标识符与一块已存在储区域相关联,没有分配新存储空间。

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案

c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。

A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。

A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。

A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。

A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。

A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。

c语言试卷及答案

c语言试卷及答案

一、单项选择题1、在程序开发过程中,把文本文件格式源程序转化为二进制格式目标程序的过程称为(C)A.运行B.编辑C.编译D.链接2、三种基本结构的特点之一是:每种基本结构(D)A.有多个入口和出口B.有一个入口、多个出口C.各有两个入口和出口D.只有一个入口和出口3、在C语言中,不正确的int类型的常量是(B)A.-128B.039C.0D.OxAF4、设n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)A.0B.3C.2D.15、C语言提供的合法关键字是(A)A.defaultB.cherC.CaseD.swith6、语句:printf(“%d\n”,(a=2)&&(b=-2));的输出结果是(D)A.无输出B.结果不确定C.-1D.17、在嵌套使用语句时,C语言规定else总是(C)A.和前面的与其具有相同缩进位置的if配对B.和前面的与其最近的if配对C.和前面的与其最近的且尚未匹配的if配对D.和前面的第一个if配对8、若i已定义为int类型,则以下程序段中循环体的执行次数是(C)for(i=0;j<4;i++)printf(“%d\n”,i);A.2B.3C.4D.59、以下对字符数组的初始化,错误的是(D)A.char word[]={‘C’,‘h’,‘i’,‘n’,‘a’,‘\0’};B.char word[]={"China");C.char word[]="China";D.char word[]='China';10、C语言程序由函数组成,以下说明正确的是(B)A.主函数必须在其它函数之前定义,函数内可以嵌套定义函数B.主函数可以在其它函数之前或之后定义,函数内不可以嵌套定义函数C.主函数可以在其它函数之前或之后定义,函数内可以嵌套定义函数D.主函数必须在其它函数之前定义,函数内不可以嵌套定义函数11、一个C语言程序中主函数的个数是(A)A.1个B.2个C.3个D.任意多个12、对于某一个问题,它的算法(D)A.只有1种B.有2种C.有3种D.不唯一13、字符型常量在内存中存放的是(B)A.BCD码B.ASCⅡ码C.原码D.补码14、设intn=3;,则执行表达式++n后,n的结果是(C)A.2B.3C.4D.515、以下选项中,不合法的用户标识符是(D)A.PRINTB.priceC.MainD.abc.c16、当c的值为0时,在下列选项中能正确将c的值赋给变量a、b的是(B)A.c=b=a;B.(a=c)|(b=c);C.(a=c)&&(b=c);D.a=c17、C语言的迁语句中,用作判断的表达式可以为(A)A.任意表达式B.逻辑表达式C.关系表达式D.算术表达式18、对于以下程序段,while循环执行的次数是(A)int k=0;while(k=1)k++;A.无限次B.有语法错误,不能执行C.一次也不执行D.执行一次19、以下对二维数组的定义,正确的是(C)A.int a[3][];B.float b(3,4);C.int a[2][3];D.float a[3,4];20、下列说法正确的是(C)A.C语言程序总是从第一个定义的函数开始执行B.在C语言程序中,要调用的函数必须在main()函数中进行定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分。

(完整版)C语言单项选择题(带答案)

(完整版)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)是构成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)。

[i] 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#选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)语言中的简单数据类型包括(D)。

c语言试题及答案

c语言试题及答案

一、单选题1.在C语言中,下列类型属于构造类型的是( D )A.整型 B.字符型 C.实型 D.数组类型2.下列字符串不是标识符的是( D )A. sumB. AverageC. Day_nightD. M.D.JOHN3. 在C语言中,回车换行符是( A )A. nB. tC. vD. b4. 在C语言中,语句和数据定义是用( C )作为结束标记的A.句号 B.逗号 C.分号 D.括号5. 设有如下定义:int x=10,y=5,z;则语句printf(“%dn”,z=(x+=y,x/y));的输出结果是( C )A.0 B.1 C.3 D.46. 10.以下程序的输出结果是( B )main( ){char c1=’8’,c2=’2’;printf(“%c,%c,%d,%dn”,c1,c2,c1-c2,c1+c2);}精选文库A.因输出格式不合法,输出出错信息B.8,2,6,106 C.8,2,6,10 D.8,2,5,97.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是( A )main( ){int x;scanf(“%d”,&x);if(x++>5) printf(“%dn”,x);else printf(“%dn”,x--);}A.7和5 B.7和4 C.6和48.表达式(int)2.1416的值时( A )A. 2B. 2.1C. 0D. 39.下列运算符优先级最高的是( B )A. >B. +C. &&D. !=10. C语言容许函数值类型缺省定义,此时该函数值隐含的类型时( B )A. float型B. Int型C. Long 型D. Double型11、C程序的基本构成单位是( C)A、子程序B、过程C、函数D、文件12、C语言中要求操作数都为整型数据的算术符是(C )精选文库A、/B、!C、%D、= =13、若int x=1,y=1;则表达式(!x||y--)的值是(B )。

C语言题集

C语言题集

第三章数据类型一、单选题1.下列选项中,合法的C语言关键字是()V AR char integer default2.下列语句中符合C语言语法的赋值语句是()a=7+b+c=a+7; a=7+b++=a+7; a=7+b,b++,a+7; a=5+b,c=a+5;3.下面程序的输出是main(){ int x=023;printf("%d\n",--x);}17 18 23 244.若int a=3;int b=4;int d;d=(a=(b,5),a+b),90;则d的值是( )90 3 7 95.一个字长的二进制位数是()8 16 32 随着计算机系统的不同而不同6.已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是#include <stdio.h>main(){ char c1='A', c2='Y';printf("%d,%d\n",c1,c2);}因输出格式不合法,输出错误信息A,Y 65,Y 65,897.已知字母A的ASCII码为十进制的65,下面程序的输出是()main( ){ char ch1,ch2;ch1='A'+'5'-'2';ch2='A'+'6'-'2';printf("%d,%c\n",ch1,ch2);}" 68,E" " B,C" " C,D" 不确定的值8.以下程序的输出结果是#include <stdio.h>#include <math.h>main( ){ int a=1,b=4,c=2;float x=10.5 , y=4.0 , z;z=(a+b)/c+sqrt((double)y)*1.2/c+x;pritnf("%.1f\n",z);}14.0 15.4 13.7 14.9以下程序的输出结果是#include <stdio.h>main( ){ int i=010 , j = 10;printf("%d,%d\n",++i , j--);}11,10 9,10 010,9 10,99.以下程序的输出结果是()main( ){int a=1;a+=(a=8);printf("%d\n",a);}16 1 8 910.以下程序的输出结果是( )f(int b[ ],int m,int n){int i,s=0;for(i=m;i<n;i=i+2) s=s+b[i];return s;}main( ){int x,a[ ]={1,2,3,4,5,6,7,8,9};x=f(a,3,7);printf("%d\n",x);}10 18 8 1511.以下说法下确的是()C语言程序总是从第一个的函数开始执行在C语言程序中,要调用的函数必须在main( )函数中定义C语言程序总是从main( )函数开始执行C语言程序中的main( )函数必须放在程序的开始部分12.以下选项中属于C语言的数据类型的( )复数型逻辑型双精度型集合型13.在C语言中,不正确的INT类型的常数是()32768 0 37 0XAF14.在C语言中,要求运算数必须是整型的运算符是% / < !15.在C语言中,属于单目运算符的是()%/ < !16.执行下面程序中的输出语句,a的值是main( ){ int a;printf("%d\n",(a=3*5,a*4,a+5));}65 20 15 1017.执行下面程序中的输出语句,a的值是()main( ){ int a;printf("%d\n",(a=3*8,a*4,a+6));}65 28 30 9618.有以下程序main( ){int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是"12 35 35 14 12 35 35 13 12 34 35 14 12 34 35 13 19.以下不能定义为用户标识符的是Main _0 _int sizeof20.有以下程序main( ){int a,b,d=25;a=d/10%9;b=a&&(-1);printf(""%d,%d\n"",a,b);}程序运行后的输出结果是"6,1" "2,1" "6,0" "2,0"21.main( ){ int m=0xa,n=2;m+=n;printf("%X\n",m);}程序的输出是C c 99 222.下面程序执行后的输出结果是main( ){char x=0xddff;printf("%d\n",x);}-35 -1 225 -870523.程序的基本单位是程序行语句函数字符24.若t为double类型,表达式t=1,t+5,t++的值是1 6.02 1.00000025.若执行下面的程序时从键盘上输入5,则输出是main( ){ int x;scanf("%d",&x);if(x++>5) printf("%d\n",x);else printf("%d\n",x--);}7 6 5 426.设有如下定义: int x=10,y=3,z; 则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是1 0 4 327.已知字母A的ASCII码为十进制的65,下面程序的输出是main( ){ char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf(""%d,%c\n"",ch1,ch2);}" 67,D" " B,C" " C,D" 不确定的值28.以下程序的输出结果是# include <stdio.h>main(){ printf(""%d\n"",NULL); }" 不确定的0 -1 129.c语言是()语言高级语言中级语言机器语言汇编语言二、多选题30.下面表示正确的是()"c语言中的逗号是一种运算符在C语言中,一行可以有多个语句C中的变量不区分大小写c中的关键字可以做为变量名31.C语言中的标志符只能由字母、数字和下划线三种字符组成,且第一个字符必须是字母可以是下划线必须为字母或下划线可以是字母、数字和下划线中任一种字符32.结构化程序设计所规定的三种基本控制结构是( )顺序选择循环处理33.设x,y均为float型变量,则以下合法的赋值语句是"++x y=(x%2)/10 x*=y+8 x=y=034.下列为c语言的关键字是()if struct union typedef35.下列选项中,合法的C语言关键字是V ARcharintegerdefault36.下面那些为合法整型常量()160 0xe 0668 0x37.下面四个选项中合法的字符常量是()i++ (++i) i=i+1 i+=138.以下表达式中正确的是()c=c+1 a+=1 x>y ?x:y a-+=3三、判断题39.c语言是低级语言40.C语言中,整形常数表示的方法有3种41.表达式a=a+b可以写成a+=b42.关于float i;i=3.14159;是可以执行,没有错误43.在C语言中,变量不区分大小写44.在运算时,当出现溢出时,系统直接报错第四章顺序程序设计一、单选题1.若定义int m=7,n=12;则能得到值为3的表达式是( )n%=(m%=5) 'n%=(m-m%5) n%=m-m%5 (n%=m)-(m%=5)2.若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是1 2 2.0 2.53.若有以下定义和语句char c1='b',c2='e';printf("%d,%c\n",c2-c1,c2-'a'+""A"");则输出结果是" 2,M" " 3,E" " 2,E" 输出项与对应的格式控制不一致,输出结果不确定4.若有以下定义和语句:int u=010,v=0x10,w=10;printf(""%d,%d,%d\n"",u,v,w);则输出结果是8,16,10 10,10,10 8,8,10 8,10,105.若执行下面的程序时从键盘上输入12,则输出是()main( ){ int x;scanf("%d",&x);if(x++>5) printf(""%d\n"",x);else printf(""%d\n"",x--);}"13 14 15 166.设int a=12,则执行完语句a+=a-=a*a后,a的值是552 264 144 –2647.以下选项中,与k=n++完全等价的表达式是"k=n,n=n+1" "n=n+1,k=n" k=++n k+=--n+18.设有语句char a='\72';则变量a包含1个字符包含2个字符包含3个字符说明不合法9.设有语句int a=3;则执行了语句a+=a-=a*a;后,变量a的值是3 0 9 -1210.十进制数1385转换成十六进制数为()568 569 D85 D5511.下面程序的输出是main( ){ int a=-1, b=4,k;k=(a++<=0)&&(!(b--<=0));printf(""%d %d %d\n"",k,a,b);}0 0 3 0 1 2 1 0 3 1 1 212.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值()不定值 4 3 113.以下程序的输出结果是#include <stdio.h>main(){ int a=2,c=5;printf("a=%%d,c=%%d\n",a,c);}a=%2,b=%5 a=2,b=5 a=%%d,b=%%d a=%d,b=%d14.在C语言中,如果下面的变量都是int类型,则输出的结果是sum=pad=5; pad=sum++ ,pad++ , ++pad;printf("%d\n",pad);7 6 5 415.设int i=2,j=1,k=3,则表达式i&&(i+j)&k|i+j的值是"0 1 2 316.下面程序的输出是main( ){ int x=10,y=3;printf("%d\n",y=x/y);}0 1 3 不确定的值17.请选出合法的C语言赋值语句a=b=58i++;a=58,b=58k=int(a+b);18.若有定义:int a=16,b=10,c;,执行语句c=a/b+0.4后,c的值为()"1.4 1 2 0二、多选题19.putchar函数可以向终端输出一个整型变量表达式实型变量值字符字符型变量值20.若希望当A的值为奇数时,表达式的值为“真”,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语言选择结构练习题

c语言选择结构练习题

C语言选择结构练习题一、单选题A. ifB. switchC. forD. while2. 当表达式 (a > b) 为真时,下列哪个表达式的值为假?A. !(a <= b)B. (a == b)C. (a >= b)D. (a != b)A. ifelseB. switchcaseC. whileD. dowhile4. 当if语句的条件为真时,下列哪个选项的语句不会执行?A. if语句内的语句B. else语句内的语句C. if语句和else语句内的语句D. 与if语句平级的下一个语句二、多选题A. ifB. else ifC. switchD. forA. if和else语句块只能包含一条语句B. if和else语句块可以包含多条语句,但需要用大括号括起来C. if语句块后面可以不跟else语句块D. else语句块后面可以继续跟if语句块A. 没有与case匹配的值B. case后面的值与switch表达式匹配C. switch表达式为空D. default分支位于所有case分支之前三、填空题1. 在C语言中,______ 关键字用于实现选择结构。

2. 当if语句的条件为真时,执行______ 语句块;当条件为假时,执行______ 语句块。

3. 在switch语句中,每个case分支后面需要使用______ 语句来跳出switch结构。

四、编程题1. 编写一个C程序,输入一个整数,判断它是正数、负数还是零,并输出相应的结果。

2. 编写一个C程序,输入三个整数,找出其中的最大值并输出。

3. 编写一个C程序,根据用户输入的成绩(0100),输出相应的等级(A、B、C、D、E)。

4. 编写一个C程序,输入一个年份,判断它是否为闰年,并输出结果。

5. 编写一个C程序,实现一个简单的计算器功能,包括加、减、乘、除四种运算。

用户输入两个整数和一个运算符,程序输出运算结果。

C语言题库

C语言题库

第一章概述一、单选题1、C语言的前身是(B )。

A.A语言B.B语言C.C++语言D.BASIC语言2、C语言规定,必须用(C )作为主函数名。

A.FunctionB.includeC.mainD.void3、一个C程序可以包含任意多个不同名的函数,但有且仅有一个(B )。

A.过程B.主函数C.函数D.进程4、一个C程序总是从(B )开始执行。

A.过程B.主函数D.进程5、C程序的基本构成单位是(A )。

A.函数B.过程C.进程D.子程序6、下列说法正确的是( D)。

A.main函数必须放在C程序的开头B.main函数必须放在C程序的最后C.main函数可以放在C程序中间部分,执行C程序时是从程序开头执行的D.main函数可以放在C程序中间部分,执行C程序时是从main函数开始的7、下列说法正确的是(C )。

A.在执行C程序时不是从main函数开始的B.C程序书写格式严格限制,一行内必须写一个语句C.C程序书写格式自由,一个语句可以分写在多行上D.C程序书写格式严格限制,一行内必须写一个语句,并要有行号8、在C语言中,每个语句和数据定义结束都是用( C)。

A.句号C.分号D.括号9、不是C语言提供的合法关键字(B )。

A.switchB.printfC.caseD.default10、不是C语言提供的合法关键字(D )。

A.intB.floatC.charD.scanf11、C语言提供的合法关键字是( A)。

A.breakB.printfC.functionD.end12、C语言提供的合法关键字是( A)。

A.continueB.procedureC.begin13、下列说法正确的是(C )。

A.一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B.一个函数的函数体必须要有执行部分,可以没有变量定义C.一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D.一个函数的函数体必须要有变量定义,可以没有执行部分14、下列说法正确的是(D )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

难度:中
char c[]="abc";
int i=0;
do ;while(c[i++]!='\0');printf("%d",i-1); A:abc B:ab C:2 D:3
第6章
答案:D
第 20 题 (1.0 分)
题号:5612
以下程序的输出结果是().
main()
{ char s[]="123",*p;
C:#md,&12x,month,student_n!
D:D56,r_1_2,name,_st_1
第2章
答案:D 第 18 题 (1.0 分)
题号:5356
难度:中
第3章
以下运算符中优先级最低的是(). A:&& B:& C:|| D:|
答案:C
第 19 题 (1.0 分)
题号:5423
以下程序段的输出结果为().
A:(x>=y)&&(y>=z)
B:(x>=y) AND (y>=z)
C:(x>=y>=z)
D:(x>=z)&(y>=z)
难度:较易
第3章
答案:A
第 25 题 (1.0 分)
题号:5470
以下对二维数组 a 的正确说明是().
A:int a[3][]
B:float a(3,4)
C:double a[1][4]
难度:中
函数调用语句:fseek(fp,-20L,2);的含义是().
A:将文件位置指针移到距离文件头 20 个字节处
B:将文件位置指针从当前位置向后移动 20 个字节
C:将文件位置指针从文件末尾处退后 20 个字节
D:将文件位置指针移到离当前位置 20 个字节处
第 11 章
答案:C
第 14 题 (1.0 分)
第 37 题 (1.0 分)
题号:5363
难度:较易
C 语言程序的三种基本结构是顺序结构、选择结构和()结构.
A:循环
B:递归
C:转移
第4章
D:嵌套
答案:A
第 38 题 (1.0 分)
题号:5524
用户定义的函数不可以调用的函数是().
A:非整型返回值的
B:本文件外的
C:main 函数
D:本函数下面定义的
C:C 语言中,随机读写方式不适用于文本文件
D:C 语言中,顺序读写方式不适用于二进制文件
第 11 章
答案:D
第 17 题 (1.0 分)
题号:5239
难度:中
下列字符序列中,可用作 C 标识符的一组字符序列是().
A:S.b,sum,average,_above
B:class,day,lotus_1,2day
}
A:i=2,j=1,k=3
B:i=1,j=1,k=2
C:i=4,j=2,k=4
D:i=1,j=1,k=3
难度:中
第4章
答案:D
第 16 题 (1.0 分)
题号:5629
难度:中
以下叙述中不正确的是().
A:C 语言中的文本文件以 ASCⅡ码形式存储数据
B:C 语言中对二进制文件的访问速度比文本文件快
D:*p=*x;
答案:C
第 31 题 (1.0 分)
题号:5610
下面说明不正确的是().
A:char a[10]="china";
B:char a[10],*p=a;p="china"
C:char *a;a="china";
D:char a[10],*p;p=a="china"
难度:中
第 10 章
D:C 程序中有调用关系的所有函数必须放在同一个程序文件中
第1章
答案:A
第 6 题 (1.0 分)
题号:5258
下列数据中属于"字符串常量"的是().
A:ABC
B:"ABC"
C:'ABC'
D:'A'
难度:易
第2章
答案:B
第 7 题 (1.0 分)
题号:5294
下列程序段的输出结果为().
float x=213.82631;
D:float a(3)(4)
难度:中
第7章
答案:C
第 26 题 (1.0 分)
题号:5458
难度:中
若有说明 int a[3][4];则对 a 数组元素的正确引用是().
A:a[2][4]
B:a[1,3]
C:a[1+1][0]
D:a(2)(1)
第7章
答案:C
第 27 题 (1.0 分) 下列程序的输出结果是(). main() {char c1=97,c2=98; printf("%d %c",c1,c2); } A:97 98 B:97 b C:a 98 D:a b
printf("%3d",(int)x); A:213.82 B:213.83 C:213 D:3.8
难度:中
第2章
答案:C
第 8 题 (1.0 分)
题号:5206
难度:中
能将高级语言编写的源程序转换为目标程序的是().
A:链接程序
第1章
B:解释程序 C:编译程序 D:编辑程序
答案:C
第 9 题 (1.0 分)
答案:D
第 32 题 (1.0 分)
题号:5394
执行下列程序后,其输出结果是().
main()
{int a=9;
a+=a-=a+a;
printf("%d\n",a);
}
A:18
9
C:-18
D:-9
难度:中
第4章
答案:C
第 33 题 (1.0 分)
题号:5613
以下定义语句中,错误的是().
A:int a[]={1,2};
第3章
B:(exp!=0) C:(exp==1) D:(exp!=1)
答案:B
第 22 题 (1.0 分)
题号:5617
难度:中
第 10 章
设有说明 int (*ptr)[M];其中标识符 ptr 是().
A:M 个指向整型变量的指针
B:指向 M 个整型变量的函数指针
C:一个指向具有 M 个整型元素的一维数组的指针
C:0085.6%
D:.857
难度:中
第2章
答案:B
第 35 题 (1.0 分)
题号:5224
难度:中
任何一个 C 语言的可执行程序都是从()开始执行的.
A:程序中的第一个函数
B:main( )函数的入口处
C:程序中的第一条语句
D:编译预处理语句
第1章
答案:B
第 36 题 (1.0 分)
题号:5382
难度:中
第8章
A:必须有形参 B:形参必须是变量名 C:可以有也可以没有形参 D:数组名不能作形参
答案:C
第 5 题 (1.0 分)
题号:5221
难度:中
以下对 C 语言函数的描述中,正确的是().
A:C 程序必须由一个或一个以上的函数组成
B:C 函数既可以嵌套定义又可以递归调用
C:函数必须有返回值,否则不能使用函数
A:整型变量表达式值
B:实型变量值
C:字符串
D:字符或字符型变量值
难度:中
第2章
答案:D
第 30 题 (1.0 分)
题号:5577
难度:中
第 10 章
若已定义 x 为 int 类型变量,下列语句中说明指针变量 p 的正确语句是().
A:int p=&x;
B:int *p=x;
C:int *p=&x;
D:具有 M 个指针元素的一维指针数组,每个元素都只能指向整型量
答案:C
第 23 题 (1.0 分)
题号:5491
难度:中
第8章
C 语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是().
A:void
B:int
C:float
D:double
答案:B
第 24 题 (1.0 分)
题号:5316
为表示关系 x≥y≥z,应使用 C 语言表达式().
B:char *a[3];
C:char s[10]="test";
难度:中
第 10 章
D:int n=5,a[n];
答案:D
第 34 题 (1.0 分)
题号:5293
下列程序段的输出结果为().
float k=0.8567;
printf("%06.1f%%",k*100);
A:0085.6%%
B:0085.7%
}
printf("a=%d,b=%d\n",a,b);
} A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2
第5章
答案:B
第 10 题 (1.0 分)
题号:5541
下列定义不正确的是().
A:#define PI 3.141592
B:#define S 345
C:int max(x,y); int x,y; { }
D:int a[][3]={{1,0,1}{},{1,1}};
第7章
答案:B
第 12 题 (1.0 分)
相关文档
最新文档