选择题
1.1.一个C程序的执行是从()
A.本程序的main函数开始,到main函数结束。
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
令数组全部的值为0 C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
1.2.以下叙述正确的是()
A.在C语言中,main函数必须位于程序的最前面。
B.C语言的每行中只能写一条语句
C. C语言本身没有输入输出语句
D.在对一个C语言进行编译的过程中,可发现注释中的拼写错误
1.3.C语言规定:在一个源程序中,main函数的位置()
A.必须在最开始 B.必须在系统调用的库函数的后面
C.可以任意 D.必须在最后
2.2.假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()
A.7 B.8 C.6 D.2
2.3.若有说明语句:char c=’\66’ ; 则说明 c ()
A.包括1个字符 B.包括2字符
C.包括3字符 D.一个不合法的表达式,c的值不确定
2.4.设变量a 是int,f是float, i是double,则表达式10+’a’+i*f值的数据类型为()
A.int B.float C.double D.不确定
3.1.已知ch是字符变量,下面不正确的赋值语句是()
A.ch=’a+b’ B.ch=’\0’ C.ch=’7’+’8’ D.ch=5+9
3.2.设x、y均为float型变量,则以下不合法的赋值语句是()
A.++x B.y=(x%2)/10 C.x*=y+8 D.x=y=0
4.1.逻辑运算符两侧运算对象的数据类型()
A.只能是0或1 B.只能是0或非0整数
C.只能是整型或字符型数据 D.可以是任何类型数据
4.2.判断char型变量ch是否为大写字母的正确表达式是()
A.’A’<=ch<=’Z’ B.(ch>=’A’)&(ch<=’Z’)
C.(ch>=’A’)&&(ch<=’Z’) D.(‘A’<=ch)AND(‘Z’>=ch)
4.3.已知x=43,ch=’A’,y=0;则表达式(x>=y&&ch<’B’&&!y)的值是()
A.0 B.语法错 C.1 D.’假’
4.4.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是()
If(x>y)
z=x;x=y;y=z
A.x=10,y=20,z=30 B.x=20,y=30,z=30
C. x=20,y=30,z=10 D.x=20,y=30,z=20
4.5.以下程序的运行结果是()
main()
{int m=5;
if (m++>5) printf(“%d”,m);
else printf(“%d”,m--);
}
A.4 B.5 C.6 D.7
4.6.以下程序的运行结果是()
main()
{ int k=4,a=3,b=2,c=1;
printf(“%d”,k<a?k:c<b?c:a);
}
A.4 B.3 C.2 D.1
5.1.设有程序段
int k=10;
while (k=0) k=k-1;
则下面描述中正确的是
A.while循环执行10次 B.循环是无限循环
C.循环体语句一次也不执行 D.循环体语句执行一次
5.2.语句while(! E);中的表达式!E等价于()
A.E= =0 B.E ! = 1 C.E ! = 0 D.E= =1
5.3.下面程序段的运行结果是()
int n=0;
while(n++<=2); printf(“%d”,n);
A.2 B.3 C.4 D.有语法错
5.4.以下程序段()
x=-1;
do
{x=x*x}
while(! x)
A.死循环 B.循环执行二次 C.循环执行一次 D.有语法错误
5.5.以下不是无限循环的语句是()
A.for(y=0,x=1;x>y++y;x=i++) i=x; B. for( ; ; x++=i );
C.while(1){x++;} D.for(i=10; ;i--)sum+=i
5.6.执行语句for(i=1;i++<4; );后变量i的值是()
A.3 B.4 C.5 D.不确定
6.1.在C语言中,引用数组元素时,其下标的数据类型允许是()
A.整型常量 B.整型表达式 C.A或B D.任何类型
6.2.若有说明:int a[][4]={0,0};则下面不正确的叙述是()
A. 数组a的每个元素都可得到初值0
B. 二维数组a的第一维大小为1
C. 因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1
D. 只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
6.3.若二维数组a有m列,则在a[i][j]前的元素个数为()
A. j*m+i B. i*m+j C. i*m+j-1 D. i*m+j+1
6.4.下面程序的运行结果是()
main()
{ int a[6], i ;
For (i=1; i<6; i++)
{ a[i] = 9 * (I – 2 + 4 * ( i > 3)) % 5;
Printf( “%2d”, a[i] );
}
}
A. -4 0 4 0 4 B. -4 0 4 0 3
C. -4 0 4 4 3 D. -4 0 4 4 0
6.5 下面程序段的运行结果是()
char c[5] = {‘a’, ‘b’, ‘\0’, ‘c’, ‘\0’};
printf(“%s”, c);
A. ‘a’ ’ b’ B. ab C. ab c D. ab
6.6 下面程序段的运行结果是()
char a[7] = “abcdef”;
char b[4] = “ABC”;
strcpy(a, b);
printf(“%c”, a[5]);
A. 空格 B. \0 C. e D. f
6.7 有下面程度段
char a[3], b[]= “China”;
a = b;
printf(“%s”, a);
则()
A.运行后将输出China B.运行后将输出Ch
C.运行后将输出Chi D.编译出错
6.8 下面程序的功能是将字符串s中所有的字符c删除。请选择填空()
#include <stdio.h>
main()
{ char s[80];
Int i, j;
gets(s);
for (i=j=0; s[i]! = ‘\0’; i++)
if (s[i] ! = ‘c’) 【 】;
s[j] = ‘\0’;
puts(s);
}
A.s[ j++] = s[ i ] B.s[++j] = s[ i ]
C.s[ j ] = s[ i ]; j++ D.s[ j ] = s[ i ]
6.9 下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格隔开。请选择填空()
#include <stdio.h>
main()
{ char s[80],c1,c2 = ‘’;
int i = 0, num = 0 ;
gets(s);
while (s[i]! = ‘\0’)
{ c1 = s[i];
if (i= = 0) c2 = ‘’;
else c2=s[i-1];
if (【 】) num++ ;
i ++;
}
printf(“There are %d words. \n”, num);
}
A.c1 = = ‘’ && c2 = = ‘’ B.c1 ! = ‘’ && c2 = = ‘’
C.c1 = = ‘’ && c2 ! = ‘’ D.c1 ! = ‘’ && c2 ! = ‘’
6.10 下面程序的运行结果是()
# inlcude <stdio.h>
# include <string.h>
main()
{ char a[80]=”AB”, b[80]=”LMNP”;
int i = 0;
strcat(a, b);
while (a[i++] ! = ‘\0’) b[i]=a[i];
puts(b);
}
A. LB B. ABLMNP C. AB D. LBLMNP
6.11 下面程序的运行结果是()
# include <stdio.h>
main()
{ char str[] = “SSSWLIA”, c ;
int k ;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论