1) 设x,y均为整型变量,且x=10 y=3,则以下C语言的输出结果是()。(选择一项)
printf(“%d,%dn”,x–,–y);
a)10,3
b)9,3
c)9,2
d)10,2
2)在C语言中,要计算一个数(变量i)的开平方,下面代码正确的是()。(选择一项)
a)printf(sqrt(t), “n Square of%d”,i)
b)printf(“n Square of %d is %d”,i,sqrt(i))
c)printf(sqrt(i),i,t, “n Sqrt of %d is %d”)
d)printf(i,t,”n Square of%d”)
e)scanf(i,”n Square of%d is %d”,sqrt(i))
3)运行下列C程序:
#include
void fun(int x,int y,int z)
{z=x*x+y*y;}
void main()
{
int a=31;
fun(5,2,a);
printf(“%d”,a);
}
输出结果是()。(选择一项)
a)0
b)29
c)31
d)无定值
4)在C语言中,下面选项()是合法的变量名。(选择两项)
a)Minimum
b)3 rd_row
c)n1+n2;
d)Doubles
e)First.name
5)运行下面的C程序:
#include
void main()
{
int n;
scanf(“%d”,&n);
if(n++<10)printf(“%dn”,n);elseprintf(“%dn”,n--);}若从键盘上输入9,则输出结果是()。(选择一项)a)11b)10c)9d)86)运行下面的C程序:#include
void main()
{
int n;
scanf(“%d”,&n);
if(n++<10)printf(“%dn”,n);elseprintf(“%dn”,n--);}若从键盘上输入9,则输出结果是()。(选择一项)a)11b)10c)9d)87)在C语言中,当说明一个结构体变量时系统分配给它的内存是()(选择一项)a)各成员所需内存量的总和b)结构中第一个成员所需内存量c)成员中占内存量最大者所需的容量d)结构中最后一个成员所需的内存量8)在C语言中,下列关于条件语句的描述中,正确的是()。(选择两项)a)当if语句嵌套使用的时候,最后一个else和最近的一个没有else匹配的if匹配b)一个if可以有多个else与之匹配c)一个switch语句总是可以被一系列if…else语句替换d)当执行break语句时程序将停止执行9)在C语言中,下面不正确的字符串常量是()。(选择一项)a)‘abc’b)“12’12”c)“0”d)“ ”10)int a=4,b=20;if (a>b && ++a 765.12
d) x=100 y=765.12
16)在C语言中,下列()是合法的标识符。(选择两项)
a) COUNT
b) P234
c) 4x
e)short
17) 有数组int num [5] = {10,20,30,40,50};
num[3]的值为()。 (选择一项)
a) 30
b) 50
c) 40
d) 20
e) 10
18) #include
void main()
{
int a=3,b=2,c=1;
int x=10,y=20;
if(a
void main()
{
int num=0;
while(num<=2){num++;printf("%d ",num);}}输出结果是()。(选择一项)a)1 2 3b)0 1 2c)2 3d)1 231) 分析下面的程序:void fun (int a,int b,int c){a=456; b=567; c=678;}void main(){int x=10, y=20,z=30;fun (x,y,z);printf("%d,%d,%dn",z,y,x);}输出结果是()。(选择一项)a)30,20,10b)10,20,30c)456,567,678d)678,567,456 32) 研究下面的C程序段: int i,j; for (i=5;i;i--) for(j=0;j<4;j++){…}循环体的总执行次数是()。(选择一项)a)20b)25c)24d)3033) 设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。x=y=z=1;t=++x||--y&&++z;(选择一项)a)不定值b)2c)1d)034) void fun(int *x, int *y) { *x=3;*y=4; }void main(){int x=1,y=2; printf("%d %d ",x, y);fun(&y,&x);printf("%d %d",x, y);}上面的C程序段的输出结果是()。(选择一项)a)2 1 4 3b)1 2 1 2c)1 2 4 3d)2 1 1 235) 分析下面的C语言程序:#include
struct stu
{
int num;
char name[10];
int age;
};
void main()
{
struct stu students[3]={{9801,”Zhang”,20},{9802,”Wang”,19},{9803,”Zhao”,18} };
printf(“%sn”,(*(students+2)).name);
}
输出结果是()。(选择一项)
a)Zhang
b)Zhao
c)Wang
d)18
36) 阅读下面的C语言代码,输出结果是()。
int x, y = 1, z=0;
if ( z < 0 )x = 3;else if ( y == 0 )x = 5;else x = 7;printf("%d, %d", x, y);(选择一项)a)7, 0b)7, 1c)3, 3d)以上都不正确37) 要将20赋值到数组Num的第三个元素,正确的方法是()。(选择一项)a)Num[3]=20b)Num[2]=20c)Num[4]=20d)[3] Num=2038) 在C语言中,已知字母A的ASCII码是65,则执行语句:char ch='A'+3; 后ch的值为( )。(选择一项) a)不能确定b)68c)Cd)D39) 在C语言中,以下所列的各函数首部中,正确的是( )。(选择一项)a)void play(var :Integer,var b:Integer)b)void play(int a,b)c)void play(int a,int b)d)Sub play(a as integer,b as integer)40) C语言中,可以通过指针访问一个变量,表示指针的运算符是()。(选择一项)a)&b)*c)^d)%e)@41) 下面的C程序段执行完后,x的值为( )。int x=3, y=2;x*=x+y;(选择一项)a)2b)10c)15d)342) 在C语言中,能正确表示a和b同时为正或同时为负的逻辑表达式是()。(选择一项)a)(a>=0‖b>=0)&&(a<0‖b<0)b)(a>=0&&b>=0)&&(a<0&&b<0)c)(a+b>0)&&(a+b<=0)d)a*b>0
43) 下面的C语言代码段的输出结果是()。(选择一项)
int j;
for(j=1; j<10; j+=2)printf("%d ",j);a)1 2 3 4 5 6 7 8 9b)2 4 6 8c)1 3 5 7 9d)1 2 4 6 844) 用来将两个字符串合并为一个字符串的函数是()。(选择一项)a)strcat()b)strcpy()c)strlen()45) 在C语言中,表达式:10!=9 的值是()。(选择一项)a)trueb)非零值c)0d)146) 分析下面的C代码段:char str1[15] = "Sea View";char str2[15] = "Sea Breeze";strcpy(str1,str2);printf("%sn",str1);则输出结果是()。(选择一项)a)Sea Viewb)Sea Breezec)Sea View Sea Breezed)Sea Breeze Sea View47) 在C语言中,下列正确的字符型常量是()。(选择一项)a)“f ”b)‘9’c) #d)36548) 下面说法正确的是()。(选择三项)1)C语言中for 循环可以重复执行操作2)do 操作至少要执行一次3)exit()函数会立即使程序结束a)1)和2)都是错误的b)1)是正确的c)2)是正确的d)3)是正确的49) 在C语言中,以下不会出现死循环的语句是()。(选择一项) a) int x=0;do{x++;}while(x=1); b) for(k=10; ; k--); c)for(y=0, x=1; x>++y; x=k++) k=x;
d)while(1) {x++;}
50) 分析下面的C语言程序:
void main()
{
int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf(“%d,%dn”,a,b);
}
输出结果是()。(选择一项)
a)2,1
b)3,2
c)4,3
d)2,-1
52) 在C语言中,下面( )是逻辑运算符中优先级最高的。(选择一项)
a)!
b)&&
c)||
d)|
e)&
53) 设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是()。(选择一项)
a)k=*P1+*P2;
b)P2=k;
c)P1=P2;
d)k=(*P1) * (*P2);
55) 运行如下程序:
#include
void main()
{
int a=2,b=-1,c=2;
if(a
void change(int x)
{
x+=5;
}
void main()
{
int x=5;
change(x);
printf(“%d”, x);
}
上述C程序运行后会显示()。(选择一项)
a)0
b)5
c)10
d)%d
58) 在C语言中,以下表达式计算结果是()。(选择一项)
15 + 80 / 2 * 10 – 12 * 2 / 3 – 10
a)298
b)553
c)397
d)507
59) 以下C语言代码的输出结果是( )。(选择一项)
#include
void main()
{
int a,b = 0;
int c[10] = {1,2,3,4,5,6,7,8,9,0};
for(a=0; a<10; ++a)if((c[a] % 2)==1) b = b + c[a]; printf("%d ", b);} a)16b)45c)20d)2560) 以下定义语句中,错误的是()。(选择一项)a)int a[]={1,2};b)char a[3]={ '1', '2', '3'};c)char s[10]= "test";d)int n=5,a[n]; 61) 在C语言中,假定所有变量均为整型,则下列代码执行后c的值是()。(选择一项)a=2; b=5; b++; c=a+b;a)2b)6c)7d)861) 在C语言中,假设,char w; int x; float y; double z;则表达式:w*x+z-y值的数据类型为( )。(选择一项)a)floatb)charc)intd)double62) 下列C语言代码的输出是()。(选择一项)void main(){ int temp=10; printf(“%d ”,temp++); temp++; printf(“%d”,temp);}a)10 12b)11 12c)10 11d)以上都不是64) 阅读下面的C语言代码,输出结果是( )。int x, y = 1, z=0;if ( z < 0 )x = 3;else if ( y == 0 )x = 5;else x = 7;printf("%d, %d", x, y);(选择一项)a)7, 0b)7, 1c)3, 3d)以上都不正确65) 在C语言中,以下所列的各函数首部中,正确的是()。(选择一项)a)void play(var :Integer,var b:Integer)b)void play(int a,b)c)void play(int a,int b)d)Sub play(a as integer,b as integer)66) C语言中,可以通过指针访问一个变量,表示指针的运算符是()。(选择一项)a)&b)*c)^d)%e)@67) 若有说明:int a[10];则对a数组元素的正确引用是()。(选择两项)a)a[10]b)a[3+1]c)a(5)d)a[0]68) 在C语言中,声明m,n为整型变量,p1,p2为整型指针,下列语句不正确的是()(选择三项)a)p1=&m;b)p2=n;c)*p1=&nd)p1=&p2;69) #include
void main()
{
int a=97,c=65;
printf(“a=%c,c=%cn”,a,c);
}
以上C程序的运行结果是()。(选择一项)
a)a=%a,c=%A
b)a=a,c=A
c)a=97,c=65
d)a=A,c=a
70) 任何整数与其本身进行“异或”运算的结果为()。(选择一项)
a)0
b)本身
c)1
d)–1
71) 有如下C语言程序段:
int *p,a=10,b=1;
p=&a;
a=*p+b;
执行该程序段后,a的值为()。(选择一项)
a)12
b)11
c)10
d)编译出错
72) 在以下C代码执行后,*x的值是()。(选择一项)
int a=20,b=50;
int *x;
x=&a;
x=&b;
a)20
b)50
c)a
d)b
73) 在C语言中,‘19+12’在这里,19和12是()。‘+’是()。(选择一项)
a)操作数,操作符
b)操作符,操作数
c)变量,操作数
d)操作,操作数
74) 在C语言中,下列()是合法的标识符。(选择两项)
a)COUNT
b)P234
c)4x
d)short
75) 在C语言中,有以下程序:
int*f(int*x,int*y)
{if(*x<*y)return x;else return y;}main(){int a=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf(“%d,%d,%dn”,*p,*q,*r);}执行后输出的结果是( )。(选择一项)a)7,8,8b)7,8,7c)8,7,7d)8,7,876) void main(){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 5 9b)1 4 7c)3 5 7d)3 6 977) (10*(2-8)+10)/(5-5*2) 在C语言中,上面的表达式计算结果为()。(选择一项)a)–10b)10c)30d)3278) 下面选项()是C语言中定义的循环语句类型。(选择两项)a)if elseb)whilec)swich…cased)fore)repeat…until79) int n=2;while(n=0){printf(“%d”,n);n--;}在C语言中,上述循环体执行的次数是( ),(选择一项)a)0次b)1次c)2次d)无限次80) 分析下面的C程序:#include
void main()
{
int num=0;
while(num<=2){num++;printf("%d ",num);}}输出结果是( )。(选择一项)a)1 2 3b)0 1 2c)2 3d)1 281) sub(int x,int y,int *z) { *z=y-x; } main() { int a,b,c; sub(10,5,&a); sub(7,a,&b);sub(a,b,&c); printf(“%d,%d,%d”,a,b,c); }在C语言中,以上程序的运行结果是( )。(选择一项)a)5,2,3b)-5,-12,-17c)5,-2,-7d)-5,-12,-784) 在C语言中,有以下程序: main() { int x[8]={8,7,6,5,2,0},*s; s=x+3; printf(“%dn”,s[2]); }执行后输出的结果是()。(选择一项)a)随机值b)0c)5d)686 )int a[2][3]={{4,5,6},{7,8,9}}; int*p[]={a[0],a[1]}; int m,n; m=0; for(n=0;n<3;n++) printf(“a[%d][%d]=%d”,m,n,*(p[m]+n)); 在C语言中,以上程序的输出结果,正确的是()。(选择一项)a)a[1][1]=4 a[2][2]=5 a[3][3]=6b)a[0][0]=4 a[0][1]=5 a[0][2]=6c)a[0][0]=7 a[0][1]=8 a[0][2]=9d)a[1][1]=7 a[2][2]=8 a[3][3]=987) 在C语言中,以下不正确的叙述是()。(选择一项)a)在C程序的算术运算符中,取模(%)的优先级最高b)在C程序中,Aph和aph是两个不同的变量c)若a和b类型相同,在动行了赋值表达式a=b后,将b的值赋给a,而b的值不变d)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值88) 在C语言中,下面选项()声明一个数组用于保存4个参赛者参加5个不同项目的比赛成绩。(选择一项)a)score[5][6]b)score[4][5]c)score[5][4]89) 考虑以下的C程序:#include
void main()
{
int i,j,num=0;
for(i=0;i<4;i++)for(j=i;j<2;j++)num=num+j;printf("nThe value of num is %d",num);}程序执行后,num的值应该是()。(选择一项)a)2b)4c)0d)391) 关于C语言中的函数,正确的是()。(选择两项)a)函数应该以它们调用的顺序来定义b)return语句可以出现在函数的任何地方c)函数定义可以在主函数前面也可以出现在主函数后面d)每一个函数必须有一个return语句e)函数总是返回一个整型数据93) 下面C语言代码的输出结果是()。(选择一项)printf(“[%8.4s]”,”Hello world!”);a)[Hello world!]b)[Hell ]c)[ Hell]d)[Hello wo]94) 研究如下C语言程序:#include
void main()
{
int n=9;
while(n>6)
{
n–;
printf(“%d”,n);
}
}
输出结果是()。(选择一项)
a)987
b)8765
c)876
d)9876
95) 在C语言中,下面不能对字符串正确赋初值的语句是()。(选择一项)
a)char str[5]=”good!”;
b)char str[]=”good!”;
c)char *str=”good!”;
d)char str[5]={‘g’,’o’,’o’,’d’};
96) C语言中,可以用以下()退出循环,继续执行循环之后的语句。(选择一项)
a)break
b)loop
c)exit(0)
d)continue
97) 在C语言中,为一个特定的数据分配内存时,我们必须做()。(选择一项)
a)定义一个特定数据类型的变量
b)定义一个值
c)定义一个特定数据类型的指针
d)以上都不是
100) 在C语言中,下列对数组的声明中,非法的是()。(选择三项)
a)int score(100);
b)float values[10][15];
c)float average[ROW],[COLUMN];
d)char name[15];
e)int sum[];
101)在C语言中,有如下定义
main(){int i=0,s=0;
do{
if(i%2){i=i+2;}
i++;
s=s+i;}while(i<7);printf("%dn",s);}执行后输出的结果是( )。(选择一项)a)16b)12c)18d)21102) 在C语言中,设有定义:struct cust_type{ char name[20] float balance;}cust;FILE *fp下列将变量cust以二进制形式保存到文件fp的语句正确的是()。(选择一项)a)fwrite(cust,sizeof(struct cust_type),1,fp);b)fwrite(&cust,sizeof(cust),1,fp);c)fwrite(fp, sizeof(struct cust_type),1,cust);d)fwrite(fp, sizeof(cust),1,&cust);103) 在C语言中,判断char型变量ch是否为大写字母的正确逻辑表达式是()。(选择一项)a)‘A’<=ch<=’Z’b)(ch>=’A’)‖(ch<=’Z’)c)(ch>=’A’)&&(ch<=’Z’)d)(‘A’<=ch)AND(‘Z’>=ch)
104) 在C语言中,用作计数器的变量通常是()。(选择两项)
a) 用在循环语句中
b) 用于保存循环中变量的总数量
c) 用于保存输入的数值
d) 用于记录循环被执行的次数
106) #include
void main()
{
int i=0, x=0;
do{
if(i%5 == 0)
x++;
++i;
}while(i<20); printf("%d",x);}以上C语言代码的输出结果是( )。(选择一项)a) 4b)10c)0d) 以上都不是107) 在C语言中,下列()格式用于在printf() 语句中以十六时制的格式显示变量的值。(选择一项)a) %ob)%xc)%ad)%octal108) 研究下面C程序:#include
void main()
{
int x;
scanf(“%d”,&x);
if(x–<5) printf("%d",x); else printf("%d",x++);}运行后,如果键盘上输入5,则输出结果是()。(选择一项)a)3b)4c)5d)6109) 研究下面的C语言代码:#include
void main() {
int temp=10;
printf(“%d “,temp++);
temp++;
printf(“%d “, temp);}
输出是()。(选择一项)
a)10 12
b)11 12
c)10 11
d)以上都不是
110) 考虑以下的C程序:
#include
void main()
{
int i, j, num=0;
for(i=0;i<4;i++) for(j=i;j<2;j++) num=num+j; printf("nThe value of num is %d", num);}程序执行后,num的值应该是()。(选择一项)a)2b)4c)0d)3 111) 在C语言中,描述A:'8' 与8是相同的描述B:'$' 的数据类型是char下面选项()描述是正确的。(选择一项)a)两个描述都是正确的b)两个描述都是错误的c)只有描述A是正确的d)只有描述B是正确的112) 下列C语言程序段不是死循环的是()。(选择一项)a) int i=100;while(1){i=i%100+1; if(i>100)
break;}
b) for(; ; );
c) int k=0;
do
{++k;}
while(k<=0);d)int s=36;while(s);113) #include
void fun(int *x,int *y)
{
printf(“%d %d “, *x, *y);
*x=3;
*y=4;
}
void main(){
int x=1, y=2;
fun(&y, &x);
printf(“%d %d”, x, y);
}
以上程序段的输出结果是( )。(选择一项)
a)2 1 4 3
b)1 2 1 2
c)1 2 3 4
d)2 1 3 4
114) #include
void main() {
double x, y;
x=2;
y=x+3/2;
printf(“%f”,y); }
编译运行以上C语言中,输出结果应该为()。(选择一项)
a)3.500000
b)3
c)2.000000
d)3.000000
115)#include
void change(int x)
{
x+=5;
}
void main() {
int x=5;
change(x);
printf(“%d”, x); }
上述C程序运行后会显示()。(选择一项)
a) 0
b) 5
c) 10
d) %d
116) 考虑以下的C程序:
#include
void main()
{
int i, j, num=0;
for(i=0;i<4;i++) for(j=i;j<2;j++) num=num+j; printf("nThe value of num is %d", num);}程序执行后,num的值应该是( )。(选择一项)a) 2b) 4c) 0d) 3117) 在C语言中,以下对结构体的定义不正确的是()。(选择一项)a) typedef struct aa{int a;float b;} AA;AA xx;b) struct aa,AA{int a;float b;}c) struct {int a;float b;} AA;struct AA xx;d) struct {int a;float b;}; 118) 运行下列C程序:#include
void fun(int x,int y,int z)
{z=x*x+y*y;}
void main()
{
int a=31;
fun(5,2,a);
printf(“%d”,a);
}
输出结果是()。(选择一项)
a) 0
b)29
c)31
d)无定值
119) 运行下面的C程序:
#include
void main()
{
int n;
scanf(“%d”,&n);
if(n++<10)printf(“%dn”,n);elseprintf(“%dn”,n--);}若从键盘上输入9,则输出结果是()。(选择一项)a)11b)10c)9d)8120) int a=4,b=20;if (a>b && ++a
void main()
{
int i,j,num=0;
for(i=0;i<4;i++)for(j=i;j<2;j++)num=num+j;printf("nThe value of num is %d",num);}程序执行后,num的值应该是()。(选择一项)a)2b)4c)0d)3123) 关于C语言中的函数,正确的是()。(选择两项)a)函数应该以它们调用的顺序来定义b)return语句可以出现在函数的任何地方c)函数定义可以在主函数前面也可以出现在主函数后面d)每一个函数必须有一个return语句e)函数总是返回一个整型数据124) 运行如下程序:#include
void main()
{
int a=2,b=1,c=2;
if(ay){x+=y;y++;}
else y+=x; x++;
printf(“%d,%d”,x,y);
}
在C语言中,对上面的程序,正确的叛断是()。
(选择一项)
a)若输入数据1和4,则输出2和6
b)若输入数据4和1,则输出6和2
c)若输入数据4和4,则输出5和8
d)有语法错误,不能通过编译
131)



