25、系统的标准输入文件是指是(A )(2分) A、键盘 B、显示器 C、软盘 D、硬盘
26、C语言程序的执行,总是起始于(C)(2分)
A、程序中的第一条可执行语句 B、程序中的第一个函数 C、main函数 D、包含文件中的第一个函数 27、以下不是结构化程序设计方法的是(B)(2分) A、循环结构 B、模块结构 C、顺序结构 D、选择结构 28、优先级最高的为(C)。(2分)
A、 && B、 ?: C、 != D、 || 29、以下选项中正确的整型常量是(B)(2分) A、5. B、-10 C、1.000 D、4/5
30、设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)(2分) A、 6.500000 B、 6 C、 5.500000 D、 6.000000 31、以下选项中,与k=n++完全等价的表达式是(A)(2分) A、 k=n,n=n+1 B、 n=n+1,k=n C、 k=++n D、 k+=n+1
32、以下选项中不是C语句的是(C)(2分)
A、{int i; i++; printf(“%d\\n”, i); } B、; C、a=5,c=10 D、{ ; } 33、若变量已正确说明,要求用语句:scanf(“%f%c%f%c”, &a, &c1, &b, &c2);给c1赋予字符%、给c2赋予字符#、给a赋予2.0、给b赋予4.0,则正确的输入形式是(B)(2分) A、2.0 % 4.0 # B、2.0%4.0# C、2% 4# D、2 % 4 #
34、执行以下语句 int x=102,y=012; printf(\后输出结果是(C)(2分) A、10,01 B、002,12 C、102,10 D、02,10
35、设char ch='A';则ch=(ch>='A'&&ch<='Z')?(ch+32):ch的值是( B )。 (2分) A、A B、a C、Z D、z
36、以下错误的if语句是( C )。(2分) A、if(x>y) z=x; B、if(x==y) z=0; C、if(x!=y) printf(\(2分)
A、0 B、3 C、2 D、1
38、程序段for (i=2; i==0; ) printf(“%d” , i--) ;的循环次数是( A )。(2分) A、无限次 B、0次 C、1次 D、2次
39、程序段 int a=1,b=2, c=3, t; while (a
A、1,2,0 B、2,1,0 C、1,2,1 D、2,1,1
执行语句for (i=1;i++<4;) ; 后变量i的值是( C )。(2分) A、3 B、4 C、5 D、不定
40、while构成的循环int ks=0; while (ks=2) ks++;执行的次数是( A )。 (2分) A、无限次 B、有语法错误,不能执行 C、一次也不执行 D、执行一次
41、C语言规定,数组名做实参时,它和对应形参之间的数据传递方式是(C )。(2分) A、用户指定传递方式B、无传递 C、单向值传递 D、地址传递
42、在C语言中,一位数组的定义方式为:类型说明符 数组名(A )。(2分) A、[常量表达] B、整型表达式 C、[整型常量]或[整型表达式] D、[整型常量]
D、if(x 37、执行程序段int k=4,a=3,b=2,c=1; printf(“\\n%d \\n”,k 17 43、对以说明语句int a[10]={6,7,8,9,10};的正确理解是( B )。(2分) A、将5个初值依次赋给a[1]至a[5] B、将5个初值依次赋给a[0]至a[4] C、将5个初值依次赋给a[6]至a[10 D、因为数组长度与初值的个数不同,所以此语句不正确 44、C语言规定,程序中各函数之间( A )。 (2分) A、既允许直接递归调用也允许间接递归调用 B、不允许直接递归调用也不允许间接递归调用 C、允许直接递归调用不允许间接递归调用 D、不允许直接递归调用允许间接递归调用 45、一个C语言程序是由( B )。(2分) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 46、变量的指针,其含义是指该变量的(B)。(2分) A、值 B、地址 C、名 D、一个标志 47、已有定义“struct xy{int a; double b;}m;”,变量m的成员a的正确表示是(A )(2分) A、m.a B、m->a C、*m.a D、xy.a 48、下列正确定义一个文件指针pm的语句是( C)(2分) A、FILE pm; B、file *pm; C、FILE *pm; D、file pm; 49、C语言规定,在一个源程序中,main函数的位置(C) (2分) A、必须在最开始 B、 必须在系统调用的库函数的后面 C、 可以任意 D、 必须在最后 50、以下叙述中正确的是 (C)(2分) A、用C语言实现的算法必须要有输入和输出操作 B、用C语言实现的算法可以没有输出但必须要有输入 C、用C程序实现的算法可以没有输入但必须要有输出 D、用C程序实现的算法可以既没有输入也没有输出 51、以下选项中,不合法常量的是 (B)(2分) A、1.234e04 B、1.234e0.4 C、1.234e+4 D、1.234e0 52、C语言中最简单的数据类型包括(B)(2分) A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 53、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是(C)(2分) A、1 B、2 C、2.0 D、2.5 54、执行下列语句int x=10,y=3;printf(\后的输出是(C)(2分) A、 0 B、 1 C、 3 D、 不确定的值 55、执行下列语句int x=10,y=10;printf(\后的输出是(D)(2分) A、10 10 B、9 9 C、9 10 D、10 9 56、执行下列语句 int k=2, i=2, m;m=(k+=i*=k); printf(\后的输出结果是(C)(2分) A、8,6 B、8,3 C、6,4 D、7,4 57、能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是( C )。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) 18 58、语句printf(\,(a=2)&&(b= -2);的输出结果是( D )。(2分) A、无输出 B、结果不确定 C、-1 D、1 59、下面有关for循环的正确描述是( D )。(2分) A、for循环只能用于循环次数已经确定的情况。 B、for循环是先执行循环体语句,后判断表达式。 C、在for循环中,不能用break语句跳出循环体。 D、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来。 60、若i、j均为整型变量,则for (i=0,j=-1;j=1;i++,j++) printf(“%d,%d\\n”,i,j); ( B )。 (2分) A、循环体只执行一次 B、循环体一次也不执行 C、判断循环结束的条件不合法 D、是无限循环 61、语句int k=1; while (k++<10);执行后,变量k的值是( B )。(2分) A、10 B、11 C、9 D、无限循环,值不定 62、对于程序段 int k=0; while(k=1)k++; while 循环执行的次数是( A )。 (2分) A、无限次 B、有语法错,不能执行 C、一次也不执行 D、 执行1次 63、若有说明:int a[3][4];则对a数组元素的正确引用是( C )。(2分) A、a[2][4] B、a[1,3] C、a[1+1][0] D、a(2)(1) 64、若二维数组a有m列,则在a[i][j]前面的元素个数为( B )。(2分) A、j*m+I B、i*m+j C、i*m+j-1 D、i*m+j+1 65、以下不正确的定义语句是(B )。(2分) A、double x[5]={2.0,4.0,6.0,8.0,10.0}; B、int y[5]={0,1,3,5,7,9}; C、char c1[]={‘1’,’2’,’3’,’4’,’5’}; D、char c2[]={‘\\x10’,’\\xa’,’\\x8’}; 66、一个C程序的执行是从( A )。(2分) A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 67、有函数fun ( float x ) { float y; y= 3*x-4; return y; },其函数值的类型是( A)。(2分) A、int B、不确定 C、void D、float 68、若有定义: int a[5]; 则对数组中首元素的地址可以表示为(A)。(2分) A、&a B、a+1 C、a D、&a[1] 69、C语言结构体类型变量在程序执行期间(A )(2分) A、所有成员一直驻留在内存中。 B、只有一个成员驻留在内存中。 C、部分成员驻留在内存中。 D、没有成员驻留在内存中。 70、下列关于文件指针的描述中,错误的是(D )(2分) A、文件指针是由文件类型FILE定义的。 B、文件指针是指向内存某个单元的地址值。 C、文件指针是用来对文件操作的标识。 D、文件指针在一个程序中只能有一个。 71、C语言程序能够在不同的操作系统下运行,这说明C语言具有很好的(B)(2分) A、适应性 B、移植性 C、兼容性 D、操作性 72、结构化程序由三种基本结构组成, 由这三种基本结构组成的算法(A)(2分) A、可以完成任何复杂的任务 B、只能完成部分复杂的任务 C、只能完成符合结构化的任务 D、只能完成一些简单的任务 73、以下叙述不正确的是(D)(2分) A、在C程序中,逗号运算符的优先级最低 19 B、在C程序中,APH和aph是两个不同的变量 C、若a和b类型相同,在执行了赋值表达式a=b后b的值将放入a中,而b的值不变 D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 74、下列关于赋值运算符的表述中,错误的是(B)(2分) A、赋值运算符优先级高于逗号运算符 B、赋值运算符的结合性是从左至右 C、赋值运算符是双目运算符 D、赋值运算符可在表达式中连用 75、若a为int类型,且其值为3,则执行完表达式a+ =a- =a*a后,a的值是(C)(2分) A、-3 B、9 C、-12 D、6 76、设 int x=1, y=1; 表达式(!x||y)的值是 (B)(2分) A、 0 B、 1 C、 2 D、 -1 77、设x,y为浮点型变量,合法赋值语句是(A)(2分) A、x=8+y; B、(float)3 ; C、y=(x%2)/10 ; D、*x=10; 78、设有定义:int x=10,y=3,z;则执行语句printf(\后输出结果是(D) A、1 B、0 C、4 D、3 79、在下列选项中,不正确的赋值语句是(D)(2分) A、++t; B、n1=(n2=(n3=0)); C、k=i==j; D、a=b+c=1; 80、逻辑运算符两侧运算对象的数据类型可以是( D )。(2分) A、只能是0或1 B、只能是0或非0正数 C、只能是整型或字符型数据 D、可以是任何类型的数据 81、设int a=3,b=4,c=5,则下面表达式中,值为0的表达式是( D )。 (2分) A、'a'&&'b' B、a<=b C、a||b+c&&b-c D、!((a 82、对于条件表达式(k)?(i++):(i--)来说,其中的表达式k等价于( C )。(2分) A、k==0 B、k==1 C、k!=0 D、k!=1 83、程序段 int a=1,b=2, c=3, t; while (a A、1,2,0 B、2,1,0 C、1,2,1 D、2,1,1 84、程序段 int k=2; while (k=0) {printf(“%d”,k);k--;}则描述中正确的是( C )。(2分) A、while循环执行10次 B、循环是无限循环 C、循环题语句一次也不执行 D、循环体语句执行一次 85、有int n=0,p;do{scanf(“%d”,&p);n++;}while(p!=12345&&n<3);此处循环的结束条件是( D )。(2分) A、P的值不等于12345并且n的值小于3 B、P的值等于12345并且n的值大于等于3 C、P的值不等于12345或者n的值小于3 D、P的值等于12345或者n的值大于等于3 86、若有说明:int a[10];则对a数组元素的正确引用是(D )。(2分) A、a[10] B、a[3.5] C、a(5) D、a[10-10] 87、若有char a[80],b[80];则正确的是( D )。 (2分) A、puts(a,b); B、printf(\ C、putchar(a,b); D、puts(a);puts(b); 88、下面描述正确的是( D )。 (2分) A、字符串所包含的字符个数相同时,才能比较字符串 B、字符个数多的字符串比字符个数少的字符串大 C、字符串\ \与\相等 D、字符串“That”小于字符串\ 89、程序段char s[]=\ (\的输出结果是( A )。(2分) A、9 B、12 C、13 D、14 20